HA: Automatisierung wird nicht ausgeführt

joerg5324

New member
Hallo Welt,

ich habe mich gerade angemeldet und eine blöde Anfängerfrage. :.-)

Ganz kurzes Vorspiel, kann man ggf., überlesen, ist fürs akute Problem nicht relevant: Ich begann die "Smarthome-Welt" mit den Sonderangeboten - bei Lidl. :) Schon damals wissend dass ich bei der Lidl-App und dem Cloudzwang nicht bleiben würde. Nachdem das nun wie erwartet schon 2, 3 Mal auf dem Popo gesessen hat und nicht mehr reagierte war es Zeit für was Besseres. Die Geräte hatte ich durchaus schon so ausgewählt das alles Home Assistant / ZigBee kompatibel war. Ich installierte in einer VM (mit KVM) in eine eh schon vorhandene Nextcloud-Lösung, reichte via VM den Sonoff-Stick durch (kleiner Kampf, geht jetzt aber) und nahm meine Geräte in Betrieb und gab ihnen lesbare Bezeichner. Das funktioniert auch soweit alles, ich kann Temperaturen und Luftfeuchtigkeit auslesen, ich kann Steckdosen und Lampen schalten, alles prima.

Jetzt zum Problem: ich scheitere schon an den allerkleinsten Automatisierungen. Ich möchte eine der vorhandenen Steckdosen in Abhängigkeit einer Temperatur ein- und ausschalten. Heizungsregelung für Arme, sozusagen. Ich habe dazu zwei Automatisierungen erstellt, die Erste soll die Heizung einschalten wenn eine Temperatur unterschritten ist:

Code:
alias: TempAZiEin
description: ""
trigger:
  - platform: numeric_state
    entity_id: sensor.temp_azi_temperature
    below: 23
    for:
      hours: 0
      minutes: 1
      seconds: 0
condition: []
action:
  - type: turn_on
    device_id: a6d527b8da0762923c05c83a469e79ce
    entity_id: switch.stecker_azi
    domain: switch
mode: single

Die Andere soll die Heizung halt wieder ausschalten:

Code:
alias: TempAziAus
description: ""
trigger:
  - platform: numeric_state
    entity_id: sensor.temp_azi_temperature
    above: 25
condition: []
action:
  - type: turn_off
    device_id: a6d527b8da0762923c05c83a469e79ce
    entity_id: switch.stecker_azi
    domain: switch
mode: single

Soweit keine Raketentechnik - funktioniert nur nicht. :) Ich kann beide Automatisierungen manuell über "Ausführen" anstupsen und dann schalten sie - unter Ignoranz der gerade herrschenden Temperatur - die Heizung auch ein und aus. Nur "automatisiert" ist da nichts. Was muss ich denn machen, damit, naja, wegen mir zeitgesteuert oder in einer Pollingschleife, diese Automatisierungen abgefragt und ausgeführt werden und auch die Temperatur beachten?

Oder ist dieser Ansatz ganz grundsätzlich falsch? Ich lese seit Tagen im Netz herum und stoße auf seltsame Begriffe. Ich möchte eigentlich keine "Helfer" und ich brauche doch für eine dermaßen einfache Aufgabe keine "Blueprints"?

Und was will mir die Hilfeseite von https://www.home-assistant.io/docs/automation/modes/ mit "single" bis "parallel" sagen? Will ich das nun neu starten, wenn es gelaufen ist? Oder nacheinander? Ich versteh gar nicht was hier gemeint ist. Das soll einfach nur "permanent" laufen. immer dann, wenn die Temperatur erreicht ist? Das kann doch nicht so schwer sein?

Ich habe diverse YT-Videos gesehen und das erscheint mir als Anfänger furchtbar umständlich im Vergleich mit der zwar blöd cloudbasierten, aber sehr einfach zu benutzenden Lidl-App aus dem ersten Absatz... Ich will mich eigentlich nicht mit YAML-Details auseinander setzen, eine so primitive Aufgabe muss doch im visuellen Editor lösbar sein?

Ein Stups in die richtige Richtung, insb. verständliche Literaturquellen, wäre super.

Tnx, Jörg
 
Das geht beides in eriner Automatisierung, hier musst du nur deine Entitys ändern

