-
Notifications
You must be signed in to change notification settings - Fork 3
Home
The module node-zigate aims to provide low & high level APIs for managing the Zigate USB TTL key in nodejs an interacting with zigbee devices in an easy way.
This project is at an early stage. It's still under active development ; API is subject to major refactoring and lot's of bugs are still present.
For the moment, only the USB (aka. USB-TTL) version is supported (the WiFi version isn't).
This project is composed of two main parts, representing two levels of abstraction of the Zigate key:
-
The
Zigate.Driver
is a 'lower level' abstraction of the Zigate key. It interacts with the key through the USB port, can send commands (devices_list
,permit_join
,attribute_write
, etc.), and receive responses which are either related to a previous command sent (devices_list
,attribute_write
, ...) or 'spontaneous' notifications (attribute_report
, etc.) -
The
Zigate.Coordinator
, an higher abstraction on top of the Zigate.Driver ; it uses internally the Zigate.Driver to communicate with the Zigate key, and provides additionnal features:- expose the availables devices, their endpoints / clusters / attributes and actions on them (get/set attribute's values, ...)
- it keeps a trace of the devices included in the network, for persistance on next run.
- it stores metadata related to zigbee devices' specifications: endpoints/clusters/attributes
- it provides a simple APIp to start/stop the inclusion mode (to include/Exclude a zigbee device in the Zigate's network)
- it recognizes devices, and creates appropriate values, events, actions objects, to interact easily with the device.
Let's move forward to the page getting started.