diff --git a/include/MqttHandleHass.h b/include/MqttHandleHass.h index 30eca13..b05b1f1 100644 --- a/include/MqttHandleHass.h +++ b/include/MqttHandleHass.h @@ -60,7 +60,7 @@ private: void loop(); static void publish(const String& subtopic, const String& payload); static void publishDtuSensor(const String& name, const String& subTopic, const String& unit_of_measure, const String& icon, const String& device_class, const String& category); - static void publishDtuBinarySensor(const String& name, const String& device_class, const String& category, const String& payload_on, const String& payload_off, const String& subTopic = ""); + static void publishDtuBinarySensor(const String& name, const String& subTopic, const String& payload_on, const String& payload_off, const String& device_class, const String& category); static void publishInverterField(std::shared_ptr inv, const ChannelType_t type, const ChannelNum_t channel, const byteAssign_fieldDeviceClass_t fieldType, const bool clear = false); static void publishInverterButton(std::shared_ptr inv, const String& name, const String& icon, const String& category, const String& deviceClass, const String& subTopic, const String& payload); static void publishInverterNumber(std::shared_ptr inv, const String& name, const String& icon, const String& category, const String& commandTopic, const String& stateTopic, const String& unitOfMeasure, const int16_t min = 1, const int16_t max = 100, float step = 1.0); diff --git a/src/MqttHandleHass.cpp b/src/MqttHandleHass.cpp index 3d7636e..53b9d7a 100644 --- a/src/MqttHandleHass.cpp +++ b/src/MqttHandleHass.cpp @@ -67,7 +67,7 @@ void MqttHandleHassClass::publishConfig() publishDtuSensor("Largest Free Heap Block", "heap/maxalloc", "Bytes", "mdi:memory", "", "diagnostic"); publishDtuSensor("Lifetime Minimum Free Heap", "heap/minfree", "Bytes", "mdi:memory", "", "diagnostic"); - publishDtuBinarySensor("Status", "connectivity", "diagnostic", config.Mqtt.Lwt.Value_Online, config.Mqtt.Lwt.Value_Offline, config.Mqtt.Lwt.Topic); + publishDtuBinarySensor("Status", config.Mqtt.Lwt.Topic, config.Mqtt.Lwt.Value_Online, config.Mqtt.Lwt.Value_Offline, "connectivity", "diagnostic"); yield(); @@ -402,7 +402,7 @@ void MqttHandleHassClass::publishDtuSensor(const String& name, const String& sub publish(configTopic, buffer); } -void MqttHandleHassClass::publishDtuBinarySensor(const String& name, const String& device_class, const String& category, const String& payload_on, const String& payload_off, const String& subTopic) +void MqttHandleHassClass::publishDtuBinarySensor(const String& name, const String& subTopic, const String& payload_on, const String& payload_off, const String& device_class, const String& category) { String id = name; id.toLowerCase();