YAML:
alias: Heizung An - Aus  für Arme ;-)
description: Heizung An - Aus  für Arme ;-)
trigger:
  - type: temperature
    platform: device
    device_id: 147f949368dbfb508be5d0a3a381e306
    entity_id: sensor.lumi_lumi_weather_temperature_8
    domain: sensor
    for:
      hours: 0
      minutes: 1
      seconds: 0
    id: unter 23°C ein
    below: 23
  - type: temperature
    platform: device
    device_id: 147f949368dbfb508be5d0a3a381e306
    entity_id: sensor.lumi_lumi_weather_temperature_8
    domain: sensor
    above: 25
    for:
      hours: 0
      minutes: 1
      seconds: 0
    id: ueber 25°C aus
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: unter 23°C ein
        sequence:
          - type: turn_on
            device_id: 3db7b113d0b5dfd113c6a1cade0f9a4d
            entity_id: switch.lumi_lumi_plug_maeu01_switch_7
            domain: switch
      - conditions:
          - condition: trigger
            id: ueber 25°C aus
        sequence:
          - type: turn_off
            device_id: 3db7b113d0b5dfd113c6a1cade0f9a4d
            entity_id: switch.lumi_lumi_plug_maeu01_switch_7
            domain: switch
mode: single
 
Wenn ich heizen will, muss ich das Rad nicht neu erfinden. Wenn man was im UI ändern kann statt in Dateien oder Config ist das kein Fehler. Wenn man ihn ausschalten will, kann man das per service: climate.set_hvac_mode veranlassen.
 
Wenn ich heizen will
Wenn... mag das korrekt sein

(Ich Persönlich nehme Einfluss auf die Heizungssteuerung „Deta T, Parallelverschiebung, Flammen modulation usw.“ anstelle auf die Thermostate)

in der Problemstellung oben geht es aber nicht um Heizen, hier wird HART ein/aus geschaltet ohne die "Kurven, Nachlauf Zeiten, Delta usw." zu berücksichtigen.

Aber wir wollen nicht OffTopic gehen, warten wir mal ab was der Ersteller dazu meint.
 
Das geht beides in eriner Automatisierung, hier musst du nur deine Entitys ändern

Puh. jetzt hab ich mehr Fragen als vorher. Nummer 1: Muss ich nicht auch die device_id ändern? Wenn nein: Wieso nicht? Darf da *irgendwas* stehen? Kann ich es weg lassen?

YAML:
 - type: temperature

Warum steht bei Dir "type: temperatur" und bei mir entstand aus dem visuellen Editor bei "type" kein Eintrag? Ist das wichtig? Wenn ja, wofür?

YAML:
platform: device

Warum hast Du hier device und ich numeric_state? Was ist der Unterschied?

YAML:
domain: sensor

Was ist eine domain? Wofür benötige ich das?

YAML:
id: unter 23°C ein
below: 23


Wofür ist die id? ist das nur eine bessere Beschreibung oder ist das wichtig?

YAML:
- choose:


Ist das "sowas wie eine case-Verzweigung" in einer Programmiersprache? Kann der visuelle Editor das nicht? Man muss es grundsätzlich manuell schreiben?

YAML:
- conditions:

Das kapier ich nicht. Ich hatte das so verstanden dass ich die Bedinung, unter der etwas passieren soll, in den Bereich "trigger" scheribe und nur wenn ich *zusätzliche* Bedingungen festlegen möchte das in "condition" erscheinen soll? *Muss* man das immer zwei Mal schreiben, *kann* man es, oder ist das die Ursache das mein Code nicht lief?

YAML:
sequence:

Ist das "so etwas wie eine Klammer"? Also in C {...} z. B.? Und wenn ja, warum klammerst Du das hier? Es folgt doch dann nur eine einige Angabe, nämlich "schalt das ein"?

Und so ganz grundsätzlich: Gibt es irgendwo eine verständliche Anleitung zu diesen ganzen Befehlen? Ein paar "HelloWorld"-Beispiele? Mir ist YAML prinzipiell nicht unbekannt, die Netzkonfiguration in Linux benutzt das ja seit Jahren für netplan, aber nur die Kenntnis der Syntax (und das man über jedes falsche Leerzeichen einen Bockspring macht) reicht nicht aus um zu begreifen was ich hier schreiben muss.

Was ist eigentlich mit diesem visuellen Editor? Der erzeugt keinen lauffähigen Code, sondern nur so Templates, die man dann ergänzen muss? Ist das immer so oder nur bei Automatisierungen?
 
Du brauchst keine Automatisierung, erstelle einen generischen Thermostat mit dem Thermometer und der Steckdose. https://www.home-assistant.io/integrations/generic_thermostat/

Das bringt bei mir den Hinweis das ich einen Codeblock in eine "configuration.yaml" eintragen soll. Wo finde ich die? Das beschreibt die verlinkte Dokuseite nicht.

Oder schau, was es für HACS so gibt zum Thema Termostat/Climate/HVAC.

Das muss ich mir mal in Ruhe ansehen. Ich würde gern nicht nur irgendwelchen Code kopieren sondern verstehen was ich hier tue...

Tnx
 
Nummer 1: Muss ich nicht auch die device_id ändern?
Diese ist für jedes Gerät eindeutig und muss geändert werden bez. passt sich beim ändern automatisch an

