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>
Google renders SCENE devices (HA scripts/scenes) as voice/Routine-only, not as
tappable tiles -> the button was invisible. Switched the Google exposure to a
template switch (tiles like the TV). Documents the broken HomeGraph SA key
(invalid_grant) that disables requestSync/reportState until regenerated.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Deployed script.print_daily_briefing (scripts.yaml) and exposed it in
google_assistant.entity_config on VM HA .146; ha core check passed, restarted,
request_sync OK. Verified end-to-end: HA script -> MQTT -> bridge -> printed.
Corrects the button entity id to button.pos_briefing_print_daily_briefing.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replaces the never-installed cron approach with an MQTT bridge mirroring the
lgtv pattern: Google Home button -> HA script/scene -> MQTT -> steel141 prints.
Adds MAC-based printer discovery (printer IP is DHCP-unstable) and a gemma4
summarizer swap. Includes scripts/dryrun.py (non-printing pipeline harness).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>