Praxisnahe Tutorials, auf die du zählen kannst.
Einsteiger Guide für Home Assistant

Home Assistant Automation Tutorial – Komplett & verständlich erklärt

Hier in diesem Video zeige ich dir alles, was es zu Automationen in Home Assistant zu wissen gibt. Wir fangen bei den Triggern an, nehmen Bedingungen genauer unter die Lupe & erkunden die möglichen Aktionen.

Abgerundet wird das ganze mit vielen Beispielen aus dem “echten Leben”, wodurch du hoffentlich Ideen bekommst, wie du das gelernte in die Praxis umsetzen kannst 🙌

Inhaltsverzeichnis

Voraussetzungen

Home Assistant muss schon installiert sein, auf welcher Hardware spielt keine Rolle.

Erwähnte Automationen

Müll-Benachrichtigung

Luftreiniger-Automationen

alias: Env-SZ-Luftreiniger aus wenn gut
description: ""
trigger:
  - platform: numeric_state
    entity_id: sensor.levoit_core300s_air_quality
    below: "20"
condition:
  - condition: device
    device_id: 8884fbb0306788cc230d6a60bae2a459
    domain: fan
    entity_id: fan.levoit_core300s
    type: is_on
action:
  - device_id: 8884fbb0306788cc230d6a60bae2a459
    domain: fan
    entity_id: fan.levoit_core300s
    type: turn_off
mode: single
alias: Env-SZ-Luft reinigen wenn schlecht
description: ""
trigger:
  - platform: numeric_state
    entity_id: sensor.levoit_core300s_air_quality
    above: "100"
condition:
  - condition: device
    device_id: 8884fbb0306788cc230d6a60bae2a459
    domain: fan
    entity_id: fan.levoit_core300s
    type: is_off
  - condition: state
    entity_id: input_boolean.streaming_active
    state: "off"
action:
  - choose:
      - conditions:
          - condition: time
            after: "07:00:00"
            before: "22:00:00"
        sequence:
          - service: fan.set_preset_mode
            data:
              preset_mode: auto
            target:
              device_id: 8884fbb0306788cc230d6a60bae2a459
      - conditions:
          - condition: time
            after: "22:00:00"
            before: "07:00:00"
        sequence:
          - service: fan.set_preset_mode
            data:
              preset_mode: manual
            target:
              device_id: 8884fbb0306788cc230d6a60bae2a459
          - service: fan.set_percentage
            data:
              percentage: 25
            target:
              entity_id: fan.levoit_core300s
    default: []
mode: single

Helfer-Automationen

alias: Helper - Alle schlafen
description: ""
trigger:
  - platform: time_pattern
    minutes: /15
condition:
  - condition: time
    after: "22:00:00"
    before: "07:00:00"
  - condition: state
    entity_id: input_boolean.alle_schlafen
    state: "off"
  - condition: not
    conditions:
      - condition: device
        device_id: fe2d2e457bab4d78f539b0bcb20e6dca
        domain: device_tracker
        entity_id: device_tracker.smr201_laptop_arbeit
        type: is_home
      - condition: device
        device_id: 5724b0ce4f596d28d91bb86a092f0b30
        domain: device_tracker
        entity_id: device_tracker.mac_studio_3
        type: is_home
      - condition: device
        device_id: e81825ab6d37aa49dacd1d8d3109c205
        domain: device_tracker
        entity_id: device_tracker.mac_studio
        type: is_home
  - condition: state
    entity_id: binary_sensor.bewegung_in_der_wohnung
    state: "off"
    for:
      hours: 0
      minutes: 10
      seconds: 0
  - condition: or
    conditions:
      - condition: state
        entity_id: media_player.lg_webos_smart_tv
        state: "off"
      - condition: state
        entity_id: media_player.lg_webos_smart_tv
        state: unknown
      - condition: state
        entity_id: media_player.lg_webos_smart_tv
        state: unavailable
action:
  - service: input_boolean.turn_on
    data: {}
    target:
      entity_id: input_boolean.alle_schlafen
