Zum Inhalt springen

Home Assistant ​

Schaltet Lampen, Szenen, Skripte und Schalter in Home Assistant und ruft beliebige Dienste auf. Braucht die Adresse der Installation und ein langlebiges Zugriffstoken aus dem eigenen Profil.

EigenschaftWert
FachSmart Home & Licht
Schlüsselhomeassistant (so heißt das Plugin in Makros)
Bei frischer Installationaus (im Marktplatz einschalten)
Befehle9
Einrichtung2 Felder

Wofür ​

Lampen, Szenen, Skripte und Schalter in Home Assistant per Taste, Schieberegler oder Drehregler schalten, und über den Befehl Dienst aufrufen jeden anderen Dienst, den Home Assistant kennt.

Das Plugin spricht mit der REST-Schnittstelle von Home Assistant. Jeder Befehl ist eine einzelne Anfrage. Es gibt keine Verbindung, die abreißen könnte.

Einrichten ​

Du brauchst die Adresse deiner Home-Assistant-Installation und ein langlebiges Zugriffstoken.

In Home Assistant:

  1. Öffne dein Profil (unten links auf deinen Namen klicken).
  2. Wechsle zum Reiter Sicherheit und suche den Abschnitt Langlebige Zugriffstoken.
  3. Token erstellen, einen Namen vergeben, das Token sofort kopieren. Home Assistant zeigt es nur einmal.

In der Software: Plugins → Home Assistant → Aktivieren → Einrichten:

FeldHinweis
Adresse von Home AssistantBeispiel: http://homeassistant.local:8123
Langlebiges Zugriffstokengeheim: wird nach dem Speichern nie wieder angezeigt
  • Adresse von Home Assistant: zum Beispiel http://homeassistant.local:8123 oder http://192.168.1.20:8123. Ohne http:// setzt die Software es davor. Bei einer Adresse mit Pfad (die Adresse deines Dashboards …/lovelace/0) zählt nur Rechner und Port.
  • Langlebiges Zugriffstoken: das Token von oben. Es wird nach dem Speichern nie wieder angezeigt.

Der Zustand heißt bereit, sobald beides eingetragen ist, vorher nicht eingerichtet. Ob Home Assistant antwortet, zeigt sich erst beim Drücken, mit einer Meldung, die sagt, woran es liegt. Die Zustandszeile verrät die Adresse nicht, damit sie nicht auf einem Widget im Stream-Bild landet.

Befehle ​

BefehlName im MakroFelderPasst auf
Einschaltenhomeassistant.turn_onentity_id Entität, z.B. light.wohnzimmer *Taste
Ausschaltenhomeassistant.turn_offentity_id Entität, z.B. light.wohnzimmer *Taste
Umschaltenhomeassistant.toggleentity_id Entität, z.B. light.wohnzimmer *Taste
Helligkeit setzenhomeassistant.set_brightnessentity_id Entität, z.B. light.wohnzimmer *
value Helligkeit 0-100 * (beim Schieberegler kommt der Wert vom Regler)
Taste, Schieberegler
Helligkeit ändernhomeassistant.adjust_brightnessentity_id Entität, z.B. light.wohnzimmer *
step Schrittweite in Prozent (je Rastung)
Taste, Drehregler
Szene startenhomeassistant.run_sceneentity_id Szene, z.B. scene.film *Taste
Skript startenhomeassistant.run_scriptentity_id Skript, z.B. script.gute_nacht *Taste
Taste drückenhomeassistant.press_buttonentity_id Taste, z.B. button.klingel *Taste
Dienst aufrufenhomeassistant.call_serviceservice Dienst, z.B. light.turn_on *
entity_id Entität (optional)
data Daten als JSON (optional), z.B.
Taste

* ist ein Pflichtfeld.

Entitäten ​

Eine Entität schreibst du als bereich.name: light.wohnzimmer, switch.ventilator, scene.film. Die Namen findest du in Home Assistant unter Einstellungen → Geräte & Dienste → Entitäten in der Spalte Entitäts-ID.

  • Es dürfen mehrere sein, durch Komma getrennt: light.wohnzimmer, light.flur. Sie werden gemeinsam geschaltet.
  • Groß- und Kleinschreibung wird verziehen: Es gibt keine Entität mit Großbuchstaben, nur Tippfehler.
  • Ein Tippfehler fällt gleich auf („x ist keine Entität - erwartet wird z.B. light.wohnzimmer“). Home Assistant selbst würde eine unbekannte Entität mit „alles gut“ und einer leeren Liste beantworten.

Helligkeit ​

  • Helligkeit setzen (Schieberegler): 0 bis 100. 0 schaltet aus.
  • Helligkeit ändern (Drehregler): Prozent je Rastung, ohne Angabe 5, mit Vorzeichen.

Bei einem Regler schickt die Software nicht fünfzig Anfragen, die sich überholen: Sie sendet nacheinander, und von allem, was sich unterwegs ansammelt, zählt nur der letzte Stand. Beim Drehregler werden die Rastungen zusammengezählt, jede zählt.

Dienst aufrufen ​

Für alles, wofür es keinen eigenen Befehl gibt:

  • Dienst: bereich.dienst, zum Beispiel light.turn_on oder climate.set_temperature.
  • Entität (optional)
  • Daten als JSON (optional): ein JSON-Objekt, zum Beispiel {"brightness": 120}. Die Entität im Feld schlägt eine Entität in den Daten, denn wer das Feld ausfüllt, will es benutzt sehen.

Beispiele ​

homeassistant.turn_on entity_id=light.wohnzimmer
homeassistant.call_service service=light.turn_on entity_id=light.wohnzimmer data={"brightness": 120}

Mehr unter Rezepte.

Gut zu wissen ​

  • Die Anfrage hat ein Zeitlimit von fünf Sekunden. Antwortet Home Assistant nicht, meldet die Software „keine Antwort innerhalb von 5 Sekunden“.
  • Das Plugin folgt keiner Weiterleitung. Das Token ginge sonst an den Rechner, auf den eine fremde Antwort zeigt. Leitet deine Adresse weiter (etwa von http auf https), trage die endgültige Adresse ein.
  • Die Meldungen sind so geschrieben, dass sie sagen, woran es liegt: Token abgelehnt - in Home Assistant ein neues langlebiges Zugriffstoken anlegen, Dienst oder Entität unbekannt - Namen und Adresse prüfen.
  • Das Plugin ist bei einer frischen Installation aus.