diff --git a/src/ebusd/baseloop.cpp b/src/ebusd/baseloop.cpp index bf97f169..c23607fd 100644 --- a/src/ebusd/baseloop.cpp +++ b/src/ebusd/baseloop.cpp @@ -149,7 +149,7 @@ std::string BaseLoop::decodeMessage(const std::string& data) } std::string ebusCommand(A.getParam("p_address")); - ebusCommand += m_commands->getEbusCommand(index, false); + ebusCommand += m_commands->getEbusCommand(index); std::transform(ebusCommand.begin(), ebusCommand.end(), ebusCommand.begin(), tolower); BusCommand* busCommand = new BusCommand(ebusCommand, false); @@ -190,7 +190,7 @@ std::string BaseLoop::decodeMessage(const std::string& data) if (index >= 0) { std::string ebusCommand(A.getParam("p_address")); - ebusCommand += m_commands->getEbusCommand(index, false); + ebusCommand += m_commands->getEbusCommand(index); // encode data Command* command = new Command(index, (*m_commands)[index], cmd[3]); diff --git a/src/ebusd/ebusloop.cpp b/src/ebusd/ebusloop.cpp index 79f0d778..a2881117 100644 --- a/src/ebusd/ebusloop.cpp +++ b/src/ebusd/ebusloop.cpp @@ -267,7 +267,7 @@ void EBusLoop::addPollCommand() L.log(bus, event, " polling [%4d] %s", index, tmp.c_str()); std::string ebusCommand(A.getParam("p_address")); - ebusCommand += m_commands->getEbusCommand(index, false); + ebusCommand += m_commands->getEbusCommand(index); std::transform(ebusCommand.begin(), ebusCommand.end(), ebusCommand.begin(), tolower); BusCommand* busCommand = new BusCommand(ebusCommand, true); diff --git a/src/lib/ebus/commands.cpp b/src/lib/ebus/commands.cpp index cee9ad91..855d6e73 100644 --- a/src/lib/ebus/commands.cpp +++ b/src/lib/ebus/commands.cpp @@ -127,13 +127,13 @@ int Commands::findCommand(const std::string& data) const return -1; } -std::string Commands::getEbusCommand(const int index, const bool cycle) const +std::string Commands::getEbusCommand(const int index) const { cmd_t command = m_cmdDB.at(index); std::string cmd; std::stringstream sstr; - if (cycle == true) + if (strcasecmp(command[0].c_str(), "C") == 0) cmd += command[4]; // QQ cmd += command[5]; // ZZ @@ -163,7 +163,7 @@ int Commands::storeCycData(const std::string& data) const // walk through commands for (; iter != m_cycDB.end(); iter++) { - std::string command = getEbusCommand(iter->first, true); + std::string command = getEbusCommand(iter->first); // skip wrong search string length if (command.length() > search.length()) @@ -216,7 +216,7 @@ void Commands::storePolData(const std::string& data) const // walk through commands for (; iter != m_polDB.end(); iter++) { - std::string command = getEbusCommand(iter->first, false); + std::string command = getEbusCommand(iter->first); // skip wrong search string length if (command.length() > search.length()) diff --git a/src/lib/ebus/commands.h b/src/lib/ebus/commands.h index 09c96a89..c43624b1 100644 --- a/src/lib/ebus/commands.h +++ b/src/lib/ebus/commands.h @@ -55,8 +55,7 @@ public: int findCommand(const std::string& data) const; std::string getCmdType(const int index) const { return std::string(m_cmdDB.at(index)[0]); } - std::string getEbusType(const int index) const { return std::string(m_cmdDB.at(index)[4]); } - std::string getEbusCommand(const int index, const bool cycle) const; + std::string getEbusCommand(const int index) const; int storeCycData(const std::string& data) const; std::string getCycData(int index) const;