[Gelöst] Automatisierung Zisterne: HM-MOD-EM-8 "entprellen"

Begonnen von isy, 18 Januar 2021, 12:22:31

Vorheriges Thema - Nächstes Thema

isy

Hallo zusammen,

ich musste bei meiner Regenwasser-Zisterne nach 25 Jahren die Steuerung erneuern. Da es keine Ersatzteile mehr gibt, habe ich eine neue Steuerung über FHEM eingerichtet.

Bei meinem Projekt habe ich ein nun Problem mit dem "Flattern" der Schwimm-Schalter bei der Einspeisung mit Frischwasser. Die plätschernde Einspeisung erfolgt von ganz oben in der Zisterne aus ca. 1,10m Höhe, da das Trinkwasser nicht mit dem Regenwasser in Verbindung kommen darf. So die abgenommenen Bauvorgaben.

Realisiert habe ich das Projekt über einen HM-MOD-EM-8 mit 8 entsprechenden Schwimm-Schaltern nebst HM Schaltaktoren usw. Bei Interesse kann ich meine Doku hier auch posten.
Damit sehe ich den Füllstand, kann aber die unteren Schalter auch zur Steuerung der Frischwasser-Einspeisung und der Pumpensteuerung verwenden.

Die Mechanik, Elektrik und die FHEM Steuerung ist in Betrieb, aber der HM-MOD-EM-8 ändert über die Schwimm-Schalter bei der Einspeisung in den ersten 60 Sekunden dauernd seinen Status (open, closed) und die zugehörigen DOIF's triggern dann jedes mal die HM-Schalter, die das Magnetventil schalten und die Abschaltung der Pumpe des Hauswasserwerkes steuern.
Das ist halt unschön!

Ich habe aktuell das Attribut event-aggregator eingerichtet, kann das aber nur testen, wenn der Wasserpegel wieder sinkt, was nicht so oft passiert. Ziel ist, dass das Flattern für 90 Sekunden (soweit erst mal) unterbunden wird.

attr HM_6B3EE9_Btn_07 event-aggregator state:interval 90


Meine Frage: Ist der Syntax so richtig?
Ich habe im Forum, in der Commandref und im Wiki dazu nichts gefunden.

VG Helmut
Ein Weg wird erst zu einem Weg, wenn man ihn geht

isy

Ich habe diverse Formen zum attr event-aggregator mit regex probiert, leider ohne Erfolg.
DOIF attr cmdpause  hilft auch nicht.

Lösung (unter Vorbehalt, da Testen schwierig) über 2 notify (Magentventil an/aus) mit attr disabledAfterTrigger. Das geht dann auch später mit 1 notify.

VG Helmut
Ein Weg wird erst zu einem Weg, wenn man ihn geht

the ratman

gibt sicher bessere lösungen, aber ich behlfe mir damit, einfach die zeit des entsprechenden readings seit der letzen änderung zusatzlich zum reading mit einem "and" abzufragen.

z.b.:
( [deviceXYZ:reading] eq "on" and [deviceXYZ:reading:sec] > 5)
( mach was)

https://fhem.de/commandref_DE.html#DOIF_Zeitspanne_eines_Readings_seit_der_letzten_Aenderung
→do↑p!dnʇs↓shit←

isy

OK, das sieht so aus, als ob es für mich passt.
Aktuelle teste ich noch mit dem notify (Zisterne auf, reinkrabbeln, Schalter betätigen...........). So lange geht dann im Haus die WC-Spülung nur 1 mal  >:(

Neuer Stand:
Nach Umtaufen mit eventMap /closed:off/open:on geht das notify mit $EVENT
Prima soweit.

Aber: $EVENT und attr disabledAfterTrigger funktioniert nicht.
Ich bleibe erst mal bei meinen 2 notify's
Ein Weg wird erst zu einem Weg, wenn man ihn geht

isy

Ein Weg wird erst zu einem Weg, wenn man ihn geht

gvzdus

Wäre nicht watchdog statt notify passender? Denk' dabei an "autoRestart 1"!

isy

Danke auch, ja watchdog könnte auch laufen.

Ich habe die Steuerung der Frischwasser-Einspeisung jetzt so realisiert:

define Frischwassereinspeisung notify HM_6B3EE9_Btn_07.* IF ( [HM_6B3EE9_Btn_07] eq "open") ( set HM_2DD7B8_Sw on ) ELSE ( set HM_2DD7B8_Sw off )
attr Frischwassereinspeisung disabledAfterTrigger 5


Läuft! Mit der Triggerzeit muss ich evtl. noch höher gehen.

P.S. Für heute ist es genug mit der Zisterne rein|raus krabbeln  :)
Ich schreibe [gelöst] in das Thema, wenn das Konstrukt wenigstens ein mal von selbst lief.
Ein Weg wird erst zu einem Weg, wenn man ihn geht

isy

Leider haben die bisherigen Versuche (DOIF, at, ......) nicht zum Erfolg geführt.
Die aktuelle Version mit notify läuft ab heute stabil:

HM_6B3EE9_Btn_07.* IF ( [HM_6B3EE9_Btn_07] eq "open") ( set HM_2DD7B8_Sw on, set HM_69B232_Sw off) ELSE ( sleep 90, set HM_2DD7B8_Sw off, set HM_69B232_Sw on)

HM Teile
HM-MOD-EM-8 Sensor für die 8 Schwimmschalter
HM_6B3EE9_Btn_07 ist der Schwimmerschalter #7 (ziemlich unten in der Zisterne) am HM-MOD-EM-8
HM_2DD7B8_Sw ist die Schaltsteckdose, die das Magnetventil zur Frischwasser-Einspeisung öffnet und schließt
HM_69B232_Sw ist die Schaltsteckdose, die die Pumpe des Hauswasserwerkes während der Einspeisung ausschaltet

Funktion:
Der HM_6B3EE9_Btn_07 triggert, wenn der Pegel in der Zisterne absinkt. Leider (und das habe ich nicht am HM-MOD-EM-8 direkt lösen können) triggert der HM_6B3EE9_Btn_07 permanent (Statuswechsel open|closed), wenn das Frischwasser läuft.
Durch das sleep 90 wird das Abschalten der Einspeisung bereits beim ersten "closed" getriggert, aber (non-blocking) verzögert. Es läuft damit genügend Frischwasser in die Zisterne, damit der HM_6B3EE9_Btn_07 nicht mehr triggert.

Es kann später oder nach weiteren Tests sinnvoll sein, das sleep Timing weiter zu verlängern, z.B. wenn ich das Zisternenwasser im Außenbereich verwende.
Mit der Nutzung zur WC-Spülung ist das aktuelle Timing gut.



Ein Weg wird erst zu einem Weg, wenn man ihn geht