Fixing stateless device buttons to not error out when pressed
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Brandon Watson 2021-06-07 20:51:19 -04:00
parent bc2208b5cb
commit 1121dbc52c

View File

@ -75,23 +75,28 @@ export class DeviceButton {
} }
//Execute command //Execute command
if (this._device) { if (!this._device) {
return callback();
}
//change state if stateful //change state if stateful
if (this._deviceInfo.IsStateful && this._buttonState != newState) { if (this._deviceInfo.IsStateful && this._buttonState != newState) {
this._buttonState = newState; this._buttonState = newState;
await this._device.sendCommand(this._deviceInfo.ButtonName); await this._device.sendCommand(this._deviceInfo.ButtonName);
return callback();
} else if (!this._deviceInfo.IsStateful) { } else if (!this._deviceInfo.IsStateful) {
//Send the number of configured key presses //Send the number of configured key presses
for (let i = 0; i < this._deviceInfo.NumberOfKeyPresses; i++) { for (let i = 0; i < this._deviceInfo.NumberOfKeyPresses; i++) {
await this._device.sendCommand(this._deviceInfo.ButtonName); await this._device.sendCommand(this._deviceInfo.ButtonName);
} }
this._switchService this._switchService
.getCharacteristic(this._platform.Characteristic.On) .getCharacteristic(this._platform.Characteristic.On)
.updateValue(false); .updateValue(false);
return callback(new Error("Normal Response"));
} this._buttonState = false;
}
return callback(); return callback();
}
}; };
/** /**