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

68 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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/`)
1. **`scripts.yaml`** — the script (note the real discovery entity id, which HA
prefixed with the device name):
```yaml
print_daily_briefing:
alias: Print Daily Briefing
sequence:
- action: button.press
target:
entity_id: button.pos_briefing_print_daily_briefing
mode: single
```
2. **`configuration.yaml`** — `script.print_daily_briefing` added to the existing
`google_assistant.entity_config` (alongside the LG TV + projector; nothing else
touched):
```yaml
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 restart` → `google_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: 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 ~12 min (gemma4:26b summarization). The button/scene returns
immediately; `posbriefing/status` goes `printing` → `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_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:
```yaml
mqtt:
sensor:
- name: "POS Briefing Status"
state_topic: "posbriefing/status"
availability_topic: "posbriefing/availability"
```