From 7642b295e14ef9399acd554a1885c468b8105f4e Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Mon, 4 Feb 2019 18:39:45 +0100 Subject: [PATCH] Add option to enable livolo code. #592 --- lib/controller.js | 11 ++++++++--- lib/util/settings.js | 3 +++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/controller.js b/lib/controller.js index 31110112b..4b04fa956 100644 --- a/lib/controller.js +++ b/lib/controller.js @@ -22,7 +22,7 @@ const ExtensionAvailability = require('./extension/availability'); const ExtensionBind = require('./extension/bind'); const ExtensionCoordinatorGroup = require('./extension/coordinatorGroup'); const ExtensionReporting = require('./extension/reporting'); -// const ExtensionPollLivoloSwitch = require('./extension/pollLivoloSwitch'); +const ExtensionPollLivoloSwitch = require('./extension/pollLivoloSwitch'); class Controller { constructor() { @@ -49,8 +49,6 @@ class Controller { new ExtensionBind(this.zigbee, this.mqtt, this.state, this.publishEntityState), new ExtensionCoordinatorGroup(this.zigbee, this.mqtt, this.state, this.publishEntityState), new ExtensionReporting(this.zigbee, this.mqtt, this.state, this.publishEntityState), - // https://github.com/Koenkk/zigbee2mqtt/issues/592 - // new ExtensionPollLivoloSwitch(this.zigbee, this.mqtt, this.state, this.publishEntityState), ]; if (settings.get().homeassistant) { @@ -70,6 +68,13 @@ class Controller { this.zigbee, this.mqtt, this.state, this.publishEntityState )); } + + if (settings.get().experimental.livolo) { + // https://github.com/Koenkk/zigbee2mqtt/issues/592 + this.extensions.push(new ExtensionPollLivoloSwitch( + this.zigbee, this.mqtt, this.state, this.publishEntityState + )); + } } onMQTTConnected() { diff --git a/lib/util/settings.js b/lib/util/settings.js index 595352919..27c22c245 100644 --- a/lib/util/settings.js +++ b/lib/util/settings.js @@ -12,6 +12,9 @@ const defaults = { }, groups: {}, device_options: {}, + experimental: { + livolo: false, + }, advanced: { log_directory: path.join(data.getPath(), 'log', '%TIMESTAMP%'), log_level: process.env.DEBUG ? 'debug' : 'info',