Zum Inhalt springen
SONOYA.com
Raspberry Pi & Linux

Home Assistant: Automation löst nicht aus, Fehlersuche

Deine Home-Assistant-Automation tut nichts? Mit Traces findest Du die Ursache: Trigger, Bedingung, Modus Einzeln, nicht verfügbare Entität oder Zeitzone.

Von

Automations-Symbol auf farbigem Verlauf für die Fehlersuche an einer Home-Assistant-Automation, die trotz richtiger Einstellungen nicht auslöst

Die Automation sieht im Editor völlig richtig aus: Bewegung im Flur, dann Licht an. Trotzdem bleibt es dunkel, oder das Licht geht nur manchmal an. Das ist eines der häufigsten Probleme, mit denen Einsteiger in Home Assistant kämpfen, und fast immer steckt eine von fünf Ursachen dahinter. Raten musst Du dabei nicht, denn Home Assistant protokolliert jeden Lauf einer Automation Schritt für Schritt. Dieses Protokoll heißt Trace, und wer es lesen kann, findet den Fehler meist in zwei Minuten.

Diese Anleitung zeigt Dir, wie Du einen Trace öffnest und deutest, geht dann die fünf häufigsten Ursachen mit echten Beispielen durch und erklärt, wie Du Automationen gezielt testest, ohne auf den nächsten Sonnenuntergang zu warten. Stand ist Home Assistant 2026.11 mit deutscher Oberfläche. Die YAML-Beispiele nutzen die aktuelle Schreibweise mit triggers, conditions und actions.

Die erste Frage: Gibt es überhaupt einen Trace?

Öffne Einstellungen > Automationen & Szenen und dann Deine Automation. Oben rechts im Menü mit den drei Punkten findest Du Traces. Was Du dort siehst, teilt das Problem sofort in drei Gruppen:

  • Kein neuer Trace zum fraglichen Zeitpunkt: Die Automation ist gar nicht gestartet. Der Fehler liegt im Auslöser, siehe Ursache 1, oder die Automation ist deaktiviert. Dann zeigt der Editor oben einen Hinweis, und Du aktivierst sie mit einem Klick.
  • Ein Trace mit „Gestoppt, weil eine Bedingung nicht erfüllt wurde“ oder „Gestoppt, da nur eine einzige Ausführung zulässig“: Die Automation ist gestartet, wurde aber unterwegs angehalten. Das sind die Ursachen 2 und 3.
  • Ein vollständiger Trace ohne Fehler, aber das Gerät hat nicht reagiert: Die Aktion wurde ausgeführt, kam aber nicht an. Das ist meist Ursache 4.

Einen Trace lesen

Ein Trace besteht aus einem Ablaufdiagramm links und mehreren Reitern rechts. Im Diagramm ist der Weg, den der Lauf genommen hat, farbig hervorgehoben. Wo die Linie endet, hat die Automation aufgehört. Klickst Du auf einen Knoten, also den Auslöser, eine Bedingung oder eine Aktion, zeigen die Reiter die Details zu genau diesem Schritt:

  • Schritt-Details zeigt das Ergebnis, bei einer Bedingung also, ob sie erfüllt war.
  • Trace-Zeitleiste listet alle Schritte mit Uhrzeit, auch Wartezeiten.
  • Geänderte Variablen zeigt, was der Auslöser mitgeliefert hat, etwa den alten und den neuen Zustand eines Sensors.
  • Zugehörige Aktivität zeigt, was in dieser Zeit sonst im Haus passiert ist.

Oben im Trace wählst Du über die Pfeile oder das Auswahlfeld frühere Läufe aus. Home Assistant hebt laut Dokumentation standardmäßig die letzten fünf Traces pro Automation auf. Läuft eine Automation sehr oft, sind die interessanten Läufe schnell überschrieben. Dann erhöhst Du die Zahl über In YAML bearbeiten mit einer zusätzlichen Zeile:

Code
trace:
  stored_traces: 20

Ursache 1: Der Auslöser feuert nicht

Angezeigter Zustand statt Rohzustand

Die Oberfläche zeigt bei einem Türsensor „Offen“ und bei einem Bewegungsmelder „Erkannt“. Intern ist der Zustand in beiden Fällen schlicht on. Wer im Auslöser von Hand „Offen“ einträgt, wartet ewig:

Code
triggers:
  - trigger: state
    entity_id: binary_sensor.haustuer
    to: "Offen"

Richtig ist der Rohzustand:

Code
triggers:
  - trigger: state
    entity_id: binary_sensor.haustuer
    to: "on"

