mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 08:19:52 +03:00
MQTT subscribe to devices - Refactor MQTT subscriptions and API calls #173
This commit is contained in:
@@ -1049,9 +1049,10 @@ bool EMSESP::add_device(const uint8_t device_id, const uint8_t product_id, std::
|
|||||||
[device_type](const char * value, const int8_t id, JsonObject & output) { return command_entities(device_type, output, id); },
|
[device_type](const char * value, const int8_t id, JsonObject & output) { return command_entities(device_type, output, id); },
|
||||||
F_(entities_cmd));
|
F_(entities_cmd));
|
||||||
|
|
||||||
// MQTT subscribe to the device top-level, e.g. "ems-esp/boiler" and subs
|
// MQTT subscribe to the device
|
||||||
|
Mqtt::subscribe(device_type, EMSdevice::device_type_2_device_name(device_type), nullptr); // e.g. "ems-esp/boiler"
|
||||||
std::string topic = EMSdevice::device_type_2_device_name(device_type) + "/#";
|
std::string topic = EMSdevice::device_type_2_device_name(device_type) + "/#";
|
||||||
Mqtt::subscribe(device_type, topic, nullptr); // use empty function callback
|
Mqtt::subscribe(device_type, topic, nullptr); // e.g. "ems-esp/boiler/#"
|
||||||
|
|
||||||
// Print to LOG showing we've added a new device
|
// Print to LOG showing we've added a new device
|
||||||
LOG_INFO(F("Recognized new %s with device ID 0x%02X"), EMSdevice::device_type_2_device_name(device_type).c_str(), device_id);
|
LOG_INFO(F("Recognized new %s with device ID 0x%02X"), EMSdevice::device_type_2_device_name(device_type).c_str(), device_id);
|
||||||
|
|||||||
@@ -699,9 +699,9 @@ void System::commands_init() {
|
|||||||
Command::add(EMSdevice::DeviceType::SYSTEM, F("test"), System::command_test, F("run tests"));
|
Command::add(EMSdevice::DeviceType::SYSTEM, F("test"), System::command_test, F("run tests"));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// MQTT subscribe "ems-esp/system/#"
|
// MQTT subscribe "ems-esp/system/#" and "ems-esp/system"
|
||||||
// There is no need to subscribe only to 'ems-esp/system' as the commands send and pin require the fullpath for security
|
|
||||||
Mqtt::subscribe(EMSdevice::DeviceType::SYSTEM, "system/#", nullptr); // use empty function callback
|
Mqtt::subscribe(EMSdevice::DeviceType::SYSTEM, "system/#", nullptr); // use empty function callback
|
||||||
|
Mqtt::subscribe(EMSdevice::DeviceType::SYSTEM, "system", nullptr); // use empty function callback
|
||||||
}
|
}
|
||||||
|
|
||||||
// flashes the LED
|
// flashes the LED
|
||||||
|
|||||||
Reference in New Issue
Block a user