• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

zwave-js / zwave-js-ui / 28009074147 / 1
8%
master: 8%

Build:
DEFAULT BRANCH: master
Ran 23 Jun 2026 07:15AM UTC
Files 71
Run time 2s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Jun 2026 07:14AM UTC coverage: 19.257% (-0.03%) from 19.288%
28009074147.1

push

github

web-flow
fix: refresh broadcast virtual nodes to avoid querying removed nodes (#4688)

## Problem

After removing a node and adding another during testing, errors like the
following appeared in the log (#4677):

```
ERROR Z-WAVE: Error updating broadcast node 255 values: Node 262 was not found! (ZW0211)
ERROR Z-WAVE: Error updating broadcast node 4095 values: Node 262 was not found! (ZW0211)
```

## Root cause

The broadcast `VirtualNode` instances are fetched once via
`controller.getBroadcastNode()` / `getBroadcastNodeLR()` and cached in
`_virtualNodes`. The driver **snapshots** the physical node set at
construction time (`VirtualNode.physicalNodes`). When a node is later
removed, the cached instance keeps referencing it, so
`getDefinedValueIDs()` iterates over the now-removed node and the driver
throws `Node X was not found`.

## Fix

Re-fetch a fresh broadcast instance from the controller inside
`_doUpdateBroadcastNodeValues()` — which already runs after every node
add/remove/ready event — and store it back in the cache. This:

- gives `getDefinedValueIDs()` a node set that reflects the current
network, so removed nodes are no longer queried, and
- keeps the instance later used for write-back (`getVirtualNode` →
`setValue`) in sync with the network.

A `driverReady` guard is added since the method now touches the
controller (it runs on a trailing throttle, so the driver may have gone
away in the meantime).

Note: issue point 1 (standard broadcast 255 enumerating LR nodes) is a
driver-side concern — `getBroadcastNode()` includes all nodes regardless
of protocol — and is out of scope here; this change resolves the
reported "node not found" errors.

Closes #4677

🤖 Generated with [Claude Code](https://claude.com/claude-code)

436 of 564 branches covered (77.3%)

Branch coverage included in aggregate %.

4523 of 25188 relevant lines covered (17.96%)

1.13 hits per line

Source Files on job 28009074147.1
  • Tree
  • List 71
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 28009074147
  • 8c1981e1 on github
  • Prev Job for on master (#27954958160.1)
  • Next Job for on master (#28009162285.1)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc