docs: record OFF-path gotchas (CWD-relative key path, freshly-woken retry)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mortdecai
2026-06-01 20:16:46 -04:00
parent 8f2bd2b015
commit 66b0f516c3
+12
View File
@@ -25,6 +25,18 @@ Format: `YYYY-MM-DD: <decision> — <why>`
+ bscpylgtv live in `/home/seth/.local` (PEP 668 box). Matches how bscpylgtv + bscpylgtv live in `/home/seth/.local` (PEP 668 box). Matches how bscpylgtv
was already installed; the systemd unit runs `User=seth`. was already installed; the systemd unit runs `User=seth`.
- **2026-06-01: power_off must pass an absolute `key_file_path`.** bscpylgtv's
`StorageSqliteDict` defaults the key DB to `os.getcwd()/.aiopylgtv.sqlite`
(its `$USER_HOME` fallback is not `$HOME`). The old pve173 setup worked only
because it SSHed in as seth, landing CWD in `/home/seth`. Under systemd
(cwd=/) it threw `sqlite3.OperationalError: unable to open database file`.
Fix: `WebOsClient.create(ip, key_file_path="~/.aiopylgtv.sqlite")`.
- **2026-06-01: power_off retries (2×, 10s apart).** A TV woken seconds earlier
answers TCP :3000 but refuses a WebSocket control session for ~20-30s, so an
immediate OFF-after-ON can fail. Retry covers it; normal case (TV already up)
succeeds first try in ~3s. Bounded under the bridge's 60s subprocess timeout.
## Deferred / Rejected ## Deferred / Rejected
- **DHCP reservation for the TV (static IP):** not done — Pi-hole doesn't run - **DHCP reservation for the TV (static IP):** not done — Pi-hole doesn't run
DHCP (router does), so it's Seth's action on the router. The cached-IP probe DHCP (router does), so it's Seth's action on the router. The cached-IP probe