fixes #1196 - use basename as ids in HA to support multiple EMS-ESP's

This commit is contained in:
Proddy
2023-06-24 13:28:48 +02:00
parent 27b9aa6ddd
commit 158617f56b
7 changed files with 23 additions and 21 deletions

View File

@@ -294,7 +294,7 @@ void WebEntityService::publish(const bool force) {
if (Mqtt::ha_enabled() && !ha_registered_) {
StaticJsonDocument<EMSESP_JSON_SIZE_MEDIUM> config;
char stat_t[50];
snprintf(stat_t, sizeof(stat_t), "%s/custom_data", Mqtt::base().c_str());
snprintf(stat_t, sizeof(stat_t), "%s/custom_data", Mqtt::basename().c_str());
config["stat_t"] = stat_t;
char val_obj[50];
@@ -312,13 +312,14 @@ void WebEntityService::publish(const bool force) {
char topic[Mqtt::MQTT_TOPIC_MAX_SIZE];
snprintf(topic, sizeof(topic), "sensor/%s/custom_%s/config", Mqtt::basename().c_str(), entityItem.name.c_str());
//char command_topic[Mqtt::MQTT_TOPIC_MAX_SIZE];
// char command_topic[Mqtt::MQTT_TOPIC_MAX_SIZE];
// snprintf(command_topic, sizeof(command_topic), "%s/custom/%s", Mqtt::basename().c_str(), entityItem.name.c_str());
// config["cmd_t"] = command_topic;
JsonObject dev = config.createNestedObject("dev");
JsonArray ids = dev.createNestedArray("ids");
ids.add("ems-esp");
ids.add(Mqtt::basename());
// add "availability" section
Mqtt::add_avty_to_doc(stat_t, config.as<JsonObject>(), val_cond);