add connection status entity for inverter
This commit is contained in:
parent
d419fd4794
commit
5b9aa508c0
@ -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 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);
|
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, "Reachable", "status/reachable", "1", "0");
|
||||||
publishInverterBinarySensor(inv, "Producing", "status/producing", "1", "0");
|
publishInverterBinarySensor(inv, "Producing", "status/producing", "1", "0");
|
||||||
|
|
||||||
@ -225,7 +226,7 @@ void MqttHandleHassClass::publishInverterNumber(
|
|||||||
publish(configTopic, buffer);
|
publish(configTopic, buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MqttHandleHassClass::publishInverterBinarySensor(std::shared_ptr<InverterAbstract> inv, const char* caption, const char* subTopic, const char* payload_on, const char* payload_off)
|
void MqttHandleHassClass::publishInverterBinarySensor(std::shared_ptr<InverterAbstract> 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();
|
String serial = inv->serialString();
|
||||||
|
|
||||||
@ -242,6 +243,12 @@ void MqttHandleHassClass::publishInverterBinarySensor(std::shared_ptr<InverterAb
|
|||||||
DynamicJsonDocument root(1024);
|
DynamicJsonDocument root(1024);
|
||||||
root["name"] = String(inv->name()) + " " + caption;
|
root["name"] = String(inv->name()) + " " + caption;
|
||||||
root["uniq_id"] = serial + "_" + sensorId;
|
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["stat_t"] = statTopic;
|
||||||
root["pl_on"] = payload_on;
|
root["pl_on"] = payload_on;
|
||||||
root["pl_off"] = payload_off;
|
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;
|
String topic = Configuration.get().Mqtt_Hass_Topic;
|
||||||
topic += subtopic;
|
topic += subtopic;
|
||||||
MqttSettings.publishGeneric(topic.c_str(), payload.c_str(), Configuration.get().Mqtt_Hass_Retain);
|
MqttSettings.publishGeneric(topic.c_str(), payload.c_str(), Configuration.get().Mqtt_Hass_Retain);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user