From b646331adccad4af00d79f84fab58590028c30bb Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sat, 24 Sep 2022 16:17:33 +0200 Subject: [PATCH] dallas, analog HA object_id also without basename (commented out) --- src/analogsensor.cpp | 3 ++- src/dallassensor.cpp | 3 ++- src/mqtt.cpp | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/analogsensor.cpp b/src/analogsensor.cpp index 74f0e7392..7d066cc33 100644 --- a/src/analogsensor.cpp +++ b/src/analogsensor.cpp @@ -419,7 +419,8 @@ void AnalogSensor::publish_values(const bool force) { } config["val_tpl"] = str; - snprintf(str, sizeof(str), "%s_analog_sensor_%s", Mqtt::basename().c_str(), sensor.name().c_str()); + // snprintf(str, sizeof(str), "%s_analog_sensor_%s", Mqtt::basename().c_str(), sensor.name().c_str()); + snprintf(str, sizeof(str), "analog_sensor_%s", sensor.name().c_str()); config["object_id"] = str; snprintf(str, sizeof(str), "%s", sensor.name().c_str()); diff --git a/src/dallassensor.cpp b/src/dallassensor.cpp index 2c18d6b36..53fb0c8e5 100644 --- a/src/dallassensor.cpp +++ b/src/dallassensor.cpp @@ -502,7 +502,8 @@ void DallasSensor::publish_values(const bool force) { } config["val_tpl"] = str; - snprintf(str, sizeof(str), "%s_temperature_sensor_%s", Mqtt::basename().c_str(), sensor.name().c_str()); + // snprintf(str, sizeof(str), "%s_temperature_sensor_%s", Mqtt::basename().c_str(), sensor.name().c_str()); + snprintf(str, sizeof(str), "temperature_sensor_%s", sensor.name().c_str()); config["object_id"] = str; snprintf(str, sizeof(str), "%s", sensor.name().c_str()); diff --git a/src/mqtt.cpp b/src/mqtt.cpp index b9624ca9c..c5f930993 100644 --- a/src/mqtt.cpp +++ b/src/mqtt.cpp @@ -1120,11 +1120,13 @@ void Mqtt::publish_ha_sensor_config(uint8_t type, // entity id is generated from the name, see https://www.home-assistant.io/docs/mqtt/discovery/#use-object_id-to-influence-the-entity-id // so we override it to make it unique using entity_id // See https://github.com/emsesp/EMS-ESP32/issues/596 - // keep it compatible to v3.4, use english fullname, no prefix + // keep it compatible to v3.4, use english fullname, no prefix (basename prefix commmented out) char object_id[130]; if (have_tag) { + // snprintf(object_id, sizeof(object_id), "%s_%s_%s_%s", mqtt_basename_, device_name, EMSdevice::tag_to_string(tag).c_str(), read_flash_string(en_name).c_str()); snprintf(object_id, sizeof(object_id), "%s_%s_%s", device_name, EMSdevice::tag_to_string(tag).c_str(), read_flash_string(en_name).c_str()); } else { + // snprintf(object_id, sizeof(object_id), "%s_%s_%s", mqtt_basename_, device_name, read_flash_string(en_name).c_str()); snprintf(object_id, sizeof(object_id), "%s_%s", device_name, read_flash_string(en_name).c_str()); } doc["object_id"] = object_id;