jamesm
April 19, 2021, 9:32pm
#1
Hi! I am using the amazing Red Series On/Off switches with Home Assistant and Zwave JS. These are working well in this setup, however I want disable the local relay to use these with smart bulbs. I don’t see an option in the Zwave_JS to do this. Is there a parameter and value pair I can use with ZWAVE_JS.SET_CONFIG_PARAMETER or ZWAVE_JS.BULK_SET_PARTIAL_CONFIG_PARAMETERS to do this?
Thanks!
In HA it’s under protection. *I’m using zwavejs2mqtt
jamesm
April 20, 2021, 12:00am
#3
I am currently using the base ZWave JS add on, but I am planning on switching over to ZWaveJS2MQTT shortly.
Thanks!
jamesm
April 20, 2021, 2:01am
#4
Update, the great support folks at inovelli reached out to me and offered an even easier way: hit the config button 8 times quickly while the switch is on and it will disable local control. Awesome!
1 Like
via Home Assistant you can use a service call to enable/disable the relay as well, here’s an example:
- service: zwave_js.set_value
target:
entity_id:
- switch.loft_lights_switch
data:
command_class: 117
endpoint: 0
property: local
value: 1 # Disable local control
2 Likes
jamesm
April 23, 2021, 3:30pm
#6
Thanks! are those command_class and values documented somewhere?
Yes. They are documented here in the forums, and in the fold out instructions that came with the device. I do not see the parameter number on my instructions sheet, but I do see the press 8x option to disable the relay in the config button table for the red series. And I see it in the black series switch instruction. Also, neither have the parameter number but it does refer you to this community to more details.
kelchm
May 15, 2021, 10:04pm
#8
FYI – you can set configurations via Home Assistant directly when using Z-Wave JS. Just navigate the device within Home Assistant and click the ‘Configure Device’ button.
For lzw30, it looks like under zwaveJS to mqtt protection settings are all unknown.
for lzw31 they are fine.
You can still use the zwave_js.set_value
service to force the value. According to the zwavejs driver devs this is a firmware issue that causes the values to bit shift.
nmsousa
August 28, 2021, 5:40pm
#11
Yes, I am aware of that and that works , but it would be great to have it in the UI like the lzw31-sn and lzw36. I have opened a ticket with Homeassiatnt core and zwavejs2mqtt, but they are suggesting that this is something that needs toi be fixed inovelli.
Yes the zwavejs dev told me the value’s are bit shifted and that has to be resolved in the firmware.
Bry
August 28, 2021, 11:13pm
#13
I have no idea how the firmware is coded, nor do I know if any of it is bit shifted. But when you write low-level code, bit shifting is used as a means of efficiency to reduce the load on the processor, usually related to calculations.
So if there is bit shifting going on, my guess would be that it is intentional and is not going to be something that would be “resolved”. Of course, only the manufacturer can really answer that.
If the zwavejs dev realizes that a value is bit shifted, he ought to be able to un-bit shift it (my term) to derive the value he or she is seeking. It could be more complicated than that, of course. Just a thought.
1 Like
I’m from the zwavejs project. We do not, as a rule, include one-off device quirks like that to overcome device bugs. That’s part of what led to OZW’s inflated and confusing codebase. We aim to be a standard compliant driver.
I reported this via message to @EricM_Inovelli . The issue isn’t that there is a bit shift. They have an extra zero in their bit mask that encodes the supported protection modes, leading to incorrect values. The zwave spec defines the values so I really don’t think this was intentional.
opened 04:15PM - 27 Aug 21 UTC
cannot fix ❌
### Is your problem within Home Assistant (Core or Z-Wave JS Integration)?
YES,… BUT a Home Assistant developer has told me to come here
### Is your problem within ZWaveJS2MQTT?
NO, my problem is NOT within ZWaveJS2MQTT
### Checklist
- [X] I have checked the [troubleshooting section](https://zwave-js.github.io/node-zwave-js/#/troubleshooting/index) and my problem is **not** described there.
- [X] I have read the [changelog](https://github.com/zwave-js/node-zwave-js/blob/master/CHANGELOG.md) and my problem was **not** mentioned there.
### Describe the bug
Unable to change the local protection settings for LZW30-SN (all other Models of Inovelli seem to be fine). All values are showing up as unknown and are unable to be defined. The below Screenshot is from zwavejs2mqtt only because Config settings in zwavejs do not illustrate it. That said, teh results are exactly the same in zwaveJS
![image](https://user-images.githubusercontent.com/65356035/131155639-a933dbf8-7347-4e3a-b74c-a31902d1a3aa.png)
Based on a thread with the hass core team (https://github.com/home-assistant/core/issues/55305), the values I should be expecting are 0x0,0x1 and 0x2 and as you can see from the screenshot or the below logs at the end of thread that I pulled out of the zwavejs addon, i am getting 0x08, 0x09, 0x0a.
Another thing to note is that I went back to openzwave to see if the issue was present there and it was not. So i don't believe this is a device issue.
![image](https://user-images.githubusercontent.com/65356035/131156421-df33ace6-7746-4d3d-b7bc-f3319131b16c.png)
Other things to note, this this behavior is also exhibited in LZW31-SN, but not in LZW36.
[Logs]
2021-08-27T15:49:42.809Z SERIAL » 0x0109001311025b0125931a (11 bytes)
2021-08-27T15:49:42.809Z DRIVER » [Node 017] [REQ] [SendData]
│ transmit options: 0x25
│ callback id: 147
└─[CentralSceneCCSupportedGet]
2021-08-27T15:49:42.813Z SERIAL « [ACK] (0x06)
2021-08-27T15:49:42.816Z SERIAL « 0x0104011301e8 (6 bytes)
2021-08-27T15:49:42.816Z SERIAL » [ACK] (0x06)
2021-08-27T15:49:42.817Z DRIVER « [RES] [SendData]
was sent: true
2021-08-27T15:49:42.831Z SERIAL « 0x0105001393007a (7 bytes)
2021-08-27T15:49:42.832Z SERIAL » [ACK] (0x06)
2021-08-27T15:49:42.832Z DRIVER « [REQ] [SendData]
callback id: 147
transmit status: OK
2021-08-27T15:49:52.839Z CNTRLR [Node 017] Timed out while waiting for a response from the node
2021-08-27T15:49:52.840Z CNTRLR [Node 017] Querying supported scenes timed out, skipping interview...
2021-08-27T15:49:52.844Z CNTRLR [Node 017] Interviewing Protection...
2021-08-27T15:49:52.844Z CNTRLR » [Node 017] querying protection capabilities...
2021-08-27T15:49:52.851Z SERIAL » 0x0109001311027504259436 (11 bytes)
2021-08-27T15:49:52.852Z DRIVER » [Node 017] [REQ] [SendData]
│ transmit options: 0x25
│ callback id: 148
└─[ProtectionCCSupportedGet]
2021-08-27T15:49:52.880Z SERIAL « [ACK] (0x06)
2021-08-27T15:49:52.882Z SERIAL « 0x0104011301e8 (6 bytes)
2021-08-27T15:49:52.883Z SERIAL » [ACK] (0x06)
2021-08-27T15:49:52.884Z DRIVER « [RES] [SendData]
was sent: true
2021-08-27T15:49:52.899Z SERIAL « 0x0105001394007d (7 bytes)
2021-08-27T15:49:52.899Z SERIAL » [ACK] (0x06)
2021-08-27T15:49:52.900Z DRIVER « [REQ] [SendData]
callback id: 148
transmit status: OK
2021-08-27T15:49:52.914Z SERIAL « 0x010d00040011077505000007000790 (15 bytes)
2021-08-27T15:49:52.916Z CNTRLR [Node 017] [+] [Protection] supportsExclusiveControl: [Endpoint 0] [internal]
false
2021-08-27T15:49:52.917Z CNTRLR [Node 017] [+] [Protection] supportsTimeout: false [Endpoint 0] [internal]
2021-08-27T15:49:52.917Z CNTRLR [Node 017] [+] [Protection] supportedLocalStates: 8,9, [Endpoint 0] [internal]
10
2021-08-27T15:49:52.918Z CNTRLR [Node 017] [+] [Protection] supportedRFStates: 8,9,10 [Endpoint 0] [internal]
2021-08-27T15:49:52.918Z CNTRLR [Node 017] [Protection] local: metadata updated [Endpoint 0]
2021-08-27T15:49:52.919Z CNTRLR [Node 017] [Protection] rf: metadata updated [Endpoint 0]
2021-08-27T15:49:52.920Z SERIAL » [ACK] (0x06)
2021-08-27T15:49:52.922Z DRIVER « [Node 017] [REQ] [ApplicationCommand]
└─[ProtectionCCSupportedReport]
supports exclusive control: false
supports timeout: false
local protection states:
· unknown (0x08)
· unknown (0x09)
· unknown (0x0a)
RF protection states:
· unknown (0x08)
· unknown (0x09)
· unknown (0x0a)
2021-08-27T15:49:52.925Z CNTRLR « [Node 017] received protection capabilities:
exclusive control: false
timeout: false
local protection states:
· unknown (0x08)
· unknown (0x09)
· unknown (0x0a)
RF protection states:
· unknown (0x08)
· unknown (0x09)
· unknown (0x0a)
2021-08-27T15:49:52.926Z CNTRLR » [Node 017] querying protection status...
2021-08-27T15:49:52.933Z SERIAL » 0x0109001311027502259531 (11 bytes)
2021-08-27T15:49:52.934Z DRIVER » [Node 017] [REQ] [SendData]
│ transmit options: 0x25
│ callback id: 149
└─[ProtectionCCGet]
2021-08-27T15:49:52.937Z SERIAL « [ACK] (0x06)
2021-08-27T15:49:52.940Z SERIAL « 0x0104011301e8 (6 bytes)
2021-08-27T15:49:52.941Z SERIAL » [ACK] (0x06)
2021-08-27T15:49:52.942Z DRIVER « [RES] [SendData]
was sent: true
2021-08-27T15:49:52.956Z SERIAL « 0x0105001395007c (7 bytes)
2021-08-27T15:49:52.956Z SERIAL » [ACK] (0x06)
2021-08-27T15:49:52.957Z DRIVER « [REQ] [SendData]
callback id: 149
transmit status: OK
2021-08-27T15:49:52.973Z SERIAL « 0x010a00040011047503000092 (12 bytes)
2021-08-27T15:49:52.974Z CNTRLR [Node 017] [+] [Protection] local: 0 [Endpoint 0]
2021-08-27T15:49:52.974Z CNTRLR [Node 017] [+] [Protection] rf: 0 [Endpoint 0]
2021-08-27T15:49:52.975Z SERIAL » [ACK] (0x06)
2021-08-27T15:49:52.976Z DRIVER « [Node 017] [REQ] [ApplicationCommand]
└─[ProtectionCCReport]
local: Unprotected
rf: Unprotected
2021-08-27T15:49:52.978Z CNTRLR « [Node 017] received protection status:
local: Unprotected
rf Unprotected
2021-08-27T15:49:52.978Z CNTRLR [Node 017] [+] [Protection] interviewComplete: true [Endpoint 0] [internal]
2021-08-27T15:49:52.979Z CNTRLR [Node 017] Interview stage completed: CommandClasses
2021-08-27T15:49:52.980Z CNTRLR [Node 017] Interview stage completed: OverwriteConfig
2021-08-27T15:49:52.980Z CNTRLR [Node 017] Interview completed
2021-08-27T15:49:52.981Z CNTRLR [Node 017] The node is ready to be used
### Device information
Manufacturer: Inovelli
Model name: lzw30-sn
Node ID in your network: 17
### How are you using `node-zwave-js`?
- [ ] `zwavejs2mqtt` Docker image (latest)
- [ ] `zwavejs2mqtt` Docker image (dev)
- [ ] `zwavejs2mqtt` Docker manually built _(please specify branches)_
- [ ] `ioBroker.zwave2` adapter _(please specify version)_
- [X] `HomeAssistant zwave_js` integration _(please specify version)_
- [ ] `pkg`
- [ ] `node-red-contrib-zwave-js` _(please specify version, double click node to find out)_
- [ ] Manually built from GitHub _(please specify branch)_
- [ ] Other _(please describe)_
### Which branches or versions?
version:
`node-zwave-js` branch: 0.1.37
`zwavejs2mqtt` branch:
### Did you change anything?
no
### If yes, what did you change?
This has been the behavior ever since i migrated to zwavejs from openzwave. This has also been validated on various hass setups. (production and clean new install
### Did this work before?
No, it never worked anywhere
### If yes, where did it work?
As satted aboved, never worked in zwaveJS or zwavejs2mqtt but did work fine on open zwave
### Attach Driver Logfile
[zwave_js (1).log](https://github.com/zwave-js/node-zwave-js/files/7068289/zwave_js.1.log)
1 Like
This is an issue that has been reported to our manufacturer. I’m not sure on when a fix will be released, but it’s been confirmed an issue on our end.
2 Likes
Thanks for confirming, Eric!
1 Like
We will try to get this issue resolved with the manufacturer. So, as a workaround the settings needs to be manually set via this method:
LZW30-SN How to disable relay without SmartThings - Switches / General Discussion - Inovelli Community
Also, you can 8x the config button to enable / disable the setting.
1 Like