Z-Way Client
Client library for the Z-Way Device API, allows for easy polling for changes, running commands, and events.
Overview
Initializing
var zway = ; // without passwordvar deviceApi = '192.168.0.123'; // with passwordvar deviceApi = host: '192.168.0.123' user: 'admin' password: 'mypass' ;
Manually Refreshing
deviceApi;
Polling
Rather than manually refreshing for updates you can just start polling at a defined interval.
var interval = 1000; // msdeviceApi;
Events
The main reason to poll is to receive events. The client uses EventEmitter2 that supports wildcard events. The event format is device_id.command_class_id.eventname
.
deviceApi;
For debugging:
deviceApi;
Reading Device Data
var device1 = deviceApi;console;
Running Device Commands
var device1 = deviceApi;console;
Command Class Info
37 - SwitchBinary
Commands:
- activate();
- deactivate();
- toggle();
- refresh();
Queries:
- TODO: isActivated();
48 - SensorBinary
Events:
- onChange();
Queries:
- getItems();
49 - SensorMultilevel
Commands:
- refresh();
Events:
- onChange();
Queries:
- getItems();
98 - DoorLock
Commands:
- lock();
- unlock();
- refresh();
Queries:
- isLocked();
113 - Alarm
Events:
- on();
Notes
Have also looked at using the JS API (/ZAutomation) but the authentication system for this is limited and impractical.
TODO
- Make it more flexible to reference everything by either command class name or ID (decimal or hex).
- Add more command class info