Automation - Auslöser Bedingung wiederholen

Hallo!

Ich habe eine Automation erstellt das eine Steckdose einschaltet sobald 200W eingespeist werden. Das funktioniert soweit auch.

Zum ausschalten habe ich auch eine erstellt.

Als Auslöser muss mindestens 5 min 50W bezogen werden dann fragt er ab ob die Steckdose schon mindestens 30 min läuft.

mein Problem jetzt ist wenn der Verbrauch über 50W steigt und die 30 min.noch nicht rum sind dann schaltet er ja nicht aus so wie ich es will. aber wenn die Leistung nicht mehr unter 50W fällt und wieder ansteigt dann fängt er die Automation ja nicht wieder von vorn an.

wie kann ich das lösen?`

- id: '1737278078860'
  alias: Luftenteuchter Keller bei Bezug ausschalten
  description: ''
  triggers:
  - trigger: numeric_state
    entity_id:
    - sensor.tasmota_mt175_p
    above: 50
    for:
      hours: 0
      minutes: 5
      seconds: 0
  conditions:
  - condition: state
    entity_id: input_boolean.luftentfeuchter_keller_lauft
    state: 'on'
    for:
      hours: 0
      minutes: 30
      seconds: 0
  - condition: state
    entity_id: input_boolean.luftentfeuchter_keller_lauft_uberschreitung
    state: 'off'
  actions:
  - type: turn_off
    device_id: c2538ceb1075f2e38a32b68ae408e0c0
    entity_id: cebd71ae2510922631b19d104badff2a
    domain: switch
  - action: notify.mobile_app_iphone_von_sandro
    metadata: {}
    data:
      title: 'Kellerentfeuchtung:'
      message: Entfeuchter wurde ausgeschaltet wegen Bezug!
  - action: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.luftentfeuchter_keller_lauft
  mode: single

Aus meiner Sicht wäre es doch sinnvoller, dem Auslöser gleich 30 Minuten mitzugeben, statt erst mal 5 Minuten und dann die Bedingung wegzulassen - oder verstehe ich da was falsch?

Danke für die schnelle Antwort.

Ja das wäre auch möglich.

Aber kann man generell einen Auslöser „resetten“?

Also wenn eine Bedingung nicht passt, das er dann nochmal von vorn anfängt?

Ich habe da ja noch eine 2. Bedingung das ein Schalter nicht geschalten ist.

Aber wenn er doch geschalten ist, dann würde ja die Automation erst am nächsten Tag wieder starten wenn der Verbrauch 1 mal unter meinen 50 W ist.

Also die Automation wird immer ausgelöst, wenn der Verbrauch 50W überschreitet.
Hier kann man auch einstellen, dass die >50W 30 Minuten anliegen müssen, bevor die Automation weiter läuft. Werden die 50W innerhalb dieser Zeit unterschritten, geht es nicht weiter, bis die 50W wieder überschritten werden. Dann beginnen die 30 Minuten von vorne an zu laufen.
Wenn es dann noch einen weiteren Schalter gibt, dessen Zustand abgefragt werden muss, würde ich im Action Bereich eine Wenn-Bedingung einbauen.

Also bin ich doch gescheiter ich lasse die Automation alle 30min als Tuner laufen und frage dann als Bedingung die Leistung über 50 ab oder?

Sorry, ich verstehe immer weniger, was du eigentlich willst.
Ursprünglich war doch die Bedingung, dass die 50W für 30 Minuten überschritten sein sollen. Richtig?
Wenn du die Automation alle 30 Minuten startest und dann die Leistung abfragst, weißt du doch nicht, wie lange die >50W schon anliegen.

Nochmal anders:
Auslöser: Leistung >50 W für 30 Minuten.
Das bedeutet, dass die Automation jedes Mal ausgelöst wird, wenn die Leistung über 50 W ansteigt, und jedes Mal wieder beendet wird, wenn die Leistung innerhalb der 30 Minuten wieder unter 50 W absinkt.

:crayon:by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)

Ich wollte ursprünglich wenn 5 min über 50w ist die automation startet und er aber noch abfragt ob mindestens 30 min die Steckdose an war. Damit der Luftentfeuchter der dran hängt nicht so oft schaltet.
Wenn jetzt aber die Steckdose erst 25 min an ist und der Wert 50w nicht mehr unterschritten wird, dann wird er ja die Steckdose nicht mehr ausschalten.

Du hast recht, wenn ich die 50w in die Bedingungen nehme, dann kann da nur der aktuelle Wert abgefragt werden.
Also wenn ich da dann die 30 min der Steckdose erreicht habe und punktuell 50w oder mehr anliegen dann schaltet er aus, wenn das natürlich nur 10 Sekunden oder so war dann ist das halt auch wieder schlecht.

Probier mal aus ob das in der Form funktioniert so wie du es möchtest.

- id: '1737278078860'
  alias: Luftentfeuchter Keller bei Bezug ausschalten
  description: ''
  trigger:
    - platform: numeric_state
      entity_id: sensor.tasmota_mt175_p
      above: 50
    for:
      hours: 0
      minutes: 5
      seconds: 0
  condition:
    - condition: state
      entity_id: input_boolean.luftentfeuchter_keller_lauft
      state: 'on'
  action:
    - repeat:
        until:
          - condition: or
            conditions:
              - condition: numeric_state
                entity_id: sensor.tasmota_mt175_p
                below: 50
              - condition: state
                entity_id: input_boolean.luftentfeuchter_keller_lauft
                state: 'off'
        sequence:
          - delay: "00:01:00"  
    - condition: state
      entity_id: input_boolean.luftentfeuchter_keller_lauft
      state: 'on'
      for:
        hours: 0
        minutes: 30
        seconds: 0
    - condition: state
      entity_id: input_boolean.luftentfeuchter_keller_lauft_uberschreitung
      state: 'off'
    - service: switch.turn_off
      target:
        entity_id: switch.cebd71ae2510922631b19d104badff2a
    - service: notify.mobile_app_iphone_von_sandro
      data:
        title: "Kellerentfeuchtung:"
        message: "Entfeuchter wurde ausgeschaltet wegen Bezug!"
    - service: input_boolean.turn_off
      target:
        entity_id: input_boolean.luftentfeuchter_keller_lauft
  mode: single

mit der repeat und until wiederholt er den Schritt immer wieder. In dem fall jetzt jede Minute. DIe Zeit kannst du aber noch ändern.

Irgendwie funktioniert der code dann nicht mehr wenn ich diesen ersetze…

    for:
      hours: 0
      minutes: 5
      seconds: 0

musst du nochmal einrücken. das muss unter above: 50. Hatte ich falsch eingerückt.

Ich muss dich nochmal nerven…
geht immer noch nicht…


fügst du den yaml code für eine automation im UI ein oder direkt in der configuartion.yaml oder automation.yaml?

platform heißt ja seit einigen Versionen trigger

  triggers:
  - trigger: numeric_state

das sollte im UI bei einer Automation automatisch ausgebessert werden. Aber ja du hast recht. :blush:

War auch nur als Hinweis für @sandromothes gedacht.
Aber warum er es nicht über die UI macht, bleibt mir ein Rätsel.

Ich hab das direkt per Studio Code Server in die Automations.yaml eingefügt.

Was ist denn ui?

Bin gern bereit es anders zu machen wenn ihr mir es erklärt :wink:

Einfach über die Grafische Oberfläche von Home Assistant. (UI = User Interface)

Genau einfach neue Automation erstellen, da kannst du auch direkt den yaml Code einfügen.

Vielen Dank. Es sollte jetzt so funktionieren. Habe es noch ein bisschen verfeinert :wink::+1:t3: