{"id":13630288,"url":"https://github.com/mabunixda/node-red-contrib-nuki","last_synced_at":"2025-04-10T10:31:56.625Z","repository":{"id":34869291,"uuid":"124379342","full_name":"mabunixda/node-red-contrib-nuki","owner":"mabunixda","description":"node for nuki","archived":false,"fork":false,"pushed_at":"2022-06-29T06:22:34.000Z","size":178,"stargazers_count":6,"open_issues_count":5,"forks_count":9,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-24T19:45:52.729Z","etag":null,"topics":["node-red","node-red-contrib","nuki","nuki-smartlock"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mabunixda.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"patreon":"mabunixda","custom":"https://www.paypal.me/kervehrt"}},"created_at":"2018-03-08T11:03:17.000Z","updated_at":"2022-06-29T06:12:03.000Z","dependencies_parsed_at":"2022-08-08T02:15:15.366Z","dependency_job_id":null,"html_url":"https://github.com/mabunixda/node-red-contrib-nuki","commit_stats":{"total_commits":52,"total_committers":9,"mean_commits":5.777777777777778,"dds":0.3653846153846154,"last_synced_commit":"79273ef61db94b1d176ce4cf9fd12e75d5f29e46"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabunixda%2Fnode-red-contrib-nuki","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabunixda%2Fnode-red-contrib-nuki/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabunixda%2Fnode-red-contrib-nuki/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabunixda%2Fnode-red-contrib-nuki/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mabunixda","download_url":"https://codeload.github.com/mabunixda/node-red-contrib-nuki/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247882342,"owners_count":21012051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["node-red","node-red-contrib","nuki","nuki-smartlock"],"created_at":"2024-08-01T22:01:37.326Z","updated_at":"2025-04-10T10:31:56.164Z","avatar_url":"https://github.com/mabunixda.png","language":"JavaScript","funding_links":["https://patreon.com/mabunixda","https://www.paypal.me/kervehrt"],"categories":["JavaScript"],"sub_categories":[],"readme":"# node-red-contrib-nuki\n\n[![Greenkeeper badge](https://badges.greenkeeper.io/mabunixda/node-red-contrib-nuki.svg)](https://greenkeeper.io/)\n\n![Build and Publish](https://github.com/mabunixda/node-red-contrib-nuki/workflows/Build%20and%20Publish/badge.svg)\n\nThis node can control Nuki Smart Locks with the help of Nuki Bridges.\nAlso Nuki Bridges can be handled by the node. It uses [nuki-bridge-api](https://github.com/Mik13/nuki-bridge-api/) based on the Nuki Bridge API documentation.\n\nIt enables you to connecto to your Nuki Smart Lock over a Nuki Bridge and control it directly from node-red.\nIt also enables you to monitor the states and control the bridge itself.\n\n## Installation\n\n### Nuki Bridge API\n\nHow to get your hardware bridge token, which is a requirement for this node:\n\n* Call http://\u003cbridge_ip\u003e:\u003cbridge_port\u003e/auth from any browser in your network. The bridge turns on its LED.\n* Press the button of the bridge within 30 seconds.\n* Result of the browser call should be something like this:\n  ```\n     {\n       \"token\":\"token123\",\n       \"success\":true\n     }\n  ```\n* Use the generated token in the nuki-brige Configuration property **token**\n\n### Nuki Web API\n\nDo the following, to use the Nuki Web API - this is optional for this node!\n\n* Retrieve a token at https://web.nuki.io/de/#/admin/web-api\n* Use this token in the nuki-bridge Configuration on property **WEB API Token**\n* Make sure your nuki devices are published on the Nuki Web API (use the Smartphone App via Settings Activate Nuki Web)\n\n\n## Nodes\n\n\n### Bridge Configuration\n\nConfigure a Nuki Bridge connection used by other nodes to communicate with the actual Nuki Bridge or Nuki Locks\n\n![Bridge Configuration](images/bridge-config.png)\n\n| Config Item | Description |\n|-|-|\n| Bridge | IP or Hostname of your actual Bridge |\n| Port | Default the bridge listens to 8080 |\n| Token | your Token of the Bridge API Access |\n| Bridge Callback Host | The actual node-red installation access - ***must*** be http, https is ***not*** supported |\n| WEB API Token | Api Token to access the Nuki Web API ( web.nuki.io ) |\n| WEB API Fetch Interval | The actual interval that is used to fetch data from web.nuki.io |\n\n### Common Control on the Nodes\n\n#### clearCallbacks\n\nRemoves all registered callbacks - if this option was configured\n\n#### setupCallback\n\nRegisters the callback for the actual node ( bridge or nuki )\n\n#### getCallbacks\n\nLists all registered callbacks - this is usefull if you get the error message that there are to many callbacks registered.\n\n### Control In\n\nSend commands and queries to a Nuki Smart Lock. At the moment 2 actions are available which can be set as **topic**\n\n##### lockStatus\n\nquery the lockStatus of the current lock. Possible states can be reviewd at [state of nuki-bridge-api](https://github.com/Mik13/nuki-bridge-api/blob/master/lib/lock-state.js#L6). Those are at the moment\n```\nUNCALIBRATED\nLOCKED\nUNLOCKING\nUNLOCKED\nLOCKING\nUNLATCHED\nUNLOCKED_LOCK_N_GO\nUNLATCHING\nMOTOR_BLOCKED\nUNDEFINED\n```\n\n#### lockAction\n\nPerforms an action on the current lock. Actions are not validated within the node if they are valid - e.g. the lock is already unlocked and you send an unlock again. In this case the bridge itself manages this and does not try to unlock again. Available actions are directly mapped to the [actions of nuki-bridge-api](https://github.com/Mik13/nuki-bridge-api/blob/master/lib/lock-action.js). At the moment those actions are:\n```\nUNLOCK\nLOCK\nUNLATCH\nLOCK_N_GO\nLOCK_N_GO_WITH_UNLATCH\n```\n\n#### webInfo\n\nQuery the information available from the WebAPI - if configured. Otherwise you just get no payload in the response\n\n### Bridge Control\n\nSend commands and queries to a Nuki Bridge.\n\nThe nuki bridge supports various commands. At the moment the responses are directly forwarded as output payload and are not parsed. They are only enriched with the original topic and bridge information ( host and port ).\n\n#### reboot\n\nOf course this action reboots the bridge itself\n\n#### fwupdate\n\nUpdate the firmware of the nuki bridge. It is not possible right now if there is an update available!\n\n#### info\n\nRetrieve information about the bridge. The payload looks like following example\n```json\n{\"topic\":\"info\",\"bridge\":\"192.168.1.100:8080\",\"payload\":{\"bridgeType\":1,\"ids\":{\"hardwareId\":234189529,\"serverId\":291317518},\"versions\":{\"firmwareVersion\":\"1.12.6\",\"wifiFirmwareVersion\":\"1.2.0\"},\"uptime\":75492,\"currentTime\":\"2019-05-09T08:09:20+00:00\",\"serverConnected\":true,\"scanResults\":[]},\"_msgid\":\"e3cab797.caec98\"}\n```\n\n#### log\n\nRetrieve the current log from the bridge. Right now only the last 100 lines are reported even the api is available to page through the available logs\n\n#### clearlog\n\nClear all logs on the bridge\n\n## Todo\n\n* Paging of Nuki Bridge logs\n* Nuki Smart Lock Door sensor support ( missing in nuki-bridge-api )\n* Nuki 3.0 Pro\n\n## Caveats\n\nAt the moment the door sensor is not support within nuki-bridge-api.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmabunixda%2Fnode-red-contrib-nuki","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmabunixda%2Fnode-red-contrib-nuki","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmabunixda%2Fnode-red-contrib-nuki/lists"}