feat: simplify Google switch to on-only (state push restored)

Dropped the both-on/off-fire workaround now that HomeGraph reportState works
(new SA key + linked agent). turn_off is a no-op; on-tap prints; tile auto-reverts
via reportState. Verified: turn_on prints, turn_off does nothing. Docs/DECISIONS
updated to mark the HomeGraph auth issue resolved.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mortdecai
2026-06-10 04:53:26 -04:00
parent 660736747b
commit 93f6c33cd3
2 changed files with 24 additions and 29 deletions
+7 -6
View File
@@ -32,16 +32,17 @@ Format: `YYYY-MM-DD: <decision> — <why>`
(voice/Routine only) — the button was invisible. A template switch
(`switch.print_daily_briefing`) tiles like the TV. **Confirmed working end-to-end
2026-06-07: a Google Home tap printed a receipt.** State is forced off and both
on/off fire the print (debounce in bridge prevents double-print) because HomeGraph
state push is down — keep this until reportState works, then simplify to on-only.
on-tap fires the print; state is forced off so the tile auto-reverts via reportState;
`turn_off` is a no-op. (Was both-on/off-fire while HomeGraph was down; simplified to
on-only 2026-06-07 once state push was restored. Bridge debounce still guards doubles.)
- **2026-06-07: HomeGraph SA key regenerated.** The old `/config/SERVICE_ACCOUNT.json`
key was invalid (`invalid_grant` — rotated in the lgtv 06-06 cleanup, never refreshed),
breaking requestSync/reportState. Seth issued a new JSON key for `claude@seth-freiberg.iam`
(id `8e3e812b6913…`); deployed to HA (0600), restarted. Auth now succeeds
(400→404). **Residual:** requestSync/reportState still 404 ("agent not registered in
HomeGraph") even after a Google re-sync — control (EXECUTE) works, but live state
push to Google does not yet. Non-blocking for the print button (always-off by design).
Revisit if TV/projector live state matters (may need a full unlink+relink).
(400→404). After a Google re-link registered the agent, both requestSync and
reportState return 200 → **live state push works for all devices.** (A manually
admin-triggered request_sync logs a harmless 404: it sends the unlinked owner id
`2c22820…`; HA's automatic reporting uses the linked `f948247…` and succeeds.)
- **2026-06-07: paho-mqtt v1 callbacks (`CallbackAPIVersion.VERSION1`).** paho 2.1.0
is installed for `claude`; matches the working lgtv bridge. One-time deprecation
warning at startup is harmless.