Move logging devices on startup to controller.js. #45

This commit is contained in:
Koenkk
2018-05-16 19:29:47 +02:00
parent e3c9448656
commit ca40cf622a
2 changed files with 24 additions and 23 deletions
+21
View File
@@ -27,6 +27,12 @@ class Controller {
if (error) {
logger.error('Failed to start');
} else {
// Log zigbee clients on startup.
const devices = this.zigbee.getAllClients();
logger.info(`Currently ${devices.length} devices are joined:`);
devices.forEach((device) => logger.info(this.getDeviceStartupLogMessage(device)));
// Connect to MQTT broker
const subscriptions = [
`${settings.get().mqtt.base_topic}/+/set`,
`${settings.get().mqtt.base_topic}/+/+/set`,
@@ -62,6 +68,21 @@ class Controller {
this.zigbee.stop(callback);
}
getDeviceStartupLogMessage(device) {
let friendlyName = 'unknown';
let friendlyDevice = {model: 'unkown', description: 'unknown'};
if (deviceMapping[device.modelId]) {
friendlyDevice = deviceMapping[device.modelId];
}
if (settings.getDevice(device.ieeeAddr)) {
friendlyName = settings.getDevice(device.ieeeAddr).friendly_name
}
return `${friendlyName} (${device.ieeeAddr}): ${friendlyDevice.model} - ${friendlyDevice.vendor} ${friendlyDevice.description}`;
}
handleZigbeeMessage(message) {
debug('Recieved zigbee message with data', message.data);