diff --git a/include/MqttHandleHass.h b/include/MqttHandleHass.h index 8f99ccd..6a10494 100644 --- a/include/MqttHandleHass.h +++ b/include/MqttHandleHass.h @@ -63,7 +63,7 @@ private: // Binary Sensor static void publishBinarySensor(JsonDocument& doc, const String& root_device, const String& unique_id_prefix, const String& name, const String& state_topic, const String& payload_on, const String& payload_off, const String& device_class, const String& category); static void publishDtuBinarySensor(const String& name, const String& state_topic, const String& payload_on, const String& payload_off, const String& device_class, const String& category); - static void publishInverterBinarySensor(std::shared_ptr inv, const String& name, const String& state_topic, const String& payload_on, const String& payload_off); + static void publishInverterBinarySensor(std::shared_ptr inv, const String& name, const String& state_topic, const String& payload_on, const String& payload_off, const String& device_class, const String& category); // Sensor static void publishSensor(JsonDocument& doc, const String& root_device, const String& unique_id_prefix, const String& name, const String& state_topic, const String& unit_of_measure, const String& icon, const String& device_class, const String& category); diff --git a/src/MqttHandleHass.cpp b/src/MqttHandleHass.cpp index 4cc1a96..36293a1 100644 --- a/src/MqttHandleHass.cpp +++ b/src/MqttHandleHass.cpp @@ -84,8 +84,8 @@ void MqttHandleHassClass::publishConfig() publishInverterNumber(inv, "Limit NonPersistent Absolute", "status/limit_absolute", "cmd/limit_nonpersistent_absolute", 0, MAX_INVERTER_LIMIT, 1, "W", "mdi:speedometer", "config"); publishInverterNumber(inv, "Limit Persistent Absolute", "status/limit_absolute", "cmd/limit_persistent_absolute", 0, MAX_INVERTER_LIMIT, 1, "W", "mdi:speedometer", "config"); - publishInverterBinarySensor(inv, "Reachable", "status/reachable", "1", "0"); - publishInverterBinarySensor(inv, "Producing", "status/producing", "1", "0"); + publishInverterBinarySensor(inv, "Reachable", "status/reachable", "1", "0", "connectivity", "diagnostic"); + publishInverterBinarySensor(inv, "Producing", "status/producing", "1", "0", "", ""); publishInverterSensor(inv, "TX Requests", "radio/tx_request", "", "", "", "diagnostic"); publishInverterSensor(inv, "RX Success", "radio/rx_success", "", "", "", "diagnostic"); @@ -368,13 +368,13 @@ void MqttHandleHassClass::publishDtuBinarySensor(const String& name, const Strin publishBinarySensor(root, dtuId, dtuId, name, state_topic, payload_on, payload_off, device_class, category); } -void MqttHandleHassClass::publishInverterBinarySensor(std::shared_ptr inv, const String& name, const String& state_topic, const String& payload_on, const String& payload_off) +void MqttHandleHassClass::publishInverterBinarySensor(std::shared_ptr inv, const String& name, const String& state_topic, const String& payload_on, const String& payload_off, const String& device_class, const String& category) { const String serial = inv->serialString(); JsonDocument root; createInverterInfo(root, inv); - publishBinarySensor(root, "dtu_" + serial, serial, name, serial + "/" + state_topic, payload_on, payload_off, "", ""); + publishBinarySensor(root, "dtu_" + serial, serial, name, serial + "/" + state_topic, payload_on, payload_off, device_class, category); } void MqttHandleHassClass::publishSensor(JsonDocument& doc, const String& root_device, const String& unique_id_prefix, const String& name, const String& state_topic, const String& unit_of_measure, const String& icon, const String& device_class, const String& category)