Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Z-wave not responsing after update of today ! #125843

Closed
Morgandax opened this issue Sep 12, 2024 · 84 comments · Fixed by zwave-js/node-zwave-js#7174 or home-assistant/addons#3764
Closed

Comments

@Morgandax
Copy link

The problem

Hello,
Following an update of zwave js, nothing works anymore because it notifies me that it cannot load the configuration.
This is the first time this has happened to me...! And I'm worried because quite a few zwave devices, am I the only one that this update has broken?
Thank you in advance for your feedback and help.
Morgan

What version of Home Assistant Core has the issue?

core-2024.9.1

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Zwave JS

Link to integration documentation on our website

No response

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

@Morgandax
Copy link
Author

2024-09-12 18:38:31.054 ERROR (MainThread) [homeassistant.components.zwave_js] Failed to set the Z-Wave JS add-on options: not a valid value for dictionary value @ data['options']. Got {'device': '/dev/serial/by-id/usb-0658_0200-if00', 's0_legacy_key': '', 's2_access_control_key': '', 's2_authenticated_key': '', 's2_unauthenticated_key': '', 'lr_s2_access_control_key': '', 'lr_s2_authenticated_key': ''}

@home-assistant
Copy link

Hey there @home-assistant/z-wave, mind taking a look at this issue as it has been labeled with an integration (zwave_js) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of zwave_js can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign zwave_js Removes the current integration label and assignees on the issue, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


zwave_js documentation
zwave_js source
(message by IssueLinks)

@jTd7bPLFb
Copy link

jTd7bPLFb commented Sep 12, 2024

same here.
after update, no z-wave devices work.
pinging them works, but all other stuff is no go.

update: after poweroff homeassistant, replug usb stick, boot homeassistant up
and re-interviewing each z-wave device, some of them (the ones without S2 connection security) seem to come back again

@mrochette01
Copy link

Same thing on my side, after the update only 2 devices work out of 40. I rebooted via the HA interface and also performed a cold reboot. It still doesn't work.

What's the solution?

@paul-aviles
Copy link

Same here, but disabling zwave, reconnecting the usb plug and restarting it did nothing.

@jTd7bPLFb
Copy link

Insecure connection seems to work.
S2 required devices (like Shlage Z-Wave Lock) does not work.
Securely connected devices do now work either, even after re-inverviewing.
I could re-connecte (exclude, include) the T6 Thermostat in insecure mode, but not in S2.

@mrochette01
Copy link

I have:
1- Stopped HA
2 - Removed the USB key
3 - Put the USB key back
4 - Restarted HA

Nothing works

@paul-aviles

This comment was marked as outdated.

@mrochette01

This comment was marked as outdated.

@paul-aviles

This comment was marked as outdated.

@mrochette01

This comment was marked as outdated.

@paul-aviles

This comment was marked as outdated.

@mrochette01

This comment was marked as outdated.

@paul-aviles

This comment was marked as outdated.

@bondelswag

This comment was marked as outdated.

@paul-aviles

This comment was marked as outdated.

@MartinHjelmare
Copy link
Member

Please report what add-on version caused the problem. Ie what did you update to?

@jTd7bPLFb
Copy link

latest version that was pushed today (12.09.2024)
Diagnostics
Driver version:
13.3.0
Server version:
1.38.0
Server URL:
ws://core-zwave-js:3000

@MartinHjelmare
Copy link
Member

I'd like to know exactly which version since there were two updates published during the same day.

@jTd7bPLFb
Copy link

How do we find out the version.
and yes, there were 2 updates.
I am on the 2nd one, think was .1 at the end, did not relally take note, as before I never had issues.

as I say, seems that anything that was bound with S2 does not work anymore ( smoke alarms, schlage zwave lock).
other devices I was able to reinvterview or exclude include without security.

@MartinHjelmare
Copy link
Member

That would be add-on version 0.7.1. The version is shown on the update notification and when the add-on is installed, on the info tab of the add-on.

@MartinHjelmare
Copy link
Member

I have enough information for now. I'll possibly ask for more information later.

@jTd7bPLFb
Copy link

Yes. 0.7.1. I see it in the add on info tab.

@darootler

This comment was marked as duplicate.

@MartinHjelmare
Copy link
Member

Please don't comment unless you bring new information.

@MartinHjelmare
Copy link
Member

MartinHjelmare commented Sep 13, 2024

I've tested S2 inclusion on driver version 13.3.0 with the add-on version 0.7.1 and that is working for me. At this point we need driver debug level logs of an S2 inclusion attempt, from users with affected devices.

https://www.home-assistant.io/integrations/zwave_js/#how-do-i-access-the-z-wave-logs

@LoicbEc
Copy link

LoicbEc commented Sep 13, 2024

Bonjour ,
si cela peut aider , j'ai eu le même soucis . Après plusieurs redémarrages , reconstruction sans succès . j'ai re interroger les modules et tout et rentrée dans l'ordre bonne journée a tous :)

@FoxxMD
Copy link

FoxxMD commented Sep 13, 2024

@MartinHjelmare I am experiencing this same issue and am attaching DEBUG log level logs of Z-Wave JS addon startup that includes devices with S2 inclusion.

I did both upgrades yesterday (for the add-on) at which point failures started occurring.

  • Z-wave JS Addon
    • Driver Version 13.3.0
    • Server Version 1.38.0
  • Home Assistant 2024.9.1
  • Supervisor 2024.09.1
  • OS 13.1 running as a VM in Proxmox 8.2.2
  • Controller is a GoControl HUSBZB-1 Firmware 4.32
    • Passthrough full USB port, this has never been a problem before

Secure z-wave devices:

  • Schlage BE469ZP Lock - S0 Legacy
  • 3x NewOne N4003 Plug - S2 (Z-Wave Plus v2)
  • Zooz ZSE40 700 Sensor - S2 (Z-Wave Plus v2)

No changes to configuration or keys were made prior to the add-on upgrades. I have done a full shutdown of the VM, replugged USB and verified port passthrough as well as USB availability in the VM.

zwave.log

@MartinHjelmare
Copy link
Member

@FoxxMD please check if all network keys are set in the add-on configuration options.

@kpine
Copy link
Contributor

kpine commented Sep 16, 2024

@FoxxMD Have you used your Z-Wave controller in any other software besides Z-Wave JS? Such as Silicon Labs PC Controller? Did you perform any kind of controller shift procedure? Your problem is due to the controller being detected as an Inclusion controller (secondary) instead of the Primary controller. New features were added in the update that is affected by this.

2024-09-12T21:06:26.888Z CNTRLR   received controller capabilities:
                                    controller role:      Inclusion
                                    is the SUC:           true
                                    started this network: true
                                    SIS is present:       true
                                    was real primary:     false

Normally it looks like:

2024-09-10T21:27:23.940Z CNTRLR   received controller capabilities:
                                    controller role:      primary
                                    is the SUC:           true
                                    started this network: true
                                    SIS is present:       true
                                    was real primary:     true

The previous version would probably ignore this. But I'm not sure how you and possible others have ended up in a state where your connected controller (the USB controller) has identified as an inclusion controller.

@paul-aviles
Copy link

@FoxxMD Have you used your Z-Wave controller in any other software besides Z-Wave JS? Such as Silicon Labs PC Controller? Your problem is due to the controller being detected as an Inclusion controller (secondary) instead of the Primary controller. New features were added in the update that is affected by this.

2024-09-12T21:06:26.888Z CNTRLR   received controller capabilities:
                                    controller role:      Inclusion
                                    is the SUC:           true
                                    started this network: true
                                    SIS is present:       true
                                    was real primary:     false

Normally it looks like:

2024-09-10T21:27:23.940Z CNTRLR   received controller capabilities:
                                    controller role:      primary
                                    is the SUC:           true
                                    started this network: true
                                    SIS is present:       true
                                    was real primary:     true

The previous version would probably ignore this. But I'm not sure how you and possible others have ended up in a state where your connected controller (the USB controller) has identified as an inclusion controller.

Kpine, how can we check?

@kpine
Copy link
Contributor

kpine commented Sep 16, 2024

Kpine, how can we check?

Check what specifically? Those logs are from Z-Wave JS when the add-on starts up.

@FoxxMD
Copy link

FoxxMD commented Sep 16, 2024

@kpine Many years ago (at least 4) I used z-wave js ui as a docker container before switching to z-wave js addon at some point. I've been on the addon for as long as I can remember and have never done anything with it with other software.

The device I use (GoControl HUSBZB-1) is a dual-radio USB stick, if that matters. Zigbee and z-wave on the same stick.

EDIT: I did switch from an older z-wave stick where the existing network was originally created. I'm not sure if that matters. I migrated to this GoControl stick probably before 2020.

@kpine
Copy link
Contributor

kpine commented Sep 16, 2024

I did switch from an older z-wave stick where the existing network was originally created. I'm not sure if that matters. I migrated to this GoControl stick probably before 2020.

Yes, that is relevant information. While your controller is reporting that it's the primary:

2024-09-12T21:06:26.692Z CNTRLR   received additional controller information:
                                    Z-Wave API version:         5 (legacy)
                                    Z-Wave chip type:           ZW050x
                                    node type                   Controller
                                    controller role:            primary
                                    controller is the SIS:      true
                                    controller supports timers: false
                                    Z-Wave Classic nodes:       1, 3, 4, 5, 6, 7, 8, 9

it also reports that it was not the original primary node:

was real primary:     false

This causes ZJS to recognize your controller as an Inclusion controller. If it reported as true it would be working fine. This is likely due to the migration process followed. Do you recall how you did it?

You might be able to correct this state using PC Controller but I don't know for sure. Otherwise, you'll (probably) need to wait for an add-on update (Z-Wave JS).

@dnikles
Copy link

dnikles commented Sep 16, 2024

@kpine Many years ago (at least 4) I used z-wave js ui as a docker container before switching to z-wave js addon at some point. I've been on the addon for as long as I can remember and have never done anything with it with other software.

The device I use (GoControl HUSBZB-1) is a dual-radio USB stick, if that matters. Zigbee and z-wave on the same stick.

EDIT: I did switch from an older z-wave stick where the existing network was originally created. I'm not sure if that matters. I migrated to this GoControl stick probably before 2020.

I'm using the same stick and am experiencing this issue, I wonder if that's a common thread here. I never ran a z-wave network before this stick and only used this stick with home assistant with the exception of updating the firmware using this https://github.com/walthowd/husbzb-firmware

edit: that upgrade should only touch the zigbee side of things

@kpine
Copy link
Contributor

kpine commented Sep 16, 2024

I'm using the same stick and am experiencing this issue, I wonder if that's a common thread here.

That would be interesting if it is the case. I don't actually know how that bit is set in the controller. SiLabs also removed the flag from recent documentation, although it exists in the SDK.

Just to clarify, the problem I'm referring is specifically for the case where the controller is detected as an Inclusion controller, and fails to load the security keys. You must see these in the logs:

  1. was real primary: false
  2. No network key for S0 found in cache, communication with secure (S0) devices won't work!

If anyone else is still having problems in 0.7.1 and can confirm the above log messages, please provide the controller you're using.

If those are not in the logs, the problem is elsewhere.

@jTd7bPLFb
Copy link

have also was real primary: false

works without issues on 0.6.2

does not work on 0.7.1 (no S0, no S2 keys found, although they are configured)

key was never ever used for anything else than HAS

/dev/serial/by-id/usb-Silicon_Labs_HubZ_Smart_Home_Controller_51501C6B-if00-port0

DEVNAME: /dev/ttyUSB0
DEVPATH: /devices/pci0000:00/0000:00:15.0/usb1/1-3/1-3:1.0/ttyUSB0/tty/ttyUSB0
ID_BUS: usb
ID_MODEL: HubZ_Smart_Home_Controller
ID_MODEL_ENC: HubZ\x20Smart\x20Home\x20Controller
ID_MODEL_ID: 8a2a

@paul-aviles
Copy link

Nortek zigbee/zwave husbzb-1. Never used before and was a new install with the Argon case/SSD a few years back. When looking at zwave devices, the USB is recognized as Sigma Designs (former Zensys) and firmware is 4.32.

Not sure if this should be upgraded or leave it alone as it is working.

Running 0.6.1 rollback as other stuff were acting weird too.

@Mariusthvdb
Copy link
Contributor

Mariusthvdb commented Sep 16, 2024

had this happening today after updating the OS to 13.1, and posted in the comm, just adding here for the peculiarity of the OS update (after having had the same thing happening before, but being able to fix it)

so today I updated to HA OS 13.1 with the scenario above (0.6.2 - 0.7.0 - 0.7.1- unavailable -back to 0.6.2 and final update to 0.7.1 working). see Update to z-wave js 0.7.1 seems to have broken NodeRed - #4 by Mariusthvdb

OS 13.1 update went fine, and very quick indeed. Only to see all Z-Wave devices went unavailable once again… reload add-on didnt help, nor did reloading integration, not even the HA reboot.

had to downgrade to 0.6.2 backup, and devices are back.

AeonLabs Z-stick gen 5, FW 1.1. using the core Integration and add-on
Scherm­afbeelding 2024-09-16 om 22 19 36

reinstalling 0.7.1 again brings back all devices. Guess we need to keep that 0.6.2 backup ....

@AlCalzone
Copy link
Contributor

node-zwave-js v13.3.1 is being released now and should fix this (once the addon is updated).

@FoxxMD
Copy link

FoxxMD commented Sep 17, 2024

Thank you for the quick work on this issue @AlCalzone ! ❤️

The relevant PR for the curious: zwave-js/node-zwave-js#7174

@Mariusthvdb
Copy link
Contributor

Mariusthvdb commented Sep 18, 2024

After initial success, unfortunately have to report the add-on update to 0.7.2 wasn’t completely successful after all

All of my Sensative Door strips remained unavailable.

Downgraded to 0.6.2 once again

@MartinHjelmare
Copy link
Member

Please open a new issue with driver debug logs.

@vinz061
Copy link

vinz061 commented Sep 20, 2024

Bonjour
Je n'ai plus rien non plus.
Restauration sauvegarde n'a rien donné.
Je suis perdu et un peu dépité.
Une solution miracle SVP?

@MartinHjelmare
Copy link
Member

We use English language in this community.

This issue is closed. Please search for open issues, or open a new issue with pertinent information attached.

@eliasisrael
Copy link

Do I read from this chain of comments that a secondary controller is no longer supported?

@AlCalzone
Copy link
Contributor

No. Support for being a secondary controller was actually added to the node-zwave-js lib.

That introduced an issue with some older controllers that didn't report the controller capabilities correctly. This caused Z-Wave JS to think it was a secondary controller and to use the learned security keys (which it didn't have, since it was actually the primary).

@eliasisrael
Copy link

Thanks. I am trying to understand why all the devices on my Aeotec Z-Stick Gen 5+ (used as a static secondary) became unavailable with recent releases. All the entities (except for Ping) disappeared. I had to roll back 3 weeks in my backups.

Is that related to this thread or am I chasing the wrong item?

@AlCalzone
Copy link
Contributor

Wait, have you actually been using the stick as a secondary controller?
Were you getting the unsolicited reports from devices?

If so, you've been relying on something that was never intended to be supported and was not behaving in a spec-compliant way.

Does the primary controller still exist? If yes, is transferring the primary role to Z-Wave JS an option?

@eliasisrael
Copy link

Yes, I have been using the stick as a secondary controller. No, I don't get unsolicited reports from devices. In this pattern, I have to ping the devices periodically, which is obviously suboptimal.

The primary controller does exist, but it is an Alarm.com Qolsys IQ 2 Panel, which cannot serve as a secondary controller.

I could make the stick the primary controller, but, to do that, I would have to unlearn all devices from the qolsys panel and re-learn all devices to the stick, meaning the Qolsys panel would have no access to those device and none of the security-related automations I have built on the qolsys would work.

I could rebuild the security automations on HA, but the HA Alarm.com integration is polled, which means there would be delays or race conditions introduced by this method. I have heard of a qolsys integration that interacts in real-time with the Qolsys main panel as though it were a satellite panel, but I cannot find it.

It's a fine pickle. Undoubtedly, you understand the zwave protocols better than I. Perhaps you know of an approach I haven't thought of.

@AlCalzone
Copy link
Contributor

AlCalzone commented Oct 7, 2024

I suppose falling back to the configured security keys instead of the learned keys (which you don't have in this case) would be an option -> zwave-js/node-zwave-js#7224

@eliasisrael
Copy link

I take it as read that you are correct, but I have to confess that I don't understand why you think that will help. Can you ELI5 for this old engineer?

@AlCalzone
Copy link
Contributor

Honestly I'm not fully sure about it. Having security keys to enable encrypted communication is one requirement.

In the secondary controller scenario, Z-Wave JS now expects that it has learned the keys while joining another network, when it previously used the configured keys. The next release will fallback to the configured keys in that case.

Z-Wave JS not performing interviews automatically when it is a secondary controller may have to do with your situation as well -> zwave-js/node-zwave-js#7227

@eliasisrael
Copy link

Can I help you with log files or diagnostic data?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet