NEWS
Gelöst Blockly Lampensteuerung mit SP211
-
Hallo zusammen,
ich habe eine SP211 steckdose an meiner Wohnzimmerschrankbeleuchtung, diese soll Tagsüber ausbleiben bzw wenn der letzte status der Steckdose an war sich ausschalten und Abends ( Sonnenuntergang) einschalten bzw wenn nach einer bestimmten Uhrzeit die Steckdose alive ist. Die SP211 ist nicht dauerhaft am Strom da noch ein Schalter davor geschaltet ist der die gesamte Elektronik wie Stereoanlage abschaltet wegen Standby usw.
Problem ist, das die Steckdose Tagsüber nicht ausgeschaltet wird.
Wo steckt also mein fehler?
Danke und euch einen schönen Tag/Abend
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="cron" id="schedule1">schedule1</variable> <variable type="timeout" id="timeout">timeout</variable> <variable type="timeout" id="timeout2">timeout2</variable> </variables> <block type="procedures_defnoreturn" id="yh`2ppuQoko3jU!Yl/S8" x="1088" y="-262"> <field name="NAME">Wohnzimmerschrankschaltung</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="debug" id="lBF(*b6dRIxrTx^;QRU0"> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text" id="G;cQELV/6H+#=Ithy5o_"> <field name="TEXT">Wohnzimmerschrankbeleuchtung Angetiggert</field> </shadow> </value> <next> <block type="controls_if" id="SYhkH*x}By|n*~D2S=?:"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="W3]gL-lD,ZeMBx)r+9Kq" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="time_compare_ex" id="Cta+U7EcallhHiA:e8:o"> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">not between</field> <value name="START_TIME"> <shadow type="text" id="=sG,|z9,/zUk]{vO$E2["> <field name="TEXT">12:00</field> </shadow> <block type="time_astro" id="+nXFpD1ofvo2$xi#2+oY"> <field name="TYPE">sunrise</field> <field name="OFFSET">0</field> </block> </value> <value name="END_TIME"> <shadow type="text" id="?x+[L_eL0r}6h:xU)#`x"> <field name="TEXT">18:00</field> </shadow> <block type="time_astro" id="I}Tfq;2cw%k];VYVyd^U"> <field name="TYPE">sunset</field> <field name="OFFSET">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="_qOmtta~,^?,H*a{R|=X" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="s0)R`A!C@Co@+f7R#CAa"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="$K-tu[N*!q|~eW!L-3BX"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Wohnzimmerschrankbeleuchtung.POWER1</field> </block> </value> <value name="B"> <block type="logic_boolean" id="^S#q4a4Jk~Xrsu#yr{Om"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="`OF$S)[)~g,yW{h_lg$d"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="S{~O$hpx4zD(r;c.=._="> <field name="ATTR">val</field> <field name="OID">sonoff.0.Wohnzimmerschrankbeleuchtung.POWER2</field> </block> </value> <value name="B"> <block type="logic_boolean" id="9pAje|HL6]~*P;az[Wj("> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="%*6Fm=(od^7bx+|%M:E2"> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text" id="rO-}VoOUxmXN5dv/9:9D"> <field name="TEXT">Wohnzimmerschrankbeleuchtung AN</field> </shadow> </value> <next> <block type="timeouts_settimeout" id="SosHPVCs^qN3$IEBcxd)"> <field name="NAME">timeout</field> <field name="DELAY">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="-/)sKdP:[|3=$p@NlO-7"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Wohnzimmerschrankbeleuchtung.POWER1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="`*ftj7+B[2pFmuH8y-+)"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id=")2/1S{aqi~J=%Q=louSB"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Wohnzimmerschrankbeleuchtung.POWER2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="~g%LWGWW8#5Aw+noe_29"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="debug" id="ocz]sh1sm8}EnH-S_uu6"> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text" id="m!M#^UKone65~F%=+M)O"> <field name="TEXT">Wohnzimmerschrankbeleuchtung sind AN</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="?}YO4cnYm)2ROO@%wUQw" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="time_compare_ex" id="tHcGcU3reGmL3+o:vwNf"> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">between</field> <value name="START_TIME"> <shadow type="text" id="!)n?g;an1}xeSdB_1ev%"> <field name="TEXT">12:00</field> </shadow> <block type="time_astro" id="!(|bbV%6Uwz=)M9jfbx4"> <field name="TYPE">sunrise</field> <field name="OFFSET">0</field> </block> </value> <value name="END_TIME"> <shadow type="text" id="`eZDRrycXX!5mkWI):1R"> <field name="TEXT">18:00</field> </shadow> <block type="time_astro" id="|hMVt`CIm*Qg==eBsy%j"> <field name="TYPE">sunrise</field> <field name="OFFSET">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="UL^@l7y{xqDpIR*vRWNI" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="gV)gkWE,+zkh3hR/rQ1."> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="}g1!J4GN@;4G{RRTpc#("> <field name="ATTR">val</field> <field name="OID">sonoff.0.Wohnzimmerschrankbeleuchtung.POWER1</field> </block> </value> <value name="B"> <block type="logic_boolean" id="57n6+K{4)I_b`n5$JDu7"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="tq`jM1ma5{A3$!}~qR)Z"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="-Wt1.$?r:rTb5[D~]W_b"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Wohnzimmerschrankbeleuchtung.POWER2</field> </block> </value> <value name="B"> <block type="logic_boolean" id="67pbh2GsPYH1bcLN~*yl"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="debug" id="~yG1+fADdJ#r8{LE=eJ!"> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text" id="f_^CV3g7gil~?x]ms{D("> <field name="TEXT">Wohnzimmerschrankbeleuchtung aus</field> </shadow> </value> <next> <block type="timeouts_settimeout" id="EYs*.4ysj.T5fjktXWCg"> <field name="NAME">timeout2</field> <field name="DELAY">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="fp}T1#fzJMPy14pCP1P%"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Wohnzimmerschrankbeleuchtung.POWER1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="bsFsn]=eC6P0(bE}PhIA"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="CSOrs@nSZb`cCP=-t6!j"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Wohnzimmerschrankbeleuchtung.POWER2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="#=`f]wlBeR-OYT|^^%|5"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> <block type="comment" id="bfp4!m]H-pb?,W9jO%)h" x="563" y="-187"> <field name="COMMENT">Zeitgesteuert</field> <next> <block type="astro" id="Zc2`4twdpN_^TxQ-KVz#"> <field name="TYPE">sunset</field> <field name="OFFSET">5</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="R:g*w?*iJ.:p%q2*EQJV"> <mutation name="Wohnzimmerschrankschaltung"></mutation> <next> <block type="debug" id="I?nZeU=quC@0W67*I==S"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="%0sIc65XUU!:bhm?IfP5"> <field name="TEXT">Wohnzimmerschrankbeleuchtung Trigger 1</field> </shadow> </value> </block> </next> </block> </statement> <next> <block type="comment" id="#d7_6xOZGAu0KZ/lHmfN"> <field name="COMMENT">Jede Minute von 0, 1, 2, 3, 4, 5, 18, 19, 20, 21, 22 und 23 Stunde</field> <next> <block type="schedule_create" id="xqKGo=_QUEmRnKZTcjK~"> <field name="NAME">schedule1</field> <value name="SCHEDULE"> <shadow type="field_cron" id="Nm{o~fTR*y1nMx|q(UG^"> <field name="CRON">* 0-5,18-23 * * *</field> </shadow> </value> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="B4vAI./xn0g$BV:oC+Zt"> <mutation name="Wohnzimmerschrankschaltung"></mutation> <next> <block type="debug" id="c{vnWQNLBKJZz7L^wV]A"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="oE-uzv(xLQALjB3[b%!x"> <field name="TEXT">Wohnzimmerschrankbeleuchtung Trigger 2</field> </shadow> </value> </block> </next> </block> </statement> <next> <block type="comment" id="c`ew9=sHeW6R_^Fs:agQ"> <field name="COMMENT">SP211/TV trigger</field> <next> <block type="on_ext" id="2WW@j|ETDaALC=$B{)c2"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="eOY:a;p1wFNE.ym)%~Xe"> <field name="oid">sonoff.0.Wohnzimmerschrankbeleuchtung.alive</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="=;cNt_!u%V~(KN~P.kX#"> <field name="oid">lgtv.0.states.on</field> </shadow> </value> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="T{B7,kdDiZ[|c9%[h*F^"> <mutation name="Wohnzimmerschrankschaltung"></mutation> <next> <block type="debug" id="e1P)FDJjf4IW/%lYm]|g"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="hfa56^tfq[W~};XM23~Z"> <field name="TEXT">Wohnzimmerschrankbeleuchtung Trigger 3</field> </shadow> </value> </block> </next> </block> </statement> <next> <block type="astro" id="hiR`90w3kz0AwDhrE+wa"> <field name="TYPE">sunrise</field> <field name="OFFSET">5</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="VdGuo:7vV0wqVBspo.JG"> <mutation name="Wohnzimmerschrankschaltung"></mutation> <next> <block type="debug" id="f(tOf]@wG}UrEG*^Osa~"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="Y2)#7l4IsGjbVMfd;A*|"> <field name="TEXT">Wohnzimmerschrankbeleuchtung Trigger 4</field> </shadow> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
-
@Eagle_87
Sonnenaufgang 2x ? -
@Eagle_87 sagte in Blockly Lampensteuerung mit SP211:
Hallo zusammen,
ich habe eine SP211 steckdose an meiner Wohnzimmerschrankbeleuchtung, diese soll Tagsüber ausbleiben bzw wenn der letzte status der Steckdose an war sich ausschalten und Abends ( Sonnenuntergang) einschalten bzw wenn nach einer bestimmten Uhrzeit die Steckdose alive ist. Die SP211 ist nicht dauerhaft am Strom da noch ein Schalter davor geschaltet ist der die gesamte Elektronik wie Stereoanlage abschaltet wegen Standby usw.
Problem ist, das die Steckdose Tagsüber nicht ausgeschaltet wird.
Wo steckt also mein fehler?
Danke und euch einen schönen Tag/AbendMehrere Fehler:
- Wie schon @MCU geschrieben hat: Beim Ausschalten Vergleich Sonnenaufgang bis Sonnenaufgang. Das ist nie wahr.
- Du verbrätst massiv Systemleistung, und das meiner Meinung nach ohne Grund:
-- Jede Minute (in der Nacht) holst du den Status der Steckdosen neu um sicher zu gehen das niemand die Steckdosen umgeschaltet hat
-- Die gesamte Steuerung ist ein unübersichtliches Konvolut aus Triggern und Bedingungen. - der SP211 / TV Trigger ist komisch. Im Zweifelsfall macht er nichts:
-- Tagsüber wird nichts eingeschaltet, wenn beide Kontakte an sind werden sie abgeschaltet (wenn der Sonnenaufgang bis Sonnenaufgang bug weg ist)
-- Nachts wird nichts ausgeschaltet, wenn beide Kontakte aus sind werden sie an geschaltet. Das macht aber der Schedule1 schon jede Minute.
Mein Vorschlag:
Part 1:
- Je ein Trigger auf den Status der beiden Steckdosen. Bei Änderung, Wert der Steckdose in einer Variable speichern
- Optional: Vergleich mit der Zeit, um sicher zu gehen das die Steckdosen nach der Zeitvorgabe an oder aus bleiben (ich würde es nicht tun, dein aktuelles Skript tut es aber über den Schedule1
Part 2:
Wohnzimmerschaltung Funktion anpassen:- Die Timeouts raus.
- den grossen Falls / Sonst Block raus
- der Funktion einen Parameter "Zielstatus" mitgeben
- Je Steckdose ein Falls nach diesem Muster:
-- Falls gespeicherter Status der Steckdose nicht gleich Zielstatus: Steckdose auf Zielstatus schalten
Part 3: Aktivierung:
- Den Schedule1 weg.
- Astro Sonnenuntergang: Wohnzimmerschaltung mit "wahr" aufrufen
- Astro Sonnenaufgang: Wohnzimmerschaltung mit "falsch" aufrufen
- sp11 trigger: Ist nicht klar was er tun soll - Die Logik ist aus dem Skript nicht zu erkennen.
A.
-
@Asgothian erstmal vielen dank für deine ausführliche Beschreibung und die Zeit die dir genommen hast. Irgendwann verstehe ich das auch noch.
Was @MCU geschrieben hat, hätte auch so nicht sein sollenHabe versucht jetzt mal alles umzusetzen und schaue mal ob es funzt.
-
@Eagle_87 Besser, aber nicht gut:
mach mal so:
Wobei ich die beiden astro trigger nicht gebaut hab, die brauchst du natürlich auch, so wie sie oben sind.
-
@Asgothian servus sry bin jetzt erst zum testen gekommen. Danke für deine hilfe hat jetzt alles so geklappt wie gewollt.