NEWS
Wasserrohrbruch erkennen
-
Hallo,
ich möchte gerne meinen Wasserverbrauch überwachen und wenn länger wie 35 Minuten das Wasser läuft nur eine Pushnachricht senden.
Anbei mein Blockly, in der ID: ESP.../Count kommen alle 10 Sekunden die Impulse vom Wasserzähler. Sollte jetzt ununterbrochen das Wasser für 35 Minuten fließen, soll einmalig eine Pushnachricht gesendet werden.
Da der ober Teil alle 10 Sekunden durch die ID getriggert, der Umweg über die interne Variable. um nicht permanent den Timeout neu zu starten.
Mein Problem, der untere Teil wird nie getriggert!?
-
@glitzi
Der erste Trigger oben wird ausgelöst, wenn sicher count ändert, also wenn Wasser fliesst.
Daher ist bei Auslösung der Wert "Wasser fliesst" immer true.
Im unteren Teil tritt nie eine Änderung ein, daher auch keine Auslösung.
Vorschlag: oberen Trigger auf Aktualisierung ändern -
der obere Teil funktioniert, die Debug Meldungen kommen auch, im unteren Teil scheint nicht auf die interne Variable zu triggern
-
@glitzi
Habe ich gesagt: "Wasserfluss" ändert sich nie -
Aber die Debugger Meldungen Wasserfluss EIN und AUS kommen sauber...
-
@glitzi
Sicher, dass "Wasserfluss" jemals auf false geht?
Wenn der count auslöst, ist er doch immer >0 oder nicht? -
Ohne Wasserfluss ist Count = 0, wenn Wasser Fließt springt er auf die Impulse /10Sek.
javascript.0 2020-12-04 11:33:12.238 info (10526) script.js.Wasserzähler.Wasserzähler_Rohrbruch_und_Wasserverlust: Wasserfluss AUS javascript.0 2020-12-04 11:33:02.238 info (10526) script.js.Wasserzähler.Wasserzähler_Rohrbruch_und_Wasserverlust: Wasserfluss EIN
-
@glitzi sagte:
der untere Teil wird nie getriggert!?
Man kann an einen Trigger keinen booleschen Wert übergeben, sondern nur eine Datenpunkt-ID.
-
OK, dann muss ich mir eine Hilfs-ID bauen, oder gibt es einen eleganteren Weg für mein Anliegen?
-
ich würde da anders angehen und eine Zählervariable draus machen
WasserFlussZaehler=0 Trigger vom ESP wenn ESPCount > 0 erhöhe WasserFlussZaehler +1 wenn WasserFlussZaehler = [35*6] telegrammessage sonst setze WasserFlussZaehler 0
-
-
-
Wert ist dann auch eine interne Variable?
-
@glitzi sagte:
Wert ist dann auch eine interne Variable?
Wert ist eine Eigenschaft des Trigger-Datenpunktes (unter "Trigger").
Hinweis zu "nicht timeout": Erst eine Dummy-Variable erstellen und diese zuweisen. Anschließend in die Javascript-Ansicht und wieder zurück wechseln. Nun die Variable timeout selektieren.
-
@glitzi
Mein Vorschlag war, den ersten Trigger oben auf Aktualisierung zu prüfen, den unteren auf Änderung belassen.
Hadt du das versucht? -
ja das ging leider nicht, nutze jetzt mit dem Skript von paul53 !
-
@glitzi
Na prima, Hauptsache es geht! -
@glitzi auch gut, dann bauchst du nur noch eine Stellmotor der an der Wasseruhr abdreht oder einen ganz ruhige Puls falls die Nachricht kommt und du nicht zu Hause bist
-
Es gibt noch eine zweite Nachricht wenn mehr als 40l/min Rauslaufen