Den Rohzustand jeder Entität siehst Du unter Einstellungen > Werkzeuge > Zustände in der Spalte für den Zustand. Im visuellen Editor umgehst Du das Problem, indem Du den Zustand bei Zu (optional) aus der Liste auswählst, statt ihn einzutippen.

Ein „Von“-Zustand, der nach einem Ausfall nicht passt

Hast Du bei Von (optional) den Wert off eingetragen, löst die Automation nur beim Wechsel von off nach on aus. War das Gerät zwischendurch kurz nicht erreichbar, ist der Wechsel aber unavailable nach on, und der Auslöser ignoriert ihn. Lass das Feld Von (optional) leer, wenn es Dir egal ist, woher der Zustand kommt.

Attribut statt Zustand

Viele Werte sind keine eigenen Entitäten, sondern Attribute, etwa die aktuelle Temperatur eines Thermostats. Ein Zustands-Auslöser ohne Attribut reagiert nur auf den Hauptzustand, beim Thermostat also auf heat oder off. Für das Attribut trägst Du es ausdrücklich ein:

Code
triggers:
  - trigger: numeric_state
    entity_id: climate.wohnzimmer
    attribute: current_temperature
    below: 19

Schwellenwerte reagieren nur auf das Überschreiten

Ein Auslöser vom Typ „Numerischer Zustand“ feuert nur in dem Moment, in dem der Wert die Schwelle überschreitet. Liegt die Temperatur schon unter 19 Grad, wenn Du die Automation speicherst, passiert nichts, bis sie einmal über 19 und wieder darunter gefallen ist. Das ist kein Fehler, sondern das Prinzip: Auslöser reagieren auf Änderungen, sie prüfen keinen Dauerzustand. Soll zusätzlich beim Start von Home Assistant geprüft werden, ergänzt Du einen zweiten Auslöser für den Start und eine Bedingung mit derselben Schwelle.

Ursache 2: Eine Bedingung blockiert

Steht im Trace „Gestoppt, weil eine Bedingung nicht erfüllt wurde“, klickst Du im Diagramm auf die Bedingung, an der die Linie endet. Unter Schritt-Details siehst Du, welche Bedingung mit welchem Wert gescheitert ist.

Noch schneller geht es direkt im Editor: Jede Bedingung hat in ihrem Menü mit den drei Punkten den Eintrag Prüfen. Home Assistant wertet sie dann mit den aktuellen Werten aus und zeigt „Bedingung erfüllt“ oder „Bedingung nicht erfüllt“ an. Typische Stolperfallen sind eine Zeitbedingung über Mitternacht, bei der „nach 22:00“ und „vor 06:00“ in falscher Reihenfolge stehen, und eine Anwesenheitsbedingung, bei der die Person laut Home Assistant gerade nicht home ist, weil die App auf dem Handy den Standort nicht schickt.

Ursache 3: Der Modus „Einzeln“ verwirft neue Starts

Jede Automation hat einen Modus. Standard ist Einzeln: Läuft die Automation noch, wird ein neuer Start verworfen, und Home Assistant schreibt die Warnung Already running ins Protokoll. Das trifft vor allem Automationen mit einer Wartezeit. Das klassische Beispiel ist ein Bewegungslicht, das zwei Minuten nach dem Einschalten wieder ausgehen soll. Läufst Du nach einer Minute erneut durch den Flur, wird der zweite Start verworfen, und das Licht geht mitten in Deiner Bewegung aus.

Die Lösung ist der Modus restart. Er bricht den laufenden Durchgang ab und beginnt von vorn, die zwei Minuten zählen also ab der letzten Bewegung:

Code
mode: restart
triggers:
  - trigger: state
    entity_id: binary_sensor.flur_bewegung
    to: "on"
actions:
  - action: light.turn_on
    target:
      entity_id: light.flur
  - delay:
      minutes: 2
  - action: light.turn_off
    target:
      entity_id: light.flur

Im visuellen Editor stellst Du den Modus über das Menü mit den drei Punkten und Modus ändern um. Die Unterschiede aller vier Modi beschreibt die offizielle Seite zu den Automationsmodi.

Ursache 4: Die Entität ist nicht verfügbar

Der Trace läuft fehlerfrei durch, aber die Lampe bleibt aus. Dann schau unter Einstellungen > Werkzeuge > Zustände, welchen Zustand die Lampe gerade hat. Steht dort unavailable, hat Home Assistant keine Verbindung zum Gerät, und jeder Schaltbefehl verpufft. Unter Einstellungen > System > Protokolle findest Du dazu meist eine Warnung der zuständigen Integration.

