diff --git a/interface/src/app/main/Customizations.tsx b/interface/src/app/main/Customizations.tsx
index 24b105ec6..604917ff2 100644
--- a/interface/src/app/main/Customizations.tsx
+++ b/interface/src/app/main/Customizations.tsx
@@ -268,10 +268,16 @@ const Customizations = () => {
const formatName = (de: DeviceEntity, withShortname: boolean) =>
(de.n && de.n[0] === '!'
- ? LL.COMMAND(1) + ': ' + de.n.slice(1)
+ ? de.t
+ ? LL.COMMAND(1) + ': ' + de.t + ' ' + de.n.slice(1)
+ : LL.COMMAND(1) + ': ' + de.n.slice(1)
: de.cn && de.cn !== ''
- ? de.cn
- : de.n) + (withShortname ? ' ' + de.id : '');
+ ? de.t
+ ? de.t + ' ' + de.cn
+ : de.cn
+ : de.t
+ ? de.t + ' ' + de.n
+ : de.n) + (withShortname ? ' ' + de.id : '');
const getMaskNumber = (newMask: string[]) => {
let new_mask = 0;
@@ -449,11 +455,14 @@ const Customizations = () => {
- {devices.devices.map((device: Device) => (
-
- ))}
+ {devices.devices.map(
+ (device: Device) =>
+ device.id < 90 && (
+
+ )
+ )}
)}
{selectedDevice !== -1 &&
diff --git a/interface/src/app/main/types.ts b/interface/src/app/main/types.ts
index 07e8beef0..0a615e058 100644
--- a/interface/src/app/main/types.ts
+++ b/interface/src/app/main/types.ts
@@ -134,6 +134,7 @@ export interface DeviceEntity {
v?: unknown; // value, in any format, optional
n?: string; // fullname, optional
cn?: string; // custom fullname, optional
+ t?: string; // tag for name
m: DeviceEntityMask; // mask
w: boolean; // writeable
mi?: number; // min value
diff --git a/src/emsdevice.cpp b/src/emsdevice.cpp
index 6125ae3aa..863b455fd 100644
--- a/src/emsdevice.cpp
+++ b/src/emsdevice.cpp
@@ -1080,7 +1080,8 @@ void EMSdevice::generate_values_web_customization(JsonArray output) {
auto fullname = Helpers::translated_word(dv.fullname);
if (dv.type != DeviceValueType::CMD) {
if (fullname) {
- obj["n"] = dv.has_tag() ? std::string(tag_to_string(dv.tag)) + " " + fullname : fullname; // prefix tag
+ // obj["n"] = dv.has_tag() ? std::string(tag_to_string(dv.tag)) + " " + fullname : fullname; // prefix tag
+ obj["n"] = fullname;
// TAG https://github.com/emsesp/EMS-ESP32/issues/1338
// obj["n"] = (dv.has_tag()) ? fullname + " " + tag_to_string(dv.tag) : fullname; // suffix tag
@@ -1094,7 +1095,9 @@ void EMSdevice::generate_values_web_customization(JsonArray output) {
} else {
obj["n"] = "!" + std::string(fullname); // prefix commands with a !
}
-
+ if (dv.has_tag()) {
+ obj["t"] = tag_to_string(dv.tag);
+ }
obj["m"] = dv.state >> 4; // send back the mask state. We're only interested in the high nibble
obj["w"] = dv.has_cmd; // if writable