From dc3d7c848cda72ddd7fee1ce08ece18934b2fddc Mon Sep 17 00:00:00 2001 From: Michael Kotten Date: Sun, 3 Jan 2016 02:45:09 +0100 Subject: [PATCH] #14: using turnOn and turnOff methods for switches. This decouples different value types for Characteristic.On and fixes predicate handling --- accessories/dimmer.coffee | 9 +-------- accessories/powerswitch.coffee | 6 ++---- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/accessories/dimmer.coffee b/accessories/dimmer.coffee index f65113c..d58df9f 100644 --- a/accessories/dimmer.coffee +++ b/accessories/dimmer.coffee @@ -17,14 +17,7 @@ module.exports = (env) -> @addService(Service.Lightbulb, device.name) .getCharacteristic(Characteristic.On) .on 'set', (value, callback) => - if device._state == value - callback() - return - promise = null - if value - promise = device.turnOn() - else - promise = device.turnOff() + promise = if value then device.turnOn() else device.turnOff() @handleVoidPromise(promise, callback) @getService(Service.Lightbulb) diff --git a/accessories/powerswitch.coffee b/accessories/powerswitch.coffee index b91ef11..f5ccc00 100644 --- a/accessories/powerswitch.coffee +++ b/accessories/powerswitch.coffee @@ -17,10 +17,8 @@ module.exports = (env) -> @addService(Service.Switch, device.name) .getCharacteristic(Characteristic.On) .on 'set', (value, callback) => - if device._state == value - callback() - return - @handleVoidPromise(device.changeStateTo(value), callback) + promise = if value then device.turnOn() else device.turnOff() + @handleVoidPromise(promise, callback) @getService(Service.Switch) .getCharacteristic(Characteristic.On)