Zisterne/Frischwassertank automatisieren

Hallo,

erst einmal danke für dieses gute Forum. Das Hilft einem Neuling sehr. Dennoch stehe ich vor meiner erstem Problem bei einer Automatisierung.

Kurze Beschreibung:
An meiner Wasseranlage befindet sich ein Frischwasserbehälter, für den Fall das die Zisterne leer ist. Dieser Frischwasserbehälter soll aber nun alle 3 Wochen Automatisiert entleert werden (Stichwort: Keimbildung)

Die Automatisierung soll wie folgt funktionieren.

Das Ventil für die Frischwasser soll geöffnet werden, wenn die Pumpe läuft (also z.b eine Klospühlung betätigt wurde) und die Uhrzeit zwischen 18 - 22 Uhr liegt. Ob die Pumpe läuft, frage ich mit einem Zigbee Plug ab. Hier messe ich die Leistung die anliegt. Für den 3 Wochen Rythmus habe ich mir ein Timer gebaut (600 Stunden).
Das ganze schaut dann so aus.

Diese Automation funktioniert so nicht. Leider weiß ich nicht so wirklich wo das Problem ist. Meine vermutung liegt es am Timer. Wenn der abgelaufen ist und die beiden Constraints “False” sind, kann das nicht funktionieren. Sehe ich das Richtig?

Ein weiteres Thema wäre, das der Plug für das Frischwasser eingeschaltet bleibt. Dieser muss wieder ausgehen wenn die Pumpe nicht mehr läuft. Kann ich das in einer Automation überhaupt bauen, oder muss ich gerade für das Ausschalten des Frischwasser Plug eine zweite Automation bauen?

Und dann die letzte Frage. Wenn der Time abgelaufen ist, startet dieser direkt wieder? Auch das ist mir nicht klar.

Als Neuling, bin ich mit dieser Automation etwas überfordert und würde mich über Hilfe freuen. Und Sorry wenn ich blöde fragen stelle.

Gruß, Thorsten

Ich würde es komplett anders aufbauen.

Als Auslöser würde ich die Pumpe verwenden, also wenn Pumpe Leistung steigt über 5W
Und es ist zwischen 18 und 21 Uhr
Und die letzte Ausführung der Automatisierung ist länger als 20 Tage.
Dann Frischwasser einschalten.

Das Ausschalten vom Frischwasser, wenn die Pumpe nicht mehr läuft, musst Du in diesem speziellen Fall mit einer zweiten Automatisierung lösen, da sonst die Bedingung, letze Ausführung länger als 20 Tage nicht mehr funktioniert.

Hier mal ein Bsp.

alias: Frischwasser einschalten
description: ""
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.pumpe_power
    above: 5
condition:
  - condition: time
    after: "18:00:00"
    before: "22:00:00"
  - condition: template
    value_template: >-
      {{ now() - (this.attributes.last_triggered | default((now() -
      timedelta(days = 21 )), true)) > timedelta(days=20) }}
action:
  - action: switch.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: switch.pumpe
mode: single

alias: Frischwasser ausschalten
description: ""
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.pumpe_power
    below: 5
condition:
  - condition: state
    entity_id: switch.pumpe
    state: "on"
action:
  - action: switch.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: switch.pumpe
mode: single

Nein, den musst Du bewusst Neustarten.

Gruß
Osorkon

Hallo, ich sage erst mal Danke und werde Morgen ausführlich Antworten.

Ich kenne dein System nicht im Detail, aber ist da kein Schwimmschalter usw für zwecks automatischer Nachfüllung installiert? Mir ist der Aufbau auch etwa unklar, ist der Firschwasserbehälter dazu da das die Zisterne (Regenwasser?) nicht direkt mit dem Ortswassernetz verbunden ist?

Du hast mit den typischen Meßsteckdosen ja nicht unerhebliche Verzögerungen. Ich würde empfehlen die Kernfunktion mit Schwimmschalter/Druckschalter zu lösen und diese mit HA zu überwachen.

