Files
POS-Automation/docs/ha-setup.md
T
Mortdecai 5ddac79fc7 docs: HA Google Home config deployed + verified (correct entity id)
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>
2026-06-07 14:00:46 -04:00

3.0 KiB
Raw Blame History

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_briefingbutton.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/)

  1. 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: single
    
  2. configuration.yamlscript.print_daily_briefing added to the existing google_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)
    
  3. ha core check passed → ha core restartgoogle_assistant.request_sync (HTTP 200).

Verified

  • script.print_daily_briefing loaded in HA (state off, "Print Daily Briefing").
  • Firing the script via HA API → bridge logged Received: PRESSRunning briefing...Briefing printed OKphysical 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 ~12 min (gemma4:26b summarization). The button/scene returns immediately; posbriefing/status goes printingok. 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_assistant integration; account-linking scopes include email+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"