mode: single
alias: Helper - Presence WZ
description: ""
trigger:
  - type: no_motion
    platform: device
    device_id: 9bad2dd716d6be8f30c72f076a2e75d5
    entity_id: binary_sensor.hmip_smi55_2_00319d899ed9aa_motion
    domain: binary_sensor
    for:
      hours: 0
      minutes: 25
      seconds: 0
  - type: motion
    platform: device
    device_id: 9bad2dd716d6be8f30c72f076a2e75d5
    entity_id: binary_sensor.hmip_smi55_2_00319d899ed9aa_motion
    domain: binary_sensor
condition: []
action:
  - choose:
      - conditions:
          - condition: not
            conditions:
              - condition: state
                entity_id: switch.wake_lg_web_os_tv
                state: "on"
              - condition: state
                entity_id: media_player.wohnzimmer
                state: playing
          - type: is_no_motion
            condition: device
            device_id: 9bad2dd716d6be8f30c72f076a2e75d5
            entity_id: binary_sensor.hmip_smi55_2_00319d899ed9aa_motion
            domain: binary_sensor
            for:
              hours: 0
              minutes: 25
              seconds: 0
        sequence:
          - service: input_boolean.turn_off
            data: {}
            target:
              entity_id: input_boolean.presence_wohnzimmer
    default:
      - service: input_boolean.turn_on
        data: {}
        target:
          entity_id: input_boolean.presence_wohnzimmer
mode: single

Einmalige Automation für Strompreis

alias: Z_ 1Time Auto - Strompreis nächstes Jahr erhöhen
description: Goldgas schreiben 151122
trigger:
  - platform: time
    at: input_datetime.nachstes_jahr
condition: []
action:
  - service: input_number.set_value
    data:
      value: 0.467
    target:
      entity_id: input_number.aktueller_strompreis
mode: single

Luftfeuchtigkeits-Automation

Blueprints für Automationen

Blueprints Findest du in der Home Assistant Community.

Natürlich gibt es auch eine Doku von Home Assistant

Beitrage & Videos, in denen ich Blueprints genutzt habe:

Cheat-Sheet für Templates in Automationen

Hier findest du noch einige Hilfreiche Template-Codes für Automationen, die ich immer wieder von A nach B kopiere und die unglaublich praktisch sind 😁

Template-Condition, ob Entität zuletzt durch Automation geschaltet wurde.

Ziemlich praktisch um sicherzustellen, dass man beispielsweise das Licht nur wieder ausschaltet, wenn es durch eine / dieselbe Automation auch angeschaltet wurde.

condition: template
value_template: >-
  {{ (states.entity_domain.entity_id.last_changed -
  state_attr('automation.automation_id','last_triggered')).total_seconds()
  < 1.5 and
  state_attr('automation.automation_id','last_triggered') <
  states.entity_domain.entity_id.last_changed  }}
alias: Wurde das Licht (light.entity_id) auch durch die Automatisierung angeschaltet? (unmittelbar danach)

Setzen eines Wertes, der in einem Helfer steht

Stellt den Wert eines numerischen Helfers als Zieltemperatur bei mehreren Thermostaten ein

service: climate.set_temperature
data:
  temperature: "{{(float(states('input_number.entity_ID')))}}"
target:
  entity_id:
    - climate.entity_ID
    - climate.entity_ID
    - climate.entity_ID
    - climate.entity_ID
    - climate.entity_ID

Setzen eines veränderten Helfer-Wertes

Ganz ähnlich wie oben, aber es wird der Wert des Helfers – 1 gesetzt:

service: climate.set_temperature
data:
  temperature: "{{(float(states('input_number.entity_ID'))) - 1.0}}"
target:
  entity_id: climate.entity_ID

Zustände speichern & wiederherstellen

Der ultimative Kniff für Home Assistant Automationen! 🚀 Mit dem Saver oder auch Szenen kannst du den Status einer Entität speichern, danach irgendwas machen und anschließend den gespeicherten Status wiederherstellen!

Möglichkeit 1: Szene

Die Szenen eignen sich dann, wenn die Automation nur einmal parallel laufen soll und du von allen Geräten den kompletten Zustand wiederherstellen willst. Falls das nicht zutreffen sollte, schau dir gerne mal unten die Variante mit der HACS Komponente Saver an 👍

Hier die Automation aus dem Video, die ein Licht kurz rot aufleuchten lässt und dann den Status von vorher über eine Home Assistant Szene wiederherstellt, die während der Laufzeit der Automation angelegt wird.

