Design
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.
| Eigenschaft | Wert |
|---|---|
| Fach | Smart Home & Licht |
| Schlüssel | homeassistant (so heißt das Plugin in Makros) |
| Bei frischer Installation | aus (im Marktplatz einschalten) |
| Befehle | 9 |
| Einrichtung | 2 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:
- Öffne dein Profil (unten links auf deinen Namen klicken).
- Wechsle zum Reiter Sicherheit und suche den Abschnitt Langlebige Zugriffstoken.
- Token erstellen, einen Namen vergeben, das Token sofort kopieren. Home Assistant zeigt es nur einmal.
In der Software: Plugins → Home Assistant → Aktivieren → Einrichten:
| Feld | Hinweis |
|---|---|
| Adresse von Home Assistant | Beispiel: http://homeassistant.local:8123 |
| Langlebiges Zugriffstoken | geheim: wird nach dem Speichern nie wieder angezeigt |
- Adresse von Home Assistant: zum Beispiel
http://homeassistant.local:8123oderhttp://192.168.1.20:8123. Ohnehttp://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
| Befehl | Name im Makro | Felder | Passt auf |
|---|---|---|---|
| Einschalten | homeassistant.turn_on | entity_id Entität, z.B. light.wohnzimmer * | Taste |
| Ausschalten | homeassistant.turn_off | entity_id Entität, z.B. light.wohnzimmer * | Taste |
| Umschalten | homeassistant.toggle | entity_id Entität, z.B. light.wohnzimmer * | Taste |
| Helligkeit setzen | homeassistant.set_brightness | entity_id Entität, z.B. light.wohnzimmer *value Helligkeit 0-100 * (beim Schieberegler kommt der Wert vom Regler) | Taste, Schieberegler |
| Helligkeit ändern | homeassistant.adjust_brightness | entity_id Entität, z.B. light.wohnzimmer *step Schrittweite in Prozent (je Rastung) | Taste, Drehregler |
| Szene starten | homeassistant.run_scene | entity_id Szene, z.B. scene.film * | Taste |
| Skript starten | homeassistant.run_script | entity_id Skript, z.B. script.gute_nacht * | Taste |
| Taste drücken | homeassistant.press_button | entity_id Taste, z.B. button.klingel * | Taste |
| Dienst aufrufen | homeassistant.call_service | service 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 Beispiellight.turn_onoderclimate.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
httpaufhttps), 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.