From 4a6ca636e5c96a260f1b7274ad9aa032828b629c Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 16 May 2021 13:49:05 +0200 Subject: [PATCH] add product id to HA, and top of entity list --- src/devices/boiler.cpp | 5 ++++- src/devices/heatpump.cpp | 5 ++++- src/devices/solar.cpp | 5 ++++- src/devices/switch.cpp | 5 ++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index eaa658a71..089bfc3e1 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -249,7 +249,10 @@ bool Boiler::publish_ha_config() { snprintf_P(stat_t, sizeof(stat_t), PSTR("%s/%s"), Mqtt::base().c_str(), Mqtt::tag_to_topic(device_type(), DeviceValueTAG::TAG_NONE).c_str()); doc["stat_t"] = stat_t; - doc["name"] = FJSON("ID"); + char name_s[40]; + snprintf_P(name_s, sizeof(name_s), PSTR("* %s Product ID"), device_type_name().c_str()); + doc["name"] = name_s; + doc["val_tpl"] = FJSON("{{value_json.id}}"); JsonObject dev = doc.createNestedObject("dev"); dev["name"] = FJSON("EMS-ESP Boiler"); diff --git a/src/devices/heatpump.cpp b/src/devices/heatpump.cpp index 54c5e833c..7e1075a0b 100644 --- a/src/devices/heatpump.cpp +++ b/src/devices/heatpump.cpp @@ -50,7 +50,10 @@ bool Heatpump::publish_ha_config() { snprintf_P(stat_t, sizeof(stat_t), PSTR("%s/%s"), Mqtt::base().c_str(), Mqtt::tag_to_topic(device_type(), DeviceValueTAG::TAG_NONE).c_str()); doc["stat_t"] = stat_t; - doc["name"] = FJSON("ID"); + char name_s[40]; + snprintf_P(name_s, sizeof(name_s), PSTR("* %s Product ID"), device_type_name().c_str()); + doc["name"] = name_s; + doc["val_tpl"] = FJSON("{{value_json.id}}"); JsonObject dev = doc.createNestedObject("dev"); dev["name"] = FJSON("EMS-ESP Heat Pump"); diff --git a/src/devices/solar.cpp b/src/devices/solar.cpp index 8c9f43949..2d9cf459c 100644 --- a/src/devices/solar.cpp +++ b/src/devices/solar.cpp @@ -185,7 +185,6 @@ Solar::Solar(uint8_t device_type, uint8_t device_id, uint8_t product_id, const s // publish HA config bool Solar::publish_ha_config() { StaticJsonDocument doc; - doc["name"] = FJSON("ID"); doc["uniq_id"] = F_(solar); doc["ic"] = F_(icondevice); @@ -193,6 +192,10 @@ bool Solar::publish_ha_config() { snprintf_P(stat_t, sizeof(stat_t), PSTR("%s/%s"), Mqtt::base().c_str(), Mqtt::tag_to_topic(device_type(), DeviceValueTAG::TAG_NONE).c_str()); doc["stat_t"] = stat_t; + char name_s[40]; + snprintf_P(name_s, sizeof(name_s), PSTR("* %s Product ID"), device_type_name().c_str()); + doc["name"] = name_s; + doc["val_tpl"] = FJSON("{{value_json.id}}"); JsonObject dev = doc.createNestedObject("dev"); dev["name"] = FJSON("EMS-ESP Solar"); diff --git a/src/devices/switch.cpp b/src/devices/switch.cpp index 333281c2d..63f9f6420 100644 --- a/src/devices/switch.cpp +++ b/src/devices/switch.cpp @@ -56,7 +56,10 @@ bool Switch::publish_ha_config() { snprintf_P(stat_t, sizeof(stat_t), PSTR("%s/%s"), Mqtt::base().c_str(), Mqtt::tag_to_topic(device_type(), DeviceValueTAG::TAG_NONE).c_str()); doc["stat_t"] = stat_t; - doc["name"] = FJSON("ID"); + char name_s[40]; + snprintf_P(name_s, sizeof(name_s), PSTR("* %s Product ID"), device_type_name().c_str()); + doc["name"] = name_s; + doc["val_tpl"] = FJSON("{{value_json.id}}"); JsonObject dev = doc.createNestedObject("dev"); dev["name"] = FJSON("EMS-ESP Switch");