UNPKG

pimatic-nuki-reloaded

Version:
83 lines (72 loc) 3.31 kB
<!--- [![npm version](https://badge.fury.io/js/pimatic-nuki-reloaded.svg)](https://badge.fury.io/js/pimatic-nuki-reloaded) ![node-current](https://img.shields.io/node/v/pimatic-nuki-reloaded) --> # pimatic-nuki-reloaded Pimatic reloaded plugin for controlling Nuki doorlocks. This plugin is a reloaded version of the pimatic-nuki plugin from [mwittig](https://github.com/mwittig/pimatic-nuki). The upgrades are: - callback for lock events (instead of polling) - button style lock and unlock in gui - rules actions for locking and unlocking - configurable adding of extra info fields ## Plugin Configuration ``` { "plugin": "nuki-reloaded", "active": true, "debug": false, "host": "ip address of the bridge", "port": <port number of the bridge, default:8881>, "callbackPort": <portnumber for callback from the bridge, default: 12321>, "token": "token from the bridge" } ``` ### Callback The callback is set on startup of the plugin. The Nuki bridge supports a maximum of 3 callbacks. When that number is exceeded you get an error message to remove callbacks from the bridge. The plugin retries 10 times every minute to create a callback. In that time you can delete 1 or more callbacks from the bridge. Please restart the plugin (pimatic) in any other case to be sure the callback is created. ## Device Configuration Use the "Discover Devices" function provided by pimatic to automatically discover and setup NukiDevices. Per NukiDevice following fixed attributes (device variables) are available: ``` state: if the lock is LOCKED or UINLOCKED lock: the status of the lock [UNCALIBRATED, LOCKED, UNLOCKING, UNLOCKED, LOCKING, UNLATCHED, UNLOCKED_LOCK_N_GO, UNLATCHING] battery: whether the battery is at a crital level (<=20%) ``` You can add extra values/attributes provided by the Bridge. Under Infos in the device config, you can add the extra information fields. ``` name: The name for the value used by the Nuki Bridge. Must be exactly the same and is thus case sensitive type: The type of the info attribute [string|boolean|number] unit: The optional unit of the info attribute acronym: The optional acronym of the info attribute ``` The extra info fields will also be available as normal device variables. To check what extra info your bridge is providing you can use a web browser with the following url: ``` http://<ip address bridge>:<port number bridge>/list?token=<your token> ``` The response with hold the usable values in the 'lastKnownState' object. This is a formatted example of the response you can get. The values mode, state, stateName and batteryCritical are already used. If the rest is of interest you can add it. ``` "lastKnownState": { "mode": 2, "state": 3, "stateName": "unlocked", "batteryCritical": false, "batteryCharging": false, "batteryChargeState": 74, "doorsensorState": 2, "doorsensorStateName": "door closed", "timestamp": "2021-02-10T19:26:35+00:00" } ``` ## Rules Locks can be controlled via rules The action syntax: ``` nuki <NukiDevice Id> [lock | unlock] ``` --- The minimum node requirement is node 10.x. The plugin is in development. You could backup Pimatic before you are using this plugin!