mirror of
https://github.com/koush/scrypted.git
synced 2026-03-20 16:40:24 +00:00
zwave: dsk confirmation
This commit is contained in:
4
plugins/zwave/package-lock.json
generated
4
plugins/zwave/package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@scrypted/zwave",
|
||||
"version": "0.0.47",
|
||||
"version": "0.0.48",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@scrypted/zwave",
|
||||
"version": "0.0.47",
|
||||
"version": "0.0.48",
|
||||
"license": "Apache",
|
||||
"dependencies": {
|
||||
"@scrypted/sdk": "file:../../sdk",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@scrypted/zwave",
|
||||
"version": "0.0.47",
|
||||
"version": "0.0.48",
|
||||
"description": "Z-Wave USB Controller for Scrypted",
|
||||
"author": "Scrypted",
|
||||
"license": "Apache",
|
||||
|
||||
@@ -42,6 +42,7 @@ export class ZwaveControllerProvider extends ScryptedDeviceBase implements Devic
|
||||
driver: Driver;
|
||||
controller: ZWaveController;
|
||||
driverReady: Promise<void>;
|
||||
dskDeferred: {reject: any, resolve: any};
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
@@ -210,6 +211,11 @@ export class ZwaveControllerProvider extends ScryptedDeviceBase implements Devic
|
||||
type: 'button',
|
||||
description: 'Enter exclusion mode and remove devices.',
|
||||
},
|
||||
{
|
||||
key: 'confirmPin',
|
||||
title: 'Confirm PIN',
|
||||
description: 'Some devices will require confirmation of a PIN while including them. Enter the PIN here when prompted.',
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -220,8 +226,17 @@ export class ZwaveControllerProvider extends ScryptedDeviceBase implements Devic
|
||||
return requested;
|
||||
},
|
||||
validateDSKAndEnterPIN: async (dsk: string) => {
|
||||
this.console.error('validateDSKAndEnterPIN not implemented in zwave plugin');
|
||||
throw new Error("validateDSKAndEnterPIN Function not implemented.");
|
||||
this.console.log('dsk received', sdk);
|
||||
return new Promise((resolve, reject) => {
|
||||
if (this.dskDeferred) {
|
||||
this.dskDeferred.reject(new Error('new dsk received'));
|
||||
this.dskDeferred = undefined;
|
||||
}
|
||||
this.dskDeferred = {
|
||||
resolve,
|
||||
reject,
|
||||
};
|
||||
});
|
||||
},
|
||||
abort: function (): void {
|
||||
this.console.log('abort');
|
||||
@@ -257,6 +272,11 @@ export class ZwaveControllerProvider extends ScryptedDeviceBase implements Devic
|
||||
this.exclusion();
|
||||
return;
|
||||
}
|
||||
if (key === 'confirmPin') {
|
||||
this.dskDeferred?.resolve(value.toString());
|
||||
this.dskDeferred = undefined;
|
||||
return;
|
||||
}
|
||||
|
||||
this.storage.setItem(key, value as string);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user