Add button to trigger a refresh in Home Assistant

This commit is contained in:
2024-02-13 11:51:31 +11:00
parent 97d450ab3e
commit 7adbff6890

View File

@@ -405,6 +405,25 @@ void publishBatteryDiscoveryTopic(const Shade& shade) {
client.publish("homeassistant/sensor/" + objectID + "/config", jsonBuffer);
}
void publishRefreshButtonDiscoveryTopic(const Shade& shade) {
String objectID = String(shade.ID, HEX);
String entityID = "refresh-button-" + objectID;
JsonDocument doc;
doc["name"] = "Refresh";
doc["unique_id"] = entityID;
doc["availability_topic"] = "hotdog/availability";
doc["command_topic"] = "hotdog/" + shade.name + "/command";
doc["payload_press"] = "REFRESH";
addDeviceObject(doc, shade);
serializeJson(doc, jsonBuffer);
client.publish("homeassistant/button/" + objectID + "/config", jsonBuffer);
}
void publishDiscoveryTopics() {
for (size_t i = 0; i < shades.size(); i++) {
Shade shade = shades[i];
@@ -412,5 +431,6 @@ void publishDiscoveryTopics() {
publishCoverDiscoveryTopic(shade);
publishBatteryDiscoveryTopic(shade);
publishRefreshButtonDiscoveryTopic(shade);
}
}