NEWS
[gelöst]Überwachung einer Poolpumpe
-
Ja, bisher laufen beide parallel
-
@dominik-f sagte: Habe ich denn das Timeout richtig gesetzt?
Ja.
@dominik-f sagte in Überwachung einer Poolpumpe:
dort wurde erst Stop Timout ausgeführt und dann der Timer gestartet.
Funktioniert genauso, ist nur etwas eleganter gelöst.
-
@dominik-f sagte in Überwachung einer Poolpumpe:
Ja, bisher laufen beide parallel
Dann stop mal das JavaScript, wenn du das Blockly testen möchtest. Ansonsten funkt dir das dazwischen, weil ja beide auf den selben Datenpunkt triggern.
Gruß Tom
-
Könntest du mir die elegantere Lösung eventuell zeigen?
Habe das andere Skript nun gestoppt und lasse die Power mit InfluxDB aufzeichnen. Heute ist das Skript angesprungen und hat die Pumpe ausgeschaltet, ich weiß nur nicht ob es so richtig war das die ausgeht, daher das aufzeichnen. Melde mich sobald ich weiß ob das Skript richtig funktioniert bzw. wann genau es probleme gibt.
-
@dominik-f sagte: Könntest du mir die elegantere Lösung eventuell zeigen?
falls Wert >= 500 mache stop timeout sonst falls vorheriger Wert >= 500 mache Ausführen timeout
-
So richtig?
Was ich feststellen konnte ist bisher, dass das Skript die Pumpe öfter ausschaltet, als das javascript. Die Frage ist nur, ob sich was an der Pumpe verändert hat oder welches der beiden Skripte richtig funktioniert. Ich logge erst mal die Leistung eine Zeit ohne Skript und schaue wie sich die Leistung so verhält.
-
@dominik-f sagte: So richtig?
Nein.
falls Wert >= 500
Anstelle des falls-Blockes unten, kann man "sonst falls" verwenden.
-
Ah, das hatte ich nicht gesehen^^
-
@dominik-f
Immer noch falsch: Die äußere falls-Klammer weg lassen! -
Du meinst das mit Wert <500?
-
@dominik-f sagte: Du meinst das mit Wert <500?
Ja, denn so wird der Timeout nie gestoppt, denn Wert kann nicht gleichzeitig < 500 und >= 500 sein.
-
so?
-
@dominik-f sagte: so?
Passt.
-
Woher weiß das Skript denn nun, dass wenn der Wert für 15 Sekunden unter 500 ist er die Pumpe ausschalten soll?
-
@dominik-f sagte: Woher weiß das Skript denn nun, dass wenn der Wert für 15 Sekunden unter 500 ist er die Pumpe ausschalten soll?
sonst
bedeutet, dass die falls-Bedingung (Wert >= 500) nicht erfüllt ist, also Wert < 500 sein muss. -
Ich danke dir für deine Erklärung. Da wäre ich so nicht drauf gekommen^^
-
Jetzt läuft das Skript ja so, dass wenn der Wert erst über 500 ist und dann 15 Sekunden unter 500, die Pumpe ausgeschaltet ist.
Das schützt die Pumpe wenn im laufenden Betrieb was passiert.
Die Pumpe wird jedoch mehrmals am Tag an und ausgestellt. Ich würde jetzt gerne noch einen Schutz einbauen, wenn die Pumpe vorher aus war.
Das bedeutet, wenn die Pumpe eingeschaltet wird und der Wert für 15 Sekunden unter 500 bleibt, sich die Pumpe wieder ausschaltet.
Wie müsste ich das dort einbringen? -
Oder könnte man so beide Fälle verbinden? Also falls die Pumpe an ist und die Leistung für 15 Sekunden unter 500 ist, dann schalte aus?
-
@dominik-f so nicht. Jetzt würde folgendes passieren: Pumpe schaltet ein, wenn kleiner 500 mache stop timeout2. wenn größer gleich 500 starte timeout in 15 sec
"falls" ist dein Kriterium, was erfüllt werden muss, um "mache" zu aktivieren
Sonst ist immer das Gegenteil von mache, also wenn das Kriterium nicht erfüllt ist -
oh man, ich muss mir das hinter die Ohren schreiben
dann müsste es so aussehen oder?
Wenn ich das jetzt richtig verstehe startet er einen Timer und schaltet nach 15 Sekunden die Pumpe aus. Das bedeutet, ich muss in den Timer noch eine Bedingung reinbringen, dass wenn nach 15 Sekunden der Wert immer noch unter 500 ist er die Pumpe dann ausschaltet oder?