NEWS
Zufallsgesteuerte Lampe
-
Super, dass man sie in verschiedene Funktionen einbinden kann, wusste ich nicht. Das eröffnet ja ungeahnte Möglichkeiten!
-
Oh ja, als @paul53 mir das mal gezeigt hat hab ich selbiges gedacht.
Mittlerweile auch echt viel drüber am laufen.Finde eben auch praktisch, dass man es als Trigger und in einem Skript verwenden kann.
-
Na dann mal in die Hände gespuckt. Danke Dir nochmal
-
-
Das dürfte dein makiertes sein.
Bei "setze für" müsstest du "entferne" auswählen können.Oder das über deinem. Nicht sicher.
Man kann da ja verschiede Optionen wählen im Baustein.Kann dir aber auch einen Export machen.
-
entferne lässt sich nicht einstellen. Kannst es bitte exportieren?
-
Einmal das ganze Skript fürs einschalten
<block xmlns="https://developers.google.com/blockly/xml" type="astro" id="s]_avA@=F-=z9.XGC|^k" x="-62" y="-262"> <field name="TYPE">sunsetStart</field> <field name="OFFSET">-30</field> <statement name="STATEMENT"> <block type="controls_if" id="S6gH@zTf;_y,bODGXQT6"> <value name="IF0"> <block type="get_value" id="6)9ljsYdGTFa.v6SbYde"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Lichtsteuerung.auto_an</field> </block> </value> <statement name="DO0"> <block type="variables_set" id="Y_Z:F}P#$gqw)!dX^H22"> <field name="VAR" id="Err,]Ie#sWB-OEmBmG-m">startverzoegerung</field> <value name="VALUE"> <block type="math_random_int" id="!_O?-]HGZ=*MLJ^m9%T?"> <value name="FROM"> <shadow type="math_number" id="F|lQKvDc!HDU2I.CYEQ^"> <field name="NUM">0</field> </shadow> </value> <value name="TO"> <shadow type="math_number" id="waquF_@@@RO*iO|5U15="> <field name="NUM">1200000</field> </shadow> </value> </block> </value> <next> <block type="variables_set" id="T~]gz?({;t|:Y2$`P.+y"> <field name="VAR" id="X/(l=PGh,p[Z^Gf4K%-_">zu_schaltende_lampen</field> <value name="VALUE"> <block type="selector" id=".]bd(U-XIeN,*[joM*3:"> <field name="TEXT">*(functions=abend_auto_an)</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="]9!E#P.3{9Y`}M4c$Byt"> <field name="NAME">start</field> <next> <block type="timeouts_settimeout" id="#G`Q?w0*nf-808,de,*E"> <field name="NAME">start</field> <field name="DELAY">startverzoegerung</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="controls_repeat_ext" id="6qn_sy]F6$l5djPR:[xa"> <value name="TIMES"> <shadow type="math_number" id="Kl(i=29#~oaCfSmEdtl:"> <field name="NUM">10</field> </shadow> <block type="lists_length" id=":y-5u5R)%a7$O10`^@Of"> <value name="VALUE"> <block type="variables_get" id="T{QWbh1y9`-ul;e^G00/"> <field name="VAR" id="X/(l=PGh,p[Z^Gf4K%-_">zu_schaltende_lampen</field> </block> </value> </block> </value> <statement name="DO"> <block type="variables_set" id="lGtA:?,e7hU_k@|H=@qU"> <field name="VAR" id="S_8zhsxPG9PXxZuq#^7;">lampenverzoegerung</field> <value name="VALUE"> <block type="math_random_int" id="-vuyKS,1k2i:gL%~mtA-"> <value name="FROM"> <shadow type="math_number" id="A_Z~5.f6MoT`b:,}ABF3"> <field name="NUM">5000</field> </shadow> </value> <value name="TO"> <shadow type="math_number" id="49)QrxTwC2,@8({f,%%`"> <field name="NUM">300000</field> </shadow> </value> </block> </value> <next> <block type="variables_set" id="g!4Ed#VLk1[|dQPMVXTH"> <field name="VAR" id="87F([a-o_T[s/Q1mR8BZ">liste_lampen_nr</field> <value name="VALUE"> <block type="math_random_int" id="-9m#+EnDNSE`6EXx|Pj5"> <value name="FROM"> <shadow type="math_number" id="lH+Yke7X}b%e*ywU8[+g"> <field name="NUM">1</field> </shadow> </value> <value name="TO"> <shadow type="math_number"> <field name="NUM">3</field> </shadow> <block type="lists_length" id="O!uB^h5uToJc3O9R;q}a"> <value name="VALUE"> <block type="variables_get" id="X_:J=Xk2Sl0W=-O{@rk:"> <field name="VAR" id="X/(l=PGh,p[Z^Gf4K%-_">zu_schaltende_lampen</field> </block> </value> </block> </value> </block> </value> <next> <block type="control_ex" id="N0kLB12fgdd5s3UfW@@D"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="-u*eI(^SL!%#d-=c{r`|"> <field name="oid">Object ID</field> </shadow> <block type="lists_getIndex" id="j3}V)bk%[-*=Z?[tT}on"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="6I$0B$a12QAs=3akd.}O"> <field name="VAR" id="X/(l=PGh,p[Z^Gf4K%-_">zu_schaltende_lampen</field> </block> </value> <value name="AT"> <block type="variables_get" id="Z%xM.SFvn1T#+J{IOL2x"> <field name="VAR" id="87F([a-o_T[s/Q1mR8BZ">liste_lampen_nr</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="R)(T*pJYrYPO+?Fw*lVV"> <field name="BOOL">TRUE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="_I(PN^4vH,$.j09)!.QZ"> <field name="NUM">0</field> </shadow> <block type="variables_get" id=";dNej+)bVzz;hJAr;9@i"> <field name="VAR" id="S_8zhsxPG9PXxZuq#^7;">lampenverzoegerung</field> </block> </value> <next> <block type="lists_getIndex" id="gx3T/}{d)*|j(cw@~d/9"> <mutation statement="true" at="true"></mutation> <field name="MODE">REMOVE</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="3@ZIE]p#OhXGe|%~q^FC"> <field name="VAR" id="X/(l=PGh,p[Z^Gf4K%-_">zu_schaltende_lampen</field> </block> </value> <value name="AT"> <block type="variables_get" id="pUyMjp1bkroY#jfl0/)("> <field name="VAR" id="87F([a-o_T[s/Q1mR8BZ">liste_lampen_nr</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block>
Und nur der entferne Block
<block xmlns="https://developers.google.com/blockly/xml" type="lists_getIndex" id="SjW2h}MI5b;;4XE#*XLt" x="62.81699110282466" y="962.0023990473503"> <mutation statement="true" at="true"></mutation> <field name="MODE">REMOVE</field> <field name="WHERE">FROM_START</field> </block>
-
Danke, der Import hat funktioniert.
Seltsam, ich habe die Lösung. Wenn man dieses Listenelement nimmt und anstatt nimm -> entferne einstellt, ändert es seine Form und Funktion:
-
@meister-mopper sagte in Zufallsgesteuerte Lampe:
Wenn man dieses Listenelement nimmt und anstatt nimm -> entferne einstellt, ändert es seine Form und Funktion:
nicht nur dieser Block.
Es gibt einige Blöcke, die sich ändern wenn man im Pulldown etwas anderes auswählt -
@homoran sagte in Zufallsgesteuerte Lampe:
Es gibt einige Blöcke, die sich ändern wenn man im Pulldown etwas anderes auswählt
Man lernt halt nie aus.
Hier die beiden Blockly kombiniert. Werde mal testen:
-
Verstehe ich es richtig?
Dein Script schaltet jede Lampe ab Sonnenuntergang nur einmal ein und analog dazu im Ausschaltscript einmal aus, da die Lampe nach der Aktion aus der Liste fliegt. -
@meister-mopper
Ja genau. So lese ich das auch. Ist auch in diesem Script meines Erachtens nach OK, da ja nur eingeschaltet wird. Eine Lampe die bereits eingeschaltet ist brauch ich nicht nochmal einschalten. Wenn du es anders haben willst dass du z.B. immer eine x-beliebige Lampe verwendest und diese dann entweder ein oder ausschaltest musst du das mit dem Umschalten realisieren und die Lampen nicht aus dem Script entfernen -
@gutscho sagte in Zufallsgesteuerte Lampe:
Wenn du es anders haben willst dass du z.B. immer eine x-beliebige Lampe verwendest und diese dann entweder ein oder ausschaltest musst du das mit dem Umschalten realisieren und die Lampen nicht aus dem Script entfernen
Genau so werde ich es machen
Ich gehe mal mit diesem Entwurf ins Testverfahren:
-
Das macht so natürlich auch Sinn.
Baue ich evtl so ein, wenn keiner im Haus ist.Nur eine Sache.
Wird nicht, wenn eine Lampe eingeschaltet wird der Timeout zum ausschalten der vorherigen Lampe gestoppt? -
@david-g sagte in Zufallsgesteuerte Lampe:
Wird nicht, wenn eine Lampe eingeschaltet wird der Timeout zum ausschalten der vorherigen Lampe gestoppt?
Ich denke nicht, wir sind ja in einer Schleife, und der timeout wird nach dem stop wieder gestartet.
-
Hm,
ich denke der laufende timeout wird gelöscht.
Haben ja die selben Namen. Dann für die neue Lampe gestartet.Außer die Schleife behandelt jeden Durchgang wie ein eigenes Skript....
Ka, hatte das so noch nie.
-
Wenn die Schleife wieder auslöst, obwohl der timeout noch nicht abgelaufen ist, hast Du recht.
Hm, das muss ich ausprobieren.
-
@meister-mopper
Kann man auf alle Fälle so machen. Mir wär das ganze aber etwas zu spooky. Was denken da die Leute wenn erst im Schlafzimmer die Nachttischlampe angeht, im Anschluss dann im Bad unten, danach Bad oben usw. Da müsste für mich mehr sinnvolles hintereinander schalten rein. So wie eben bei einem selbst der Tagesablauf(Nachtablauf) ist mit kleinen zeitlichen Veränderungen. -
Wäre natürlich praktisch wenn das geht.
Die timeouts kann man gut stoppen wenn man nach Hause kommt.Wenn man mit einer Verzögerung wie beim einschalten arbeitet gehen die Lichter noch aus, wenn man schon lange zu Hause ist .....
Das eine Licht was ggf noch eingeschaltet wird ist ja nicht so schlimm.
-
@gutscho sagte in Zufallsgesteuerte Lampe:
So wie eben bei einem selbst der Tagesablauf(Nachtablauf) ist mit kleinen zeitlichen Veränderungen.
Jap, das ist die Königsdisziplin!