Pumpensteuerung mit max. Laufzeit/Tag

Rat und Tat rings um Home Assistant Automationen.


Antworten
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Pumpensteuerung mit max. Laufzeit/Tag

Beitrag von Markus »

Würde gerne in einer Automatisierung die max. Laufzeit pro Tag auf x Stunden begrenzen, wie kann man das reinpacken?

Code: Alles auswählen

- id: '111111111'
  alias: Steuerung_Poolpumpe
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: 'sensor.ueberschuss '
    for:
      hours: 0
      minutes: 5
      seconds: 0
    above: '2000'
  condition: []
  action:
  - condition: state
    entity_id: switch.shelly_shsw_1_1111111
    state: 'on'
  mode: single
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Pumpensteuerung mit max. Laufzeit/Tag

Beitrag von Osorkon »

Ist es die einzige Automatisierung, die die Pool-Pumpe steuert?
Sprich, diese wird bei Überschuss > 2000 eingeschaltet, läuft 2 Stunden und soll erst wieder am nächsten Tag eingeschaltet werden?

Oder schaltest Du die Pool-Pumpe bei unterschreiten des Überschusses von x wieder ab, so das die Pumpe auch < 2 h am Stück läuft. Und du die Gesamtdauer Pumpe an heute als Bedingung nutzen möchtest.

Im ersten Fall kannst Du die letze Ausführung der Automatisierung als Bedingung verwenden.

Im zweitem Fall brauchst Du eisen zusätzlichen Sensor, der die Dauer (Pumpe ist eingeschaltet) ermittelt. History Stats Integration, wäre die richtige.

Beschreibe mal genau, was Dir vorschwärmt, dann kann ich gerne auch mal ein paar Bsp. bereitstellen.

Oder die Hinweise reichen bereits aus und Dir ist damit schon geholfen.

Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Pumpensteuerung mit max. Laufzeit/Tag

Beitrag von Markus »

Danke, was mir vorschwebt:
  • Pumpe soll sich einschalten wenn länger wie 5 min ein Stromüberschuss von 2.000 W herrscht
  • Pro Tag soll die Pumpe aber nur max. 7 Stunden laufen
Nice2Have Erweiterung (nur wenns leicht geht ;-)):
  • wenn zwei Tage hintereinander die Pumpe die 7 Stunden/Tag nicht erreicht, dann darf am dritten Tage die Pumpe auch mit Netzstrom (dh. Stromüberschuss < 2.000 W) weiterlaufen bis die 7 Stunden/Tag erreicht sind
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Pumpensteuerung mit max. Laufzeit/Tag

Beitrag von Osorkon »

Wenn die Pumpe eingeschaltet wird, soll sie dann 7h am Stück laufen?
Oder mit Unterbrechungen in Summe max 7 h?
Wenn mit Unterbrechungen, nach welchen Kriterien wird diese ausgeschaltet?

Wenn sie 2 Tage nicht lief.
Um welche Uhrzeit soll dies dann eingeschaltet werden?

Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Pumpensteuerung mit max. Laufzeit/Tag

Beitrag von Markus »

a) beim Überschuss kann es zu Schwankungen/Unterbrechungen kommen, daher die Bedingung erst einschalten wenn >5 min Überschuss >2000 gegeben. Dh, somit eine Laufzeit von 7 h mit möglichen Unterbrechungen
b) abgeschaltet wird nur wenn Überschuss < 2000
c) am dritten Tage kann es wieder ausreichend Überschuss geben das die 7 h erreicht werden, sollten diese bis 18:00 Uhr (Bsp) nicht erreicht werden, soll die Pumpe trotz zu geringem Überschuss weiterlaufen bis auf die 7 h/Tag
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Pumpensteuerung mit max. Laufzeit/Tag

Beitrag von Osorkon »

@Markus erstelle Dir 2 Sensoren Integration History Stats
Damit kannst Du ermitteln, wie lange die Pumpe am Tag eingeschaltet war. In meinem Bsp. ab 00:00 Uhr bis jetzt für den heutigen Tag und seit gestern 00:00 bis jetzt.

Code: Alles auswählen

- platform: history_stats
  name: Pumpe heute
  entity_id: switch.shelly_shsw_1_1111111
  state: "on"
  type: time
  start: "{{ now().replace(hour=0, minute=0, second=0) }}"
  end: "{{ now() }}"
- platform: history_stats
  name: Pumpe heute und gestern
  entity_id: switch.shelly_shsw_1_1111111
  state: "on"
  type: time
  start: "{{ now().replace(hour=0, minute=0, second=0) - timedelta(days=1) }}"
  end: "{{ now() }}"
Den Sensor Wert kannst Du jetzt als Bedingung in Deinen Automatisierungen verwenden.
Wenn ich Dich richtig verstanden habe, wird die Pumpe ab 2000W für 7h eingeschaltet.
Dann könnte die Automatisierung so aussehen:

Code: Alles auswählen

alias: Pumpensteuerung
description: ''
mode: single
trigger:
  - platform: numeric_state
    entity_id: sensor.ueberschuss
    for:
      hours: 0
      minutes: 5
      seconds: 0
    above: '2000'
    id: Überschuss
  - platform: time
    at: '18:00:00'
    id: Uhrzeit
  - platform: numeric_state
    entity_id: sensor.pumpe_heute
    above: '7'
    id: Ausschalten
  - platform: state
    entity_id:
      - switch.shelly_shsw_1_1111111
    to: 'on'
    for:
      hours: 7
      minutes: 0
      seconds: 0
    id: Ausschalten
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: Überschuss
          - condition: state
            entity_id: switch.shelly_shsw_1_1111111
            state: 'off'
          - condition: numeric_state
            entity_id: sensor.fernseher_heute
            below: '7'
        sequence:
          - service: switch.turn_on
            data: {}
            target:
              entity_id: switch.shelly_shsw_1_1111111
      - conditions:
          - condition: trigger
            id: Ausschalten
        sequence:
          - service: switch.turn_off
            data: {}
            target:
              entity_id: switch.shelly_shsw_1_1111111
      - conditions:
          - condition: trigger
            id: Uhrzeit
          - condition: numeric_state
            entity_id: sensor.pumpe_heute_und_gestern
            below: '1'
          - condition: state
            entity_id: switch.shelly_shsw_1_1111111
            state: 'off'
        sequence:
          - service: switch.turn_on
            data: {}
            target:
              entity_id: switch.shelly_shsw_1_1111111
    default: []
Ob Du. jetzt alles in einen Automatisierung packen willst, bleibt ja Dir überlassen.

Für das Ausschalten habe ich 2 Auslöser verwendet. Wenn DU nämlich erst um 18 Uhr die Pumpe einschaltet tust, kann der Zähler Pumpe heute nur einen max. Wert von 6 erreichen.
Deshalb mein zweiter trigger, wenn Pumpe 7h lang an ist.

Ich hoffe das hilft weiter oder liefert zumindest die notwendige Inspiration.

Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
Antworten