3 Commits
1.0.4 ... 1.0.5

Author SHA1 Message Date
e9693435ce Added missing logic 2020-01-03 19:57:47 -05:00
a8fddae8c5 Bump rev 2020-01-03 19:51:11 -05:00
3759d91d1f Setting button state correctly for stateful buttons 2020-01-03 19:50:38 -05:00
2 changed files with 8 additions and 8 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "homebridge-harmony-control", "name": "homebridge-harmony-control",
"version": "1.0.4", "version": "1.0.5",
"description": "Homebridge platform to control smart home equipment by room.", "description": "Homebridge platform to control smart home equipment by room.",
"main": "bin/index.js", "main": "bin/index.js",
"scripts": { "scripts": {

View File

@ -86,8 +86,8 @@ export class DeviceButton implements IAccessory {
* Handler for switch set event * Handler for switch set event
* @param callback The callback function to call when complete * @param callback The callback function to call when complete
*/ */
private onSwitchSet = async (activeState: boolean, callback: (error?: Error | null | undefined) => void) => { private onSwitchSet = async (newState: boolean, callback: (error?: Error | null | undefined) => void) => {
if (!this._buttonInfo.IsStateful && activeState === this._buttonState) { if (!this._buttonInfo.IsStateful && newState === this._buttonState) {
return callback(); return callback();
} }
@ -101,12 +101,12 @@ export class DeviceButton implements IAccessory {
//Execute command //Execute command
if (this._deviceCommand) { if (this._deviceCommand) {
await this._dataProvider.sendCommand(this._deviceCommand);
//change state if stateful //change state if stateful
if (this._buttonInfo.IsStateful) { if (this._buttonInfo.IsStateful && this._buttonState != newState) {
this._buttonState = !this._buttonState this._buttonState = newState
} else { await this._dataProvider.sendCommand(this._deviceCommand);
} else if (!this._buttonInfo.IsStateful) {
await this._dataProvider.sendCommand(this._deviceCommand);
this._switchService.getCharacteristic(Characteristic.On).updateValue(false); this._switchService.getCharacteristic(Characteristic.On).updateValue(false);
return callback(new Error("Normal Response")); return callback(new Error("Normal Response"));
} }