Troubliq

Smart-home fixes, step by step.

Category: Z-Wave

Z-Wave troubleshooting for inclusion, exclusion, security negotiation, dead nodes, unavailable devices, routing, interviews, and controller recovery. Preserve the controller backup, confirm power and range, inspect node status, and use exclusion or factory reset only when the network state requires it. Start with Z-Wave JS node dead or unavailable.

  • Zigbee or Z-Wave Broken After Home Assistant 2026.9.2: Safe Recovery Guide

    Zigbee or Z-Wave Broken After Home Assistant 2026.9.2: Safe Recovery Guide

    Quick answer: When Zigbee or Z-Wave devices become unavailable immediately after a Home Assistant 2026.9.2 update, preserve a backup and collect logs before repairing, re-pairing, or resetting anything. First determine whether the radio, integration, add-on, serial path, or individual device is failing. Re-pairing every device is rarely the correct first step.

    Current public reports describe Zigbee and, for some users, Z-Wave failures around the 2026.9.2 update. That does not mean every unavailable device is caused by the same regression. This checklist separates update-related failures from power, USB, network, coordinator, and mesh problems.

    Five-minute safety check

    1. Do not factory-reset the coordinator.
    2. Do not delete the ZHA, Zigbee2MQTT, or Z-Wave JS integration.
    3. Confirm you have a recent Home Assistant backup.
    4. Record the coordinator model, firmware, serial path, and integration version.
    5. Download the relevant logs before restarting repeatedly.

    Determine the scope

    • Every device failed: suspect the coordinator, serial path, add-on, driver, or integration startup.
    • One area failed: suspect a powered router device or mesh route.
    • Battery devices only: allow normal wake-up intervals and check battery state.
    • Only one device failed: troubleshoot that device before changing the network.
    • Zigbee and Z-Wave both failed: look for a broader USB, host, resource, or Core startup problem.

    Check what Home Assistant can still see

    Open Settings → Devices & services. Look at the integration status and the coordinator device. If the integration failed to initialize, open its error details and then inspect the full log. The first error after startup is usually more useful than repeated “entity unavailable” messages.

    For ZHA

    Confirm that the coordinator still exists at the configured serial path. USB device names such as /dev/ttyUSB0 can change after a reboot. A stable /dev/serial/by-id/... path is safer when available. Do not change the path blindly: compare the current hardware list with the integration configuration.

    Look for permission errors, port-in-use errors, radio initialization failures, and firmware mismatch messages. If another add-on opened the same port, stop only the conflicting service after verifying it.

    For Zigbee2MQTT

    Check the Zigbee2MQTT add-on status separately from Home Assistant Core. Confirm that MQTT is connected and that Zigbee2MQTT can open the coordinator. A healthy MQTT connection does not prove that the radio opened successfully.

    Inspect the add-on log for adapter detection, serial-port, firmware, and database errors. Preserve the Zigbee2MQTT data directory and coordinator backup before changing adapter configuration.

    For Z-Wave JS

    Check whether the Z-Wave JS server or add-on is running and whether Home Assistant remains connected to it. Confirm the controller path and inspect both the add-on log and the Home Assistant integration log. Avoid excluding and re-including devices until the controller connection is healthy.

    If the controller is visible but nodes remain asleep or unavailable, allow battery devices time to wake. Powered nodes failing together may indicate a controller, security-key, or network initialization problem.

    USB and hardware checks

    • Confirm the coordinator has power and appears in the host hardware list.
    • If it is connected through a USB extension cable, check both ends without moving the radio close to USB 3 interference.
    • Do not attach the same radio to two integrations.
    • On virtual machines, confirm USB passthrough still targets the correct physical device.
    • Record the original configuration before changing a serial path.

    Safe restart order

    1. Save the logs.
    2. Restart only the affected add-on or integration once.
    3. If the radio remains unavailable, perform one controlled host restart.
    4. Recheck the hardware path and the first startup error.
    5. Stop restarting if the same error repeats; use that error to choose the next branch.

    When to update forward or roll back

    Check whether a newer 2026.9 patch addresses the exact integration and hardware combination. Updating forward is preferable when a confirmed fix exists. Consider rollback only when the failure started with the update, the coordinator worked immediately beforehand, logs support a regression, and a pre-update backup is available.

    Restoring a backup changes configuration and database state. Read the backup date carefully and preserve a copy of the current state before restoring.

    Do not do these things first

    • Do not reset the coordinator.
    • Do not remove the integration.
    • Do not re-pair the entire mesh.
    • Do not generate new Z-Wave security keys.
    • Do not overwrite the Zigbee database.
    • Do not assume “unavailable” means every device lost its pairing.

    Decision tree

    1. Is the integration loaded? If no, inspect its first startup error.
    2. Is the radio visible to the host? If no, inspect USB, passthrough, power, and device paths.
    3. Can the add-on open the radio? If no, check path, permissions, conflicting processes, and firmware.
    4. Are all devices affected? If no, troubleshoot the failing branch or device rather than the coordinator.
    5. Did failure begin exactly after 2026.9.2? Compare the current issue report and later patch notes before rollback.

    What to collect for support

    • Core, OS, Supervisor, and add-on versions
    • Coordinator make, model, and firmware
    • Integration: ZHA, Zigbee2MQTT, or Z-Wave JS
    • Installation type and hardware platform
    • Stable serial path with unique identifiers partially redacted
    • First relevant error, not hundreds of repeated unavailable messages

    Current incident reference

    See Home Assistant Core issue #182076 for the current report concerning Zigbee and possible Z-Wave failures after 2026.9.2. Treat it as an incident report, not proof that every mesh failure has the same cause. Use the latest Home Assistant release notes and integration documentation before applying version-specific changes.

    Last reviewed: September 23, 2026.

    Additional evidence-based diagnostics

    Identify which protocol actually failed

    Zigbee and Z-Wave are separate networks with different coordinators, add-ons and security data. If both appear broken at the same time, first test whether Home Assistant Core, USB passthrough, MQTT, the host, or power failed more broadly. Do not apply a Zigbee repair to a Z-Wave controller.

    Read the first adapter message

    For ZHA, start with the radio initialization line. For Zigbee2MQTT, read the adapter startup before device availability messages. For Z-Wave JS, inspect the server and driver connection before node errors. A missing port, port-in-use result, permission error and firmware error require different fixes.

    Protect Zigbee network data

    Preserve the Zigbee2MQTT data directory, coordinator backup and configuration, or the supported ZHA backup where available. Do not form a new network, change the PAN ID, overwrite the database, or reset the coordinator during initial diagnosis.

    Protect Z-Wave security material

    Back up the Z-Wave controller using supported tools and preserve the S0 and S2 keys. Generating replacement keys can make securely included nodes unusable. Exclusion and re-inclusion are last-resort device operations, not fixes for a disconnected server.

    Check virtualization and containers

    After a host or Core update, verify that the physical radio is still attached to the intended virtual machine or container and that the device mapping uses a stable identifier. A coordinator can appear healthy on the host while being absent from the guest.

    Interpret partial recovery

    If mains-powered routers return but sleepy devices remain unavailable, allow normal wake intervals and manually wake devices according to their instructions. If only one area remains unavailable, investigate routing and powered repeaters. If every device remains unavailable, continue at the coordinator or service layer.

    Evaluate interference without rebuilding

    USB 3 devices, unshielded cables and 2.4 GHz congestion can affect Zigbee. Move a USB coordinator using a suitable extension and compare stability. Do not change Zigbee channels casually: channel changes can require devices to rediscover the network and may disrupt sleepy nodes.

    Verify add-on dependencies

    Zigbee2MQTT may require both a working coordinator and MQTT broker. A connected broker does not prove the serial adapter opened; an open adapter does not prove MQTT discovery reaches Home Assistant. Test each boundary and record the first failure.

    Post-repair validation

    Confirm the integration loads, the original coordinator and network identity remain present, several powered devices respond, battery devices report after waking, and the service survives one controlled restart. Check automations that depend on both protocols without triggering unsafe equipment.

    Escalation and privacy

    Share versions, coordinator models, firmware, installation type and the first sanitized error. Redact network keys, Z-Wave security keys, full serial identifiers, IP addresses and device location names. State whether the incident affects Zigbee, Z-Wave or both.

    Related Troubliq resources

    Use the Home Assistant Error Decoder to match the exact message, then review the current Home Assistant problems hub for related verified guides.

    Advanced interpretation and recovery

    ZHA-specific interpretation

    A ZHA integration entry that cannot initialize and names the radio library points to coordinator communication rather than individual devices. A loaded coordinator with one unavailable device points downstream. Compare radio firmware guidance for the exact chipset; do not flash firmware intended for a different coordinator.

    Zigbee2MQTT-specific interpretation

    Separate broker connection, adapter startup, database load and device interview phases. If MQTT fails, Home Assistant discovery can disappear while the Zigbee mesh still operates. If the adapter fails, Zigbee2MQTT cannot manage the network even with a healthy broker. If only an interview fails, use the existing device-interview guide rather than rebuilding the network.

    Z-Wave JS-specific interpretation

    Confirm the Z-Wave JS server is running, Home Assistant connects to its WebSocket, and the controller initializes with the preserved security keys. A node marked asleep is not dead. Use failed-node procedures only when the driver identifies the node as failed and the physical device is truly unreachable.

    Serial permission branch

    A permission-denied error is not corrected by changing the serial path or reflashing. Confirm the device ownership and supported container/add-on mapping. Avoid broad chmod changes that disappear after reboot or expose the serial device to unrelated processes.

    Port-in-use branch

    A busy port means another process owns the coordinator. Stop competing integrations or serial tools after identifying them. Do not kill arbitrary host processes or attach the coordinator to two services; exclusive ownership is a core requirement.

    Firmware branch

    Firmware becomes a leading suspect only after the correct radio, stable path, permissions, ownership, power and transport have been confirmed. Record the current build and coordinator backup before flashing. Follow the adapter maker’s recovery instructions and never interrupt power during an update.

    Mesh-routing branch

    When only a room or group of devices fails, inspect powered routers and recent removals in that area. Battery devices do not usually route. Restore power to known routers and allow the mesh to settle before re-pairing endpoints.

    Security-key branch

    Z-Wave S0/S2 keys and Zigbee network keys are not ordinary passwords to regenerate during troubleshooting. If keys differ after a restore or migration, securely included devices may fail even though the controller is visible. Compare backups and migration records before any inclusion changes.

    Result table

    Radio absent from host means hardware, passthrough or power. Radio present but cannot open means path, permission or ownership. Service opens radio but Home Assistant lacks entities means broker, integration or discovery. One device unavailable means device power, wake state, routing or compatibility. Both protocols failing points to a shared host or Core layer.

    Rollback and recovery

    If a serial-path edit fails, restore the recorded path. If an add-on update fails, restore its supported backup. If a host update broke passthrough, restore the known mapping. Keep the current radio and network databases intact until successful recovery is verified.

    Prevention

    Use stable by-id paths, label radios, keep off-host backups of coordinator and security data, document firmware, separate radios from USB 3 interference, reserve network-coordinator addresses, and review passthrough after hypervisor updates.

    Battery-device wake-up verification

    Battery Zigbee and Z-Wave devices may remain unavailable until their normal wake interval or a documented manual wake action. Verify powered routers and controller health first, then wake one representative battery device according to its manual. Do not factory-reset it simply because it did not report immediately after the controller recovered.

    Automation and entity verification

    After the mesh returns, compare entity identifiers and device associations before editing automations. Run only harmless tests on lights, sensors or test plugs. Avoid remotely testing locks, alarms, heaters, pumps or gates without a person present. Confirm that availability, commands and state feedback all work; a command accepted without updated state is only partial recovery.

    When replacement hardware is justified

    Replace a coordinator only after stable power, cable, port mapping, exclusive ownership, firmware and a second supported host test still show hardware communication failure. Preserve the old coordinator and backups until migration is complete. Choosing replacement hardware prematurely can turn a host configuration fault into a network migration.

  • Z-Wave JS node is dead or unavailable in Home Assistant: recovery checklist

    Z-Wave JS node is dead or unavailable in Home Assistant: recovery checklist

    Direct answer: A Z-Wave node marked dead or unavailable is usually failing to answer the controller. Check power, controller connectivity, USB interference, and the mesh route before excluding or factory-resetting it.

    Symptoms

    • The device card is unavailable.
    • The Z-Wave node-status sensor reports dead.
    • Commands time out or updates arrive intermittently.

    Before you start

    Do not remove the integration, reset the controller, or factory-reset the device. Preserve your Z-Wave security keys and create a backup before any destructive recovery.

    Diagnostic steps

    1. Confirm the device has power. For battery devices, install a known-good battery and wake the device using its manual.
    2. Open Settings → Devices & services → Z-Wave and confirm the integration and Z-Wave JS server are connected.
    3. Open the device and inspect its node status and communication statistics.
    4. If the adapter is connected directly to USB, move it to a short USB extension cable to reduce RF interference.
    5. For a mains-powered node, use the Ping button once. Battery devices normally sleep, so pinging them while asleep proves little.
    6. After correcting power or interference, rebuild routes where the interface offers that action. Allow the mesh time to settle.
    7. Enable debug logging briefly and reproduce the failure. Download diagnostics before escalating.

    Verify the fix

    Send one command, confirm the physical device responds, and check that a new state report returns to Home Assistant. Watch the node statistics for repeated failures.

    Recovery and rollback

    If the device remains dead, consult its manufacturer instructions and the current Z-Wave JS documentation before exclusion or replacement. Exclusion and factory reset can break entity references and automations, so treat them as last-resort steps.

    Prevention

    Keep the adapter away from USB 3 interference, use stable device paths for external servers, retain security-key backups, and build a healthy mains-powered mesh.

    Sources

    Last reviewed: September 4, 2026.

    Related Troubliq guides

    Find your next troubleshooting path

    Use the related guide that matches the next confirmed layer of the failure. Avoid changing unrelated systems at the same time.

    Detailed evidence checklist for Z-Wave JS node is dead or unavailable in Home Assistant

    Before another change, create a short incident record. Include the exact time the symptom appeared, what the system was doing, the last successful action, and every update or network change made during the previous day. Record the Home Assistant release, installation type, integration version, device model, firmware, connection method, current address, and relevant entity IDs. Screenshots are useful for visible states, but copy the exact error text because screenshots may crop the detail needed to search logs.

    Compare the failing item with one known-good item that uses the same path. If both fail, move outward toward shared services such as the integration, coordinator, add-on, DNS, router, cloud account, or Home Assistant host. If only one fails, stay close to that device: power, signal, address, credentials, firmware, permissions, and configuration. This comparison prevents a single-device problem from turning into an unnecessary system-wide rebuild.

    Network tests that prove the failing layer

    Use tests in layers. Confirm the address is current in the router or DHCP server. Confirm the Home Assistant host or container resolves the same name and reaches the intended address. Then test the actual documented service, port, or protocol. A dashboard loading on a phone proves only the phone’s path. A successful ping proves basic reachability, not authentication, WebSocket upgrades, multicast discovery, API encryption, event subscriptions, or application permissions.

    For segmented networks, document source VLAN, destination VLAN, direction, protocol, and port before editing a firewall rule. Test the smallest temporary exception and remove it if it did not help. Discovery traffic and control traffic may use different mechanisms. Seeing a device in discovery does not prove Home Assistant can maintain a working session.

    Configuration comparison procedure

    Export or photograph the current configuration without exposing secrets. Compare it with official documentation field by field: host, port, account, region, project, encryption setting, device identifier, and optional switches. Watch for trailing spaces, uppercase versus lowercase account names, obsolete hostnames, restored encryption keys, or an account belonging to the wrong home or region.

    Use Reconfigure or Reauthenticate before deleting an integration. Preserve entity IDs and note every automation, dashboard, script, scene, or helper that refers to them. If replacement becomes necessary, take a backup and map old entities to replacements. That makes rollback controlled rather than leaving broken references.

    Power, radio, and timing checks

    Do not interpret every unavailable state as software failure. Low-voltage devices may stay partly online while unstable power causes resets. Battery devices sleep and report on their own schedule. Wi-Fi and Bluetooth devices can associate yet fail at the application layer. Zigbee and Z-Wave devices depend on routes, radio conditions, and powered repeaters. Match the test to the technology instead of repeatedly pressing Reload.

    Allow enough time after each test. Cloud polling, sleepy devices, retained MQTT messages, mesh repair, Bluetooth advertisements, and DHCP changes do not update instantly. Define the expected interval, then wait through at least two normal cycles. If availability returns briefly, capture the next disconnect in logs instead of declaring success.

    Log-reading workflow

    Synchronize clocks and reproduce the problem once. Start with the first warning or error at that timestamp; later messages may be consequences. Group errors by layer: name resolution, timeout, refused connection, TLS certificate, unauthorized account, invalid token, missing permission, unsupported capability, malformed payload, device timeout, or rate limit. Each group suggests a different next action.

    Turn debug logging off after reproduction. Large files consume storage and bury the event. Redact tokens, passwords, keys, email addresses, public addresses, precise locations, and unnecessary unique identifiers. Keep the unredacted copy private for comparison with later tests.

    Safe change order

    1. Correct time, power, cabling, or an obviously stale address.
    2. Reload only the affected integration when documentation supports it.
    3. Use Reconfigure or Reauthenticate without deleting the entry.
    4. Restart only the affected device or add-on during a safe window.
    5. Restart Home Assistant when several components share the symptom or a change requires it.
    6. Update software after reading release notes and preserving rollback.
    7. Delete, exclude, reset, or rebuild only after safer checks prove it necessary.

    Post-repair validation

    Verify both directions. Confirm Home Assistant receives a fresh state, send one harmless command, and confirm the physical response. Check the returned state, logbook, history, and automation trace. Restart the affected component and verify automatic reconnection. During a maintenance window, confirm the repair survives a normal Home Assistant restart.

    Monitor long enough to cover the original pattern. If failure occurred overnight, after DHCP renewal, deep sleep, or token expiry, a five-minute test is insufficient. Record the confirmed cause and exact corrective change. Remove temporary firewall rules, extra logging, duplicate test integrations, and unused credentials.

    When to stop and escalate

    Stop if hardware overheats, power is unstable, storage reports errors, a controller backup fails, credentials are rejected across services, or firmware may be damaged. Escalate with versions, timestamps, topology, redacted logs, the first meaningful error, and results of each safe test. Do not repeat destructive steps while waiting for help.

    A strong report answers four questions: What still works? What exactly fails? What changed immediately beforehand? Which test most clearly separates the causes? Those answers help maintainers diagnose the correct layer.

    Verification checkpoint 1 focuses on power source. Observe the relevant state, event or log through two normal cycles and write down the timestamp. If the result is unchanged, undo the experimental change before testing another layer so the diagnosis remains controlled and reversible.Validation note 1: Recheck the symptom after a normal interval, compare it with the incident record, and document whether the latest change improved, worsened, or did not affect the failure. Restore the previous value when a test provides no benefit so unrelated changes do not accumulate.

    For checkpoint 2, inspect wake interval rather than relying on the dashboard icon alone. Confirm the expected input, the system response and the returned state. Preserve the evidence, reverse any ineffective adjustment and move to the next checkpoint only after the current result is clear.Validation note 2: Recheck the symptom after a normal interval, compare it with the incident record, and document whether the latest change improved, worsened, or did not affect the failure. Restore the previous value when a test provides no benefit so unrelated changes do not accumulate.

    Checkpoint 3 — last-seen time: reproduce the original symptom once and record the result at the expected update interval. Compare it with the last known-good behavior. Keep the change only when this specific checkpoint improves the failure without creating a new warning; otherwise restore the previous value.Validation note 3: Recheck the symptom after a normal interval, compare it with the incident record, and document whether the latest change improved, worsened, or did not affect the failure. Restore the previous value when a test provides no benefit so unrelated changes do not accumulate.

    Verification checkpoint 4 focuses on command queue. Observe the relevant state, event or log through two normal cycles and write down the timestamp. If the result is unchanged, undo the experimental change before testing another layer so the diagnosis remains controlled and reversible.Validation note 4: Recheck the symptom after a normal interval, compare it with the incident record, and document whether the latest change improved, worsened, or did not affect the failure. Restore the previous value when a test provides no benefit so unrelated changes do not accumulate.

    For checkpoint 5, inspect route statistics rather than relying on the dashboard icon alone. Confirm the expected input, the system response and the returned state. Preserve the evidence, reverse any ineffective adjustment and move to the next checkpoint only after the current result is clear.Validation note 5: Recheck the symptom after a normal interval, compare it with the incident record, and document whether the latest change improved, worsened, or did not affect the failure. Restore the previous value when a test provides no benefit so unrelated changes do not accumulate.

    Checkpoint 6 — powered repeaters: reproduce the original symptom once and record the result at the expected update interval. Compare it with the last known-good behavior. Keep the change only when this specific checkpoint improves the failure without creating a new warning; otherwise restore the previous value.Validation note 6: Recheck the symptom after a normal interval, compare it with the incident record, and document whether the latest change improved, worsened, or did not affect the failure. Restore the previous value when a test provides no benefit so unrelated changes do not accumulate.

    Verification checkpoint 7 focuses on individual heal. Observe the relevant state, event or log through two normal cycles and write down the timestamp. If the result is unchanged, undo the experimental change before testing another layer so the diagnosis remains controlled and reversible.Validation note 7: Recheck the symptom after a normal interval, compare it with the incident record, and document whether the latest change improved, worsened, or did not affect the failure. Restore the previous value when a test provides no benefit so unrelated changes do not accumulate.

    For checkpoint 8, inspect security state rather than relying on the dashboard icon alone. Confirm the expected input, the system response and the returned state. Preserve the evidence, reverse any ineffective adjustment and move to the next checkpoint only after the current result is clear.Validation note 8: Recheck the symptom after a normal interval, compare it with the incident record, and document whether the latest change improved, worsened, or did not affect the failure. Restore the previous value when a test provides no benefit so unrelated changes do not accumulate.

    Checkpoint 9 — failed-node eligibility: reproduce the original symptom once and record the result at the expected update interval. Compare it with the last known-good behavior. Keep the change only when this specific checkpoint improves the failure without creating a new warning; otherwise restore the previous value.Validation note 9: Recheck the symptom after a normal interval, compare it with the incident record, and document whether the latest change improved, worsened, or did not affect the failure. Restore the previous value when a test provides no benefit so unrelated changes do not accumulate.

    Verification checkpoint 10 focuses on fresh report. Observe the relevant state, event or log through two normal cycles and write down the timestamp. If the result is unchanged, undo the experimental change before testing another layer so the diagnosis remains controlled and reversible.Validation note 10: Recheck the symptom after a normal interval, compare it with the incident record, and document whether the latest change improved, worsened, or did not affect the failure. Restore the previous value when a test provides no benefit so unrelated changes do not accumulate.

    For checkpoint 11, inspect driver restart rather than relying on the dashboard icon alone. Confirm the expected input, the system response and the returned state. Preserve the evidence, reverse any ineffective adjustment and move to the next checkpoint only after the current result is clear.Validation note 11: Recheck the symptom after a normal interval, compare it with the incident record, and document whether the latest change improved, worsened, or did not affect the failure. Restore the previous value when a test provides no benefit so unrelated changes do not accumulate.

    Determine whether the node is sleeping, unreachable or formally failed

    A battery node that is asleep is not automatically dead. Check whether the device is mains powered, listening, frequently listening or sleeping, then compare its last-seen time with its normal wake-up interval. A dead status after one missed exchange should lead to power and route checks, not immediate failed-node removal.

    For a battery device, replace or measure the battery and wake it using the manufacturer’s documented sequence while watching Z-Wave JS events. For a mains device, confirm line power and test a nearby repeater. Do not repeatedly ping a sleeping node; it will not respond until awake and the extra commands can fill its queue.

    Use route repair at the correct time

    Run an individual node heal only after power and physical placement are stable. Healing a powered-off device cannot succeed. Avoid treating a full-network heal as a universal fix, especially on large networks, because it creates substantial traffic and can obscure the original fault. Examine route statistics, failed transmissions and neighboring powered nodes first.

    The controller will permit failed-node removal only when the protocol considers the node failed. If exclusion is possible, prefer a normal exclusion so the device clears its network state. Use failed-node removal for a truly missing or broken node, then clean up entity references deliberately. Never remove a node merely because its entities show unavailable for a short period.

    Verify recovery beyond one successful ping

    • The node reports a fresh value or accepts a harmless command.
    • Interview and security state remain complete.
    • Transmission failures stop increasing during normal use.
    • Battery devices complete at least one expected wake cycle.
    • The node reconnects after a routine Z-Wave JS restart.

    If the node repeatedly becomes dead in the same location, investigate marginal power, metal enclosures, interference, missing repeaters or an unstable neighbor. Provide the node type, security level, firmware, route statistics, last-seen time and driver logs when escalating. That evidence is more useful than repeated network heals.