NEWS
[gelöst] Alexa , Musikrichtung jeden Abend eine andere per Zufall über Blockly ausgeben!
-
hi Ihrs,
Ich habe zum einschlafen, einen Sleeptimer per Switch, der mir nach 30 Minuten oder 60 Minuten je nach Auswahl, dann den Beamer und die Soundbar abschaltet und über den Echo meine Einschlafmusik startet, zur Zeit habe ich zwei Musikrichtungen angegeben:
Ich würde gerne mehrere Musikrichtungen zur Auswahl haben, diese sollen aber per Zufall einmalig gestartet werden, so das ich jeden Abend was anderes höre:
Wie realisiere ich das :
-
Eine Liste mit den Musikvorschlägen und dann eine per Zufall auswählen.
-
ah super, der Block Liste ist für mich noch völlig unbekannt, werde ich mal testen und gegebenenfalls wieder melden, thx
-
so ich habe fertig
-
Freut mich das es geklappt hat, kleiner Verbesserungsvorschlag: Die Länge der Liste kannst du auch errechnen:
und dann deinen "bis Wert" (9) durch jmax ersetzen.
Wenn du dann die Liste erweiterst, brauchst du deinen "bis Wert" nie mehr anpassen. -
du meinst so?
-
JA, zur Sicherheit über den Trigger vielleicht ein
Kannst dir ja jmax mal mit dem Debug Baustein ausgeben lassen. -
also hier :
-
Erwarte nicht zu viel von mir, bin mit dem ganzen Zeug noch blutiger Anfänger.
Aber zusammen kriegen wir das schon hin
Das
würde ich sagen sitzt richtig.An den Debug Baustein hängst du jmax
und dann einmal vor und nach der grünen Schleife dranhängen.
Dann siehst du was passiert. -
@iomountain sagte in [gelöst] Alexa , Musikrichtung jeden Abend eine andere per Zufall über Blockly ausgeben!:
Erwarte nicht zu viel von mir, bin mit dem ganzen Zeug noch blutiger Anfänger.
was bin dann ich, noch nicht geboren ^^ nee das passt schon, danke für deine Hilfe, auf jeden Fall hilft mir das sehr sehr!
habs mal probiert, funktioniert, aber wenn man mehrmals "Alexa, Gute Nacht sagt" addiert er immer jmax dazu!
-
so passt es aber, also innerhalb des Triggers!
-
@iomountain Wieso nicht das Element "Länge von"?
-
@thewhobox sagte in Alexa , Musikrichtung jeden Abend eine andere per Zufall über Blockly ausgeben!:
@iomountain Wieso nicht das Element "Länge von"?
Du hast recht, besser ist das.
Denke auch die Berechnung gehört vor den Trigger, muss ja nicht jedesmal neu berechnet werden -
@iomountain Das würde ja das berechnen ersetzen. Aber hast recht, das macht vor dem Trigger mehr sinn.
Aber das setzen der Liste kann man auf jeden Fall vor den Trigger machen. -
oki, nun bin ich verwirrt ^^
jetzt funktioniert es ja, heisst ich könnte es wieder umarbeiten, muss es aber nicht zwingend?
-
mach mal einen Export und ich bau ihn dann um wie ich es mir vorstelle.
Und dann sollen die Profis ran.
Nur als Vorschlag, bin ja auch nur am lernen. -
DANKE
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="`F+3-nb)5k=0]0,]ulul">jmax</variable> <variable type="" id="Go#y,1urqvWm6cR30BC]">i</variable> <variable type="" id="?Zg6dL2r-(:tL#jv1,Jd">j</variable> </variables> <block type="on" id="lLzW}vg}l01f[4n76X{g" x="213" y="2813"> <field name="OID">#Eigene.0.Schlafzimmer.Gute_Nacht</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="variables_set" id="+hw$2#4M%Jb^|k6:Oy{2"> <field name="VAR" id="`F+3-nb)5k=0]0,]ulul" variabletype="">jmax</field> <value name="VALUE"> <block type="math_number" id="yPgyuM;RE;KZIL58@):$"> <field name="NUM">0</field> </block> </value> <next> <block type="debug" id="6_:DzYNt%uAR!q(j+Xcc"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="?4Nha!|(*Sr-(}ZIdQTP"> <field name="TEXT">**** jmax</field> </shadow> <block type="variables_get" id="6SZ={W|(}}dIX?0%@OQP"> <field name="VAR" id="`F+3-nb)5k=0]0,]ulul" variabletype="">jmax</field> </block> </value> <next> <block type="variables_set" id="74SOAUuA6Xl,`a[u7_vI"> <field name="VAR" id="Go#y,1urqvWm6cR30BC]" variabletype="">i</field> <value name="VALUE"> <block type="lists_create_with" id="0OD31o@G!bI#.*vh~/Gd"> <mutation items="9"></mutation> <value name="ADD0"> <block type="text" id="OPJS(,H`Q2ZR$=(G2`dq"> <field name="TEXT">enya</field> </block> </value> <value name="ADD1"> <block type="text" id="SmV.3)eZLz3WV!@^!{OX"> <field name="TEXT">best of klassik</field> </block> </value> <value name="ADD2"> <block type="text" id="t]#2RJ3O|faLp2A;2//Q"> <field name="TEXT">lord of the rings</field> </block> </value> <value name="ADD3"> <block type="text" id="@P|nOV,rFmvu3FqMco2f"> <field name="TEXT">panflöte zur entspannung</field> </block> </value> <value name="ADD4"> <block type="text" id="Ng-r6R)7vH(PaMH:W6]9"> <field name="TEXT">meditation & entspannung radio</field> </block> </value> <value name="ADD5"> <block type="text" id="?r3vKbU??5@-x4XSgTG*"> <field name="TEXT">vangelis radio</field> </block> </value> <value name="ADD6"> <block type="text" id="/fJ(Ron;SOPt7tqW;73."> <field name="TEXT">kitaro radio</field> </block> </value> <value name="ADD7"> <block type="text" id="RJzN0wJ+`@_%4r%MGx%2"> <field name="TEXT">yiruma radio</field> </block> </value> <value name="ADD8"> <block type="text" id="[%1y+F54!Y7Xb+^F+-P-"> <field name="TEXT">ennio morricone radio</field> </block> </value> </block> </value> <next> <block type="controls_forEach" id="uH8avjs?@)_0DoiIR`5?"> <field name="VAR" id="?Zg6dL2r-(:tL#jv1,Jd" variabletype="">j</field> <value name="LIST"> <block type="variables_get" id="8OpW,L5yMMBZ0Y)07/At"> <field name="VAR" id="Go#y,1urqvWm6cR30BC]" variabletype="">i</field> </block> </value> <statement name="DO"> <block type="variables_set" id="%dxgSQ#`;2KX48b]jN%r"> <field name="VAR" id="`F+3-nb)5k=0]0,]ulul" variabletype="">jmax</field> <value name="VALUE"> <block type="math_arithmetic" id="B{m=B~gm{p$~il3#u3A|"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="gNMUtz,H,swcv=mJ_YRl"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="Q^iif_@N*!.XG-(SNrMa"> <field name="VAR" id="`F+3-nb)5k=0]0,]ulul" variabletype="">jmax</field> </block> </value> <value name="B"> <shadow type="math_number" id="$(jz/O*zV/4JexfKi]/!"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </statement> <next> <block type="debug" id="vdZW8)sCY;rA9A9X6P_N"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="?4Nha!|(*Sr-(}ZIdQTP"> <field name="TEXT">**** jmax</field> </shadow> <block type="variables_get" id="t2z;$nSsRQiFc4QPzg-#"> <field name="VAR" id="`F+3-nb)5k=0]0,]ulul" variabletype="">jmax</field> </block> </value> <next> <block type="control" id="KNb]aP$g@4WPT#]x]}rw" inline="false"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.Max Mustermann.Music-Provider.Amazon-Music</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="lists_getIndex" id="eY04aHQ{b}15`5fj43#:"> <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="l%%Xww:4W@yt$6)92Z$T"> <field name="VAR" id="Go#y,1urqvWm6cR30BC]" variabletype="">i</field> </block> </value> <value name="AT"> <block type="math_random_int" id="NTjx_+:?v?dp!^ttBM5a"> <value name="FROM"> <shadow type="math_number" id="$QZ9FBY0ZMytss0:(#cC"> <field name="NUM">1</field> </shadow> </value> <value name="TO"> <shadow type="math_number" id="MY9j1k~vt:)beB2r,W8i"> <field name="NUM">9</field> </shadow> <block type="variables_get" id="MXTbV*zo9:ZX0I/lY+2y"> <field name="VAR" id="`F+3-nb)5k=0]0,]ulul" variabletype="">jmax</field> </block> </value> </block> </value> </block> </value> <next> <block type="control" id="{N2;z~20@,WcHxr}qT~x"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.Max Mustermann.Player.volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="h}|%=BIPR5dAUfhMy_]g"> <field name="NUM">25</field> </block> </value> <next> <block type="control" id="5E=DZI{enc0W}_~b2`Et"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.0.Echo-Devices.Max Mustermann.Player.controlShuffle</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="lZ`[;cT#vugIBN;Ag12*"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="7UFV`uBzTwF-.RLi{mh4"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.0.Echo-Devices.Max Mustermann.Player.controlPause</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">90</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="6g30KiCbl}a_(#*4xvk$"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="update" id="E^y*m,fEsYfkX-MEJ`ka"> <mutation delay_input="true"></mutation> <field name="OID">#Eigene.0.Schlafzimmer.Gute_Nacht</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">91</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="xMstZ{86szbxW8+^jPk#"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
Vorschlag:
-
Zweiter Vorschlag:
Lass die Variable jMax einfach weg und füge direkt Lenge von in den RandomBaustein ein.
-
so habs jetzt mal so gemacht, kann es aber grade nicht testen, Frauchen hört Musik ^^