From 5b9aa508c082b00953a7485828f4340b32c184ee Mon Sep 17 00:00:00 2001 From: Christopher Fenner <9592452+CFenner@users.noreply.github.com> Date: Fri, 22 Sep 2023 14:24:54 +0200 Subject: [PATCH] add connection status entity for inverter --- src/MqttHandleHass.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/MqttHandleHass.cpp b/src/MqttHandleHass.cpp index d613355a..65a6381e 100644 --- a/src/MqttHandleHass.cpp +++ b/src/MqttHandleHass.cpp @@ -61,6 +61,7 @@ void MqttHandleHassClass::publishConfig() publishInverterNumber(inv, "Limit NonPersistent Absolute", "mdi:speedometer", "config", "cmd/limit_nonpersistent_absolute", "status/limit_absolute", "W", 10, 2250); publishInverterNumber(inv, "Limit Persistent Absolute", "mdi:speedometer", "config", "cmd/limit_persistent_absolute", "status/limit_absolute", "W", 10, 2250); + publishInverterBinarySensor(inv, "Status", "connectivity", "diagnostic", "status/reachable", "1", "0"); publishInverterBinarySensor(inv, "Reachable", "status/reachable", "1", "0"); publishInverterBinarySensor(inv, "Producing", "status/producing", "1", "0"); @@ -225,7 +226,7 @@ void MqttHandleHassClass::publishInverterNumber( publish(configTopic, buffer); } -void MqttHandleHassClass::publishInverterBinarySensor(std::shared_ptr inv, const char* caption, const char* subTopic, const char* payload_on, const char* payload_off) +void MqttHandleHassClass::publishInverterBinarySensor(std::shared_ptr inv, const char* caption, const char* device_class, const char* category, const char* subTopic, const char* payload_on, const char* payload_off) { String serial = inv->serialString(); @@ -242,6 +243,12 @@ void MqttHandleHassClass::publishInverterBinarySensor(std::shared_ptrname()) + " " + caption; root["uniq_id"] = serial + "_" + sensorId; + if (strcmp(device_class, "")) { + root["dev_cla"] = device_class; + } + if (strcmp(category, "")) { + root["ent_cat"] = category; + } root["stat_t"] = statTopic; root["pl_on"] = payload_on; root["pl_off"] = payload_off; @@ -269,4 +276,4 @@ void MqttHandleHassClass::publish(const String& subtopic, const String& payload) String topic = Configuration.get().Mqtt_Hass_Topic; topic += subtopic; MqttSettings.publishGeneric(topic.c_str(), payload.c_str(), Configuration.get().Mqtt_Hass_Retain); -} \ No newline at end of file +}