Seite 1 von 1
Pumpensteuerung mit max. Laufzeit/Tag
Verfasst: Mi 29. Jun 2022, 15:15
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
Re: Pumpensteuerung mit max. Laufzeit/Tag
Verfasst: Mi 29. Jun 2022, 20:03
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
Re: Pumpensteuerung mit max. Laufzeit/Tag
Verfasst: Mi 29. Jun 2022, 20:13
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
Re: Pumpensteuerung mit max. Laufzeit/Tag
Verfasst: Mi 29. Jun 2022, 20:33
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
Re: Pumpensteuerung mit max. Laufzeit/Tag
Verfasst: Do 30. Jun 2022, 07:34
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
Re: Pumpensteuerung mit max. Laufzeit/Tag
Verfasst: Mi 6. Jul 2022, 19:45
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