Zustand vor Automation merken

Servus zusammen,
ich bin’s wieder. Ich bräuchte eine kurze Gedankenstütze.

Ich hab einen kleinen Pool mit Sprudel (der Sprudel ist technisch nur eine Tasmota-Steckdose, sprich ein switch.____). Sobald die Temperatur im Pool unter eine bestimmten Wert fällt, soll die Heizung angehen und der Sprudel aus. Wenn die gewünschte Temperatur erreicht wird, soll die Heizung wieder ausgehen, soweit so gut. Das funktioniert auch bereits. Nun soll allerdings der Sprudel wieder angehen, aber nur wenn der Sprudel vor dem Starten der Heizung an war, ansonsten nicht. Das heißt, ich muss mir unmittelbar vor dem Ausschalten des Sprudels durch die Anheiz-Automation den Zustand merken und bedingungsmäßig danach entweder den Sprudel wieder reaktivieren oder ausgeschalten lassen.

Also meine Automation kann aktuell die Heizung zuschalten und dann wieder ausschalten.

Aktueller Code:

alias: Pool heizen
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.esphome_web_e016f4_pool_t2
    below: 35
    id: ID_Temp2_Low
  - trigger: numeric_state
    entity_id:
      - sensor.esphome_web_e016f4_pool_t2
    above: 34
    id: ID_Temp2_High
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - ID_Temp2_Low
        sequence:
          - action: switch.turn_on
            metadata: {}
            data: {}
            target:
              entity_id:
                - switch.shelly1pmmini_42_12_switch_0
        alias: Heizung zuschalten
      - conditions:
          - condition: trigger
            id:
              - ID_Temp2_High
        sequence:
          - action: switch.turn_off
            metadata: {}
            data: {}
            target:
              entity_id:
                - switch.shelly1pmmini_42_12_switch_0
        alias: Heizung abschalten

Ergänzende Frage zu den Triggern. Der Heizungs-Stop Trigger - also ID_Temp2_High - löst ja aus, wenn die Temperatur über 34 Grad steigt, richtig? Und nicht bei jeder Messung wenn die Temperatur über 34 Grad ist, oder? Also rein beim Ansteigen auf über 34

Das ist richtig. Die Temp muß erst wieder unter 34 Grad fallen, damit beim erneuten Überschreiten der Trigger wieder ausgelöst wird.

Dein anderes Problem könnte vielleicht hiermit gelöst werden. In dem Viedeo geht es zwar um Licht, daß sollte aber keine Rolle spielen.

1 „Gefällt mir“

Nutze einen Helfer, in dem Du vor dem Abschalten des Sprudel den Zustand speicherst. Später beim Temp. Anstieg fragst Du den vorigen Zustand vor dem Schalten ab.

1 „Gefällt mir“

Klingt einfach, leider weiß ich nicht, wie das konkret geht. Zu Beginn der Automation würde ich dann per … Script? … den aktuellen Wert speichern. Könntest du mir da ne Coding-Unterstützung geben? :slightly_smiling_face:

Ich würde einen input_boolean Helfer verwenden wie input_boolean.war_sprudler_angeschaltet. Bei jedem Start des Nachheizens wird der Helfer gesetzt und beim Heizung abschalten der Sprudler entsprechend zugeschaltet.

  • füge im erstem Action Zweig (ID_Temp2_Low) eine solche Wenn/Dann
- if:
    - condition: state
      entity_id: switch.mein_sprudler
      state: "on"
  then:
    - action: input_boolean.turn_on
      metadata: {}
      data: {}
      target:
        entity_id: input_boolean.war_sprudler_angeschaltet
  else:
    - action: input_boolean.turn_off
      metadata: {}
      data: {}
      target:
        entity_id: input_boolean.war_sprudler_angeschaltet
  • Im zweiten Action Zweig (ID_Temp2_High) fügst Du auch eine Wenn/dann ein
- if:
    - condition: state
      entity_id: input_boolean.war_sprudler_angeschaltet
      state: "on"
  then:
    - action: switch.turn_on
      metadata: {}
      data: {}
      target:
        entity_id: switch.mein_sprudler

Achte auf die richtigen Einrückungen wenn Du den Code kopierst. Besser Du baust das per Gui in Deiner Automatisation nach.

Gutes Gelingen!

1 „Gefällt mir“

Danke dir. Coole Sache.

Also das Setzen einer Helfer-Variable - wenn man nun mal Boolean-Helfer betrachtet - unterscheidet sich ja überraschenderweise nicht bsw. Umschalten eines Switch. Wichtige und gute Info.

Vielen Dank, damit kann ich arbeiten. :blush: