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
69.72k stars 28.87k forks source link

Node did not respond | presumed Dead #119050

Open Mariusthvdb opened 3 weeks ago

Mariusthvdb commented 3 weeks ago

The problem

1 MCO Multi sensor device in my setup regularly returns below errors. Because this is also the source for my Mold sensors, those return errors/warnings regularly too.

However, not sure if there is anything that can be doen. Seems to not always auto up[date, so I explicitly poll (update) the values, and I suppose that is when the errors below are returned.

What version of Home Assistant Core has the issue?

2024.6

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

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

Diagnostics information

really sorry but clicking this does nothing, somehow the file does not download. Ive tested a few others and they do download.. could this be an issue in itself?

Scherm­afbeelding 2024-06-07 om 10 04 46

I did download the diagnostics on the ZWave stick itself:

zwave_js-62213aa5a398677a26e1a3354a861183-Z‐Stick Gen5 USB Controller-d49973230a844c7efce127d6bea7733c.json

and from the device:

zwave_js-62213aa5a398677a26e1a3354a861183-CO2 Monitor Air Quality Detector-f68980a610f4a6b39910c76e4525d6ab-2.json

Example YAML snippet

automation:

  - id: force_update_climate_sensors
    trigger:
      platform: time_pattern
      minutes: /5
    action:
      service: zwave_js.refresh_value
      data:
        entity_id:
          - sensor.temperatuur_woonkamer
          - sensor.luchtvochtigheid_woonkamer
          - sensor.co2_woonkamer

sensor:

##########################################################################################
# Moldindicator

  - platform: mold_indicator
    name: Schimmel sensor
    indoor_temp_sensor: sensor.temperatuur_woonkamer
    indoor_humidity_sensor: sensor.luchtvochtigheid_woonkamer
    outdoor_temp_sensor: sensor.buienradar_temperature
    calibration_factor: 1.29

Anything in the logs that might be useful for us?

Logger: homeassistant.components.zwave_js
Bron: components/zwave_js/entity.py:85
integratie: Z-Wave (documentatie, problemen)
Eerst voorgekomen: 6 juni 2024 om 22:15:10 (3 gebeurtenissen)
Laatst gelogd: 6 juni 2024 om 22:15:10

Error while refreshing value Value(value_id='96-49-0-Air temperature'): zwave_error: Z-Wave error 204 - The node did not acknowledge the command (ZW0204)
Error while refreshing value Value(value_id='96-49-0-Humidity'): zwave_error: Z-Wave error 202 - The node did not respond after 1 attempts, it is presumed dead (ZW0202)
Error while refreshing value Value(value_id='96-49-0-Carbon dioxide (CO₂) level'): zwave_error: Z-Wave error 202 - The node did not respond after 1 attempts, it is presumed dead (ZW0202)

Additional information

the device is mains powered, so no battery issues. It also is very near other Zwave devices, that do not have an issue, nor disconnect. I did try to move it closer to my USB stick but dont think that made a lot of difference

Scherm­afbeelding 2024-06-07 om 10 08 13
home-assistant[bot] commented 3 weeks ago

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)

PeteRager commented 3 weeks ago

I'd try adding a delay between those polls. It is going to poll each value on all 3 devices simultaneously, that may be more than your network can handle. Since this is not time critical space by 30 seconds.

The stats don't look good. Could be a lot of things. Too much data on the network. Bad stick placement, etc..

      "statistics": {
        "commandsTX": 19314,
        "commandsRX": 31773,
        "commandsDroppedRX": 1318,
        "commandsDroppedTX": 0,
        "timeoutResponse": 83,
        "rtt": 118,
        "lastSeen": "2024-06-07T08:10:00.810Z"
      },
Mariusthvdb commented 3 weeks ago

I can do that, add the delay, good idea. any thought on the timing? I dont want to crash the mesh with constant update requests if not necessary

however, the first command already fails:

Error while refreshing value Value(value_id='96-49-0-Air temperature'): zwave_error: Z-Wave error 204 - The node did not acknowledge the command (ZW0204)

which then probably causes the 2nd and 3d to have the other logging of being Dead ;-)

should I maybe check for something, before updating the entity?

I mean, maybe check if the last self update was successful? (last_changed less than 5 minutes or so)

PeteRager commented 3 weeks ago

Is this an intermittent issue meaning sometimes that refresh works or does it consistently fail?

Mariusthvdb commented 3 weeks ago

intermittent

For starters, I'll change the automation to:

   - id: force_update_climate_sensors
    trigger:
      platform: time_pattern
      minutes: /10
    condition:
      >
        {{now() - states.sensor.temperatuur_woonkamer.last_updated > timedelta(minutes=5)}}
    action:
      - service: zwave_js.refresh_value
        data:
          entity_id: sensor.temperatuur_woonkamer
      - delay:
          minutes: 1
      - service: zwave_js.refresh_value
        data:
          entity_id: sensor.luchtvochtigheid_woonkamer
      - delay:
          minutes: 1
      - service: zwave_js.refresh_value
        data:
          entity_id: sensor.co2_woonkamer

so I am sure it only updates if the last updated action was more than 5 minutes ago, and if it executes the action block, it does so with a minute delay between the entities