Importing a tinytuya devices.json registers every device with type = ” (import deliberately never guesses a type) and, for any device the wizard’s LAN scan did not reach, ip = ”. _runnable() requires enabled AND ip AND local_key AND type, so such a row is never given a worker; _link_for() then falls through to its ‘offline’ default because nothing has ever connected. The card shows OFFLINE. Observed live on the Pi 2026-09-12 after the operator imported their account: 40 devices, every one OFFLINE, enabled_count 0 – and the operator reasonably read that as a device/network problem on their end when the real answer is ‘not set up yet: no type, no IP’. The payload already carries runnable: false, so the card has what it needs. Fix: render a distinct state for not-runnable rows – ‘not configured’ listing what is missing (type / IP / key) – and keep OFFLINE for a runnable device that genuinely will not answer. Same honesty rule the fleet seats follow: an unconfigured thing is absent, not failing.
Journey event · 14 Sep 2026
An imported-but-unconfigured Tuya device reads OFFLINE, which looks like a network fault
Importing a tinytuya devices.json registers every device with type = '' (import deliberately never guesses a type) and, for any device the wizard's LAN scan did not reach, ip = ''.
● state copied from the tracker, never improved
● event date 2026-09-14
| Event date | 2026-09-14 |
| Version found | |
| Version fixed | |
| Expected kit firmware | |
| Release file | |
| SHA-256 | |
| Served count | |
| Source | https://app.notion.com/3d92b4cda370817face1c588dabbdcfa |
All events · DSC · CannaLib · Site · Firmware releases
Empty rows are honest
A blank cell means the tracker has no value for it. Nothing on this page is filled in to look complete.
