From 6d73dd143c9506c66e3e797ead2d4627c3a4ff89 Mon Sep 17 00:00:00 2001 From: Koenkk Date: Wed, 30 May 2018 17:52:46 +0200 Subject: [PATCH] Add endpoint to request connected devices. #77 --- lib/controller.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/controller.js b/lib/controller.js index 158458197..d25b42aab 100644 --- a/lib/controller.js +++ b/lib/controller.js @@ -277,6 +277,20 @@ class Controller { if (option === 'permit_join') { this.zigbee.permitJoin(message.toString().toLowerCase() === 'true'); + } else if (option === 'devices') { + const devices = this.zigbee.getAllClients().map((device) => { + const mappedModel = deviceMapping[device.modelId]; + const friendlyDevice = settings.getDevice(device.ieeeAddr); + + return { + ieeeAddr: device.ieeeAddr, + type: device.type, + model: mappedModel ? mappedModel.model : device.modelId, + friendly_name: friendlyDevice ? friendlyDevice.friendly_name : device.ieeeAddr, + }; + }); + + this.mqtt.publish('bridge/devices', JSON.stringify(devices), {retain: false}); } else { logger.warn(`Cannot handle MQTT config option '${option}' with message '${message}'`); }