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 = () => { {LL.SELECT_DEVICE()}... - {devices.devices.map((device: Device) => ( - - {device.n} ({device.tn}) - - ))} + {devices.devices.map( + (device: Device) => + device.id < 90 && ( + + {device.n} ({device.tn}) + + ) + )} )} {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