From ff8e57b77d8dd0378398025aedde2f7af5c01d41 Mon Sep 17 00:00:00 2001 From: Andreas Lydersen Date: Wed, 15 Apr 2020 21:34:05 +0200 Subject: [PATCH] Moving DMX from relays to dimmers. Adding feedback from US --- .homeychangelog.json | 3 +++ app.json | 2 +- drivers/universal-switch/device.js | 15 +++++++++++++++ drivers/universal-switch/driver.js | 10 +++++++++- hdl/hdl_dimmers.js | 11 ++++++++++- hdl/hdl_relays.js | 11 +---------- 6 files changed, 39 insertions(+), 13 deletions(-) diff --git a/.homeychangelog.json b/.homeychangelog.json index 6981134c..c6492fcd 100644 --- a/.homeychangelog.json +++ b/.homeychangelog.json @@ -58,5 +58,8 @@ }, "0.2.6": { "en": "Adding even more DMX devices" + }, + "0.2.7": { + "en": "Moving DMX devices from relays to dimmers. Adding US feedback on bus" } } diff --git a/app.json b/app.json index 0264bffa..d8eda6d2 100644 --- a/app.json +++ b/app.json @@ -194,4 +194,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/drivers/universal-switch/device.js b/drivers/universal-switch/device.js index 2b357226..091e7d18 100644 --- a/drivers/universal-switch/device.js +++ b/drivers/universal-switch/device.js @@ -18,6 +18,21 @@ class HdlUniversalSwitchDevice extends Homey.Device { this.setCapabilityValue("onoff", status).catch(this.error); } + respondToSender(sender) { + this._controller().send( + { + target: `${sender.subnet}.${sender.id}`, + command: 0xE01D, + data: { switch: this.getData().switch, status: this.getCapabilityValue("onoff") } + }, + function(err) { + if (err) { + Homey.app.log(err); + } + } + ); + } + requestUpdate() { this._controller().send( { diff --git a/drivers/universal-switch/driver.js b/drivers/universal-switch/driver.js index ddbc29d2..b5aa4f41 100644 --- a/drivers/universal-switch/driver.js +++ b/drivers/universal-switch/driver.js @@ -15,7 +15,12 @@ class HdlUniversalSwitchDriver extends Homey.Driver { parseInt(Homey.ManagerSettings.get("hdl_universal_motion")) ) return; - this.log(signal.data.switch); + // RETURN IF THE SIGNAL IS FROM MYSELF + if ( + signal.sender.id == + parseInt(Homey.ManagerSettings.get("hdl_id")) + ) + return; let hdl_subnet = Homey.ManagerSettings.get("hdl_subnet"); let homeyDevice = this.getDevice({ id: `${hdl_subnet}.${signal.data.switch}`, @@ -26,6 +31,9 @@ class HdlUniversalSwitchDriver extends Homey.Driver { homeyDevice .setCapabilityValue("onoff", signal.data.status) .catch(this.error); + homeyDevice + .respondToSender(signal.sender) + .catch(this.error); } onPairListDevices(data, callback) { diff --git a/hdl/hdl_dimmers.js b/hdl/hdl_dimmers.js index 6be3063c..a90682d3 100644 --- a/hdl/hdl_dimmers.js +++ b/hdl/hdl_dimmers.js @@ -40,7 +40,16 @@ class HdlDimmers { "633": { channels: 6 }, "634": { channels: 2 }, "635": { channels: 4 }, - "636": { channels: 6 } + "636": { channels: 6 }, + "800": { channels: 8 }, + "850": { channels: 96 }, + "851": { channels: 96 }, + "852": { channels: 96 }, + "853": { channels: 48 }, + "854": { channels: 48 }, + "16": { channels: 48 }, + "18": { channels: 48 }, + "32": { channels: 48 } }; } } diff --git a/hdl/hdl_relays.js b/hdl/hdl_relays.js index 83f5cb1f..096a3563 100644 --- a/hdl/hdl_relays.js +++ b/hdl/hdl_relays.js @@ -56,16 +56,7 @@ class HdlRelays { "467": { channels: 3 }, "468": { channels: 6 }, "469": { channels: 4 }, - "470": { channels: 6 }, - "800": { channels: 8 }, - "850": { channels: 96 }, - "851": { channels: 96 }, - "852": { channels: 96 }, - "853": { channels: 48 }, - "854": { channels: 48 }, - "16": { channels: 48 }, - "18": { channels: 48 }, - "32": { channels: 48 } + "470": { channels: 6 } }; } }