diff --git a/include/MqttHandleHass.h b/include/MqttHandleHass.h index df0e42b6..de1fea4b 100644 --- a/include/MqttHandleHass.h +++ b/include/MqttHandleHass.h @@ -59,7 +59,7 @@ public: private: void loop(); void publish(const String& subtopic, const String& payload); - void publishDtuSensor(const String& name, const String& device_class, const String& category, const String& icon, const String& unit_of_measure, const String& subTopic); + void publishDtuSensor(const String& name, const String& subTopic, const String& unit_of_measure, const String& icon, const String& device_class, const String& category); void publishDtuBinarySensor(const String& name, const String& device_class, const String& category, const String& payload_on, const String& payload_off, const String& subTopic = ""); void publishInverterField(std::shared_ptr inv, const ChannelType_t type, const ChannelNum_t channel, const byteAssign_fieldDeviceClass_t fieldType, const bool clear = false); void publishInverterButton(std::shared_ptr inv, const String& name, const String& icon, const String& category, const String& deviceClass, const String& subTopic, const String& payload); diff --git a/src/MqttHandleHass.cpp b/src/MqttHandleHass.cpp index ee4b52e5..3d7636e3 100644 --- a/src/MqttHandleHass.cpp +++ b/src/MqttHandleHass.cpp @@ -58,14 +58,15 @@ void MqttHandleHassClass::publishConfig() const CONFIG_T& config = Configuration.get(); // publish DTU sensors - publishDtuSensor("IP", "", "diagnostic", "mdi:network-outline", "", ""); - publishDtuSensor("WiFi Signal", "signal_strength", "diagnostic", "", "dBm", "rssi"); - publishDtuSensor("Uptime", "duration", "diagnostic", "", "s", ""); - publishDtuSensor("Temperature", "temperature", "diagnostic", "mdi:thermometer", "°C", "temperature"); - publishDtuSensor("Heap Size", "", "diagnostic", "mdi:memory", "Bytes", "heap/size"); - publishDtuSensor("Heap Free", "", "diagnostic", "mdi:memory", "Bytes", "heap/free"); - publishDtuSensor("Largest Free Heap Block", "", "diagnostic", "mdi:memory", "Bytes", "heap/maxalloc"); - publishDtuSensor("Lifetime Minimum Free Heap", "", "diagnostic", "mdi:memory", "Bytes", "heap/minfree"); + publishDtuSensor("IP", "ip", "", "mdi:network-outline", "", "diagnostic"); + publishDtuSensor("WiFi Signal", "rssi", "dBm", "", "signal_strength", "diagnostic"); + publishDtuSensor("Uptime", "uptime", "s", "", "duration", "diagnostic"); + publishDtuSensor("Temperature", "temperature", "°C", "mdi:thermometer", "temperature", "diagnostic"); + publishDtuSensor("Heap Size", "heap/size", "Bytes", "mdi:memory", "", "diagnostic"); + publishDtuSensor("Heap Free", "heap/free", "Bytes", "mdi:memory", "", "diagnostic"); + 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); yield(); @@ -355,7 +356,7 @@ void MqttHandleHassClass::publishInverterSensor(std::shared_ptr