NEWS
Lichtsteuerung wenn TV an
-
hi Ihrs
Ich versuche mich soeben das erste mal mit Blockly, Leider schaffe ich es nicht obwohl ich seit Tagen Recherchiere und teste, das das Script das macht was ich will!
Was soll das Script machen ?
Im Wohnzimmer gibt es zwei Lichtquellen:
Licht1. ist ein LED Stripe
Licht2. NeonBalken –> (Indirekte Beleuchtung)
Nun soll wenn Licht1. sich einschaltet (während der Zeit Sonnenuntergang-Anfang) und kein TV an ist, dieser Zustand auch so bleiben, erst wenn der TV an geht, soll auf Licht2., gewechselt werden und Licht1. ausgehen.
Das funktioniert auch schon Prima, derzeit ohne Sonnenaufgang-Ende und Sonnenuntergang-Anfang.
Das einzige was mir auffällt, das wenn wir schlafen gehen und alles aus ist, also TV, Licht.1 und Licht2. schaltet sich dann warum auch immer Licht2. wieder ein, ich schalte es dann per Sprache wieder ab und dann bleibt es auch so?!
Nun will ich das sich das Licht1. ab Sonnenuntergang-Anfang einschaltet und falls man den TV aufdreht soll es zu Licht2. wechseln. Aber ich will auch wenn ich Licht2. während der TV läuft abdrehen können, so das es ausbleibt, dies ist zurzeit nicht der Fall.
–------------------------------------
noch eine Frag zu Blockly , ich finde bestimmte Zeichen nicht, woran liegt das ? zb. wenn ich dies nachstellen will, finde ich diesen Teil nicht:
für eure Hilfe wäre ich sehr dankbar!
-
Da hast aber gleich sehr viele Fehler eingebaut :lol:
OK fangen wir mal an.
Der Triger sollte außen sein und nicht innen, dann auf "ist wahr" triggern ist manchmal bisschen seltsam. Besser Du nimmst wurde geändert und packst das in eine "falls" Bedingung im Triger rein.
Dann kannst nicht einfach da wo vorher eine Uhrzeit gestanden hat eine Astro Zeit reinschreiben. Dazu gibts dann den fertigen Block, den DU anscheinend nicht findest. Der ist aber auch unter "Datum und Zeit".
So in etwa:
rechte Maustaste auf die Blöcke und "externe Eingänge" wählen, dann ist Deine nächste Frage auch gleich beantwortet warum das bei mir anders aussieht
-
super, thx für die schnelle Erleuchtung
1. mit Trigger sollte außen sein, meinst du mein zweites Bild? also "falls –> mache" ?
2. was gehört da eingestellt?
-
Dein "Samsung TV"
Somit hast ne Fallsbedingung die wahr wird, wenn der TV an und die Zeit zwischen Sonnenuntergang Anfang und Sonnenuntergang ist. Die macht dann eben das was drunter steht und zwar nur dann. Es wäre also nur aktiv in diesem Zeitraum eine Aktion des Scripts möglich, wenn Du das so willst, OK. Danach bleibt das Licht aber aus.
Mein Blockly war auch nur ein Beispiel, wie man das richtig anordnet und kein fertiges Ding. Du könntest alternativ die aktelle Zeit mit der Astrozeit vergleichen. In etwas so "aktuelle Uhrzeit größer Sonnenuntergang", dann läuft das immer sobald es dunkel ist.
Das probierst aber einfach aus, wie Du das besser findest und so lernst auch sehr schnell, wie man was miteinander verschachtelt, das zum Schluss das passiert was gewünscht wurde. Der Ansatz passt ja jetzt.
-
danke für deine Hilfe, werd mich auf jeden fall damit beschäftigen!
noch nee frage habe ich was bewirkt das:
habe keinen unterschied feststellen können ?!
-
Wenn der DP schon irgendwo anders verzögert gestsrtet wurde, dann wird das dadurch gelöscht. In der Regel hast sowas aber selten, oder es ist eh egal.
So vermeidet man Verzögerungs Überschneidungen.
-
leider funktioniert es nun gar nicht mehr
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="8TJa2v,_Es(FU_G_)wWZ" x="13" y="-337"><field name="COMMENT">Wenn TV an und zw. Sonnenuntergang-Anfang und 04:00</field> <next><block type="comment" id="#J!Gl5+e^aQQ`-5DLFXl"><field name="COMMENT">dann LED aus und NeonBalken an</field> <next><block type="on" id="Qc_ZVLY3lh%Si5|[`2tp"><field name="OID">ping.0.buanet-iobroker1.192_168_0_18</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="controls_if" id="[Co6ch[C`OIX9xJaEWu)"><value name="IF0"><block type="logic_operation" id=";Pa4`FDLu0-{(_)82hLr" inline="false"><field name="OP">AND</field> <value name="A"><block type="time_compare_ex" id=".eF[5%ca/bn]A16bYJ:s" inline="false"><mutation 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="oEZK48:75[Zlp*Rt=`7f"><field name="TEXT">12:00</field></shadow> <block type="time_astro" id="/Tu,)!bK9y#N?J[Z(]e-"><field name="TYPE">sunsetStart</field> <field name="OFFSET">0</field></block></value> <value name="END_TIME"><shadow type="text" id="TYaK(|4NanUiu/f43pGh"><field name="TEXT">04:00</field></shadow></value></block></value> <value name="B"><block type="logic_compare" id="/k`qQmV-(P@0}]-UPUW0"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="hxY2x#Lk_2~#Oz[ee:kk"><field name="ATTR">val</field> <field name="OID">ping.0.buanet-iobroker1.192_168_0_18</field></block></value> <value name="B"><block type="logic_boolean" id="?wJE*{Ad.njB#{g/7wTL"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="b|uEKgCGCwC+/6Z6pogO"><mutation delay_input="true"></mutation> <field name="OID">meross.0.1810224092789329085334298f16f18d.3</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="~n,;BLG^tctqaduPsA4M"><field name="BOOL">FALSE</field></block></value> <next><block type="control" id="n~4@XKfmD@XtYlw8ahP("><mutation delay_input="false"></mutation> <field name="OID">meross.0.1810224092789329085334298f16f18d.2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="+Bc%7Nfy(7U,nT6we4Eh"><field name="BOOL">TRUE</field></block></value></block></next></block></statement></block></statement></block></next></block></next></block></xml>
-
Die Zeiten drehen, oder auf nicht zwischen umstellen
-
tut sich nix
-
Hast Du die Koordinaten Deiner Wohnung im Admin eingetragen?
Kannst auch mal einfach die Astrozeit durch ne Uhrzeit ersetzten um zu testen, ob es überhaupt läuft.
-
Astrozeiten im Blockly Tagübergreifend funktioniert nicht.
Ab Mitternacht ist Schluss.
Das muss dann geteilt werden.
-
-
also ich habe Koordinaten angegeben im ioborker, aber unter admin finde ich da nix
mit uhrzeit funkt es
-
Dann schau die Antwort oben an. Bei Astrozeiten ist immer der aktuelle Tag gemeint. Deshalb stellt man dann auch auf nicht zwischen um und so das die Zeiten inherhalb des Tages liegen.
Da hab ich am Anfang auch öfter mal gehangen.
Heißt wenn das nur bei Dunkelheit laufen soll, dann muss das aktuelle Zeit ist nicht zwischen Sonnenaufgang und Sonnenuntergang sein.
-
https://forum.iobroker.net/viewtopic.php?f=21&t=17431&p=182405#p182405 `
jetzt hat es funktioniert, obwohl @jan1 es ja auch schon erwähnt hat, aber ich steig da nicht durch, ist für mich nicht logisch, das ich einen zeitraum andersherum angeben muss, mir kommt es spanisch vor ??
-
und jetzt würde ich gern noch haben, wenn man den TV ausmacht das es wieder zurück auf Licht1 ein und Licht2 aus springt, wenn die Bedingung der gewünschten Zeit erfüllt ist
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="8TJa2v,_Es(FU_G_)wWZ" x="88" y="-62"><field name="COMMENT">Wenn TV an und zw. Sonnenauf und - untergang,</field> <next><block type="comment" id="#J!Gl5+e^aQQ`-5DLFXl"><field name="COMMENT">dann LED aus und NeonBalken an</field> <next><block type="on" id="Qc_ZVLY3lh%Si5|[`2tp"><field name="OID">ping.0.buanet-iobroker1.192_168_0_18</field> <field name="CONDITION">true</field> <statement name="STATEMENT"><block type="controls_if" id="G=7~R`?ruCrLO0Q0F}E2"><value name="IF0"><block type="time_compare_ex" id="mnJ((n,EO#Kn*DcmF~yc" inline="false"><mutation 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="cj[0WL24LqiYYW4V~K{G"><field name="TEXT">19:36</field></shadow> <block type="time_astro" id="+GrZ{_kjptgdIEKj)6~R"><field name="TYPE">sunriseEnd</field> <field name="OFFSET">0</field></block></value> <value name="END_TIME"><shadow type="text" id="z:bKepF-]xr^e4:5A(FI"><field name="TEXT">18:00</field></shadow> <block type="time_astro" id="H:.]8X0HU1EuoJS=U%Rt"><field name="TYPE">sunsetStart</field> <field name="OFFSET">0</field></block></value></block></value> <statement name="DO0"><block type="control" id="QPXPdcPP6o[!EH`ln65e"><mutation delay_input="true"></mutation> <field name="OID">meross.0.1810224092789329085334298f16f18d.3</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="/b(OGaFDOhUhusg`!GqN"><field name="BOOL">FALSE</field></block></value> <next><block type="control" id="n~4@XKfmD@XtYlw8ahP("><mutation delay_input="false"></mutation> <field name="OID">meross.0.1810224092789329085334298f16f18d.2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="+Bc%7Nfy(7U,nT6we4Eh"><field name="BOOL">TRUE</field></block></value></block></next></block></statement></block></statement></block></next></block></next></block></xml>
-
Na wenn das jetzt läuft, schaffst das auch. Ist am Anfang ein wenig verwirrend, aber einfach los legen. Wichtig ist nur, dass man sich ein Zwischenziel setzt um zu sehen wie weit es schon funktioniert.
Ein Tipp dafür, Du hast ja schon die Grundbedingung, FALS die nicht wahr ist, könnte die auch was anderes tun. Klich doch mal aufs Zahnrad bei der FALS
-
gibt es da einen trick wie ich sonst falls, falls oder sonst auswähle, egal was ich tue es klappt nicht ?
-
Zahnrad neben fals und dann einfach das sonst rein ziehen.
-
habs, aber komme nicht drauf, was ich da jetzt nehmen soll