Warum steht bei Dir "type: temperatur" und bei mir entstand aus dem visuellen Editor bei "type" kein Eintrag?
siehe unten ...
Warum hast Du hier device und ich numeric_state?
Da ich Gerät gewählt habe und du Numerischer Zustand

Was ist eine domain?
Da Temperatur in der Regel ein Sensor ist der sich in der Übergeordneten Gruppe Domain befindet

Wofür ist die id?
Damit wird Später bei choos (Auswahl) die entscheidung getroffen auf diese Aktion Auslöst

Ist das "sowas wie eine case-Verzweigung" in einer Programmiersprache? Kann der visuelle Editor das nicht? Man muss es grundsätzlich manuell schreiben?
dies ist die Auswahl, lässt sich üner den Visuellen Editor erstelle (Auswahl)

Das kapier ich nicht. Ich hatte das so verstanden dass ich die Bedinung, unter der etwas passieren soll, in den Bereich "trigger" scheribe
hier wird entschieden ob unter 23°C oder über 25°C

Ist das "so etwas wie eine Klammer"? Also in C {...} z. B.? Und wenn ja, warum klammerst Du das hier? Es folgt doch dann nur eine einige Angabe, nämlich "schalt das ein"?
Dies ist die eigentliche Aktoin die ausgeführt wird


obiger Code
lässt sich alles Visuelle erstellen...

1677254479955.png
1677254511170.png
1677254556316.png
1677254591578.png
 
Da ich Gerät gewählt habe und du Numerischer Zustand

Seltsam. Ich hab das jetzt Schritt für Schritt nochmal probiert und jetzt sieht mein Code aus wie Deiner. Werd ich wohl irgend einen Scheiß geklickt haben.

Damit wird Später bei choos (Auswahl) die entscheidung getroffen auf diese Aktion Auslöst

Aaaja. Ist jetzt klar. Damit vermeidest Du die zweite Automatisierung und kannst alles in Eine packen?

dies ist die Auswahl, lässt sich üner den Visuellen Editor erstelle (Auswahl)

Die 3 unscheinbaren Punkte und was sich da alles verbirgt waren mir entgangen. :) Tnx.

Ich probiere jetzt seit etlichen Stunden (eigentlich schon seit 3 Tagen) herum. Die gute Nachricht: Es ist nicht alles kaputt. Ich kann eine Automatisierung erstellen. Wir haben einen Katzenbrunnen, der aller 2 Stunden für 3 Minuten Wasser nach oben pumpen soll. An eine andere Schaltsteckdose gehangen, Steckdose angelernt, mit dem
Auslöser " Time pattern trigger" gespielt, hey, das geht!

Schlechte Nachricht: Die Automatisierung mit der Heizung geht immer noch nicht. Weder mit dem was ich hier selbst zusammen klicke noch mit dem was Du gepostet hast (nach Anpassung der device_id und entity_id). Die Temperatur wird korrekt ausgelesen, sehe ich im Dashboard. Ich kann den Schalter im Dashboard ein. und ausschalten. Automatisch geht nix.

Ich hab inzwischen das Logbuch gefunden, das mich aber nicht weiter mit Meldungen behelligt. Es ist als wäre die ganze Automatisierung tot und würde niemals gestartet. Gibt es so etwas wie einen Debugger? Das man in das yaml eine Zeile schreibt ala "ich war hier" und die dann im Logfile erscheint?
 
Problem ist gelöst. Ich habe in meiner Verzweiflung die ganze VM mal neu gebootet, und siehe da, jetzt gehts so wie von alexamend beschrieben. Danke für den Support. Ich melde mich bestimmt bald mit dem nächsten Anfängerproblem. ;-)
 
Was schaltest du denn, eine Therme, einen Elektroheizer? Ich gehe davon aus, dass ein Thermostat wesentlich flexibler ist als eine Automatisierung.

Bei allen möglichen und unmöglichen Gelegenheiten muss man in den Entwicklerwerkzeugen yaml neu laden oder HA neu starten.
 
Was schaltest du denn, eine Therme, einen Elektroheizer? Ich gehe davon aus, dass ein Thermostat wesentlich flexibler ist als eine Automatisierung.

Das war primär ein *Test* ob ich das alles hinbekomme. Dauerhaft mit Strom heizen macht arm. Die aus meiner schlichten Sicht sinnvolle Umsetzung des "Konzepts" war:

