diff --git a/interface/src/framework/mqtt/MqttSettingsForm.tsx b/interface/src/framework/mqtt/MqttSettingsForm.tsx
index f3059463a..85f468771 100644
--- a/interface/src/framework/mqtt/MqttSettingsForm.tsx
+++ b/interface/src/framework/mqtt/MqttSettingsForm.tsx
@@ -170,6 +170,7 @@ const MqttSettingsForm: FC = () => {
control={}
label={LL.MQTT_RETAIN_FLAG()}
/>
+
{LL.FORMATTING()}
@@ -214,49 +215,46 @@ const MqttSettingsForm: FC = () => {
}
label={LL.MQTT_PUBLISH_TEXT_3()}
/>
{data.ha_enabled && (
<>
-
-
- }
- label={LL.MQTT_MULTIPLE_INSTANCES()}
- />
-
-
-
- }
- label={LL.MQTT_ENTITY_FULLNAME()}
- />
-
-
-
+
+
+
+
+
+
+
+
+
+
>
)}
)}
-
+
{LL.MQTT_PUBLISH_INTERVALS()} (0=auto)
diff --git a/interface/src/i18n/de/index.ts b/interface/src/i18n/de/index.ts
index acf30a622..f480b9c51 100644
--- a/interface/src/i18n/de/index.ts
+++ b/interface/src/i18n/de/index.ts
@@ -249,8 +249,9 @@ const de: Translation = {
MQTT_INT_HEARTBEAT: 'Heartbeat',
MQTT_QUEUE: 'MQTT Queue',
DEFAULT: 'Standard',
- MQTT_MULTIPLE_INSTANCES: 'Erlaube EMS-ESP Mehrfachinstanzen',
- MQTT_ENTITY_FULLNAME: 'Use v3.4 style Entity IDs',
+ MQTT_ENTITY_FORMAT: 'Entity ID format',
+ MQTT_ENTITY_FORMAT_0: 'Single instance, long name',
+ MQTT_ENTITY_FORMAT_1: 'Multiple instances, short name',
MQTT_CLEAN_SESSION: 'Setze `Clean Session`',
MQTT_RETAIN_FLAG: 'Setze `Retain flag` immer',
INACTIVE: 'Inaktiv',
diff --git a/interface/src/i18n/en/index.ts b/interface/src/i18n/en/index.ts
index 6be5a0c59..e76450b70 100644
--- a/interface/src/i18n/en/index.ts
+++ b/interface/src/i18n/en/index.ts
@@ -248,8 +248,9 @@ const en: Translation = {
MQTT_INT_HEARTBEAT: 'Heartbeat',
MQTT_QUEUE: 'MQTT Queue',
DEFAULT: 'Default',
- MQTT_MULTIPLE_INSTANCES: 'Enable Multiple Instances of EMS-ESP',
- MQTT_ENTITY_FULLNAME: 'Use v3.4 style Entity IDs',
+ MQTT_ENTITY_FORMAT: 'Entity ID format',
+ MQTT_ENTITY_FORMAT_0: 'Single instance, long name',
+ MQTT_ENTITY_FORMAT_1: 'Multiple instances, short name',
MQTT_CLEAN_SESSION: 'Set Clean Session',
MQTT_RETAIN_FLAG: 'Always set Retain flag',
INACTIVE: 'Inactive',
diff --git a/interface/src/i18n/nl/index.ts b/interface/src/i18n/nl/index.ts
index 8df8dfb45..dc250c99b 100644
--- a/interface/src/i18n/nl/index.ts
+++ b/interface/src/i18n/nl/index.ts
@@ -248,8 +248,9 @@ const nl: Translation = {
MQTT_INT_HEARTBEAT: 'Heartbeat',
MQTT_QUEUE: 'MQTT Queue',
DEFAULT: 'Default',
- MQTT_MULTIPLE_INSTANCES: 'Enable Multiple Instances of EMS-ESP',
- MQTT_ENTITY_FULLNAME: 'Use v3.4 style Entity IDs',
+ MQTT_ENTITY_FORMAT: 'Entity ID format',
+ MQTT_ENTITY_FORMAT_0: 'Single instance, long name',
+ MQTT_ENTITY_FORMAT_1: 'Multiple instances, short name',
MQTT_CLEAN_SESSION: 'Clean Session aan',
MQTT_RETAIN_FLAG: 'Retain flag aan',
INACTIVE: 'Inactief',
diff --git a/interface/src/i18n/no/index.ts b/interface/src/i18n/no/index.ts
index b6fc323dd..b9e7db89c 100644
--- a/interface/src/i18n/no/index.ts
+++ b/interface/src/i18n/no/index.ts
@@ -248,8 +248,9 @@ const no: Translation = {
MQTT_INT_HEARTBEAT: 'Heartbeat',
MQTT_QUEUE: 'MQTT Queue',
DEFAULT: 'Standard',
- MQTT_MULTIPLE_INSTANCES: 'Enable Multiple Instances of EMS-ESP',
- MQTT_ENTITY_FULLNAME: 'Use v3.4 style Entity IDs',
+ MQTT_ENTITY_FORMAT: 'Entity ID format',
+ MQTT_ENTITY_FORMAT_0: 'Single instance, long name',
+ MQTT_ENTITY_FORMAT_1: 'Multiple instances, short name',
MQTT_CLEAN_SESSION: 'Benytt Clean Session',
MQTT_RETAIN_FLAG: 'Alltid sett Retain flag',
INACTIVE: 'Innaktiv',
diff --git a/interface/src/i18n/pl/index.ts b/interface/src/i18n/pl/index.ts
index ba6023d2d..ed542e798 100644
--- a/interface/src/i18n/pl/index.ts
+++ b/interface/src/i18n/pl/index.ts
@@ -248,8 +248,9 @@ const pl: BaseTranslation = {
MQTT_INT_HEARTBEAT: 'Heartbeat',
MQTT_QUEUE: 'Kolejka MQTT',
DEFAULT: '{{Pozostałe|Domyślna|}}',
- MQTT_MULTIPLE_INSTANCES: 'Enable Multiple Instances of EMS-ESP',
- MQTT_ENTITY_FULLNAME: 'Use v3.4 style Entity IDs',
+ MQTT_ENTITY_FORMAT: 'Entity ID format',
+ MQTT_ENTITY_FORMAT_0: 'Single instance, long name',
+ MQTT_ENTITY_FORMAT_1: 'Multiple instances, short name',
MQTT_CLEAN_SESSION: 'Ustawiaj flagę "Clean session"',
MQTT_RETAIN_FLAG: 'Ustawiaj flagę "Retain"',
INACTIVE: 'nieaktywny',
diff --git a/interface/src/i18n/se/index.ts b/interface/src/i18n/se/index.ts
index b5e9090b7..99e33eebc 100644
--- a/interface/src/i18n/se/index.ts
+++ b/interface/src/i18n/se/index.ts
@@ -248,8 +248,9 @@ const se: Translation = {
MQTT_INT_HEARTBEAT: 'Heartbeat',
MQTT_QUEUE: 'MQTT Queue',
DEFAULT: 'Standard',
- MQTT_MULTIPLE_INSTANCES: 'Enable Multiple Instances of EMS-ESP',
- MQTT_ENTITY_FULLNAME: 'Use v3.4 style Entity IDs',
+ MQTT_ENTITY_FORMAT: 'Entity ID format',
+ MQTT_ENTITY_FORMAT_0: 'Single instance, long name',
+ MQTT_ENTITY_FORMAT_1: 'Multiple instances, short name',
MQTT_CLEAN_SESSION: 'Använd "Clean Session"-flaggan',
MQTT_RETAIN_FLAG: 'Använd "Always Retain"-flaggan',
INACTIVE: 'Inaktiv',
diff --git a/interface/src/types/mqtt.ts b/interface/src/types/mqtt.ts
index ad9a23531..ee69da5b5 100644
--- a/interface/src/types/mqtt.ts
+++ b/interface/src/types/mqtt.ts
@@ -30,7 +30,6 @@ export interface MqttSettings {
keep_alive: number;
clean_session: boolean;
multiple_instances: boolean;
- entity_fullname: boolean;
publish_time_boiler: number;
publish_time_thermostat: number;
publish_time_solar: number;
diff --git a/lib/framework/MqttSettingsService.cpp b/lib/framework/MqttSettingsService.cpp
index 0ad414553..aa6198706 100644
--- a/lib/framework/MqttSettingsService.cpp
+++ b/lib/framework/MqttSettingsService.cpp
@@ -155,7 +155,6 @@ void MqttSettings::read(MqttSettings & settings, JsonObject & root) {
root["keep_alive"] = settings.keepAlive;
root["clean_session"] = settings.cleanSession;
root["multiple_instances"] = settings.multiple_instances;
- root["entity_fullname"] = settings.entity_fullname;
// added by proddy for EMS-ESP
root["publish_time_boiler"] = settings.publish_time_boiler;
@@ -189,7 +188,6 @@ StateUpdateResult MqttSettings::update(JsonObject & root, MqttSettings & setting
newSettings.keepAlive = root["keep_alive"] | FACTORY_MQTT_KEEP_ALIVE;
newSettings.cleanSession = root["clean_session"] | FACTORY_MQTT_CLEAN_SESSION;
newSettings.multiple_instances = root["multiple_instances"] | FACTORY_MQTT_MULTIPLE_INSTANCES;
- newSettings.entity_fullname = root["entity_fullname"] | FACTORY_MQTT_ENTITY_FULLNAME;
newSettings.mqtt_qos = root["mqtt_qos"] | EMSESP_DEFAULT_MQTT_QOS;
newSettings.mqtt_retain = root["mqtt_retain"] | EMSESP_DEFAULT_MQTT_RETAIN;
diff --git a/lib/framework/MqttSettingsService.h b/lib/framework/MqttSettingsService.h
index 934edd4ff..21ec908bd 100644
--- a/lib/framework/MqttSettingsService.h
+++ b/lib/framework/MqttSettingsService.h
@@ -61,10 +61,6 @@ static String generateClientId() {
#define FACTORY_MQTT_MULTIPLE_INSTANCES false
#endif
-#ifndef FACTORY_MQTT_ENTITY_FULLNAME
-#define FACTORY_MQTT_ENTITY_FULLNAME false
-#endif
-
class MqttSettings {
public:
// host and port - if enabled
@@ -86,9 +82,6 @@ class MqttSettings {
// multiple instances
bool multiple_instances;
- // use v3.4 entity fullnames in Discovery
- bool entity_fullname;
-
// proddy EMS-ESP specific
String base;
uint16_t publish_time_boiler;
diff --git a/lib_standalone/ESP8266React.h b/lib_standalone/ESP8266React.h
index 2efdf9be5..f0e8b3817 100644
--- a/lib_standalone/ESP8266React.h
+++ b/lib_standalone/ESP8266React.h
@@ -82,7 +82,6 @@ class DummySettings {
uint16_t keepAlive = 60;
bool cleanSession = false;
bool multiple_instances = false;
- bool entity_fullname = false;
uint16_t publish_time_boiler = 10;
uint16_t publish_time_thermostat = 10;
diff --git a/mock-api/server.js b/mock-api/server.js
index 51ae2706a..f73d04026 100644
--- a/mock-api/server.js
+++ b/mock-api/server.js
@@ -224,7 +224,6 @@ mqtt_settings = {
keep_alive: 60,
clean_session: true,
multiple_instances: false,
- entity_fullname: false,
publish_time_boiler: 10,
publish_time_thermostat: 10,
publish_time_solar: 10,
diff --git a/src/mqtt.cpp b/src/mqtt.cpp
index 442f28a7b..d279fc931 100644
--- a/src/mqtt.cpp
+++ b/src/mqtt.cpp
@@ -39,7 +39,6 @@ uint32_t Mqtt::publish_time_other_;
uint32_t Mqtt::publish_time_heartbeat_;
bool Mqtt::mqtt_enabled_;
bool Mqtt::multiple_instances_;
-bool Mqtt::entity_fullname_;
bool Mqtt::ha_enabled_;
uint8_t Mqtt::nested_format_;
std::string Mqtt::discovery_prefix_;
@@ -432,7 +431,6 @@ void Mqtt::load_settings() {
send_response_ = mqttSettings.send_response;
discovery_prefix_ = mqttSettings.discovery_prefix.c_str();
multiple_instances_ = mqttSettings.multiple_instances;
- entity_fullname_ = mqttSettings.entity_fullname;
// convert to milliseconds
publish_time_boiler_ = mqttSettings.publish_time_boiler * 1000;
@@ -993,18 +991,12 @@ void Mqtt::publish_ha_sensor_config(uint8_t type, // EMSdev
// build unique identifier which will be used in the topic, also used as object_id
char uniq_id[70];
- char entityid[50];
- if (Mqtt::entity_fullname()) {
- strlcpy(entityid, en_name, sizeof(entityid)); // old v3.4 style
- } else {
- strlcpy(entityid, entity_with_tag, sizeof(entityid));
- }
-
if (Mqtt::multiple_instances()) {
- // prefix base name to each uniq_id
- snprintf(uniq_id, sizeof(uniq_id), "%s_%s_%s", mqtt_basename_.c_str(), device_name, entityid);
+ // prefix base name to each uniq_id and use the shortname
+ snprintf(uniq_id, sizeof(uniq_id), "%s_%s_%s", mqtt_basename_.c_str(), device_name, entity_with_tag);
} else {
- snprintf(uniq_id, sizeof(uniq_id), "%s_%s", device_name, entityid);
+ // old v3.4 style
+ snprintf(uniq_id, sizeof(uniq_id), "%s_%s", device_name, en_name);
}
// build a config topic that will be prefix onto a HA type (e.g. number, switch)
diff --git a/src/mqtt.h b/src/mqtt.h
index 47e813e46..e2de8bba4 100644
--- a/src/mqtt.h
+++ b/src/mqtt.h
@@ -185,10 +185,6 @@ class Mqtt {
return multiple_instances_;
}
- static bool entity_fullname() {
- return entity_fullname_;
- }
-
static void nested_format(uint8_t nested_format) {
nested_format_ = nested_format;
}
@@ -327,7 +323,6 @@ class Mqtt {
static bool ha_enabled_;
static uint8_t nested_format_;
static bool multiple_instances_;
- static bool entity_fullname_;
static std::string discovery_prefix_;
static bool publish_single_;
static bool publish_single2cmd_;
diff --git a/src/system.cpp b/src/system.cpp
index 4cee96913..a66a5c8d1 100644
--- a/src/system.cpp
+++ b/src/system.cpp
@@ -1153,7 +1153,6 @@ bool System::command_info(const char * value, const int8_t id, JsonObject & outp
node["keep alive"] = settings.keepAlive;
node["clean session"] = settings.cleanSession;
node["multiple instances"] = settings.multiple_instances;
- node["entity fullname"] = settings.entity_fullname;
node["base"] = settings.base;
node["discovery prefix"] = settings.discovery_prefix;
node["nested format"] = settings.nested_format;