Skip to content

nouknouk/node-zigate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a4e87ba · Aug 28, 2020
Nov 20, 2018
Jul 7, 2018
Aug 28, 2020
Jul 7, 2018
Jul 8, 2018
Dec 5, 2017
Jul 10, 2018
Aug 28, 2020
Aug 28, 2020

Repository files navigation

node-zigate

The project aims to provide low & high level APIs for managing the Zigate USB TTL key (cf. zigate.fr) in node.js

This project is still under active development ; not very usable yet. It's mostly for developpers which want to have a look / contribute.

This project is composed of two main parts, representing two level of abstraction of the Zigate key:

  • The Zigate.Driver is a 'lower level' abstraction of the Zigate key ; it manages the connexion to the serial port of the ZiGate and provides utility functions to connect/disconnect to the Zigate key, build & send requests and parse & be notified of responses.

  • The Zigate.Coordinator, an higher abstraction on top of the Zigate.Driver class ; it provides additionnal features:

    • uses the Zigate.Driver for low-level interaction with the zigate key.
    • exposes the availables devices, their endpoints / clusters / attributes and actions on them (get/set attribute's values, ...)
    • keeps a trace of the devices included in the network, for persistance on next run.
    • stores metadata related to zigbee devices' specifications: endpoints/clusters/attributes
    • provides a simple API to start/stop the inclusion mode (to include/Exclude a zigbee device in the Zigate's
    • recognizes devices, and creates appropriate values, events, actions objects, to interact easily with the device.

installation:

For the moment, no npm repository ; fetch directly from git

npm install git+https://git@github.com/nouknouk/node-zigate.git

dependencies

This module depends on node module 'serialport', which is based on a native addon (compiled by node-gyp). Therefore, some build tools must be present on your machine, to make the installation successfull.

quick test:

The test sample:

  • instanciate the Driver,
  • setup the event listeners
  • (try to) guess the Zigate port,
  • open a connexion to it
  • send a command 'get_version'
  • wait for the response, display it
  • close the connexion.
  • exit
git clone https://github.com/nouknouk/node-zigate.git
cd node-zigate
npm install
npm test/test-driver

documentation:

let's have a look at the wiki of node-zigate !

About

ZiGate USB-TTL module for Node.js

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published