Aus und Ein Schalten mit Zeitbeschränkung

Hallo Leute,

ich hoffe jemand kann mir hier weiter helfen. Ich hab schon sehr viel probiert, finde aber den Fehler in meine Automatisierung nicht. Die Poolpumpe startet wenn die Zeit nicht erreicht ist, jedoch schaltet diese nicht mehr aus wenn die gewünschte Zeit überschritten ist. Ich hoffe jemand von euch kann mir sagen was ich falsch mache. Die Zeiten sind nur zum testen.

# Automatisierung zum Einschalten der Poolpumpe
  - alias: "Überprüfe Poollaufzeit und schalte Pumpe ein"
    trigger:
      # Diese Automatisierung wird um 09:16 Uhr ausgelöst
      platform: time
      at: "09:16:00"
    condition:
      condition: numeric_state
      entity_id: sensor.poollaufzeit_heute_in_sekunden
      below: 1200  # 20 Minuten in Sekunden
    action:
      - service: switch.turn_on
        entity_id: switch.poolpumpe_switch_0

   # Automatisierung zum regelmäßigen Überprüfen der Laufzeit und Ausschalten der Poolpumpe
  - alias: "Regelmäßige Überprüfung der Poollaufzeit und Ausschalten"
    trigger:
      # Diese Automatisierung wird alle 3 Minuten ausgelöst
      platform: time_pattern
      minutes: "/3"
    condition:
      condition: and
      conditions:
        - condition: numeric_state
          entity_id: sensor.poollaufzeit_heute_in_sekunden
          above: 1200 # 20 Minuten in Sekunden
        - condition: time
          after: '08:00:00'
        - condition: time
          before: '19:00:00'
    action:
      - service: switch.turn_off
        entity_id: switch.poolpumpe_switch_0

:crayon:by HarryP: Codezeilen formatiert (bitte immer in </> einbinden)

liefert der sensor denn auch zeitnah die richtigen Werte?

bei der ersten Automatisierung wo ich wie im Beispiel um 09:16 schaue ob die Zeit unter 20 min ist, wird die Poolpumpe sofort gestartet wenn dem nicht so ist. Jedoch schaltet diese wenn die Zeit erreicht ist nicht mehr aus. Wenn ich aber das Auschalten so aufbaue wie das Einschalten, also wenn ich sagen wir mal um 09:25 schaue ob die Zeit erreicht ist dann schalten die Pumpe auch aus wenn die Zeit erreicht war.

dann noch mal die Frage, liefert der sensor.poollaufzeit_heute_in_sekunden denn auch Sekunden, wenn die Pumpe läuft?

Kannst du mir eventuell sagen wo ich das kontrollieren kann? Das hab ich mir noch nicht angeschaut.

Schau z.B. in die Entwicklerwerkzeuge unter Zustände.

Wo kommt denn der Sensor überhaupt her?

Den Sensor habe ich in der configuration.yaml erstellt.

- platform: history_stats
  name: Poollaufzeit heute in Sekunden
  entity_id: switch.poolpumpe_switch_0
  state: "on"
  type: time
  start: "{{ now().replace(hour=0, minute=0, second=0, microsecond=0) }}"
  end: "{{ now() }}"    

Der Sensor gibt eher Stunden aus.

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

hab es jetzt ausprobiert das ich statt den 1200 Sec. einfach 0.5 eingebe und siehe da es funktioniert ohne Probleme. Danke für deine Unterstützung.

Kannst du mir noch sagen was ich bei meinem Sensor falsch gemacht habe das dieser Stunden ausgibt und nicht Sekunden?

Danke

Du könntest dir einen zusätzlichen Template-Sensor bauen

template
  - sensor:
      - name: "Poollaufzeit in Sekunden"
        state: "{{ states('sensor.poollaufzeit_heute_in_sekunden') | float(0) * 60 * 60 }}"
        unit_of_measurement: 'Minutes' 

So oder so ähnlich. Ist nicht getestet.

Mit diesem Sensor könntest du dann arbeiten.