home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
71.63k stars 29.93k forks source link

zwave_js: rgbw devices not discovered correctly when using web socket #47888

Closed legomind closed 3 years ago

legomind commented 3 years ago

The problem

I have multiple fibaro rgbw (v1) devices on my network. zwavejs detects them properly, however home assistant only recognizes a monochrome light entity for each channel, and does not create an entity that allows for choosing colors.

Issue is described here: https://github.com/zwave-js/zwavejs2mqtt/issues/351

What is version of Home Assistant Core has the issue?

core-2021.3.1

What was the last working version of Home Assistant Core?

core-2021.1.1

What type of installation are you running?

Home Assistant Container

Integration causing the issue

zwave_js

Link to integration documentation on our website

https://www.home-assistant.io/integrations/zwave_js/

Example YAML snippet

# Put your YAML below this line

Anything in the logs that might be useful for us?

# Put your logs below this line
kpine commented 3 years ago

There are 5 or 6 light entities for this device. Did you look at all of them? Feel free to post a network dump.

omayhemo commented 3 years ago

Forgive me, I have just noticed that a new (6th) entity has been added, it does have the picker. I will test it's effect when I am home. Thanks

piluxh commented 3 years ago

I have a 6th entry with "supported_color_modes: rgbw", but it does not have a color picker. Attached Node_36_interview.log the network dump of the interview.

kpine commented 3 years ago

That is not a network dump.

Did you turn on the light? I don't believe the color picker is displayed unless the light is actually turned on.

piluxh commented 3 years ago

Yes, sorry about that. I realized that the minute after I posted it. And you are right, the color picker does appear when I turn on the light.

krizzziz commented 3 years ago

I can confirm that with zwave.js 8.0.5 this issue is fixed. After turning on lamp the color picker is there. I did not even have to reinterview node.

skywalker-750 commented 3 years ago

Maybe i did something wrong. update ZWAVEJS to 8.0.5 but get no color picker, also re-interview the nodes 2021-07-27 09_38_24-Window

also 1 of the entities are not available (grayed out) think that is also the problem

Update: after I deleted the device and added it again to ZWAVEJS I got 6 entitys en the 6th entity is only grayed out when the lights are turned on. I dont know what I am doing wrong dont find a color picker when the lights are on. perhaps somebody knows what I am doing wrong?

krizzziz commented 3 years ago

When I activated the light, the colorpicker became available. Before activating there is. I colorpicker. And yes, I think you have another issue with this light because it is greyed out.

Extreme79 commented 3 years ago

I had the exactly same issue on that entity. Check in the dev tools and u see that the state is unavailable with this attributes.

restored: false
supported_color_modes:
  - rgbw
friendly_name: RGBW Controller
supported_features: 32

After try&retry it started to works.. only when I manually forced the state to on and toggled the attribute "restored" via dev tools. Now it partially works for me, because it works but if I change the light with another controller (aeotec zstick on home assistant it's a secondary controller) then the home assistant entity does not change.. and additionally the colors and the white (RGBw stripe) does not work as expected ( I don't understand if it's a ha issue or Zwavejs issue).

kpine commented 3 years ago

I change the light with another controller (aeotec zstick on home assistant it's a secondary controller)

You seem to have a non-standard setup, which might be contributing to your problem. Can you clarify what your setup is? It's a bit confusing, are you using two z-wave controllers and do you have two instances of HA? Or does one instance of HA manage both controllers? What software is running the primary controller (zwave-js I presume?) and what software is running the secondary controller (zwave-js does not support this)?

What is your use case for the secondary controller?

Extreme79 commented 3 years ago

I have a commercial primary controller (zipato zipabox), so fully z-wave compliant (z-wave+). Searching to gradually migrate to another solution, I installed HA on a rpi4: HA supervised, installed on docker. After a while I bought an aeotec zstick gen5+ , I included it as a secondary controller in my existing Network using sigma software (to put the aetoec zstick in learn mode), so I can control my devices with my primary controller or zstick (and this protect me about zipato cloud outages, as already happened). I installed it in the rpi with the z-wave JS integration (never used the deprecated ozw).

It's a perfectly standard installation, zwave admit multiple controllers in the same network, but only one SIS/SUC.. but there are no other differces between controllers except this. So it generally works as expected except on this fibaro Rgbw controller that caused me to fall in the deepest hell round 😬 and other minor issues (sometimes the device status do not update).

At this time I want to run the controller in parallel as explained, replicating all the automation I actually have on primary and more, but I'm pointing to totally migrate in the next months, when I'll be confident. I hope my description clarify you the things. Feel free to ask of needed.

kpine commented 3 years ago

It's a perfectly standard installation, zwave admit multiple controllers in the same network, but only one SIS/SUC.. but there are no other differces between controllers except this.

@Extreme79 Except Z-Wave JS does not support controlling a secondary controller. It expects to control the primary controller which is also the SIS/SUC. While it sounds like you are having some success, you are using an unsupported configuration so there are likely to be issues with this approach and you may experience problems that others will not. Just something to keep in mind.

Regarding the missing device updates, devices use the Lifeline association group (usually Group 1, but not always) to send notifications to the primary controller. The lifeline group usually only supports a single association, so unless you have re-configured the lifeline of the devices to target the secondary controller (zwave-js), only the primary controller will see the updates (and if you do that, your primary controller will then not see the notifications...). Sometimes devices allow more than one node in the Lifeline group, if you have that option you can try and assign the secondary to it. But to repeat, since you are using an unsupported configuration there are likely to be more problems that are not understood even if you address the association issues.

For the RGBW 441 device in particular, it looks like Group 5 is the lifeline group, and only allows one node to be associated. You could try assigning the secondary controller to one of the other groups and see if that helps, but it seems like those only notify on/off state and nothing else. Besides that, you might need to setup an automation to poll the device properties manually, either periodically or when activated.

skywalker-750 commented 3 years ago

I think it is working now, but is was strange... I was checking the entity on my homekit and there was a color picker? After using that color picker it was also available within HA and the problem that the entity was grayed out is now gone.

derekcfoley commented 3 years ago

I'm having this problem with the latest version, no colour picker for the Fibaro RGBW light. Lots of separate entities (e.g. red, green, blue, white etc)