From 26bed2d9983d6622e35f2a917212590455abf574 Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Mon, 18 Feb 2019 19:46:57 +0100 Subject: [PATCH] Allow to configure last_seen via MQTT. https://github.com/Koenkk/zigbee2mqtt/issues/1075 --- lib/extension/bridgeConfig.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/extension/bridgeConfig.js b/lib/extension/bridgeConfig.js index f99dfe17c..ac6ba953b 100644 --- a/lib/extension/bridgeConfig.js +++ b/lib/extension/bridgeConfig.js @@ -14,6 +14,7 @@ class BridgeConfig { // Bind functions this.permitJoin = this.permitJoin.bind(this); + this.lastSeen = this.lastSeen.bind(this); this.reset = this.reset.bind(this); this.logLevel = this.logLevel.bind(this); this.devices = this.devices.bind(this); @@ -24,6 +25,7 @@ class BridgeConfig { // Set supported options this.supportedOptions = { 'permit_join': this.permitJoin, + 'last_seen': this.lastSeen, 'reset': this.reset, 'log_level': this.logLevel, 'devices': this.devices, @@ -47,6 +49,19 @@ class BridgeConfig { }); } + lastSeen(topic, message) { + const allowed = ['disable', 'ISO_8601', 'epoch']; + message = message.toString(); + + if (!allowed.includes(message)) { + logger.error(`${message} is not an allowed value, possible: ${allowed}`); + return; + } + + settings.set(['advanced', 'last_seen'], message); + logger.info(`Set last_seen to ${message}`); + } + logLevel(topic, message) { const level = message.toString().toLowerCase(); if (allowedLogLevels.includes(level)) {