alias: Shapes rot wenn Tür geöffnet wird
description: ""
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.eve_door_20ebn9901_tur
    from: "off"
    to: "on"
conditions:
  - condition: or
    conditions:
      - condition: state
        entity_id: device_tracker.mac_studio_3_lan
        state: home
      - condition: state
        entity_id: device_tracker.smr223
        state: home
actions:
  - action: scene.create
    metadata: {}
    data:
      scene_id: tempscenelightautomation
      snapshot_entities:
        - light.shapes_e22c
  - action: light.turn_on
    metadata: {}
    data:
      rgb_color:
        - 255
        - 0
        - 0
      brightness_pct: 60
    target:
      entity_id: light.shapes_e22c
  - delay:
      hours: 0
      minutes: 0
      seconds: 2
  - action: scene.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: scene.tempscenelightautomation
  - action: scene.delete
    metadata: {}
    data: {}
    target:
      entity_id: scene.tempscenelightautomation
mode: single

Möglichkeit 2: Saver

Auch wenn der Saver etwas Vorwissen zu Templating voraussetzt, ist er wirklich genial.

Du kannst mit dieser Komponente den Status jeder Entität über den Dienstaufruf speichern und anschließend mit der Aktion wieder darauf zugreifen.

Das geht natürlich auch von jeder Automation aus, also auch wenn der Status nicht durch dieselbe Automation gespeichert wird, durch die der Aufruf erfolgt oder du könntest die Aktionen auch beispielsweise im Dashboard ausführen (warum auch immer 😅).

alias: Fenster offen = Rollo hoch
description: ""
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.fenster_schlafzimmer_state
    from: "off"
    id: SZ
    to: "on"
  - trigger: state
    entity_id:
      - binary_sensor.fenster_kuche_state
    from: "off"
    id: KU
    to: "on"
conditions:
  - condition: or
    conditions:
      - alias: SZ
        condition: and
        conditions:
          - condition: trigger
            id:
              - SZ
          - condition: numeric_state
            entity_id: cover.rollo_schlafzimmer
            attribute: current_position
            below: 90
      - alias: KU
        condition: and
        conditions:
          - condition: trigger
            id:
              - KU
          - condition: numeric_state
            entity_id: cover.rollo_kuche
            attribute: current_position
            below: 90
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - SZ
        sequence:
          - action: saver.save_state
            metadata: {}
            data:
              entity_id:
                - cover.rollo_schlafzimmer
          - action: cover.open_cover
            metadata: {}
            data: {}
            target:
              entity_id: cover.rollo_schlafzimmer
          - wait_for_trigger:
              - trigger: state
                entity_id:
                  - binary_sensor.fenster_schlafzimmer_state
                from: "on"
                to: "off"
            timeout:
              hours: 0
              minutes: 20
              seconds: 0
          - action: cover.set_cover_position
            metadata: {}
            data:
              position: >-
                {{ saver_entity('cover.rollo_schlafzimmer', 'current_position')
                }}
            target:
              entity_id: cover.rollo_schlafzimmer
      - conditions:
          - condition: trigger
            id:
              - KU
        sequence:
          - action: saver.save_state
            metadata: {}
            data:
              entity_id:
                - cover.rollo_kuche
          - action: cover.open_cover
            metadata: {}
            data: {}
            target:
              entity_id: cover.rollo_kuche
          - wait_for_trigger:
              - trigger: state
                entity_id:
                  - binary_sensor.fenster_kuche_state
                from: "on"
                to: "off"
            timeout:
              hours: 0
              minutes: 20
              seconds: 0
          - action: cover.set_cover_position
            metadata: {}
            data:
              position: "{{ saver_entity('cover.rollo_kuche', 'current_position') }}"
            target:
              entity_id: cover.rollo_kuche
mode: parallel
max: 10

Weiterer Fall für Saver: Thermostate

Wenn du deine Thermostate bei geöffnetem Fenster herunterregeln willst, ist eine Szene zum Wiederherstellen ggf. ungeeignet. Beim Anwenden der Szene verhalten sich Thermostate häufig anders und ich würde an der Stelle mit Saver Folgendes machen:

Die Entität mit Saver speichern und dann in 2 Schritten (mit einem Delay dazwischen):

Temperatur wieder einstellen → Delay 2 Sekunden → Danach wieder auf heat (oder was auch immer vorher war) setzen.

