Version
ZWave2MQTT v1.0.0-alpha.1 (from image zwavejs/zwavejs2mqtt:dev)
Build/Run method
Describe the bug
When including ZHC5010, only endpoints 1-4 are exposed (in the control panel as well as when inspecting the MQTT-stream and in Home Assistant).
The device consists of an in-built relay (root/endpoint 0) and four buttons (endpoints 1-4).
The relay can be configured to work independently of the four buttons, as decribed in the manual:
_"It can be configured so that the relay can be controlled exclusively by sending commands to the root device, which means that the relay isn鈥檛 controlled by any of the buttons. In this mode, commands (to Basic Command Class and Binary Switch Command Class) sent to the root device will not be forwarded to device 1, see configuration parameter 15."_
The configuration of paramter 15 is available in the control panel and works fine.
However, the endpoint is not exposed.
Expected behavior
The configuration file on node-zwave-js seems correct.
The expected behaviour is, that the endpoint is exposed and thereby usable as intended.
Additional context
The expected behaviour is seen when including the device in Homey as well as in Fibaro HCL.
@cbho Essentially you don't see endpoint 0 values on UI right? If so It measn that zwavejs is not sending me them for some reason. COuld you attach the zwavejs logs here? Set the log level (of zwavejs in zwave settings) to debug, enable log to file and send us that file here.
@robertsLando:
Correct, endpoint 0 aren't shown in the UI.
I've tried with MQTT Explorer if I could trigger the relay. If it is possible, I haven't been able to figure out the right command :-(
Regarding logfiles: Where are they located? I've mounted the /usr/src/app/store externally, but don't find any there...
Regarding logfiles: Where are they located? I've mounted the /usr/src/app/store externally, but don't find any there...
zwavejs log files are in bin folder (this is not correct but we need to wait next major release in order to make this available). All other files are in store folder, in order to have zjs2m log to file you need to enable it on gateway settings
Have enabled the "Log to file" but don't get any in the store-folder.
Instead, I,ve captured the log "live" in Portainer (gist here).
The log includes starting the container, interviewing all nodes (which is at present only the controller and a Fibaro Dimmer 2) and the inclusiong process of the ZHC5010.
Hope this can help.
If you need anything else, let me know...
@AlCalzone Seems enpoints 0 are marked as internal, is that the reason why values are not reported?
Good thing I documented the compat flags yesterday. The expected behavior is not spec-compliant and needs this compat flag to work with zwave-js:
https://zwave-js.github.io/node-zwave-js/#/development/config-files?id=preserverootapplicationccvalueids
@cbho Essentially you should edit the device configuration file to add a compat flag, follow docs and ask if you need help. FIrstly identify your dievice from the id shown in web interface
And please report back if that helps so we can edit the included config files
Ok, will do.
Just a little uncertain about where the edit should be, since there are no config files are not stored in the zwavejs2mqtt volume...
Is it a matter of making a custom xml-file and place there - or should I find the config file somewhere inside the docker container?
(Might be a trivial question, but just to try and do it right from the beginning...)
@cbho Here everything is well documented: https://zwave-js.github.io/node-zwave-js/#/development/config-files?id=device-configuration-files
@robertsLando: I did read that :-)
It's a matter of finding packages/config/config/devices/<manufacturerID-as-hex>/<device-name>[_<firmware-range>].json
Again, it may be kind i trivial - but unfortunately not to me :-(
Once installed, the config files are located in node_modules/@zwave-js/config/config/devices/...
I'm really sorry, but I just can't find the location of the config files...
Can you give a hint for dummies?
Can you run zwavejs2mqtt without docker? Then it should be relatively easy
I've created a PR for you to test. In a couple of minutes there should be a new build available to install and test:
https://github.com/zwave-js/node-zwave-js/pull/1302
Hope that makes it easier.
@AlCalzone & @robertsLando:
Ended up setting up a new VM with only node.js and the PR mentioned above.
Can confirm, that the root device is now exposed - and the relay can be switched independently of the four buttons 馃憤
Hi again,
a minor detail:
In addition to the binary switch, there is also a multilevel switch created. As endpoint 0 is a relay, this doesn't really make sense.
Of course, this can be dealt with by just ignoring it - it doesn't make any harm - just thougth it could be relevant to mention.
Regards,
Chr.
I think I'm okay with that. The device has multilevel switch support, so naturally that gets exposed on the root endpoint as well. If it ever becomes a problem, we could look into removing the CC support info from the root endpoint (like we have the ability to add it through config files).