Add battery sensor in Home Assistant
This commit is contained in:
20
src/main.cpp
20
src/main.cpp
@@ -386,11 +386,31 @@ void publishCoverDiscoveryTopic(const Shade& shade) {
|
||||
client.publish("homeassistant/cover/" + objectID + "/config", jsonBuffer);
|
||||
}
|
||||
|
||||
void publishBatteryDiscoveryTopic(const Shade& shade) {
|
||||
String objectID = String(shade.ID, HEX);
|
||||
String entityID = "battery-" + objectID;
|
||||
|
||||
JsonDocument doc;
|
||||
|
||||
doc["name"] = "Battery";
|
||||
doc["unique_id"] = entityID;
|
||||
doc["availability_topic"] = "hotdog/availability";
|
||||
doc["device_class"] = "battery";
|
||||
doc["state_topic"] = "hotdog/" + shade.name + "/battery";
|
||||
|
||||
addDeviceObject(doc, shade);
|
||||
|
||||
serializeJson(doc, jsonBuffer);
|
||||
|
||||
client.publish("homeassistant/sensor/" + objectID + "/config", jsonBuffer);
|
||||
}
|
||||
|
||||
void publishDiscoveryTopics() {
|
||||
for (size_t i = 0; i < shades.size(); i++) {
|
||||
Shade shade = shades[i];
|
||||
String objectID = String(shade.ID, HEX);
|
||||
|
||||
publishCoverDiscoveryTopic(shade);
|
||||
publishBatteryDiscoveryTopic(shade);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user