Wir haben hier eine Ecke mit einem Feuchtigkeitsproblem. Da ist ein Ventilator installiert, der bei 60% Luftfeuchtigkeit anschalten und bei 55% wieder ausgehen soll. Das tut er auch schon länger mit besagter Lidl-App. Und bevor ich das anpacke und kaputt mache wollte ich sicher sein dass das in HA geht. Zur Simulation eignete sich ein auf dem Tisch liegender Temperatursensor, den ich temporär in die Hand nehmen und erwärmen kann, besser als die gezielte Beeinflussung der Luftfeuchtigkeit (durch über einen Topf mit heißem Wasser halten oder so).

Und da meine "Simulation" mit Eurer Unterstützung jetzt ging und ich so *halbwegs* verstehe was ich hier tue hab ich den Ventilator und seinen Sensor gerade in HA integriert und es funktioniert seit 1/2 Stunde. :)

Bei allen möglichen und unmöglichen Gelegenheiten muss man in den Entwicklerwerkzeugen yaml neu laden oder HA neu starten.

Ja, das weiß ich - jetzt. *bg*

VG
 
Hallo zusammen!
Ich kram den Thread noch mal hervor, weil ich ein ähnliches Problem habe. Eigentlich möchte ich etwas total simples machen, aber die Ventilatoren werden nicht eingeschalten.
"Steigt die Temperatur über 24C° und ist es zwischen 8:30 und 18 Uhr und es ist Mo, Di, Mi, Fr oder Samstag, schalte die Ventilatoren ein."
Klingt einfach, die Automatisierung startet aber nicht.
Wird es erst um 10:02 Uhr 24C° warm, soll er erst dann einschalten, im Moment sieht es so aus, als prüfe er um 8:30 Uhr, ob es 24 C° hat. Wenn nicht, tut er den ganzen Tag nichts mehr.
Sieht jetzt mal so im visuellen Editor aus:
1720684273786.png

YAML:
alias: Ventilator EIN 9-18 Uhr
description: ""
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.t_h_sensor_temperatur
    above: 24
condition:
  - condition: time
    after: "08:30:00"
    before: "18:00:00"
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
      - sat
action:
  - type: turn_on
    device_id: 5db1a85b136886e86191cda3d66191ff
    entity_id: 728abfcac8a47a297193116dd186b7ee
    domain: switch
  - type: turn_on
    device_id: c47357ba96d499741bc743e613b51492
    entity_id: ab83459b1732e4fdc6a6c75bc0de957c
    domain: switch
  - type: turn_on
    device_id: 140d65ec2daa4b3d2f623b3ed405c518
    entity_id: e092a6ba49889dc35991531a36a1c3f8
    domain: switch
  - type: turn_on
    device_id: 6ada95899a2ad41ba991cb237038c72a
    entity_id: 57da030e3b7bb267cbc01f5ee28c433e
    domain: switch
  - type: turn_on
    device_id: 5782a58c2244789b2e81e053c5c19c6a
    entity_id: 13c49f896aed7ccb93c5d96f7fa8f5ff
    domain: switch
  - type: turn_on
    device_id: 60c148a2d943094e7eaa77d2dd962b3e
    entity_id: 5edd80e75492867aecadbf5d3a31bba3
    domain: switch
mode: single
 
Wird es erst um 10:02 Uhr 24C° warm, soll er erst dann einschalten, im Moment sieht es so aus, als prüfe er um 8:30 Uhr, ob es 24 C° hat. Wenn nicht, tut er den ganzen Tag nichts mehr.
Es ist sicher, dass die Temperatur nicht vor 8:30 schon höher als 24 ist? Das wäre so das einzige was mir auf Anhieb einfallen würde, wenn ich Deine Automatiserung nachbaue funktioniert das problemlos, wann immer mein Helfer von "weniger als oder maximal 24" auf "über 24" springt wird die Automatisierung ausgelöst und dann auf Zeit und Wochentag getestet.

Was sagen denn die Traces (oben rechts) der Automatisierung?
 
Du brauchst einen 2. Auslöser für die Zeit.
Nein, braucht er nicht.
https://forum.heimnetz.de/threads/tipp-automatisierung-ausloesen-wenn-sich-entitaet-aendert.4882/
Einfach nur die Automatisierung bei JEDER Temperaturänderung auslösen lassen und dann, so wie jetzt, die Zeit prüfen.
Bei DANN MACHE einfach die Temperatur abfragen und fertig.
Wenn sich Temperatur ändert
UND
die Zeit zwischen08:30 und 18:00 Uhr ist UND einer der Wochentage ist
DANN MACHE
WENN Temperatur über 24 Grad, Schalte Ventilator ein
 
Wenn du willst das die A. sehr häufig läuft, das Log zukracht usw., bitte.
Hier scheinen ja nicht Unmengen an verkomplizierenden Nebenbedingungen im Spiel zu sein.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
5.021
Beiträge
50.326
Mitglieder
4.713
Neuestes Mitglied
tAntChen
Zurück
Oben