Hallo,
erst einmal danke für eure Hilfe und Unterstützung. Ich fange mit dem zweiten Post an. Ich Poste erst mal noch Bilder um zu zeigen wie das ganze funktioniert.

Die Pumpe wird wie von dir beschrieben über ein Druckschalter mit Trockenlaufschutz geschaltet (habe nur ein anderes Modell).

Der Frischwassertank ist direkt darüber und ist auch an das normale Wassernetz angeschlossen.

Im Tank befindet sich ein schwimschalter der mechanisch das Zulaufventil öffnet bzw. schließt.

Du Sprichst das Problem der Verzögerung an, duch die normalen Meßdosen. Diese habe ich auch schon bemerkt und gefällt mir ebenfalls nicht. Eine Lösung hierfür steht ebenfalls noch aus.

Und nun zu dem Beitrag von Osorkon. Auch hier erst einmal danke.
Mit dem Timer hatte ich es mir schon gedacht, dass dieser nur einmalig funktioniert. Allein deswegen kann meine Automatisierung nicht funktionieren. Auch danke für die Bestätigung das ich das Ausschalten erneut per Automation erledigen muss. Wie ich im YAML Code sehe arbeitest du mit einem Template Value. Ich muss ehrlich sagen das mich dies aüberfordert hätte. Aber ich glaube das der Trigger auf die Meßsteckdose nicht gut ist und langfristig eher zu problemen führt. Aber dein Coding Beispiel Hilft ebenfalls sehr.

Fazit: Ich muss mir nochmals gedanken machen, so das ich den Trigger nicht über die Meßdose hole. Das gefällt mir mitlerweile auch nicht. Wenn Ihr weitere Ideen habt, dann gerne hier posten.

Grüße

Ok, wenn die Hardware macht also eigentlich den Job auch ohne HA?

Ich bin mir nicht sicher ob ich richtig verstehe was die Automatisierung daran im Detail verbessern oder verändern soll?

Vielleicht habe ich es noch nicht so gut erklärt.
Das was auf den Bildern zu sehen ist, wäre der Zulauf, also das befüllen des Frischwassertankes. Dies ist kein problem. Aber darunter sitz ein Magnetventil, welches geschaltet werden muss, so das bei einem niedrigen Füllstand in der Zisterne eben kein Trockenlauf passiert und statdessen die Frischwasser zur Pumpe geöffnet wird. Es geht also um das schalten des Magnetventiles für die Zuleitung zur Pumpe vom Frischwassertank. Und dieses Ventil steuere ich aktuell über 2 Parameter.

Parameter 1: Füllstand in Zisterne unter 500 Liter
Parameter 2: Pumpe läuft und Meßdose ist größer 5 Watt (Verzögerungsproblem)

Das ist der Fall 1 und dann soll das ganze noch alle 20 tage laufen, damit sich in dem Frischwassertank keine Keime bilden. Der Zyklus 20 Tage wäre Automatisierung 2.

Vielleicht habe ich es jetzt besser erklärt.

Ok, woher kommt der Meßwert von der Zisterne?

Eine simple Lösung wäre eine Pegelsonde mit Grenzwertschalter. Diesen kannst du zwischen Ventil vom Frischwassertank und dem Druckschalter hängen. Fällt der Pegel unter den gewünschten Wert, würde der Grenzwertschalter dein Ventil “freischalten”. Sobald der Druckschalter auslöst, würde sich die Pumpe und dein Ventil gleichzeitig einschalten. Die Lösung wäre recht simpel und unabhängig von HA.

Statt dem Grenzwertschalter kannst du natürlich auch einen Plug nehmen und den bei zu geringen Füllstand einschalten. Beispielsweise wenn der Füllstand der Zisterne auf anderne Weg in HA landet.

Die Zisterne selbt habe ich über Liquid Check realisiert und diese in HA eingebunden.

Somit kann ich den Füllstand über HA auch abfragen.

