Alexa Sprachbefehle mit Boolean Hilfsvariablen in Home Assistant

Home Assistant 2. Sep. 2025

Einleitung
Die Integration von Sprachbefehlen über Alexa in Smart-Home-Systeme wie Home Assistant ermöglicht eine benutzerfreundliche Steuerung von Geräten und Szenarien. Ein häufiges Problem besteht darin, dass bestimmte Automationen nur einmal ausgelöst werden, was die Flexibilität der Sprachsteuerung einschränkt. In diesem Artikel wird erläutert, wie man mit Hilfe von Boolean Hilfsvariablen und Python-Skripten eine effektive Lösung für dieses Problem implementiert.

Problem
Der Benutzer möchte über Alexa Sprachbefehle wie „Schalte Erdgeschoss aus“ und „Schalte Erdgeschoss ein“ ausführen. Dabei sollen unterschiedliche Aktionen für das Ein- und Ausschalten des Erdgeschosses ausgeführt werden. Das Problem besteht darin, dass die Automationen nur dann ausgelöst werden, wenn sich der Zustand der Hilfsvariable ändert, was bedeutet, dass die Befehle nur einmal ausgeführt werden können, solange der Zustand nicht wechselt.

Lösung
Um das Problem zu lösen, kann ein Python-Skript verwendet werden, um den Zustand der Boolean Hilfsvariable manuell zu setzen. Dies ermöglicht es, den Zustand auf „unknown“ zu setzen, wodurch die Automation erneut ausgelöst wird. Hier ist ein Beispiel für die Implementierung:

alias: Erdgeschoss ein/aus
description: ""
triggers:
  - trigger: state
    entity_id:
      - input_boolean.erdgeschoss
    enabled: true
conditions: []
actions:
  - if:
      - condition: state
        entity_id: input_boolean.erdgeschoss
        state: "on"
    then:
      - action: light.turn_on
        metadata: {}
        data:
          brightness_pct: 2
        target:
          device_id: d2e97925323f24ed16c00c6cc874cfe7
    else:
      - action: remote.turn_off
        metadata: {}
        data: {}
        target:
          floor_id: erdgeschoss
      - action: light.turn_off
        metadata: {}
        data: {}
        target:
          floor_id: erdgeschoss
mode: restart

Um den Zustand der Hilfsvariable zu ändern, kann folgendes Python-Skript verwendet werden:

sequence:
  - action: python_script.set_state
    data:
      entity_id: input_boolean.erdgeschoss
      state: "on"
  - action: python_script.set_state
    data:
      entity_id: input_boolean.erdgeschoss
      state: "off"
  - action: python_script.set_state
    data:
      entity_id: input_boolean.erdgeschoss
      state: unknown
alias: "TEST Python Scripts: set_state"
description: ""

Schritte zur Umsetzung
1. Erstelle eine Boolean Hilfsvariable in Home Assistant für das Erdgeschoss.
2. Implementiere die Automation, die auf die Hilfsvariable reagiert und die entsprechenden Aktionen ausführt.
3. Erstelle ein Python-Skript, das den Zustand der Hilfsvariable auf „unknown“ setzt, um die Automation erneut auszulösen.
4. Teste die Sprachbefehle über Alexa, um sicherzustellen, dass die Automationen wie gewünscht funktionieren.

Hintergrundwissen
Boolean Hilfsvariablen sind nützlich, um Zustände in Home Assistant zu verwalten. Sie können als Trigger für Automationen verwendet werden, die auf Änderungen des Zustands reagieren. Das Setzen des Zustands auf „unknown“ ist eine Technik, die es ermöglicht, Automationen mehrfach auszulösen, ohne dass der Zustand tatsächlich geändert werden muss.

Zusätzliche Infos

FunktionErklärung
`input_boolean`Eine Hilfsvariable, die zwei Zustände (on/off) annehmen kann.
`action: light.turn_on`Schaltet das Licht ein und kann zusätzliche Parameter wie Helligkeit annehmen.
`action: remote.turn_off`Schaltet ein Gerät oder eine Gruppe von Geräten aus.
`python_script.set_state`Ein Befehl, um den Zustand einer Entität programmgesteuert zu ändern.

Hinweise & Best Practices
- Stelle sicher, dass die Python-Skripte korrekt in Home Assistant konfiguriert sind, um Fehler zu vermeiden.
- Teste die Automationen gründlich, um sicherzustellen, dass sie in allen Szenarien wie gewünscht funktionieren.
- Berücksichtige alternative Ansätze, wie die Verwendung von Webhooks oder MQTT, um komplexere Automationen zu erstellen.