Skip to content

caseda/homey_zw-ccl

Repository files navigation

Deprecated!

This repo is deprecated, and should only be used as (emergency/update) reference.
It is better (especially new apps) to build in SDKv2, as new SDKv1 apps will not be accepted anymore.
And make use of the meshdriver library.
In the future also updates with SDKv1 will not be accepted anymore.

Z-Wave and Homey (SDKv1) 101

Here will be the most common (and requested) Homey code examples of specific Command Classes. To start of your adventure in creating drivers for Homey is:

  • Collecting all data of the device:
    • Manufacturer ID
    • Device Type ID
    • Device ID
    • Parameters (from reliable sources/retrieved from the device itself)

app.json

The easiest to begin is using the Z-Wave Generator Athom created.
This uses the official Z-Wave alliance's database to create the initial start of the driver in app.json.
Which includes all parameters and device (type) id's.
This definitely needs to be checked afterwards if everything is right (and add for example the number range).
And this still misses the capabilities, icons, learnmode and unlearnmode (optional).
How that is added is shown in the Developer Library.

You can find the id's in:
The (unknown) device's settings -> Node Information after inclusion
Or the (unknown) device's node information when Chrome's Console is open while including

The entire list of supported Command Classes by the device are in:
CLI when debug is enabled in the driver.js, and the device has been included.
Or have Chrome's Console open while including.

Warning:
If you are about to use information from:
openHab (CD-Jackson);
openZwave;
pepper1;
Take into consideration that a lot of data is/can be incorrect.

driver.js

Creating the driver.js file is all contained into the readme of the Z-Wave Driver Core.
It misses the command_get_parser: function in the readme documentation, that some Command Classes need.
But this can easily be found in the documentation here, or in one of the other Z-Wave apps (see bottom).

app.json Config Composer

If you think that the amount of drivers and or flow cards will become a lot.
Consider using the app.json Config Composer.
This will make it possible to separate each driver, action, condition and trigger that are in app.json, into it's own .json file.
That will make finding issues/changes a lot easier.
And it won't need any extra module in your app, the composer just combines the separate files into the app.json,
by typing 1 extra line in the CLI: homeyConfig compose.
Example apps that make use of the composer, are the Fibaro and Aeotec app.

Magic Refiller (Donate)

If you like what I, the Wizard of the (Z-)Waves, have done up until now.
Then here is a little somethin' if you want to replenish my Magic Powers:
Paypal Donate

Useful Pages/Documents:

Z-Wave Apps [Last Updated 15 Nov 2017]:

About

Homey and Z-Wave 101

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published