Guten Tag alle zusammen.
Ich habe mich in den letzten Tagen daran gemacht meine IPS dazu zu bewegen dass beim Füllen meiner Wanne eine Meldung kommt wenn diese 80 Liter gefüllt hat.
Nun habe ich ein Skript gesucht das ich so auf meine Bedürfnisse abändern kann. Leider mit nicht viel Erfolg.
Da ich mich mit dem Programmieren von Skripten sehr schwer tue wäre ich dankbar . Ich habe zwar etwas gefunden das aber nur 15 Minuten testet ob durchgehend ein Verbrauch vorliegt.
Vielleicht gibt es so ei´n Skript schon und ich war zu blind um dieses zu finden.
wäre sicher hilfreich wenn Du kurz die Ausgangslage skizzierst:
wie wird der Füllstand ermittelt? -> per Wasserzähler, über Zeit (was dann erher eine Vermutung statt Ermittlung ist) oder wie?
hast Du schon entsprechende Variablen im IPS?
Ich habe einen Wasserzähler mit S0 Ausgang der jeden Liter zählt.
In der Ips lasse ich den Zähler über den Ds2423 abfragen.
Nun habe ich mir das so vorgestellt.
wenn ich im Bad das Wasser öffne fängt der Zähler an weiter zählen.
Wenn nun der Zähler nach dem Einschalten ununterbrochen an ist und 80 Impulse(Liter) gezählt wurden warnt mich ein Warnton dass ich das Wasser ausschalten muß.
Es müsste also auf Null springen sobald ich einschalte und ein Variabel hoch zählen wenn diese nur 5 Liter Verbrauch anzeigt und 1 Minute vorbei ist müsste er wieder bei Null anfangen. So wollte ich vermeiden dass der Verbrauch der Küche oder des Waschbecken mitgezählt wird.
Natürlich kann es immer noch sein dass einer in der Küche Wasser holt wenn ich die Wanne fülle. Dies wäre nicht tragisch.
Vielen dank Thomasso
nähern wir uns der Lösung mal an, ich würde so vorgehen:
Variante 1:
Du ermittelst die Durchflussmenge (Liter/Minute) des Badewannen-Einlaufes.
Beim Beginn der Wasserentnahme wird - getriggert durch Variablen-Aktualisierung Wasseruhr ein Skript gestartet. Dieses setzt zunächst nur einen Timer. Die Timerdauer entspricht der Fülldauer für 80 Liter. Der Timer startet nach Ablauf das Script erneut. Das Script prüft, ob 80 Liter durchgeflossen sind. Wenn Prüfung = erfolgreich (=Durchflussmenge >= 80L) dann Alarm, Timer beenden etc.
Wenn Prüfung = nicht erfolgreich (= Durchflussmenge <80 Liter) dann Timer ausschalten…
Variante 2:
Du ermittelst die Durchflussmenge (Liter/Minute) des Badewannen-Einlaufes.
Beim Beginn der Wasserentnahme wird - getriggert durch Variablen-Aktualisierung Wasseruhr ein Skript gestartet. Dieses setzt zunächst nur einen Timer. Die Timerdauer entspricht der Fülldauer für 5 Liter.
nach erneutem Start des Scripts wird die Durchflussmenge seit erstem Scriptstart ermittelt. Ist die Durchflussmenge >4 Liter passiert nichts, der Timer läuft erneut und triggert das Script nach weiteren >4Litern. Wenn sich die Durchflussmenge nicht erhöht wird der Timer gestoppt, es passiert nichts weiter.
Wenn der Timer weiterläuft und nach x Durchläufen eine Wassernetnahme von 80L erreicht wird gibt das Script alarm.
in beiden Varianten würde ich beim ersten Scriptstart den Zählerstand der Wasseruhr als temporären Wert in eine Variable schreiben und diesen Wert mit dem aktullen Wert des Wasserzähler vergleichen.
Was ich aktuell nicht durchgespielt habe sind die von Dir beschriebenen Störgrößen wie z.B. Entnahme durch andere Zapfstellen im selben Versorgungsstrang. Da müsste man die verschiedenen Szenarien mal auflisten und abarbeiten.
Du könntest auch zusätzlich einen kleinen Sicherheitsschalter einbauen, der einfach die Füllhöhe absichert. Ob nun mechanisch oder elektronisch ist Geschmacksache.
BTW: 80l - Ist das nicht eher ein Fußbad?
und ich platze hier fast vor Lachen, verkneife mir seit gestern Abend sarkastische Kommentare :D:D:D
Zumal ich im eigenen Glashaus nicht mit Steinen werfen will :rolleyes:
Da ich mich mit dem Programmieren von Skripten sehr schwer tue wäre ich dankbar . Ich habe zwar etwas gefunden das aber nur 15 Minuten testet ob durchgehend ein Verbrauch vorliegt.
bau doch das script so um, dass nicht die 15 min sondern 80 liter gezählt werden.
ich arbeite mit dem Script (von rwn) seit Monaten, schreibe die Variable noch in die db und kann im Diagramm die Entnahmezeiten/-dauer loggen.
Guten Abend alle zusammen.
Danke für eure Ideen und Anregungen.
Das mit den 80 Liter kommt bei meiner Wanne schon hin.
Ich hatte früher mal eine für 2 Personen. Da konnte man nicht mal vernünftig hin liegen ohne dass man mit dem Kopf im Wasser war da diese Wanne so lang war. Mit der kleineren Wann kann ich mit den Füßen unten anstehen.
Die Variante mit dem Zählen der Liter zahl schwebt mir auch vor.
Ich dachte es müsste so funktionieren.
Beim anlaufen der Wasseruhr wird ein Skript ausgeführt das den Aktuellen Wert des Wasserzähler in eine Variabel schreibt und dann auf Null setzt.(Ist irgendwie unlogisch. am besten wäre es die Variable steht auf Null und wird beim los laufen der Wasseruhr hochgezählt)
Mit einem Ereignis könnte ich dann den Alarmton ertönen lassen wenn die 80 Liter erreicht sind.
Danach sollte der Wert wieder auf Null zurückfallen .
Ich weiß nur nicht wie man dies bewerkstelligt. Skript schreiben ist noch ein Buch mit 9 Siegel für mich.
Ich habe mal gelesen dass jemand seinen Zähler überwacht um einen Rohrbruch zu melden wenn das Wasser eine gewisse Zeit ununterbrochen läuft.
Guten Abend alle zusammen
Das wäre nicht schlecht wenn Ihr mir helfen könnt.
Ich denke dass ich im Ansatz schon mal richtig liege.
Gute Nacht und einen wunderschönen Mittwoch
Thomasso
Das mit dem Rohrbruch kann eigentlich nur Steiner gewesen sein
das mit dem Rohrbruch ist bei mir und ich muss sagen, es hat sich bewährt. Es hat bisher keine Falschfunktion gegeben.
Während der einwöchigen Testphase habe ich den Trigger auf den Stromzähler gelegt, um nicht unnötig Wasser zuverbrauchen. Da ja ständig Strom fliesst, hat das script pünktlich alle 12min ein Event ausgelöst.
Evtl kann der Rainer (rwn) das script auf eine bestimmte Literzahl umschreiben ?
Also ich würde mal so ganz spontan sagen:
Wenn Du Wannenvollauf startest, einen „Startskript“ auslösen. In dem dann die aktuelle Wasseruhrzahl + 80L in eine Extra Variable, und Timer von alle paar Sek auf script 2.
Script2: Wasseruhrzahl mit der zwischengespeicherten Zahl vergleichen, wenn Grösser -> Alarm, timer aus
Und wenn man das jetzt ganz komfortabel haben will, dann macht man das noch mit dauerlauf erkennung (stichwort Rohrbruchscript). Wobei sich da die Frage stellt ob nix anderes dafür in Frage kommt (Rasensprenger z.b.)
Wenn das geht weil nix anderes soviel Wasser braucht dann startscript auch auf periodischen Timer (meinetwegen 5Sek), Wasserzahlerstand in eine Weitere Hilfsvaribale speichern und gucken ob sich seit dem letzten Aufruf was verbraucht wurde. Wenn nicht dann das von oben Starten. (Wert+ 80 L in Beobachtungsvariable)
Oder Du wandelst das Rohrbruchscript halt ab. Aber eigentlich doch genau das richtige um erste Schritte damit zu machen
Die gewünscht Aufgabe liese sich ganz einfach wie folgt realisieren:
Da Du einen Wasserzähler mit 1l Taktung hast kannst Du davon ausgehen, daß etwa alle 5 Sekunden ein Liter entnommen wird. Also würde ich die 1-wire Abfrage auf etwa 10 Sekunden einstellen. Immer wenn innerhalb des 10 Sekunden Rasters Wasser entnommen wird, dann wird das Delta (Wasserzähler vor/nach der 10 Sekunden Abfrage) in einer Variable hochgezählt. Diese Variable wird auf Null zurckgesetzt wenn innerhalb des 10 Sekunden Rasters kein Wasser entnommen wird. Wenn die Varible dann den gewünschten Wert (80l) erreicht hat wird ein Alarm bzw. Ereignis ausgelöst.
Also so würde ich es machen und das funktioniert bestimmt.
Klar ist natürlich auch daß der Alarm auch dann anschlägt wenn z.B. der Rasen gegossen wird. Alternativ könnte das Skript dann auch mit einem Funk-Bewegungsmelder im Bad (FS20) verknüpft werden, falls derartiges Scenario auf das Einlaufen der Badewanne beschränkt werden soll.
Rohrbruch würde ich a) zeitlich basierend einstellen b) Nachts (2-4 Uhr) bei Wasserverbrauch triggern.