NEWS
[gelöst]Trockenlaufschutz, Problem mit Blockly
-
@homoran Die Pumpe startet sobald der Wasserdruck im Haus abfällt, also wenn Wasser entnommen wird. Wenn die Pumpe kein Wasser hat ist also zwangsläufig der Wasserdruck im Haus auch nicht da und die Pumpe läuft und läuft. Den Hitzetod der Pumpe möchte ich verhindern. Der Strom soll nur weggenommen werden wenn die Pumpe trocken läuft.
-
@nole sagte in Trockenlaufschutz, Problem mit Blockly:
Die Pumpe startet sobald der Wasserdruck im Haus abfällt,
das geht aber nicht, wenn sie keinen Strom hat.
@nole sagte in Trockenlaufschutz, Problem mit Blockly:
Der Strom soll nur weggenommen werden wenn die Pumpe trocken läuft.
das macht dein Skript aber nicht.
Sobald der Wasserdruck hoch genug ist und die Leistung <50W ist zieht dein Blockly der Pumpe dauerhaft den Strom weg
Langsam habe ich den Eindruck, du hast false und true vertauscht (abgesehen von den übrigen Denkfehlern)
Wie bereits geschrieben, wäre es für dich hilfreich, die möglichen Szenarien und die jeweils gewünschten Aktionen mal auf einem Papier aufzumalen.
-
@bbtown Ich bin dankbar für die Vorschläge und ich habe einiges gelernt heute. Beide Varianten mit "aktualisieren" und mit "geändert" habe ich ausprobiert, aber das Skript schaltet die Pumpe immer noch aus mir unerklärlichen Gründen aus. Daraus ist meine Idee "eigentlich müsste es doch gehen wenn ich oben Wert größer als 100 und kleiner als 200 prüfe und danach den timeout starten lasse und nach 30 Minuten ausschalten lasse. Den Rest müsste ich doch weglassen können, oder habe ich mich da jetzt total verannt?" entstanden. Ich weiß nicht ob ich damit weiterkomme.
-
@homoran Ja, ich habe den Denkfehler nur noch nicht gefunden.
-
@nole sagte in Trockenlaufschutz, Problem mit Blockly:
Beide Varianten mit "aktualisieren" und mit "geändert" habe ich ausprobiert, aber das Skript schaltet die Pumpe immer noch aus mir unerklärlichen Gründen aus.
"auf Änderung" kann eine weiter Option zu Finetunig sein.
Im Moment passt die von dir angewandte Logik IMHO in keinem Fall zu der geplanten Aufgabe -
@nole sagte in Trockenlaufschutz, Problem mit Blockly:
@homoran Ja, ich habe den Denkfehler nur noch nicht gefunden.
Ja, was?
Schreib bitte mal auf, was passieren soll wen welcher Zustand existiert.
Ich habe dir schon einige spezifische Fragen gestellt, ohne deren Antwort eine Hilfe nicht möglich ist
Leider kommen diese Antworten nicht, nur immer neue UngereimtheitenDu solltest am besten nochmal komplett neu auf Start gehen
-
@homoran Ok, die Pumpe soll automatisch abgeschaltet werden wenn sie trocken läuft um dann mit Wasser aufgefüllt manuel am Sonoff PowR2 wieder eingeschaltet werden.
Im Trockenlauf liegt die Pumpe zwischen 150 und 190 Watt.
Im Normal Pumpbetrieb bei über 300 Watt, allerdings wenn die Pumpe bei erreichen des Wasserdrucks selber abschaltet werden noch ein paar Watt zwischen 4 und 15 angezeigt bis sie dann auf 0 Watt geht.
Ich hatte jetzt mal folgendes Blockly gebastelt:<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="timeout5">timeout5</variable> </variables> <block type="on_ext" id="s@2OLG^WQ0Uz${3=]rcu" x="-487" y="963"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="Ai;g1E]yx1YU@CvQU0_?"> <field name="oid">sonoff.0.Sonoff-POWR2-Hauswasserpumpe.ENERGY_Power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="BFG#q9C:Ry7e,fB1,ReS"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="}0|Ibdz}[$u!,s@1umt+" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="umRBm=/5V?A]aGtdTt,("> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="iU5;dy./4gJ2yO1Yy,w,"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="pVQ+AKU+f$FBVl?7#xdZ"> <field name="NUM">51</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="rP:D]GlY.!b+*YH+yKGB"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="v/2uJg+d3`wLl!~G*m!R"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="[XFgC?0]Uk+4ioWy$bh2"> <field name="NUM">190</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="NkHbFSo4*d9Q*`.:YX{("> <field name="NAME">timeout5</field> <next> <block type="control" id="]Dno,P3;6dYZ:5Xp4;E`"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Sonoff-POWR2-Hauswasserpumpe.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="%`XG|!/aW/;C[bnZj%8f"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_settimeout" id=",XnI}PNQCo`}8_M}Wh{8"> <field name="NAME">timeout5</field> <field name="DELAY">30</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="KRlV$DRq[]=@3e6wW~^Y"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Sonoff-POWR2-Hauswasserpumpe.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="1?u+p!PCnX{mK*+Fc.oY"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="@w,+i@%MeuH{lT)|XxBH" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="Lc64TT##]i[Mj0XMkJH("> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="GYWZfP!GgQH)]K@e[h)6"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="EnF1k6FG|l{~tOj-bmV;"> <field name="NUM">50</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="O]kgyw2#SRIiy|f9Unv."> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="lG/{Z`298OF.VUq~Hhzr"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="h1;v$D/G!wHNBhYqBq;j"> <field name="NUM">191</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_cleartimeout" id="a4*9:he[uuWGBNB9E:#t"> <field name="NAME">timeout5</field> <next> <block type="control" id=")jNRwK{Uik_:R$lzdORT"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Sonoff-POWR2-Hauswasserpumpe.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="vq-KULo#Tk?qM!WE^c[+"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <next> <block type="debug" id="hR+`P5qaHhOUzOb2oFF#"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="U9Upn~:#r}gU|h^9`RwR"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="EjlpL|_8ocdIR=pUZ:GN"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="~W4iG)g]v[b--o;@IZE]"> <field name="TEXT">Watt:</field> </block> </value> <value name="ADD1"> <block type="on_source" id="}^ELsWj}n/S7ee^X@lO1"> <field name="ATTR">state.val</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </xml>
-
@nole Screenshot vom Blockly?
-
@nole kann man bei deinem Sonoff Schalter auch dann noch die Leistung erfassen/ablesen, wenn dieser ausgeschaltet ist?
Nach meinem Verständnis schaltest Du genau den Sonoff aus, der dir eigentlich erzählen soll wie hoch die Leistungsaufnahme eigentlich ist??
sonoff.0.Sonoff-POWR2-Hauswasserpumpe.ENERGY_Power sonoff.0.Sonoff-POWR2-Hauswasserpumpe.POWER
-
Nein, kann er nicht. Desshalb manuell wieder einschalten.
-
@bbtown bzw ist die Leistung auf Null da ja kein Strom geschaltet ist. Nur der Sonoff hat noch seinen Betriebsstrom, aber die Watt-Anzeige ist dann Null.
-
@nole Skript ist jetzt zu testen eingeschaltet, meine Frau und Kinder gehen jetzt duschen.
Kurze Erklärung: wir wohnen seit einem Jahr wieder in Thailand. -
@nole mit "geändert"
-
-
-
@nole sagte in Trockenlaufschutz, Problem mit Blockly:
manuel am Sonoff PowR2 wieder eingeschaltet werden.
ok - das würde passen, bedingt aber, dass du rund um die Uhr zu Hause (oder wo auch immer) bist.
@bbtown sagte in Trockenlaufschutz, Problem mit Blockly:
Nach meinem Verständnis schaltest Du genau den Sonoff aus, der dir eigentlich erzählen soll wie hoch die Leistungsaufnahme eigentlich ist??
Habe keine sonöffer, aber bei HM geht das. Auch wieder anschalten, denn..
@nole sagte in Trockenlaufschutz, Problem mit Blockly:
bzw ist die Leistung auf Null da ja kein Strom geschaltet ist. Nur der Sonoff hat noch seinen Betriebsstrom, aber die Watt-Anzeige ist dann Null.
@nole
dann bleibt noch die Frage, wann es zum Trockenlaufen kommen kann....@homoran sagte in Trockenlaufschutz, Problem mit Blockly:
kann das auch passieren, dass die Pumpe anspringt ohne dass Wasser da ist?
Oder nur, dass die Pumpe nicht ausgeht, nachdem sie gepumpt hat?Je nach Antwort muss man beide Richtungen überprüfen.
Was soll denn der 30 minütige Timeout bewirken?EDIT:
habe mal auf die Schnelle was gezimmert, daher ohne Gewähr:
EDIT2:
dein steuere mit wahr/falsch ergibt in meinen Augen überhaupt keinen Sinn.
Du schaltest die Pumpe doch manuell am Sonoff an.
Was soll da noch anschalten?
oder, wie schon @BBTown schrieb: Wie soll der Sonoff auf Leistungsänderung reagieren, wenn die Pumpe vorher aus war? -
@homoran Das mit dem Trockenlauf liegt wohl an dem Einlass der Pumpe, da ist irgendwie ein stopfen der hochgedrückt wird. Ich vermute das die dazugehörige Feder nicht mehr ok ist. Der Handwerker sagt aber ok.
Nachfolgendes Bild bei Trockenlauf gerade eben. Pumpe wird wohl scheinbar abgeschaltet, das Skript schaltet sie dann aber wieder ein. -
@homoran werde ich mir gleich ansehen, muß erstmal Wasser auffüllen.
-
@nole sagte in Trockenlaufschutz, Problem mit Blockly:
Das mit dem Trockenlauf liegt wohl an dem Einlass der Pumpe, da ist irgendwie ein stopfen der hochgedrückt wird. Ich vermute das die dazugehörige Feder nicht mehr ok ist. Der Handwerker sagt aber ok.
Was hat das jetzt mit dem Skript zu tun?
Bitte gehe das Skript mal ganz neu strukturiert an. Das ist bei Logikoperationen unabdingbar.
Hier geht es schon viel zu lange immer wieder kreuz und quer ohne Struktur!Beispiel/Grundlage:
normale Funktion eines Hauswasserwerks:- Stromzufuhr an
- Druck baut sich auf
- Leistung 200-300 W
- Druck erreicht
- Pumpe schaltet ab
- Leistung 0
Nimm dies mal als Grundlage und schreibe an den entsprechenden Stellen dazu was
- passieren kann
- du von dem Skript an diesen Stellen für Aktionen erwartest.
So kann ich z.B. überhaupt nicht nachvollziehen, warum du bei Druck erreicht - Leistung 0 den Strom abschalten willst?
-
@nole sagte in Trockenlaufschutz, Problem mit Blockly:
das Skript schaltet sie dann aber wieder ein
das ist ja was ich schreibe!