9d6f2d28c1
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
16 lines
1.2 KiB
Markdown
16 lines
1.2 KiB
Markdown
# 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.
|