[SOLVED] New iblind and zwaveJScontroller/MSR not communicating
-
Look at the file called
647.yaml
inext/ZWaveJSController/manufacturer
and check the version. It should be 23093. And yourext/ZWaveJSController/zwave_devices.yaml
file should be version 23194.If these numbers don't match up, update your ZWaveJSController.
Download: https://reactor.toggledbits.com/download/extras/ZWaveJSController/
-
Also, did you restart Reactor after adding the node?
-
Also, did you restart Reactor after adding the node?
@toggledbits Answering in reverse order: yes on restart of MSR (multiple times). Also reloaded the HA ZWaveJS plugin as well as restarted HA as a whole.
The the first ask:
647.yaml
manufacturer_id: 647 manufacturer_name: "HAB Home Intelligence, LLC" version: 23093 revision: 1 format: 1
and I do not have a
ext/ZWaveJSController/zwave_devices.yaml
but do have aext/ZWaveJSController/zwavejs_devices.yaml
and it showsversion: 23052 revision: 1 format: 1
Looking in my files I see the latest version was 23093 so I'm grabbing 23094 from your repo and installing now.
-
Looks like your Hass devices aren't actually faring much better... nulls there too for some values, and that's a straight pass from Hass itself, not likely something MSR is doing (or not doing).
Something off about this device. I'm going to PM you instructions to upload a data file from your system.
-
@toggledbits Answering in reverse order: yes on restart of MSR (multiple times). Also reloaded the HA ZWaveJS plugin as well as restarted HA as a whole.
The the first ask:
647.yaml
manufacturer_id: 647 manufacturer_name: "HAB Home Intelligence, LLC" version: 23093 revision: 1 format: 1
and I do not have a
ext/ZWaveJSController/zwave_devices.yaml
but do have aext/ZWaveJSController/zwavejs_devices.yaml
and it showsversion: 23052 revision: 1 format: 1
Looking in my files I see the latest version was 23093 so I'm grabbing 23094 from your repo and installing now.
@toggledbits Ok, release deployed.
ext/ZWaveJSController/zwavejs_devices.yaml
now showsversion: 23194 revision: 1 format: 1
647.yaml
still showsmanufacturer_id: 647 manufacturer_name: "HAB Home Intelligence, LLC" version: 23093 revision: 1 format: 1
Node attributes:
battery_power.since=1694192043559 cover.state=null position.value=null x_debug.dt={"entity_class":"Cover","match":"deviceClass.generic.key=17;deviceClass.specific.key=7","capabilities":["cover","toggle","position"],"primary_attribute":"cover.state","description":"Window Blind Controller","model":"iblinds V3","default_name":"Window Blind Controller","values":[{"valueId":"38:currentValue:","capabilities":{"cover":{"attributes":{"state":{"expr":"!(value == 0 || value >= 99)"}},"actions":{"open":{"valueId":"38:targetValue:","value":50},"close":{"valueId":"38:targetValue:","value":99},"stop":false}},"position":{"attributes":{"value":{"expr":"round( value / 99, 2 )"}},"actions":{"set":{"valueId":"38:targetValue","value":{"expr":"max( 0, min( 99, round( 100 * ( parameters.value ?# 0 ), 0 ) ) )"}},"increase":{"valueId":"38:targetValue","value":{"expr":"max( 0, min( 99, round( 100 * ( ( entity.attributes.position?.value ?# 0 ) + ( parameters.amount ?# 0.10 ) ), 0 ) ) )"}},"decrease":{"valueId":"38:targetValue","value":{"expr":"max( 0, min( 99, round( 100 * ( ( entity.attributes.position?.value ?# 0 ) - ( parameters.amount ?# 0.10 ) ), 0 ) ) )"}},"relative":{"valueId":"38:targetValue","value":{"expr":"max( 0, min( 99, round( 100 * ( ( entity.attributes.position?.value ?# 0 ) + ( parameters.amount ?# 0.10 ) ), 0 ) ) )"}}}},"toggle":{"actions":{"toggle":{"valueId":"38:targetValue:","value":{"expr":"entity.attributes.cover.state ? 99 : 50"}}}}}}],"manufacturerId":647,"productType":4,"productId":113} x_zwave_values.Battery_isLow=false x_zwave_values.Battery_level=100 x_zwave_values.Configuration_Close_Interval=15 x_zwave_values.Configuration_Default_ON_Value=50 x_zwave_values.Configuration_MC=1 x_zwave_values.Configuration_Maximum_Tilt_Level=99 x_zwave_values.Configuration_Minimum_Tilt_Level=0 x_zwave_values.Configuration_Movement_Duration=0 x_zwave_values.Configuration_Override_Response_to_ON_Command=null x_zwave_values.Configuration_Remote_Calibration=1 x_zwave_values.Configuration_Reset_Button=0 x_zwave_values.Configuration_Reverse_Direction=1 x_zwave_values.Configuration_Send_Reports=0 x_zwave_values.Indicator_Node_Identify_3=0 x_zwave_values.Indicator_Node_Identify_4=0 x_zwave_values.Indicator_Node_Identify_5=0 x_zwave_values.Indicator_identify=true x_zwave_values.Indicator_timeout=null x_zwave_values.Indicator_value=null x_zwave_values.Manufacturer_Specific_manufacturerId=647 x_zwave_values.Manufacturer_Specific_productId=114 x_zwave_values.Manufacturer_Specific_productType=4 x_zwave_values.Version_applicationBuildNumber=43707 x_zwave_values.Version_applicationFrameworkAPIVersion="3.12.1" x_zwave_values.Version_applicationFrameworkBuildNumber=35 x_zwave_values.Version_applicationVersion="3.12.1" x_zwave_values.Version_firmwareVersions=["3.12"] x_zwave_values.Version_hardwareVersion=2 x_zwave_values.Version_hostInterfaceBuildNumber=0 x_zwave_values.Version_hostInterfaceVersion="unused" x_zwave_values.Version_libraryType=3 x_zwave_values.Version_protocolVersion="7.12" x_zwave_values.Version_sdkVersion="7.12.2" x_zwave_values.Version_zWaveProtocolBuildNumber=35 x_zwave_values.Version_zWaveProtocolVersion="7.12.2" x_zwave_values.Window_Covering_currentValue_23=0 x_zwave_values.Window_Covering_duration_23={"value":0,"unit":"seconds"} x_zwave_values.Window_Covering_levelChangeDown_23=false x_zwave_values.Window_Covering_levelChangeUp_23=true x_zwave_values.Window_Covering_targetValue_23=0 zwave_device.capabilities=[106,112,114,128,134,135] zwave_device.endpoint=0 zwave_device.failed=false zwave_device.generic_class="Multilevel Switch" zwave_device.impl_sig="23194:1:23093:1" zwave_device.is_beaming=false zwave_device.is_listening=false zwave_device.is_routing=true zwave_device.is_secure=false zwave_device.manufacturer_info=[647,4,114] zwave_device.max_data_rate=null zwave_device.node_id=20 zwave_device.specific_class="Motor Control Class C" zwave_device.status=4 zwave_device.status_text="alive" zwave_device.version_info=[null,"3.12.1"]
(Did a manual restart via
Tools
>Restart
after the deploy as well. -
Yeah, this device is off. It's reporting
Multilevel Switch
for its generic class, andMotor Control Class C
as the more specific, and usually this device class reports command class 38, Multilevel Switch. That's how your other iBlinds units that identify the same way (same 647 manufacturer ID, product type 4, product ID 114) work. But this particular unit does not appear to be advertising command class 38 Multilevel Switch, and is instead reporting command class 106 Window Covering, which is relatively new.Once you upload the data I PM'd you about, I'll be curious to see how the reporting firmware compares. But this new unit is definitely working differently from everything else you have, and it doesn't look like HA actually likes it any better -- I think that's why it's reporting the slats angle in HA as
null
; I bet it shows the same in their dashboard.I'll know more/confirm once I see you data. Probably won't get to that until Sunday or Monday at this point, though.
-
Yeah, this device is off. It's reporting
Multilevel Switch
for its generic class, andMotor Control Class C
as the more specific, and usually this device class reports command class 38, Multilevel Switch. That's how your other iBlinds units that identify the same way (same 647 manufacturer ID, product type 4, product ID 114) work. But this particular unit does not appear to be advertising command class 38 Multilevel Switch, and is instead reporting command class 106 Window Covering, which is relatively new.Once you upload the data I PM'd you about, I'll be curious to see how the reporting firmware compares. But this new unit is definitely working differently from everything else you have, and it doesn't look like HA actually likes it any better -- I think that's why it's reporting the slats angle in HA as
null
; I bet it shows the same in their dashboard.I'll know more/confirm once I see you data. Probably won't get to that until Sunday or Monday at this point, though.
@toggledbits file has been uploaded. This blind is in a guest room that's not in use currently - no rush.
Do you think excluding/including with HA/ZWjs would have any effect? Could something have gone sideways during pairing that a complete redo might clear?
-
ZWaveJSController version 23254 has been released. It should handle your oddball iBlinds unit. I'd love to know (not from you, from the manufacturer) what triggers the difference between reporting status in command class 38 versus command class 106 -- only this most recent unit of yours reports/controls via 106; all of the others use 38. And there's no difference in reported model or firmware version. No obvious configuration parameter that might trigger such a difference (e.g. some others, like some Aeotec devices, can change the reporting CC based on a config parameter). Just goes to show you that despite a fairly strict standard and specification, manufacturers can continue to make subtle choices that create headaches.
-
ZWaveJSController version 23254 has been released. It should handle your oddball iBlinds unit. I'd love to know (not from you, from the manufacturer) what triggers the difference between reporting status in command class 38 versus command class 106 -- only this most recent unit of yours reports/controls via 106; all of the others use 38. And there's no difference in reported model or firmware version. No obvious configuration parameter that might trigger such a difference (e.g. some others, like some Aeotec devices, can change the reporting CC based on a config parameter). Just goes to show you that despite a fairly strict standard and specification, manufacturers can continue to make subtle choices that create headaches.
@toggledbits this was deployed and tests as working. Really appreciate it - I bought two new units and have held off installing the second until it was determined not to be a firmware problem (broken vs them just randomly changing something).
Thank you!
-
ZWaveJSController version 23254 has been released. It should handle your oddball iBlinds unit. I'd love to know (not from you, from the manufacturer) what triggers the difference between reporting status in command class 38 versus command class 106 -- only this most recent unit of yours reports/controls via 106; all of the others use 38. And there's no difference in reported model or firmware version. No obvious configuration parameter that might trigger such a difference (e.g. some others, like some Aeotec devices, can change the reporting CC based on a config parameter). Just goes to show you that despite a fairly strict standard and specification, manufacturers can continue to make subtle choices that create headaches.
@toggledbits I contacted iblinds Support. This was their response:
*We've had similar reports. I believe it is related to a recent update with Home Assistant supporting the Z-Wave Window Covering Command Class now. So when you add your new devices they are seen with the new command class. I would imagine if you excluded and included one of the older motors they would now be Window Covering devices as opposed to multi-level switches.
We initially worked with the ZWaveJS developer when they added the Window Covering CC Support. But unfortunately, our HA in our lab is no longer working so we have been unable to test locally.
We have been waiting to get a replacement RPi so hopefully we can do some testing on our end soon.
I hope this helps.
Best Regards,
Eric B.
The iblinds Team*Further, I just discovered if I do a
reinterview
on an existing blind via ZWaveJS in HA it switches to this new Window Covering mode. -
@toggledbits I contacted iblinds Support. This was their response:
*We've had similar reports. I believe it is related to a recent update with Home Assistant supporting the Z-Wave Window Covering Command Class now. So when you add your new devices they are seen with the new command class. I would imagine if you excluded and included one of the older motors they would now be Window Covering devices as opposed to multi-level switches.
We initially worked with the ZWaveJS developer when they added the Window Covering CC Support. But unfortunately, our HA in our lab is no longer working so we have been unable to test locally.
We have been waiting to get a replacement RPi so hopefully we can do some testing on our end soon.
I hope this helps.
Best Regards,
Eric B.
The iblinds Team*Further, I just discovered if I do a
reinterview
on an existing blind via ZWaveJS in HA it switches to this new Window Covering mode.@gwp1 said in [SOLVED] New iblind and zwaveJScontroller/MSR not communicating:
Further, I just discovered if I do a
reinterview
on an existing blind via ZWaveJS in HA it switches to this new Window Covering mode.For what it's worth, I have both v2 and v3.1 iBlinds in my home. Reinterviewing only changes the type from multilevel switches to window covering on v3.1 blinds. Version 2 blinds remain multilevel switches after reinterviewing.
The Window Covering class is supposedly better. The MLS class is designed for rolling blinds, so on/off will have the bllinds all the way open, or all the way off. With horizonal blinds, the 0/100 values are just 180 degree opposites of a closed blind. With Window Covering class, I believe there are values to tell the Z-Wave system what type of blind it is, and specify what is open versus closed. I dealt with iBlinds support maybe 4 or 5 months ago, and at the time, no Z-Wave system supported Window Covering. Zwave JS implemented the change shortly thereafter.
-
@gwp1 said in [SOLVED] New iblind and zwaveJScontroller/MSR not communicating:
Further, I just discovered if I do a
reinterview
on an existing blind via ZWaveJS in HA it switches to this new Window Covering mode.For what it's worth, I have both v2 and v3.1 iBlinds in my home. Reinterviewing only changes the type from multilevel switches to window covering on v3.1 blinds. Version 2 blinds remain multilevel switches after reinterviewing.
The Window Covering class is supposedly better. The MLS class is designed for rolling blinds, so on/off will have the bllinds all the way open, or all the way off. With horizonal blinds, the 0/100 values are just 180 degree opposites of a closed blind. With Window Covering class, I believe there are values to tell the Z-Wave system what type of blind it is, and specify what is open versus closed. I dealt with iBlinds support maybe 4 or 5 months ago, and at the time, no Z-Wave system supported Window Covering. Zwave JS implemented the change shortly thereafter.
@tamorgen I'm poking at it now. It seems for the iblinds I can now use
cover.close
and the[0] NO (default)
setting for direction vs having it set to[1] YES
to make it tilt the way I want it to when closed.I was using
power_switch.off
previously to close my v3.1's. -
@gwp1 said in [SOLVED] New iblind and zwaveJScontroller/MSR not communicating:
Further, I just discovered if I do a
reinterview
on an existing blind via ZWaveJS in HA it switches to this new Window Covering mode.For what it's worth, I have both v2 and v3.1 iBlinds in my home. Reinterviewing only changes the type from multilevel switches to window covering on v3.1 blinds. Version 2 blinds remain multilevel switches after reinterviewing.
The Window Covering class is supposedly better. The MLS class is designed for rolling blinds, so on/off will have the bllinds all the way open, or all the way off. With horizonal blinds, the 0/100 values are just 180 degree opposites of a closed blind. With Window Covering class, I believe there are values to tell the Z-Wave system what type of blind it is, and specify what is open versus closed. I dealt with iBlinds support maybe 4 or 5 months ago, and at the time, no Z-Wave system supported Window Covering. Zwave JS implemented the change shortly thereafter.
UPDATE: after many lost hours last night/this morning (hello, 0230 ET, looking at you) I found
cover.x
andpower_switch.x
to be woefully unreliable after reinterviewing the blinds.What has proven reliable is
position.set
for which I use0
forclosed
,50
foropen
and have the blinds (as they were previously) set to[1] YES
forReverse Direction
. -
I've been using the ID hass>cover_blind_horizontal_slats_angle and x_hass_cover.open_cover_tilt or x_haas_cover.close_cover_tilt and it works flawlessly for open and close. If I want to set the position for partial close when the sun is glarring into the room, I use x_hass_cover.set_cover_tilt_position with the same ID, and set the tilt_position to whatever I want to reduce the glare.
My only problem now is that I use mushroom for my dashboard in Home Assistant, and the templates for covers hasn't caught up with the new Window Covering class. It makes adjusting the blinds more problematic from HA.
-
UPDATE: after many lost hours last night/this morning (hello, 0230 ET, looking at you) I found
cover.x
andpower_switch.x
to be woefully unreliable after reinterviewing the blinds.What has proven reliable is
position.set
for which I use0
forclosed
,50
foropen
and have the blinds (as they were previously) set to[1] YES
forReverse Direction
.@gwp1 said in [SOLVED] New iblind and zwaveJScontroller/MSR not communicating:
UPDATE: after many lost hours last night/this morning (hello, 0230 ET, looking at you) I found cover.x and power_switch.x to be woefully unreliable after reinterviewing the blinds.
Can you please be more descriptive here? I don't have these devices, so I can't test them, but that doesn't mean I'm not interested in getting them working reliably. But the description given isn't enough for me to do any troubleshooting at all.
-
@gwp1 said in [SOLVED] New iblind and zwaveJScontroller/MSR not communicating:
UPDATE: after many lost hours last night/this morning (hello, 0230 ET, looking at you) I found cover.x and power_switch.x to be woefully unreliable after reinterviewing the blinds.
Can you please be more descriptive here? I don't have these devices, so I can't test them, but that doesn't mean I'm not interested in getting them working reliably. But the description given isn't enough for me to do any troubleshooting at all.
@toggledbits of course, no problem! I cannot seem to upload images into this response. I've uploaded to your Dropbox shared folder a pair of images.
Using the iblind I sent you logs and such for previously as the example, I have a blind called
Beach Blind
(two guest rooms, one is named Ocean, the other Beach). I use the commands from the IDBeach Blind
fromzwavejs
. As @tamorgen notes, there is also a new one (with the changes HA made) from my HASS controller calledBeach Blind Horizontal Slates Angle
which has a few less commands including those mentioned starting withx_hass_*
.I use the ZwaveJSController commands.
cover.open
cover.close
power_switch.on
power_switch.off
position.set
zwave_device.refresh
zwave_device.set_config
These are the ones I most commonly use to open, close, and tilt the blinds.
refresh
is used to force HA to update dasheboards with any changes andset_config
I use less often, weekly, to recalibrate the blinds as they do wander sometimes and "open" becomes "open-ish".I'd been using
power_switch.on
to open andcover.close
to close. The blinds have been happiest that way. With these new changes from HA, these commands have become hit/miss. In the HA ZWaveJS plugin the status would reflect0/closed
but the blind was clearly wide open.Last night/this morning I opted to use
position.set
and it's been pretty solid from what I've seen throughout the day.
position.set
=0
nets me a closed blind,position.set
=.5
nets me a wide open/"slates level with the ground" blind. I usedposition.set
=.2
or.3
to tilt the sun away during specific dayparts based on sun azimuth.I did not grab MSR logs during those tests - apologies, it was 0200 ET and I just wanted the blinds closed for the night. I have amassed 13 of these iblinds over the past couple years.
If you wish, I'll set some time tonight or tomorrow night and generate some MSR logs.
-
@toggledbits of course, no problem! I cannot seem to upload images into this response. I've uploaded to your Dropbox shared folder a pair of images.
Using the iblind I sent you logs and such for previously as the example, I have a blind called
Beach Blind
(two guest rooms, one is named Ocean, the other Beach). I use the commands from the IDBeach Blind
fromzwavejs
. As @tamorgen notes, there is also a new one (with the changes HA made) from my HASS controller calledBeach Blind Horizontal Slates Angle
which has a few less commands including those mentioned starting withx_hass_*
.I use the ZwaveJSController commands.
cover.open
cover.close
power_switch.on
power_switch.off
position.set
zwave_device.refresh
zwave_device.set_config
These are the ones I most commonly use to open, close, and tilt the blinds.
refresh
is used to force HA to update dasheboards with any changes andset_config
I use less often, weekly, to recalibrate the blinds as they do wander sometimes and "open" becomes "open-ish".I'd been using
power_switch.on
to open andcover.close
to close. The blinds have been happiest that way. With these new changes from HA, these commands have become hit/miss. In the HA ZWaveJS plugin the status would reflect0/closed
but the blind was clearly wide open.Last night/this morning I opted to use
position.set
and it's been pretty solid from what I've seen throughout the day.
position.set
=0
nets me a closed blind,position.set
=.5
nets me a wide open/"slates level with the ground" blind. I usedposition.set
=.2
or.3
to tilt the sun away during specific dayparts based on sun azimuth.I did not grab MSR logs during those tests - apologies, it was 0200 ET and I just wanted the blinds closed for the night. I have amassed 13 of these iblinds over the past couple years.
If you wish, I'll set some time tonight or tomorrow night and generate some MSR logs.
@gwp1 said in [SOLVED] New iblind and zwaveJScontroller/MSR not communicating:
With these new changes from HA, these commands have become hit/miss.
To be precise, it's not so much a change from HA, but from ZWaveJS. They're recognizing a new command class that the developers at iBlinds actually recommend.
I don't believe the old power switch commands work with the new command class. When I go into a specific device in ZwaveJS, the switch type devices are greyed out.
if you go into the switch, it shows it as unavailable.
I would guess the power on/off cover.close / cover.open are remnants and probably need to be removed.
-
@gwp1 said in [SOLVED] New iblind and zwaveJScontroller/MSR not communicating:
With these new changes from HA, these commands have become hit/miss.
To be precise, it's not so much a change from HA, but from ZWaveJS. They're recognizing a new command class that the developers at iBlinds actually recommend.
I don't believe the old power switch commands work with the new command class. When I go into a specific device in ZwaveJS, the switch type devices are greyed out.
if you go into the switch, it shows it as unavailable.
I would guess the power on/off cover.close / cover.open are remnants and probably need to be removed.
@tamorgen said in [SOLVED] New iblind and zwaveJScontroller/MSR not communicating:
I don't believe the old power switch commands work with the new command class. When I go into a specific device in ZwaveJS, the switch type devices are greyed out.
I noticed this as well. I've also noticed that tapping into the dialogue you're showing (how did you copy/paste images, I keep getting a
parsing server error
...) nets a slider in HA that does nothing. It literally saysUNKNOWN
at the top where a percentage would be display of openness or closure. -
@tamorgen said in [SOLVED] New iblind and zwaveJScontroller/MSR not communicating:
I don't believe the old power switch commands work with the new command class. When I go into a specific device in ZwaveJS, the switch type devices are greyed out.
I noticed this as well. I've also noticed that tapping into the dialogue you're showing (how did you copy/paste images, I keep getting a
parsing server error
...) nets a slider in HA that does nothing. It literally saysUNKNOWN
at the top where a percentage would be display of openness or closure.@gwp1
It seems to me that something may be missing from this command class integration. I know iBlinds was working with the ZWaveJS developers. I'm curious is this is what they expected.When I look at the entities in MSR, there are a lot of entries that have null or unknown. I'm not sure if this is coming from MSR expecting entries in a specific command class or if ZWaveJs is providing it to MSR that way.
Of all the actions in that window, the cover.xxx don't seem to work for me. The only ones that seem to work are:
x_hass_cover.close_cover_tilt
x_hass_cover.open_cover_tilt
x_hass_cover.set_cover_tilt_positionOthers may work, but these are the one's I know specifically work and from an automation perspective meet my needs.
-
@gwp1
It seems to me that something may be missing from this command class integration. I know iBlinds was working with the ZWaveJS developers. I'm curious is this is what they expected.When I look at the entities in MSR, there are a lot of entries that have null or unknown. I'm not sure if this is coming from MSR expecting entries in a specific command class or if ZWaveJs is providing it to MSR that way.
Of all the actions in that window, the cover.xxx don't seem to work for me. The only ones that seem to work are:
x_hass_cover.close_cover_tilt
x_hass_cover.open_cover_tilt
x_hass_cover.set_cover_tilt_positionOthers may work, but these are the one's I know specifically work and from an automation perspective meet my needs.