docs: handoff — pairing prompt / IP drift / zombie bridge

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mortdecai
2026-10-23 00:35:01 -04:00
parent 34adf2848b
commit 9d6f2d28c1
@@ -0,0 +1,15 @@
# Handoff: pairing prompt on every IP change + zombie bridge
## Findings (2026-10-23)
- bscpylgtv keys pairings by IP in `/home/seth/.aiopylgtv.sqlite`; TV drifted through 11 IPs → a new on-TV prompt each time.
- A missed prompt made `lgtv.sh off` hang 60s → the TimeoutExpired raised in paho's on_message killed the MQTT thread; the poll loop kept the process "healthy" → silent zombie.
- Blocking 60s in the callback also starves keepalive → broker drops the connection → commands sent during the block are lost (the ON that "didn't work").
## Fixes (deployed, pushed)
- lgtv.sh: if there's no key for the current IP, use the newest stored key.
- lgtv_mqtt.py: commands run on a single worker thread and catch all exceptions.
- Omada reservation f8:01:b4:2a:26:ed → .20 is set, but the TV took .45 anyway; **why it didn't apply is unknown**. With the key fallback, drift no longer matters.
## Open
- Untested: whether the TV accepts an old key from a new IP without prompting. Find out the next time the IP changes.
- Polls report ON at .45 while Seth says the screen is off — the TV may keep :3000 open in network standby for a while. Watch whether HA state lags.