From 07722801748e7a71a281cc1ab345952c393d42da Mon Sep 17 00:00:00 2001 From: ticaki Date: Wed, 29 Nov 2023 19:03:24 +0100 Subject: [PATCH] finish admin update --- admin/jsonConfig.json5 | 2 +- main.js | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/admin/jsonConfig.json5 b/admin/jsonConfig.json5 index bbf0e85..547262a 100644 --- a/admin/jsonConfig.json5 +++ b/admin/jsonConfig.json5 @@ -242,7 +242,7 @@ "defaultSendTo": "loadDevices", // das hier scheint mit useNative nicht zu funktionieren, die anfrage geht raus, aber das ergebnis wird nicht verwertet. "hidden": "!_alive", "command": "loadDevices", - "jsonData": "{ \"date\": \"${data}\"}", + "jsonData": "{ \"date\": \"${data.templateTable}\"}", "label": "lblLoadDevices", "useNative": true, "variant": "outlined", diff --git a/main.js b/main.js index e83103c..059d5de 100644 --- a/main.js +++ b/main.js @@ -1137,21 +1137,23 @@ class Esphome extends utils.Adapter { let data = {}; const tableEntry = []; - + const tableNew = []; for (const device in clientDetails) { - tableEntry.push({ + let table = tableEntry; + if (clientDetails[device].connectStatus === 'newly discovered') table = tableNew; + table.push({ 'MACAddress' : clientDetails[device].mac, 'deviceName' : clientDetails[device].deviceFriendlyName, 'ip' : clientDetails[device].ip, 'connectState' : clientDetails[device].connectStatus }); } - - data = { + data = tableNew.length > 0 || !obj.message.data || JSON.stringify(tableEntry) != JSON.stringify(obj.message.data) ? { native: { templateTable: tableEntry, + newDevicesTable: tableNew, }, - }; + } : {}; this.sendTo(obj.from, obj.command, data, obj.callback); } break;