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 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<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();
|
||||
|
||||
@ -242,6 +243,12 @@ void MqttHandleHassClass::publishInverterBinarySensor(std::shared_ptr<InverterAb
|
||||
DynamicJsonDocument root(1024);
|
||||
root["name"] = String(inv->name()) + " " + 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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user