Home-Assistant-Steuerung

Home Assistant Piazza HQ steuern lassen – REST

Eine schnelle, tokenbasierte Tür: Füge einmalig einen rest_command-Block in das YAML von Home Assistant ein und rufe ihn dann aus jeder Automation auf.

Alle drei Türen unten tun genau dieselben zwei Dinge und sprechen mit demselben Piazza-HQ-Gerät – wähle für ein Gerät eine und nicht mehr als eine. Zwei gleichzeitig laufen zu lassen bedeutet nur doppelte Entitäten in Home Assistant für denselben Bildschirm.

Was du brauchst

  • Ein bereits eingerichtetes Piazza-HQ-Gerät (Pi, Windows oder Docker)
  • Zugriff auf die configuration.yaml von Home Assistant – das Add-on File Editor oder Studio Code Server funktioniert, wenn du keinen anderen Zugang hast
  • Fünf Minuten und ein Neustart von Home Assistant
1

Einen Automations-Token erzeugen

In Piazza HQ: Einstellungen → Home-Assistant-Steuerung → Token erzeugen. Dieser Token schaltet immer nur zwei Dinge frei – den Fernseher/Monitor eines Bildschirms ein- und ausschalten und ein gespeichertes Layout auf eine Anzeige anwenden. Er kann deinen Kalender nicht lesen, keine anderen Einstellungen ändern und sonst nichts tun.

2

Einen rest_command:-Block hinzufügen

Ersetze in der configuration.yaml von Home Assistant <host-pi-ip> durch die tatsächliche LAN-Adresse deines Piazza-HQ-Geräts und YOUR_TOKEN durch den Token aus Schritt 1:

rest_command: piazzahq_screen_off: url: "http://<host-pi-ip>:3000/api/screens/YOUR_DEVICE_ID/tv/power-off" method: POST headers: Authorization: "Bearer YOUR_TOKEN" piazzahq_screen_on: url: "http://<host-pi-ip>:3000/api/screens/YOUR_DEVICE_ID/tv/power-on" method: POST headers: Authorization: "Bearer YOUR_TOKEN"

Die Geräte-ID eines Bildschirms findest du in Piazza HQ unter Einstellungen → Mehrere Geräte, oder indem du deinen Token sie auflisten lässt (siehe die FAQ unten).

3

Home Assistant neu starten und in einer Automation nutzen

Einstellungen → System → Neu starten – ein neuer rest_command:-Block wird erst wirksam, wenn Home Assistant neu startet. Von da an kann jede Automation (eine Person verlässt das Haus, ein Schlaftracker-Sensor, ein Zeitauslöser) rest_command.piazzahq_screen_off / _on als Aktion aufrufen.

4

Optional: auch Layouts und Design umschalten

Dieselbe Idee, ein anderer Endpunkt – sende ein POST an /api/saved-layouts/<layout-id>/apply mit einem JSON-Body von {"display": "<display-slug>"} und demselben Authorization-Header. Das Anwenden eines gespeicherten Layouts schaltet auch das helle/dunkle Design dieser Anzeige um, da jedes gespeicherte Layout sein eigenes mitführt. Die ID eines gespeicherten Layouts findest du in der Layout-Bibliothek im Reiter Layout und den Slug einer Anzeige unter Einstellungen → Mehrere Geräte.

Wenn etwas schiefgeht

Meine Automation löst den Bildschirm nicht aus

Prüfe Geräte-ID und IP-Adresse im YAML noch einmal – ein Tippfehler dort schlägt von Home Assistants Seite aus stillschweigend fehl (es bekommt nur eine 404 zurück). Vergewissere dich, dass Home Assistant nach dem Hinzufügen des Blocks tatsächlich neu gestartet wurde; es erkennt rest_command.piazzahq_screen_off erst danach.

Wo finde ich die ID eines Bildschirms oder gespeicherten Layouts, ohne in der App zu suchen?

Derselbe Token schaltet außerdem drei schreibgeschützte Abfrage-Endpunkte frei, nützlich, wenn du das von Hand skriptest: GET /api/automation/screens, /api/automation/displays und /api/automation/saved-layouts – jeder liefert die genauen IDs und Namen, die du brauchst, mit demselben Authorization: Bearer-Header wie oben.

Kann ich es testen, ohne zuerst eine ganze Automation zu bauen?

Ja – ein einfaches curl mit derselben URL, Methode und demselben Header aus Schritt 2 funktioniert von jedem Rechner in deinem Netzwerk. Klappt das, die Home-Assistant-Automation aber nicht, liegt das Problem im Auslöser/in der Bedingung der Automation, nicht in der Verbindung zu Piazza HQ.

Du suchst die andere Richtung – Home-Assistant-Sensoren und -Geräte, die auf on deiner Piazza-HQ-Anzeige erscheinen? Das behandelt der Abschnitt Einstellungen im Benutzerhandbuch.