diff --git a/src/command.cpp b/src/command.cpp index afdbdaa8d..773e0fa17 100644 --- a/src/command.cpp +++ b/src/command.cpp @@ -381,7 +381,7 @@ uint8_t Command::call(const uint8_t device_type, const char * cmd, const char * if ((value == nullptr) || (strlen(value) == 0)) { LOG_ERROR("Command '%s' failed with error '%s'", cmd, FL_(cmdRet)[return_code]); } else { - LOG_ERROR("Command '%s/%s' failed with error '%s'", cmd, value, FL_(cmdRet)[return_code]); + LOG_ERROR("Command '%s: %s' failed with error '%s'", cmd, value, FL_(cmdRet)[return_code]); } return message(return_code, "callback function failed", output); } @@ -428,7 +428,7 @@ Command::CmdFunction * Command::find_command(const uint8_t device_type, const ui for (auto & cf : cmdfunctions_) { if (Helpers::toLower(cmd) == Helpers::toLower(cf.cmd_) && (cf.device_type_ == device_type) && (!device_id || cf.device_id_ == device_id) - && (flag & 0x3F) == (cf.flags_ & 0x3F)) { + && (flag == CommandFlag::CMD_FLAG_DEFAULT || (flag & 0x3F) == (cf.flags_ & 0x3F))) { return &cf; } } diff --git a/src/emsesp.cpp b/src/emsesp.cpp index aabaa64bc..26f26ec6d 100644 --- a/src/emsesp.cpp +++ b/src/emsesp.cpp @@ -1164,7 +1164,7 @@ bool EMSESP::add_device(const uint8_t device_id, const uint8_t product_id, const // first check to see if we already have it, if so update the record for (const auto & emsdevice : emsdevices) { if (emsdevice && emsdevice->is_device_id(device_id)) { - if (product_id == 0) { // update only with valid product_id + if (product_id == 0 || emsdevice->product_id() != 0) { // update only with valid product_id return true; } LOG_DEBUG("Updating details for already active deviceID 0x%02X", device_id); diff --git a/src/version.h b/src/version.h index 93d63925e..7f4909db6 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define EMSESP_APP_VERSION "3.7.0-dev.18" +#define EMSESP_APP_VERSION "3.7.0-dev.19"