Bei Zigbee-Geräten liegt das oft an der Funkverbindung, wie der Artikel Zigbee-Geräte offline? Netz in Home Assistant stärken erklärt. Damit Dir ein solcher Ausfall künftig sofort auffällt, statt erst beim nächsten Fehlschlag einer Automation, hilft die Anleitung Home Assistant: Melden, wenn ein Sensor keine Daten mehr schickt.

Ein Sonderfall: Hast Du eine Entität umbenannt, also ihre Entitäts-ID geändert, zeigt die Automation auf eine ID, die es nicht mehr gibt. Der Editor markiert die Stelle dann, und unter Einstellungen > System > Reparaturen erscheint meist ein Hinweis. Trag die neue ID ein und speichere.

Ursache 5: Zeitzone und Sonnenstand

Läuft eine zeitgesteuerte Automation immer um genau eine oder zwei Stunden versetzt, ist die Zeitzone falsch eingestellt. Du korrigierst sie unter Einstellungen > System > Zuhause-Informationen im Feld Zeitzone, für Deutschland Europe/Berlin. Im selben Bereich steht auch der Standort Deines Zuhauses. Stimmt er nicht, berechnet Home Assistant Sonnenauf- und Sonnenuntergang für den falschen Ort, und alle Sonnen-Auslöser liegen daneben.

Die zweite Falle ist das Vorzeichen beim Versatz. Soll das Licht eine halbe Stunde vor Sonnenuntergang angehen, braucht der Versatz ein Minus:

Code
triggers:
  - trigger: sun
    event: sunset
    offset: "-00:30:00"

Ohne Minus geht das Licht eine halbe Stunde nach Sonnenuntergang an, was im Winter schnell wie „löst gar nicht aus“ wirkt, weil Du um diese Zeit längst selbst geschaltet hast.

Gezielt testen, statt zu warten

Im Menü der Automation findest Du Aktionen ausführen. Dieser Befehl führt nur die Aktionen aus und überspringt Auslöser und Bedingungen. Er beantwortet also genau eine Frage: Funktionieren die Aktionen? Schaltet die Lampe dabei, liegt der Fehler bei Auslöser oder Bedingung. Bleibt sie aus, liegt er in der Aktion oder beim Gerät.

Um den Auslöser selbst zu testen, simulierst Du eine Zustandsänderung. Öffne Einstellungen > Werkzeuge > Zustände, such den Sensor, klick ihn an und trag oben einen neuen Zustand ein, etwa on, dann Zustand setzen. Home Assistant behandelt das wie eine echte Änderung, die Automation startet, und Du bekommst einen frischen Trace. Das echte Gerät merkt davon nichts, und beim nächsten Update des Sensors stimmt der Zustand wieder.

Vorlagen im Template-Editor prüfen

Arbeitet eine Bedingung oder ein Auslöser mit einer Vorlage, testest Du sie unter Einstellungen > Werkzeuge > Template. Links gibst Du die Vorlage ein, rechts zeigt Home Assistant sofort das Ergebnis:

Code
{{ states('sensor.wohnzimmer_temperatur') | float(0) > 25 }}

Das Ergebnis muss True oder False sein. Der Filter float(0) sorgt dafür, dass ein Sensor, der gerade unavailable meldet, als 0 gewertet wird, statt die ganze Vorlage mit einem Fehler abzubrechen. Fehlt so ein Standardwert, ist genau das eine häufige Ursache für Automationen, die nach einem Neustart nicht mehr auslösen.

Die Checkliste für den nächsten Fehler

  1. Trace öffnen: gibt es einen Lauf zum fraglichen Zeitpunkt?
  2. Kein Lauf: Rohzustand, Von-Zustand, Attribut und Schwellenwert im Auslöser prüfen.
  3. Lauf gestoppt: die markierte Bedingung mit Prüfen testen oder den Modus anpassen.
  4. Lauf vollständig: Zustand des Zielgeräts unter Zustände und die Protokolle prüfen.
  5. Falsche Uhrzeit: Zeitzone, Standort und das Vorzeichen beim Sonnenversatz prüfen.

Wenn Du Home Assistant gerade erst aufsetzt, beginnst Du am besten mit der Anleitung Home Assistant auf dem Raspberry Pi installieren. Mit den Traces im Hinterkopf baust Du Deine ersten Automationen dann gleich so, dass Du jeden Fehler in Minuten statt Abenden findest.

Weiterlesen.