Thermostate mögen es häufig nicht, wenn 2 Sachen gleichzeitig geändert werden. Ist auch nicht nur bei Homematic der Fall 😉

Weitere Beiträge & Videos zu Automationen

Wenn du nicht genug bekommst, schau mal hier für noch mehr Beiträge zum Thema!

Fazit

Jetzt hast du also hoffentlich Automationen zumindest grundlegend verstanden und du strotzt vor Tatendrang, sofort loszulegen. Die Automationen sind in Home Assistant einer der wichtigsten und mächtigsten Bausteine.

Denn ich kenne kein anderes System, welche so mächtig ist, wenn es darum geht, Arbeitsabläufe und tägliche Aufgaben automatisiert abzubilden.

Wenn du Fragen oder Anmerkungen hast, zögere nicht, sie mir unten in den Kommentaren mitzuteilen und ich werde mein Bestes tun, um dir zu helfen. Vielen Dank fürs Zuschauen!

Verpasse keine Tipps!

Ich sende keinen Spam! Erfahre mehr in der Datenschutzerklärung.

Transparenz: In diesem Artikel sind Partnerlinks enthalten. Durch einen Klick darauf ge­lan­gt ihr direkt zum Anbieter. Solltet ihr euch dort für einen Kauf entscheiden, erhalte ich ei­ne kleine Provision. Für euch ändert sich am Preis nichts & Partnerlinks haben keinerlei Einfluss auf meine Berichterstattung. Vielen Dank für deine Unterstützung!

Gründer von simon42. Schreibt hier ehrlich und leidenschaftlich über Smart Home und Technik Themen, denn das Zuhause wurde bereits von Sprachassistenten übernommen und die Kontrolle abgegeben 😁

Nennenswerte Antworten

  1. Avatar for maxe maxe says:

    Zu erwähnen sei noch, dass die Auslöser immer “Oder” sind und die Bedingungen im Standard immer “Und”.

    Also Auslöser 1 ODER Auslöser 2
    mit Bedingung 1 UND Bedingung 2

  2. eine Frage zu den Zustand Trigger bzw Zustand Bedingung. Wenn ich meine Heizung im Bad dafür nehme und mit dem attribut temperatur versehe und dann auch noch die soll Temperatur zb. 20 eingebe und dann testen drücke, ist die Bedingung nie erfüllt auch wenn soll auf 20 eingestellt ist. Ich meine auch immer mal eine Fehlermeldung bekommen zu haben aber find sie grad nicht.

    condition: state
    entity_id: climate.heizung_bad_eg
    attribute: temperature
    state: "20"
    

    kann das jemand mal testen( ist ein Homematic Thermostat)
    hoffe es ist verständlich erklärt :sweat_smile:

  3. Avatar for maxe maxe says:

    hat das Heizungsthermostat denn dann auch genau 20° ?
    Bedingung ist ja nur erfüllt, wenn am TRV 20° gemessen werden.

  4. Wenn ich nicht irre, wird bei einem manuellen Start nur die Aktion ausgelöst, trigger und Bedingung werden ignoriert.

    Zum testen kannst z. B nen Zeit trigger einbauen der zeitnah auslöst.

  5. das ist ja die SollTemperatur
    die IstTemp heißt bei den Homematic Thermostaten in HA “current_temperature”

    @meowmoo
    naja ich kann ja in der Automatisierung rechts bei der Bedingung auf die 3 Punkte gehen und auf testen drücken. Da sehe ich ja gleich ob die Bedingung erfüllt ist oder nicht

    :crayon:by HarryP: Zusammenführung Doppelpost.
    *@tabularasa84 *
    Bitte für Ergänzungen/Nachträge die “bearbeiten” Funktion verwenden. Danke!
    Wenn Du andere User direkt ansprechen oder zitieren möchtest, kannst Du das mit “@”+Usernamen (s.o.) tun.

Setze die Diskussion fort unter community.simon42.com

25 mehr antworten

Teilnehmer

Avatar for system Avatar for tabularasa84 Avatar for maxe Avatar for silberfuxx Avatar for Lupo Avatar for meowmoo Avatar for sirector Avatar for thitcher Avatar for tarag Avatar for dunkelheim Avatar for Gunter Avatar for Daniel1211

Die Kommentare sind geschlossen.

Send this to a friend