nubli
Version:
Nuki Bluetooth Library
32 lines (31 loc) • 1.69 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const SmartLockCommand_1 = require("./SmartLockCommand");
const states_1 = require("../states");
const smartLock_1 = require("../smartLock");
class RequestAdvancedConfigCommand extends SmartLockCommand_1.SmartLockCommand {
constructor() {
super(...arguments);
this.requiresChallenge = true;
}
requestData(config) {
return smartLock_1.SmartLock.prepareCommand(states_1.Command.REQUEST_ADVANCED_CONFIG, this.challenge);
}
handleData(command, payload) {
this._response.data.totalDegrees = payload.readUInt16LE(0);
this._response.data.unlockedPositionOffsetDegrees = payload.readInt16LE(2);
this._response.data.lockedPositionOffsetDegrees = payload.readInt16LE(4);
this._response.data.singleLockedPositionOffsetDegrees = payload.readInt16LE(6);
this._response.data.unlockedToLockedTransitionOffsetDegrees = payload.readInt16LE(8);
this._response.data.lockNGoTimeout = payload.readUInt8(10);
this._response.data.singleButtonPressAction = payload.readUInt8(11);
this._response.data.doubleButtonPressAction = payload.readUInt8(12);
this._response.data.detachedCylinder = payload.readUInt8(13) == 1;
this._response.data.batteryType = payload.readUInt8(14);
this._response.data.automaticBatteryTypeDetection = payload.readUInt8(15) == 1;
this._response.data.unlatchDuration = payload.readUInt8(16);
this._response.data.autoLockTimeout = payload.readUInt16LE(17);
this._complete = true;
}
}
exports.RequestAdvancedConfigCommand = RequestAdvancedConfigCommand;