NEWS
[gelöst] Schaltzustand Verzögern
-
@paul53
Das klingt echt Spitze! Ich mache mich am Wochenende dabei und bau das um. -
@paul53
So ich ahbe jetzt den Osmose Schwimmer und das Magnetventil neu verkabelt.
Muss ja eigentlich nichts mehr geändert werden an der Steuerung.
Doch ist es nach wie vor möglich das du mir aus dem Javascript ein Blockly zaubern kannst !?
Bis jetzt kann ich sagen, hatte es gestern umgebaut da lief nix also den Haupt Steuerkasten ausgebaut und stehen gelassen.
Dann hab ich heute für die Osmose eine eigene kleine Platine gebaut und neue widerstände genommen.
Drei Schwimmer seigten den falschen Zustand also fix die Körper umgedreht und dann war alles Top.
Dann alles wieder eingebaut und siehe da, die Osmose pumpt fröhlich los bis Osmose Schwimmer false war. sprich kein Strom und auch relais technisch getrennt wurde. da Tasmota dann false anzeigte und gemessen am Buchsen anschluß vom Magnet Ventil und am Relais liegen keine 12 volt mehr an.
Ich bin sehr zufrieden! nur eine Steuerung als Blockly wäre sehr toll!!!
Vielen Dank für deine Hilfe @paul53 -
@Aphofis sagte:
aus dem Javascript ein Blockly zaubern kannst !?
Ich hoffe, dass ich keine Fehler eingebaut habe. An 3 Stellen muss noch die bereits bestehende Datenpunkt-ID für die Restzeit zugewiesen werden.
-
@paul53
Zwei datenpunkte habe ich gefunden!
Einmal wo der Osmose Restzeit gesetzt wird und im Datums reset trigger wo ist denn der dritte? Und kann ich die Text datenpunkte ersetzen mit richtigem Wert von Objekt ID !? Oder müssen die Text Bausteine zu den datenpunkten so bleiben ??? -
@Aphofis sagte:
kann ich die Text datenpunkte ersetzen mit richtigem Wert von Objekt ID !?
Du kannst, aber welchen Vorteil hat es, außer dass man den Namen sieht ?
@Aphofis sagte in Schaltzustand Verzögern:
wo ist denn der dritte?
- Drittes Kommando von oben: setze Restzeit mit Wert von ID / 2
- Setzen des Datenpunktes in der Funktion nach Erhöhung um -1
- Setzen des Datenpunktes um Mitternacht
-
-
@Aphofis sagte:
Gibt drei Fehler was kann das sein !?
Keine Ahnung. Schau mal im Tab "Log", denn dort findet man meist mehr Informationen.
-
@paul53
Also Fehler sind weg !
Hatte die normalen Trigger Datenpunkte genommen und danach weider Die Text Verknüpfungen zu den Datenpunkten genommen.
Nur ist seid ca 2 Std Osmose Schwimmer auf true aber es passiert nix
Restzeit ist noch vorhanden!
Osmose Schwimmerfreigabe Datenpunkt steht auf false und Osmose Restzeit wird runter gezählt obwohl nichts dosiert wird.
Woran kann es liegen !? -
@paul53 sagte in Schaltzustand Verzögern:
@Aphofis sagte:
aus dem Javascript ein Blockly zaubern kannst !?
Ich hoffe, dass ich keine Fehler eingebaut habe. An 3 Stellen muss noch die bereits bestehende Datenpunkt-ID für die Restzeit zugewiesen werden.
Ich sage trotzdem schon mal vielen Dank für deine Mühe und Arbeit!!!!
-
@paul53
Nabend, woran könnte es denn liegen, das die Blockly Steuerung nicht läuft !?
Die Javascript Steuerung funktioniert einwandfrei also scheint irgendwo ein Fehler drin zu sein. -
@paul53
Ist es eigentlich möglich die selbe Schaltung beim vlies Motor her zu stelle!?
Also sprich Strom über den Schwimmer und den Schwimmer Zustand über den zusätzlichen Widerstand abgreifen!? -
@paul53
Moin Moin magst du da vielleicht noch mal drüber gucken!? Es funktioniert leider nicht so wie das JavaScript oder paar debugs einbauen um den Fehler zu finden Und ich wollte dich mal nach deinem richtigen bzw ganzen Namen fragen! Meerwasser live TV und ich haben vor eine Video Serie auf YouTube zu machen Über mein aquarium System Und ich würde dich gerne beim Namen nennen oder nur dein nickname hier aus dem Forum. Als Dank weil du so viel hilfst bei den Steuerungen<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="|)!c^,7[X`?ynw|;17Zk">Osmosefreigabe</variable> <variable type="" id="cpJX%}Vx_s[k6j$!LIP@">Schwimmer</variable> <variable type="undefined" id="Magnetventil_Kontrolle">Magnetventil_Kontrolle</variable> <variable type="" id="FuUwnl6AyzTl8Jb7{h:(">Restzeit</variable> <variable type="undefined" id="timeout_aus">timeout_aus</variable> <variable type="undefined" id="timeout_ein">timeout_ein</variable> <variable type="" id="_gaX3prdQJcF[P3IpJs1">txt</variable> </variables> <block type="variables_set" id="T,TD,uS]YF:_+z`th:,8" disabled="true" x="38" y="-12"> <field name="VAR" id="|)!c^,7[X`?ynw|;17Zk" variabletype="">Osmosefreigabe</field> <value name="VALUE"> <block type="logic_negate" id="LaD35tJ+xzy.xsCy=*~f"> <value name="BOOL"> <block type="get_value" id="W_VR!Jd9lB*-[Ao%W:0_"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Aqua_Float.POWER4</field> </block> </value> </block> </value> <next> <block type="variables_set" id="UZ1vu%!%(wMz(etu?bNU" disabled="true"> <field name="VAR" id="cpJX%}Vx_s[k6j$!LIP@" variabletype="">Schwimmer</field> <value name="VALUE"> <block type="get_value" id="_S0IH9D/NJrv|?je7LsQ"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Aqua_Float.POWER1</field> </block> </value> <next> <block type="controls_if" id="_f-Vsl8#ynS`Fik*J{2m" disabled="true"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="l6zyYi33=~e]~o3pZjEk"> <field name="OP">AND</field> <value name="A"> <block type="variables_get" id="*@6,/{sJsZ_O%U{AP+CK"> <field name="VAR" id="cpJX%}Vx_s[k6j$!LIP@" variabletype="">Schwimmer</field> </block> </value> <value name="B"> <block type="variables_get" id=")+,=Oye#G14$VHNQ}280"> <field name="VAR" id="|)!c^,7[X`?ynw|;17Zk" variabletype="">Osmosefreigabe</field> </block> </value> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="5YwW-.lKBl--l?q{4t1J" disabled="true"> <mutation name="Magnetventil_Ein"></mutation> </block> </statement> <statement name="ELSE"> <block type="control_ex" id="R7?ysq?|_5WZ%he$~fM}"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="WUkpQ**faI@Z4%JZHC,w"> <field name="oid">sonoff.0.Aqua_Control.POWER1</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="c-z%CN2j*mUN;?0TZka]"> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="L@y#/K^|aWT+]K*)rb/w"> <field name="NUM">0</field> </shadow> </value> </block> </statement> <next> <block type="on_ext" id="[J6k5|(P+59Uj?1?LIP)" disabled="true"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="_0ZGQU)a3FQV;-H,1cSg"> <field name="oid">sonoff.0.Aqua_Float.POWER1</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="poL5|G`w`07tv$TJnHTL"> <field name="VAR" id="cpJX%}Vx_s[k6j$!LIP@" variabletype="">Schwimmer</field> <value name="VALUE"> <block type="on_source" id=",{s2PL$Z~XF-K.@K$(cZ"> <field name="ATTR">state.val</field> </block> </value> <next> <block type="controls_if" id="H%UVLm)Rt%]quWQqMvWA"> <mutation else="1"></mutation> <value name="IF0"> <block type="variables_get" id="yC`v828KWhNwgeCleQ-*"> <field name="VAR" id="cpJX%}Vx_s[k6j$!LIP@" variabletype="">Schwimmer</field> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="78+=kjp^Bb$W[x4R0mJ?" disabled="true"> <mutation name="Magnetventil_Ein"></mutation> </block> </statement> <statement name="ELSE"> <block type="control_ex" id="c*B!H:=8)@Q?9PQqZewx"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="MFc!(wX]Kezq12=UD^(o"> <field name="oid">sonoff.0.Aqua_Control.POWER1</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="K3o=Mz%aU[/reur}h/cC"> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="eK|D21}|u5k9gyIcsP}0"> <field name="NUM">0</field> </shadow> </value> </block> </statement> </block> </next> </block> </statement> <next> <block type="schedule" id="Cf5z,i4+BPx|mC.s[7sV" disabled="true"> <field name="SCHEDULE">0 0 * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="/wsd{Zb9=#M^sFr0lq(Y"> <field name="VAR" id="FuUwnl6AyzTl8Jb7{h:(" variabletype="">Restzeit</field> <value name="VALUE"> <block type="math_number" id="-Hi0vG@x!xaB;%z!O=-("> <field name="NUM">150</field> </block> </value> <next> <block type="update" id="+PCSBc.pL9xd[p@AbF8J"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Osmose.Restzeit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="Kbi(va6W}D5^8Ta1O-*O"> <field name="NUM">300</field> </block> </value> <next> <block type="controls_if" id="@*6`m281q7NQH,k(jr|0"> <value name="IF0"> <block type="variables_get" id="JCANc=bPArkFDUEAnp1n"> <field name="VAR" id="cpJX%}Vx_s[k6j$!LIP@" variabletype="">Schwimmer</field> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="+!TEwr9*p)cZ(yo]Tr(q" disabled="true"> <mutation name="Magnetventil_Ein"></mutation> </block> </statement> </block> </next> </block> </next> </block> </statement> <next> <block type="on_ext" id="cicl].4B85_)1|{Y~XG1" disabled="true"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="R?CY58jIPOBvFp6,8]Fb"> <field name="oid">sonoff.0.Aqua_Float.POWER4</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="1cSGJ,Y+AFozV^1tsBa~"> <mutation else="1"></mutation> <value name="IF0"> <block type="on_source" id="E0]Pg75?gS_z@e=9KLeV"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="timeouts_settimeout" id="w-iN~D2`G8?S%$;Ek.j8"> <field name="NAME">timeout_aus</field> <field name="DELAY">5</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="variables_set" id="^^xI_3f,D{$a/No:X]X/"> <field name="VAR" id="|)!c^,7[X`?ynw|;17Zk" variabletype="">Osmosefreigabe</field> <value name="VALUE"> <block type="logic_boolean" id="FvH0$Y:Ks;z8?F1=mB|l"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control_ex" id="Qcc0UGB%.5!uDPk}*[_="> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="H#YjrkYifVaza*|zrw=S"> <field name="oid">sonoff.0.Aqua_Power.POWER3</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="D;*5-ku%,C9*7Pv?_U}F"> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="88Wh(hn/|Gl}$|p$2Tob"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="2fI1oPf]PGh/!gux`%F("> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="h1ltC,oMVMT24[^XtrXQ"> <field name="oid">sonoff.0.Aqua_Control.POWER1</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="1~Vg#$:66n;g_$Cx0A_4"> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="$$,y!D6xZ=SlN_pz;@Sz"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="timeouts_cleartimeout" id="uUw}ROiMHH}TL7XsFEo2"> <field name="NAME">timeout_ein</field> </block> </next> </block> </statement> <statement name="ELSE"> <block type="timeouts_settimeout" id="Wv`XqOIBTJjv=RK`$fTV"> <field name="NAME">timeout_ein</field> <field name="DELAY">10</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="variables_set" id="C^yA5lHW@:*CJUxIh6U8"> <field name="VAR" id="|)!c^,7[X`?ynw|;17Zk" variabletype="">Osmosefreigabe</field> <value name="VALUE"> <block type="logic_boolean" id="lf*c8q[IS)|DkiPzRlgg"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="controls_if" id="!T1lr?SEI~@tXU3Pf3i8"> <value name="IF0"> <block type="variables_get" id="GQ:u.71z=cZ:;,.uJlkG"> <field name="VAR" id="cpJX%}Vx_s[k6j$!LIP@" variabletype="">Schwimmer</field> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="l4=CWIXw!+CtA)Mr;*ek" disabled="true"> <mutation name="Magnetventil_Ein"></mutation> </block> </statement> <next> <block type="control_ex" id="m~(,PfKpeh,0A{$lYwAz"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="])8i1)X;%#^~SmQ%]^]3"> <field name="oid">sonoff.0.Aqua_Power.POWER3</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id=",qZw^g^?n1XgirmeYsir"> <field name="BOOL">TRUE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="!Tk;1bN0n91hzd=;GjGb"> <field name="NUM">10000</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="timeouts_cleartimeout" id="Z;L`@8!JS.;yDf{_ztqc"> <field name="NAME">timeout_aus</field> </block> </next> </block> </statement> </block> </statement> <next> <block type="on_ext" id="9+]yS$0HT8w=wL_OpMo%" disabled="true"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="TML+y_Ykpgt*q$y[!Ba~"> <field name="oid">sonoff.0.Aqua_Power.POWER3</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="a}mIj[@w#oUW*#0+?G[Y"> <mutation else="1"></mutation> <value name="IF0"> <block type="on_source" id="9u,i?3Gw(FuGM.UNGpOu"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="variables_set" id="*Zpg{Uh)XRNlS_j==#t:"> <field name="VAR" id="_gaX3prdQJcF[P3IpJs1" variabletype="">txt</field> <value name="VALUE"> <block type="text_join" id="(72R.m3;?U7N=HH#y+Vs"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="cSj{hxj9a$0[Mx0TLHk="> <field name="TEXT">Filter Max unterschritten, Skimmer & Osmose</field> </block> </value> <value name="ADD1"> <block type="text_newline" id=";qpXqc!96-9r6+1D-a%T"> <field name="Type">\n</field> </block> </value> <value name="ADD2"> <block type="text" id="+AC9g`J)S[+IN`3Wsh_#"> <field name="TEXT">wurden wieder eingeschaltet</field> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="p%)r[d{_,M4ZuxRcYAOw"> <field name="VAR" id="_gaX3prdQJcF[P3IpJs1" variabletype="">txt</field> <value name="VALUE"> <block type="text_join" id="~WooRsW9aL*UdOIvor9B"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="-PhSz(?O{G0Tgu;@UkqJ"> <field name="TEXT">Filter Max erreicht, Skimmer & Osmose</field> </block> </value> <value name="ADD1"> <block type="text_newline" id="kCM86cYqa.uas$lX60bd"> <field name="Type">\n</field> </block> </value> <value name="ADD2"> <block type="text" id="Uh[A#:Sz7#@NT6-0wJ:U"> <field name="TEXT">wurden abgeschaltet</field> </block> </value> </block> </value> </block> </statement> <next> <block type="telegram" id="z:XWz`s.nn{nq6-3+:O8"> <field name="INSTANCE">.0</field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="71tr9gx@t9ka@88_Nd7u"> <field name="TEXT">text</field> </shadow> <block type="variables_get" id="B-5;;}Lb9,+ncNl[^We-"> <field name="VAR" id="_gaX3prdQJcF[P3IpJs1" variabletype="">txt</field> </block> </value> <next> <block type="debug" id="5Eu3/]x0|Bbt3r3yDm+."> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="E=I0g~uNJbq:i_{Ray6z"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="C?(|OQ2A|v~*HqE7~UzL"> <field name="VAR" id="_gaX3prdQJcF[P3IpJs1" variabletype="">txt</field> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="variables_set" id="#[3ERz73?FhKq96=^|+a" disabled="true"> <field name="VAR" id="FuUwnl6AyzTl8Jb7{h:(" variabletype="">Restzeit</field> <value name="VALUE"> <block type="math_arithmetic" id="@jS^)bBYfX#1dH:D1kdH"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="q!^ViYZx3LnzVq1kp_Za"> <field name="NUM">1</field> </shadow> <block type="get_value" id="3rMNzt~=n7h?^U|p9$|V"> <field name="ATTR">val</field> <field name="OID">javascript.0.Osmose.Restzeit</field> </block> </value> <value name="B"> <shadow type="math_number" id="S7Sc+~JrKqP70}B!6YdK"> <field name="NUM">2</field> </shadow> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="%q|m@_5qAIV$;!vi-~*{" disabled="true" x="587" y="213"> <field name="NAME">Magnetventil_Ein</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="controls_if" id="[`.=yq(-H[`R%Go-_5|Y"> <value name="IF0"> <block type="logic_operation" id="$C_lAX-#/bYvy527DKVz" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="Ssh_#4Osua+?O;uKd~;5" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="Nd]dHgzs*aDAX3/ua%Gy"> <value name="BOOL"> <block type="variables_get" id="4+P`O]*Jh0]P|)k?*U`s"> <field name="VAR" id="Magnetventil_Kontrolle" variabletype="undefined">Magnetventil_Kontrolle</field> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="jU@C?Sm^j?u]n}{f}.;~"> <field name="VAR" id="|)!c^,7[X`?ynw|;17Zk" variabletype="">Osmosefreigabe</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="PU{0pz+}~TQ^Bk{5TVFD"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="}NNP4*?eD5b^X(doI-yg"> <field name="VAR" id="FuUwnl6AyzTl8Jb7{h:(" variabletype="">Restzeit</field> </block> </value> <value name="B"> <block type="math_number" id="aW4o4H0QL+D}@5~FA9=]"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_setinterval" id=".:joX7Hs/Yg%)ioCnA3y"> <field name="NAME">Magnetventil_Kontrolle</field> <field name="INTERVAL">2</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="controls_if" id="CZvG`LH0KoNb^^Zn3fQ%"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="%@LNqiW5dkU]]Fk!|u]X" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="(pXW^RozIrli*.W#}XF9"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="4.tGJKJI:Kw7B6RK[yy]"> <field name="VAR" id="FuUwnl6AyzTl8Jb7{h:(" variabletype="">Restzeit</field> </block> </value> <value name="B"> <block type="math_number" id="gf!AK%^H1js~Q*(u2X~G"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="8E.-/%WoTQ#BQ]E9z#!r" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="variables_get" id="tI:Z_+@.BY$r!!YWX(Kt"> <field name="VAR" id="cpJX%}Vx_s[k6j$!LIP@" variabletype="">Schwimmer</field> </block> </value> <value name="B"> <block type="variables_get" id="#XV4*QKxBL.]}Ry.Y}jw"> <field name="VAR" id="|)!c^,7[X`?ynw|;17Zk" variabletype="">Osmosefreigabe</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="i[WC!UQqBv)=$x0TuWKB"> <field name="VAR" id="FuUwnl6AyzTl8Jb7{h:(" variabletype="">Restzeit</field> <value name="DELTA"> <shadow type="math_number" id="Re+ZjC.Gx`x6]wP/R-kZ"> <field name="NUM">-1</field> </shadow> </value> <next> <block type="update" id="e?4*zw6JeufCUI_A$tWA"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Osmose.Restzeit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="?(V0m_KR;zq]8QN4Nnt}"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="e-o]eN1KmMjXLGYbB5*-"> <field name="NUM">2</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="Jab%cXU;kqAhB|kiv+HG"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="x3#fOwJi8qvpU_aB}+Qo"> <field name="VAR" id="FuUwnl6AyzTl8Jb7{h:(" variabletype="">Restzeit</field> </block> </value> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="control_ex" id="W=WqEw%q._O*jWFt/*Ba"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="$qTf:YhCL`U4@^;df!/`"> <field name="oid">sonoff.0.Aqua_Control.POWER1</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="wPpwhyYs!N5;kYcx:?3M"> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="@wc+?E9P.=!IMXGa$Bk5"> <field name="NUM">0</field> </shadow> </value> <next> <block type="timeouts_clearinterval" id="=r$/C]6}D1I@w5Z9YKsM"> <field name="NAME">Magnetventil_Kontrolle</field> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </statement> </block> </xml>
-
@paul53
Es wäre sehr nett wenn du dir das blocky noch mal angucken kannst!?
Vor allem wie ist de mit meinem Vlies filter!?
Habe die Elektrik auch so umgebaut wie die osmose Dosierung. Damit das Vlies auf jeden Fall läuft auch wenn die Steuerung mal versagt. Kann ich dann die Steuerung so lassen wie sie ist oder muss da was verändert werden!? -
@Aphofis sagte:
Es funktioniert leider nicht so wie das JavaScript
Weshalb genügt das Javascript nicht ?
@Aphofis sagte in Schaltzustand Verzögern:
das blocky noch mal angucken kannst!?
Der Export hat offenbar nicht richtig funktioniert. Im Javascript Code steht nur
var Osmosefreigabe, Schwimmer, Magnetventil_Kontrolle, Restzeit, timeout_aus, timeout_ein, txt;
-
@paul53
Das Javas. Funktioniert nur Osmose läuft völlig aus dem Ruder. Ein Blockly damit ich selbst debug einbauen kann und gucken kann woran es liegt.
Und für meine bessere Verständnis.
An der Hardware und an der Software oder Steuerung habe ich nichts geändert nur seid kurzem dosiert Osmose nur noch um die 75 ml das nicht normal. Es sind sonst immer 150-250 ml gewesen.
Vielleicht magst du das JavaScript noch mal nach schauen was da los ist oder das blockly zum laufen bringen. Darüber würde ich mich sehr freuen.
-
Entwarnung.
Die verrückten Dosierwerte sind entstanden, da sich die Plus Leitung im Verteiler gelöst hatte.
dh. ich werde die Tage den Verteiler der mit Schraubklemmen ist austauschen gegen eine Platine und das alle Kabel die
an das Sammel Plus gehen auf der Platine verlöten und die Schraubklemme raus werfen.
Nachdem ich das Plus Kabel vom Magnet Ventil eine neue Ader endhülse drauf gequetscht hatte, läuft die dosierung wieder Tadellos.
Lag also nicht an der Steuerung siondern nur an der Hardware. -
@paul53
Mahlzeit, sag mal ist es möglich den Vliesfilter aus der Osmose Steuerung komplett raus zu nehmen und eine neue Blockly Steuerung für diesen zu erstellen wo das Vlies alle halbe Std. x ms eingeschaltet wird und aber auch nicht mehr als x ms am Tag !? Da das Vlies unten im Wasser an den umlenken Wellen kleben bleibt dreht der Motor das Vlies nicht weiter somit muss das Vlies kontinuierlich gedreht werden! Um zu verhindern das es fest klebt und ich es von Hand ständig lösen muss -
@Aphofis sagte:
ist es möglich den Vliesfilter aus der Osmose Steuerung komplett raus zu nehmen und eine neue Blockly Steuerung für diesen zu erstellen wo das Vlies alle halbe Std. x ms eingeschaltet wird und aber auch nicht mehr als x ms am Tag !?
Sicher ist es möglich. Erwarte aber bitte nicht von mir, dass ich noch weiß, was wir damals programmiert haben.
-
@paul53 nein das auf keinen Fall!
Ich poste dir mal das JavaScript und die dazugehörigen datenpunkte
Wenn ich es mal schaffe zu Hause zu sein -
So also Das hattest du programmiert, Da soll der Vliesfilter raus! Die Osmose soll so bleiben, die Osmose Steuerung läuft perfekt.
Desweiteren, ist es möglich Osmose Restzeit ins Osmose System zu verlegen !?Aqua_Control.0.Osmose_System.Osmose.Restzeit
bezügich des multiplikators fur das Vlies muss ich den Zettel suchen wo ich die berechnung drauf habe. Ich weiß leider nihct mehr was für eine Maßeinheit der multiplikator ist. Ich glaube das waren die ms pro mm bzw mm pro ms! ich weiß es nur nicht mehr genau.
Der Vliesfilter soll dann alle 30 min einen Cm laufen. Tausche Heute die angerosteten Edelstahl Wellen für die Vlies Umlenkung gegen Kunstoff Wellen und dann sollte es klappen nur will ich trotzdem das dass Vlies regelmäßig läuft.
In der Programmierung muss es aber so laufen das nur wenn Vliesfilter Schwimmer Normal true ist das nur dann Motor true sein kann weil die minus Leitung über diesen Schwimmer läuft.const idRestzeit = 'Osmose.Restzeit'; const text_ein = ['Filter Max unterschritten, Skimmer & Osmose','\n','wurden wieder eingeschaltet'].join(''); const text_aus = ['Filter Max erreicht, Skimmer & Osmose','\n','wurden abgeschaltet'].join(''); createState(idRestzeit, 300, {type: 'number', unit: 's'}); var Osmosefreigabe = !getState('sonoff.0.Aqua_Float.POWER4').val; var Schwimmer = getState("sonoff.0.Aqua_Float.POWER1").val; var Restzeit, timeout_aus, timeout_ein, Magnetventil_Kontrolle; function Magnetventil_Ein() { if (!Magnetventil_Kontrolle && Restzeit > 0 && Osmosefreigabe) { Magnetventil_Kontrolle = setInterval(function () { if (Restzeit > 0 && Schwimmer && Osmosefreigabe) { Restzeit--; setState(idRestzeit, 2 * Restzeit, true); } else { setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, false); clearInterval(Magnetventil_Kontrolle); Magnetventil_Kontrolle = null; } }, 2000); setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, true); } } // Skripstart setTimeout(function() { Restzeit = getState(idRestzeit).val / 2; if(Schwimmer && Osmosefreigabe) Magnetventil_Ein(); else setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, false); }, 200); var entprell = null; on({id: 'sonoff.0.Aqua_Float.POWER1', change: "ne"}, function (obj) { log('Schwimmer: ' + obj.state.val) if(entprell) { clearTimeout(entprell); entprell = null; } entprell = setTimeout(function() { Schwimmer = obj.state.val; if(Schwimmer) Magnetventil_Ein(); else setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, false); }, 2000); // 2 s }); schedule("0 0 * * *", function () { Restzeit = 150; setState(idRestzeit, 300, true); if(Schwimmer) Magnetventil_Ein(); }); on({id: 'sonoff.0.Aqua_Float.POWER4', change: "ne"}, function (obj) { if (obj.state.val) { timeout_aus = setTimeout(function () { Osmosefreigabe = false; setState("sonoff.0.Aqua_Power.POWER3"/*Aqua_Power_Skimmer*/, false); setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, false); }, 5000); if (timeout_ein) { clearTimeout(timeout_ein); timeout_ein = null; } } else { timeout_ein = setTimeout(function () { Osmosefreigabe = true; if(Schwimmer) Magnetventil_Ein(); setStateDelayed("sonoff.0.Aqua_Power.POWER3"/*Aqua_Power_Skimmer*/, true, 10000); }, 10000); if (timeout_aus) { clearTimeout(timeout_aus); timeout_aus = null; } } }); on({id: 'sonoff.0.Aqua_Power.POWER3', change: "ne"}, function (obj) { var txt; if (obj.state.val) txt = text_ein; else txt = text_aus; sendTo("telegram.0", "send", { text: txt }); log(txt); });