Create device in Home Assistant
This commit is contained in:
13
src/main.cpp
13
src/main.cpp
@@ -337,11 +337,13 @@ void publishDiscoveryTopics() {
|
||||
for (size_t i = 0; i < shades.size(); i++) {
|
||||
Shade shade = shades[i];
|
||||
String objectID = String(shade.ID, HEX);
|
||||
String entityID = "cover-" + objectID;
|
||||
String deviceId = "hotdog-" + objectID;
|
||||
|
||||
JsonDocument doc;
|
||||
|
||||
doc["name"] = shade.friendlyName;
|
||||
doc["unique_id"] = objectID;
|
||||
doc["name"] = nullptr;
|
||||
doc["unique_id"] = entityID;
|
||||
doc["availability_topic"] = "hotdog/availability";
|
||||
doc["state_topic"] = "hotdog/" + shade.name + "/state";
|
||||
doc["command_topic"] = "hotdog/" + shade.name + "/set";
|
||||
@@ -351,6 +353,13 @@ void publishDiscoveryTopics() {
|
||||
doc["position_closed"] = 0;
|
||||
doc["optimistic"] = false;
|
||||
|
||||
JsonObject device = doc["device"].to<JsonObject>();
|
||||
device["name"] = shade.friendlyName;
|
||||
JsonArray identifiers = device["identifiers"].to<JsonArray>();
|
||||
identifiers.add(deviceId);
|
||||
device["manufacturer"] = "Hunter Douglas";
|
||||
// TODO: Add fields like sw_version and model
|
||||
|
||||
serializeJson(doc, buffer);
|
||||
|
||||
client.publish("homeassistant/cover/" + objectID + "/config", buffer);
|
||||
|
||||
Reference in New Issue
Block a user