in der Configuration.YAML schaut die Integration wie folgt aus.

rest:
    scan_interval: 1800
    resource: http://xxx.xxx.xxx.xx/infos.json
    sensor:
      - name: Zisterne Füllstand in Meter
        value_template: "{{ value_json.payload.measure.level }}"
        unit_of_measurement: Meter
      - name: Zisterne Inhalt in Liter
        value_template: "{{ value_json.payload.measure.content }}"
        unit_of_measurement: Liter
    
rest_command:
  messung_zisterne:
    url: http://xxx.xxx.xxx.xx/command
    method: POST
    payload: '{ "header" : { "namespace" : "Device.Control" , "name" : "StartMeasure" , "messageId" : "1" , "payloadVersion" : "1" } , "payload" : null }' 
    content_type: 'application/json; charset=utf-8'

Die Visualisierung in Grafana läuft parallel (ist leider alles neuland und geht nicht so schnell wie ich es mir wünschen würde).
Die Idee war, alles über HA zu realisieren und zu automatisieren. Füllstand (Zisterne) ist schon realisiert.
Ich muss jetzt aber privat auch los. Ich werde mir alles nochmals durch den kopf gehen lassen und melde mich Morgen nochmals. Wie gesagt, aktuell realisiere ich es mit plugs, die aber recht träge sind. Gefühlt sind das 3 Sekunden bis HA die Plugs alle geschaltet haben. Und da läuft die Pumpe schon .

Guten Abend,
als erstes muss ich mich entschuldigen, das ich erst heute wieder antworte. Die Antworten haben mir sehr geholfen, mich weiter in diese Thematik einzuarbeiten.
Als erstes musste ich jedoch Liquid Ckeck wieder zum laufen bringen. Die Entitäten waren nicht mehr eindeutig. Dies lag an neu vergebene IP Adressen im Router. Danach folgten die Automatisierungen. Diese habe ich kpl gelöscht und neu aufgebaut.

So weit bin ich zufrieden. Aber ein Thema beschäftigt mich sehr. Und zwar das Thema Latenz. Es dauert manchmal bis zu 3 Sekunden bis der Plug für das Magnetventil (Frischwasser schaltet).
Ist es möglich einzustellen wie oft ein Zigbee gerät Abgefragt wird? Oder anderst gesagt, lässt sich die Latenz einstellen?

Vielleicht kann mir diese Frage noch jemand beantworten.
Ich bedanke mich nochmals für die Hilfestellung.

Grüße

Das ist ja eine halbe Ewigkeit! :scream:
Kenne ich so nicht, wenn ich einen Latenz habe dann nur im ms Bereich.

Was meinst Du damit?
Und was hat das mit der Verzögerung beim Schalten zu tun?

Die Geräte werden nicht abgefragt, sondern das Gerät sendet seinen Status unaufgefordert. Also Push und nicht Pull.

Gruß
Osorkon

Hallo,

ms bereich, davon träume ich. Bei mir dauert das je nach Plug schon länger. Ich habe gestern mit den Frequenzbänder der Fritz Box herumexperimentiert, ob ich das besser hinbekomme. Ich bilde mir ein das es aktuell besser funktioniert.
An dem Intel NUC nutze ich den SONOFF 3.0 Stick.

Vielleicht zu der Frage ob man die Latanz einstellen kann. Ich versuche es nochmals besser zu erklären. Ich dachte mir, ob es die möglichkeit eine Art pririsierung der Geräte gibt. Es scheint so das es manchmal einfach dauert bis der Status eines gerätes abgefragt bzw geschaltet wird.

Aber jetzt schreibst du etwas wichtiges. Das die Geräte den Status Pushen, ist eine wichtige Information. Und somit ist natürlich meine Ausführung von eben obsolet. Aber dann Stelle ich mir die Frage, warum die Automation manchmal so lange braucht um auszulösen. Gibt es in der Bauart der Plugs auch unterschiede.

Grüße