Troubleshooting¶
Common issues¶
"Invalid handler specified" error¶
Cause: Import error in the integration Python files — usually a truncated file copy or stale bytecode cache.
Fix:
- Check the real traceback in Settings → System → Logs (search for "zigporter").
- Delete the bytecode cache:
- Restart Home Assistant.
Card not appearing after install¶
The card JavaScript is registered when the integration loads, but the browser needs a page refresh to pick it up.
Fix: Refresh the browser with F5 (or Cmd+R on macOS).
"Configuration error" after hard refresh¶
Cause: Home Assistant loads custom card scripts as <script type="module"> (deferred). On hard refresh (Ctrl+Shift+R), the browser bypasses all caches and re-downloads everything — HA's frontend renders cards before the module finishes loading. Since the custom element isn't defined yet, HA shows "Configuration error". This is a known platform limitation that affects all custom cards (Mushroom, Button Card, etc.).
Fix: Use a normal refresh (F5 / Cmd+R) instead of hard refresh. If you've already hard-refreshed, a second normal refresh will resolve it.
Scan times out¶
Large Zigbee networks (50+ devices) can take several minutes to scan. The Z2M coordinator queries each device sequentially.
Fix: Increase the scan timeout in integration options (default: 600s, max: 600s, range: 60–600s).
Typical scan times by network size:
| Devices | Expected time |
|---|---|
| 10–20 | 15–30s |
| 30–50 | 40–70s |
| 50–100 | 1–3 min |
| 100+ | 3–9 min |
Map shows flat topology (no hops)¶
Cause: ZHA backend often lacks full routing table data.
Options:
- Switch to Zigbee2MQTT backend if available — it provides complete neighbor/LQI tables.
- The ZHA map will still show all devices, just without multi-hop depth.
Stale map after HA restart¶
The integration loads the last cached scan from disk on startup. This is expected behavior — click Scan to capture fresh topology.
If you see an old .gz sidecar file causing issues:
Wrong backend auto-detected¶
If you have both ZHA and Zigbee2MQTT installed, the integration setup may pick the wrong one.
Fix: During setup (or in options afterward), explicitly select your preferred backend. You can switch between them in Configure without reinstalling.
MQTT not configured error¶
When selecting Zigbee2MQTT as backend, the integration checks that the MQTT integration is set up in Home Assistant.
Fix: Ensure the MQTT integration is configured and connected before adding Zigporter.
Browser cache issues¶
Home Assistant static files can be aggressively cached. If you see stale card behavior after an update:
- Hard-refresh:
Ctrl+F5/Cmd+Shift+R - Clear browser cache for your HA URL
- Check for stale
.gzfiles in the static directory
Note
The integration uses cache_headers=False to prevent browser caching issues, but HA may still gzip static files into .gz sidecars that serve stale content.
Debug logging¶
Enable debug logging for deeper diagnostics:
Restart HA, then check Settings → System → Logs for detailed scan progress and timing information.
Getting help¶
- GitHub Issues — bug reports and feature requests
- Check existing issues before filing — your problem may already be tracked