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>
3.0 KiB
HA + Google Home setup — POS Briefing button (DEPLOYED 2026-06-07)
Status: deployed and verified end-to-end on VM HA (192.168.0.146, HAOS 2026.2.3),
except the final Google-app tap (yours to try).
Chain: Google Home tap → HA script.print_daily_briefing → button.press →
MQTT posbriefing/button/press (broker CT 301) → pos-briefing-mqtt.service on
steel141 → pos_briefing.py → printer (by MAC) → TM-m30.
Google's google_assistant integration doesn't support button entities, so the
MQTT-discovery button is wrapped in a script, which Google exposes as a Scene
(a tappable button in the Home app).
What was deployed (VM HA /config, backed up to /config/.backup/)
scripts.yaml— the script (note the real discovery entity id, which HA prefixed with the device name):print_daily_briefing: alias: Print Daily Briefing sequence: - action: button.press target: entity_id: button.pos_briefing_print_daily_briefing mode: singleconfiguration.yaml—script.print_daily_briefingadded to the existinggoogle_assistant.entity_config(alongside the LG TV + projector; nothing else touched):google_assistant: # ...existing project_id / service_account / report_state / expose_by_default... entity_config: script.print_daily_briefing: name: Print Daily Briefing expose: true # switch.big_tv_lg_tv ... media_player.mitsubishi_projector ... (unchanged)ha core checkpassed →ha core restart→google_assistant.request_sync(HTTP 200).
Verified
script.print_daily_briefingloaded in HA (stateoff, "Print Daily Briefing").- Firing the script via HA API → bridge logged
Received: PRESS→Running briefing...→Briefing printed OK→ physical receipt printed. - MQTT discovery button is
button.pos_briefing_print_daily_briefing(Settings → Devices → MQTT → POS Briefing).
Your only remaining step
Open the Google Home app (account slingshooter08). Print Daily Briefing should
appear as a control (after the request_sync; if not, say "Hey Google, sync my
devices"). Tap it → receipt prints. Optionally assign it a room / rename.
Notes
- A print takes ~1–2 min (gemma4:26b summarization). The button/scene returns
immediately;
posbriefing/statusgoesprinting→ok. A second press while one is in flight is ignored (debounced) — no double prints. - Google-linking invariants (from lgtv 2026-06-06, already satisfied — don't re-fix):
manual
google_assistantintegration; account-linking scopes includeemail+name; "HTTP basic auth header" checkbox OFF; the GCP OAuth consent screen is unrelated. - Optional MQTT status sensor (configuration.yaml) if you want last-result visibility:
mqtt: sensor: - name: "POS Briefing Status" state_topic: "posbriefing/status" availability_topic: "posbriefing/availability"