NEWS
true Abfrage alle 2 Sek.
-
@paul53
Ich verstehe es leider nicht!
Der Osmose Schwimmer steht auf true und das Magnet Ventil schweigt still.
Schlimmer kam es dann aber auch noch.
Gestern hat die Osmose 28 Liter fröhlich in die Technik gepumpt. War nicht ganz so lustig.
Magnetventil wurde nicht abgeschaltet. Trotz das der ESP8266 per MQTT Verbunden ist und im Iobroker alive ist.
Konnte das Magnet ventil nur noch per abziehen des steckers stoppen.
Steuerung ausgeschaltet Wasser raus geholt Salzgehalt angepasst Stecker wieder eingesteckt Osmose Steuerung wieder eingeschaltet und was passiert.
Osmose pumpt weiterhin Fröhlich los obgleich der Osmose Schwimmer auf false stand.
DIe Steuerung:var Restzeit, Magnetventil_Kontrolle; /** * Beschreibe diese Funktion … */ function Magnetventil_Ein() { if (!Magnetventil_Kontrolle && Restzeit > 0) { Magnetventil_Kontrolle = setInterval(function () { if (Restzeit > 0 && getState("sonoff.0.Aqua_Float.POWER1").val) { Restzeit = (typeof Restzeit == 'number' ? Restzeit : 0) + -1; } else { setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, false); (function () {if (Magnetventil_Kontrolle) {clearInterval(Magnetventil_Kontrolle); Magnetventil_Kontrolle = null;}})(); } }, 2000); setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, true); } } Restzeit = 150; Magnetventil_Kontrolle = null; on({id: 'sonoff.0.Aqua_Float.POWER1', change: "gt"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; Magnetventil_Ein(); }); schedule("0 0 * * *", function () { Restzeit = 150; if (getState("sonoff.0.Aqua_Float.POWER1").val) { Magnetventil_Ein(); } });In Zusammenarbeit mit:
Filter Max dem Schwimmer der ca 1 cm über dem Osmose Schwimmer sitzt vom Auslöser her.var timeout_aus, timeout_ein, timeout; on({id: 'sonoff.0.Aqua_Float.POWER4', val: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "")) { timeout_aus = setTimeout(function () { setState("sonoff.0.Aqua_Power.POWER3"/*Aqua_Power_Skimmer*/, false); setState("javascript.0.scriptEnabled.Technik_Steuerung.Osmose_Niveau"/*scriptEnabled.Technik_Steuerung.Osmose_Niveau*/, false); setState("sonoff.0.Aqua_Control.POWER1"/*Osmose_Magnetventil*/, false); sendTo("telegram.0", "send", { text: (['Filter Max erreicht, Skimmer & Osmose','\n','wurden abgeschaltet'].join('')) }); console.log((['Filter Max erreicht, Skimmer & Osmose','\n','wurden abgeschaltet'].join(''))); }, 5000); (function () {if (timeout_ein) {clearTimeout(timeout_ein); timeout_ein = null;}})(); } else { timeout_ein = setTimeout(function () { setStateDelayed("sonoff.0.Aqua_Power.POWER3"/*Aqua_Power_Skimmer*/, true, 20000, true); setStateDelayed("javascript.0.scriptEnabled.Technik_Steuerung.Osmose_Niveau"/*scriptEnabled.Technik_Steuerung.Osmose_Niveau*/, true, 10000, false); timeout = setTimeout(function () { sendTo("telegram.0", "send", { text: (['Filter Max unterschritten, Skimmer & Osmose','\n','wurden wieder eingeschaltet'].join('')) }); console.log((['Filter Max unterschritten, Vliesfilter, Skimmer & Osmose','\n','wurden wieder eingeschsaltet'].join(''))); }, 30000); }, 2000); (function () {if (timeout_aus) {clearTimeout(timeout_aus); timeout_aus = null;}})(); } });Irgend etwas scheint da überhaupt nicht zu harmonieren.
Ich brauche dringend Hilfe....... -
Geht es hier noch um das Eingangsthema oder schon um was ganz anderes? Im Titel steht ja gelöst.
Wenn das Eingangsthema wirklich gelöst ist dann bitte zum Ende kommen, danach schließe ich das Thema.@Jey-Cee
Es geht halt um komplexe Steuerungen und um sensible Systeme! Leider hat sich erst jetzt kristallisiert, das dass Gerät nihct so gesteuert wird wie geplant.
Ich habe das gelöst aus dem Titel mal entfernt.
Ich dachte eigentlich das es perfekt läuft. Leider doch noch nicht ganz. -
@paul53
ich brauch noch mal deine Hilfe!?
Das Vlies ist jetzt seid einigen Wochen nicht mehr gelaufen, so musste ich das Vlies immer durch umstecken vom Vliesmotor in die Schrankbeleuchtung von hand weiter drehen, was ja nicht sinn und zweck der Sache ist und ich habe nun alle Steuerungen hier im Forum verglichen was wir so geschrieben hatten.
Osmose und Vliesfilter ist ja thread Technisch etwas durcheinander geraten.
Ich finde nur leider das letzte blockly nicht wieder.
Es wäre echt toll wenn du noch mal drüber gucken kannst da ich schon einen Block Vliesmotor gefunden hatte die fehlte.
Nur kann ich wirklich nicht sagen, ob da noch was anderes fehlt, warum das Vlies nicht läuft.
Danke schon mal im vorraus.<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="bnA0t?}_B1txfc}4@bMK">value</variable> <variable type="" id="Dx%?V=t2MgmNDXeWM{cV">status</variable> <variable type="" id="vj8Dfd-3Q5NtGr,@YQTP">Restzeit</variable> <variable type="" id="o!Xj;go4QQ{]/po;CVqY">Vliesmotor_Kontrolle</variable> <variable type="undefined" id="Vliesmotor_Kontrolle">Vliesmotor_Kontrolle</variable> </variables> <block type="procedures_defreturn" id="je(T8:oxhf7RQHB!tp+v" x="-1562" y="-1187"> <mutation> <arg name="value" varid="bnA0t?}_B1txfc}4@bMK"></arg> <arg name="status" varid="Dx%?V=t2MgmNDXeWM{cV"></arg> </mutation> <field name="NAME">umsetzen</field> <comment pinned="false" h="80" w="160">Function um umsetzen von true / false nach offen / geschlossen</comment> <statement name="STACK"> <block type="controls_if" id="84d}aUT8S|a*Ao(NfvK9"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="haiS-|8b~Ayq%n-|_Cy2"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="u2*HK~wKzvrobT5,`P;%"> <field name="VAR" id="bnA0t?}_B1txfc}4@bMK" variabletype="">value</field> </block> </value> <value name="B"> <block type="logic_boolean" id="t{{Db#U[KW_ti;az9),]"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="g[/C2`_K!sI!s6fI1dHp"> <field name="VAR" id="Dx%?V=t2MgmNDXeWM{cV" variabletype="">status</field> <value name="VALUE"> <block type="text" id="u9D=;{JU;uo@b6tL,NTm"> <field name="TEXT"> aktiv</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="og59oUkmPaO!l!.--WXa"> <field name="VAR" id="Dx%?V=t2MgmNDXeWM{cV" variabletype="">status</field> <value name="VALUE"> <block type="text" id="EAn+MD0tyIn.s[/t2-Zd"> <field name="TEXT">inaktiv</field> </block> </value> </block> </statement> </block> </statement> <value name="RETURN"> <block type="variables_get" id="iH4{FuG7X#@A4h:~vYOE"> <field name="VAR" id="Dx%?V=t2MgmNDXeWM{cV" variabletype="">status</field> </block> </value> </block> <block type="variables_set" id="80)FV;tWRxnL|%#ekz5/" x="-1562" y="-987"> <field name="VAR" id="vj8Dfd-3Q5NtGr,@YQTP" variabletype="">Restzeit</field> <value name="VALUE"> <block type="math_number" id="YW3vWTO,LB$99G8./7w_"> <field name="NUM">25</field> </block> </value> <next> <block type="variables_set" id="8FBu)SK}}};Ip$Q0X7Es"> <field name="VAR" id="o!Xj;go4QQ{]/po;CVqY" variabletype="">Vliesmotor_Kontrolle</field> <value name="VALUE"> <block type="logic_null" id="7dJt5]6[OQ+eVf,KbOsM"></block> </value> </block> </next> </block> <block type="procedures_defnoreturn" id="UZXSi;sCnTFzSdZGNPN)" x="-1562" y="-913"> <field name="NAME">Vliesmotor_Ein</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="controls_if" id="7glBuA%Ui%Bhf0AG8uGk"> <value name="IF0"> <block type="logic_operation" id="*oDy[3^#CyurwE2qrR1N"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="Bxe]G_0e9_LOtnCyA{[+"> <value name="BOOL"> <block type="variables_get" id="1(rnSkgS3$jDQcU}*`q!"> <field name="VAR" id="o!Xj;go4QQ{]/po;CVqY" variabletype="">Vliesmotor_Kontrolle</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="Bb33V9b,~Uu2zfEa4TSt"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="qbWrP.L1;~^Mt^!DO.~Z"> <field name="VAR" id="vj8Dfd-3Q5NtGr,@YQTP" variabletype="">Restzeit</field> </block> </value> <value name="B"> <block type="math_number" id="Hk;JGt/0=,@-5626Gb@o"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_setinterval" id="So`ZOKux3,?B3h}=)^ez"> <field name="NAME">Vliesmotor_Kontrolle</field> <field name="INTERVAL">2</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="controls_if" id="2^GRzhH6G,.zes~S)?1n"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="tU!PtqOWLlJ:S,p.QaH8"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="n1VB(%1vzx[:.E[]Aq9o"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="Q5lTqT3]4$wb^eO83]VN"> <field name="VAR" id="vj8Dfd-3Q5NtGr,@YQTP" variabletype="">Restzeit</field> </block> </value> <value name="B"> <block type="math_number" id="|+b*Y[4L|YwslIKtB*P*"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="get_value" id="-R-Dsb{!%kRT+j^RCd:?"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Aqua_Float.POWER3</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="@eBlbOp2d7ZFU{*0Of7u"> <field name="VAR" id="vj8Dfd-3Q5NtGr,@YQTP" variabletype="">Restzeit</field> <value name="DELTA"> <shadow type="math_number" id="o.Ck{gh_@5Z4pHFm%]ph"> <field name="NUM">-1</field> </shadow> </value> </block> </statement> <statement name="ELSE"> <block type="control" id="qrL%Jdmd/52BQo5,P%s$"> <mutation delay_input="false"></mutation> <field name="OID">sonoff.0.Aqua_Control.POWER2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="B4{}PCB3+6oQrMO!BYrd"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_clearinterval" id="WXO]Y+gLP8i=.w.s1Hu#"> <field name="NAME">Vliesmotor_Kontrolle</field> <next> <block type="telegram" id="y+$:6K#it%[jPvWmT[q0"> <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="?7L9s@b~]:P.)e,z(2gS"> <field name="TEXT"></field> </shadow> <block type="text_join" id=";G@4|pw*RT$Ps^;.#54s"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="yxXUilb.|DlSwLNe.IJM"> <field name="TEXT">Vliesfilter ist </field> </block> </value> <value name="ADD1"> <block type="procedures_callreturn" id="?}Vmfo]Y~xXzRtf0zWJ1"> <mutation name="umsetzen"> <arg name="value"></arg> <arg name="status"></arg> </mutation> <value name="ARG0"> <block type="get_value" id="en9W%z*,faDiSK(d,DS,"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Aqua_Control.POWER2</field> </block> </value> <value name="ARG1"> <block type="variables_get" id="SSl_iGm+w5g}@9MN(b|/"> <field name="VAR" id="Dx%?V=t2MgmNDXeWM{cV" variabletype="">status</field> </block> </value> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="control" id="ty6[2`ev%D;9TmRx3Crk"> <mutation delay_input="false"></mutation> <field name="OID">sonoff.0.Aqua_Control.POWER2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="m6156V87/{eHdKOpp2+A"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="telegram" id="QhNVR!1|ZMsxkHIE[P3G"> <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="?7L9s@b~]:P.)e,z(2gS"> <field name="TEXT"></field> </shadow> <block type="text_join" id="a4:S{G3C*0J]zYIp}:9%"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="wpSnxN(}0QvES87XInux"> <field name="TEXT">Vliesfilter ist</field> </block> </value> <value name="ADD1"> <block type="procedures_callreturn" id="9Q-Zt2N8Z8X[F:tdy[Gx"> <mutation name="umsetzen"> <arg name="value"></arg> <arg name="status"></arg> </mutation> <value name="ARG0"> <block type="get_value" id="@N6#BjZhox+5@|KQTZZm"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Aqua_Control.POWER2</field> </block> </value> <value name="ARG1"> <block type="variables_get" id="+;%w@wI-k=ij?n1N0E[^"> <field name="VAR" id="Dx%?V=t2MgmNDXeWM{cV" variabletype="">status</field> </block> </value> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> <block type="on_ext" id="%suBEBQA1:R[RKs69VB%" x="-1562" y="163"> <mutation items="1"></mutation> <field name="CONDITION">gt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="R--oyS)/@@vt#@EuQ1P."> <field name="oid">sonoff.0.Aqua_Float.POWER3</field> </shadow> </value> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="OroFMW85?k0O?OVoue(9"> <mutation name="Vliesmotor_Ein"></mutation> </block> </statement> <next> <block type="schedule" id="Vbdzd}?fb9LOEh/L:)vH"> <field name="SCHEDULE">0 0 * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="wv:E9?FLWZ+x2lc?J95X"> <field name="VAR" id="vj8Dfd-3Q5NtGr,@YQTP" variabletype="">Restzeit</field> <value name="VALUE"> <block type="math_number" id="9BH*+Fh0S2j5J}a*hp-G"> <field name="NUM">25</field> </block> </value> <next> <block type="controls_if" id="WYyH,[Qt3UWa#qGnDDv!"> <value name="IF0"> <block type="get_value" id="[N)m1onBWWt(BwnIr?B2"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Aqua_Float.POWER3</field> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="J20Ur92Gv[(pJ[R_B8;}"> <mutation name="Vliesmotor_Ein"></mutation> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </xml>