npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

pimatic-nuki-reloaded

v0.9.28

Published

Pimatic plugin for Nuki Smart Locks

Downloads

14

Readme

pimatic-nuki-reloaded

Pimatic reloaded plugin for controlling Nuki doorlocks. This plugin is a reloaded version of the pimatic-nuki plugin from mwittig.

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!