NEWS
Blockly Spotify Playlist abspielen
-
Hallo zusammen,
ich bräuchte mal ein wenig Tipps von Euch. Ich stelle mich gerade ein wenig lost an und komme nicht weiter.Ich habe mehrere Alexas in der Wohnung verteilt unter anderem im Bad. Dort ist ebenso ein BWM installiert. Wenn ich ins Bad gehe, soll Alexa eine bestimmte Playlist von Spotify abspielen. Mein Problem ist, dass ich nicht weiß, wie ich einstellen kann, dass es nur im Bad die Playlist abgespielt wird.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="on" id="P5Wn1AZ!)2,k!2mTef#Z" x="-238" y="40"> <field name="OID">zigbee.0.00158d00063e2547.occupancy</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="(Jf2C9[4Jw#9o;Ira-lA"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="}}6NdK(d1P6F3+D!jQHm"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="BThJ%[O_;oLI0SxjqjG2"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_boolean" id="IyMU+YK`z3#{H=136n:^"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="Td{E`WEPBF*W.TjLjs)!"> <field name="NAME">timeout</field> <next> <block type="comment" id=":];-k=:@zPD0xf4sbZ?O"> <field name="COMMENT">Falls Player schon läuft nicht neu starten, sonst Unterbrechung beim Abspielen</field> <next> <block type="controls_if" id="b@?8SpTjgVuKJf4^,:9#"> <value name="IF0"> <block type="logic_compare" id="Y~|bcYMzv9xm3U!sAY]z"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="IWM+~w#2wM0V^q.QlgE^"> <field name="ATTR">val</field> <field name="OID">alexa2.0.Echo-Devices.G0914704945500RA.Player.currentState</field> </block> </value> <value name="B"> <block type="logic_boolean" id="K[CEu#qWInw~yi*;U.:;"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="%E8S7}$LA`B`l`3gsd3A"> <field name="COMMENT">Falls Lautstärke zu hoch, runterregeln</field> <next> <block type="controls_if" id="kJZKCV9BCJ?{~dgD3dby"> <value name="IF0"> <block type="logic_compare" id="EKeI9G}OZ;ZOyo?6]~^4"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="u4M*7WR_k/%Z?O,wsf.,"> <field name="ATTR">val</field> <field name="OID">alexa2.0.Echo-Devices.G0914704945500RA.Player.volume</field> </block> </value> <value name="B"> <block type="math_number" id="Zn%%h1859$i,`5Kd7$Rc"> <field name="NUM">15</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="dXL27zJI#v!E4~#Bb`2l"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G0914704945500RA.Player.volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="v2jYKaXVXcNJoIF${9W]"> <field name="NUM">15</field> </block> </value> </block> </statement> <next> <block type="comment" id="##+aSFHPj9Wofz%dAYCb"> <field name="COMMENT">Mit Verzögerung, damit Lautstärke gesetzt werden kann</field> <next> <block type="control" id=";06Z+F.P,-|=@zyoI[!]"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">spotify-premium.0.playlists.3pxlwx2kvo47uqll25lvw4qlt-6FnTwLz572prCwRDwnIMq1.playThisList</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="tT35c,NZ(c]BHGd3L%^*"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="SN{+c.%-RO2`=!Q]t?5z"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="r6T^JsLw{PlrP)JYlrj_"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_boolean" id="6G7={}];N5d|0uOsGsjG"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="comment" id="TGM}4X_Yl._=EyXMt[6V"> <field name="COMMENT">Ende Play 3 Min nach letzter Bewegung</field> <next> <block type="timeouts_cleartimeout" id="n__!QrF/Bo]%(Z?MdJN0"> <field name="NAME">timeout</field> <next> <block type="timeouts_settimeout" id="T^CDs@(NCotO0W$mcvlF"> <field name="NAME">timeout</field> <field name="DELAY">180</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="control" id="W-)`5yd@h1LH*{AO1Ens"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090XG0793251VJ3.Player.controlPause</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="K%Z1nL_7);|rP}EKvuGQ"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </xml>
-
Definierst du in der Spotify Playlist welches Gerät es abspielen soll, bzw. welche Geräte ?
Dann ggf. eine andere/weitere Playlist mit nur diesem Gerät definieren.Ich habe kein Spotify, daher kenne ich nicht die genaue Ansteuerung, aber irgendwo musst du ja definieren wer die Playlist überhaupt abspielen soll.
Das ist ja kein Datenpunkt vom Alexa Adapter gell ?
Und du hast was von Verzögerung im Skript stehen, hast aber keine eingebaut
-
@cinimod das ist genau mein Problem. Ich weiß nicht, wie ich es umsetzen soll, dass Spotify auf ein bestimmtes Gerät läuft. Bei Radio ist es kein Problem, das bekomme ich hin aber mit Spotify bin ich verzweifelt.
Die Verzögerungen bitte ignorieren. -
@masterg-23
Es gibt doch beim Spotify Adapter die Datenpunkte für die "Devices". Ich habe zwar keine Alexa um das zu testen, aber bei mir reicht es, wenn ich den Denon Receiver ansprechen will, vor dem Auwählen der Playlist einmal den Datenpunkt "useforplayback" auf true zu setzen. Dann geht der Receiver an. Haben die Alexas keinen eintrag unter Devices? -
@badsnoopy667 Doch das habe ich auch aber wenn ich den Wert auf True setze, dann spielt Alexa zwar Spotify ab, aber nur das was zuletzt abgespielt wurde. Wie kann ich vorher definieren, dass er eine bestimmte Playlist abspielen soll?
-
@masterg-23 Du kannst doch über den Datenpunkt
spotify-premium.0.player.device.name
mit dem Namen festlegen welche Alexa spielen soll.
Edit: setzt natürlich den spotify premium adapter vorraus
-
@fredf Den Adapter habe ich natürlich. Wie setze ich das im Blockly genau um? Kannst du mir da auf die Sprünge helfen?
Muss ich Steuere device name mit Wert z.b.: "Badezimmer" schreiben? Dann einen weiteren "Steuere" dann die Playlist die ich haben will den Datenpunkt "playThisList" auf True setzen? -
@masterg-23
Sorry, der Datenpunktspotify-premium.0.player.device.name
dient nur zur Anzeige und kann nicht gesteuert werden, bzw. springt wieder zurück...Mit dem Datenpunkt
spotify-premium.0.devices.xxx.useForPlayback
geht es aber. Diesen über den steuere Block auf wahr setzen.
Beim Blockly kann ich dir jetzt nicht weiterhelfen... -
@masterg-23
Du musst erst die richtige Alexa auswählen und dann die Playlist die gespielt werden soll. Kann durchaus sein, dass das nicht ganz ohne "glitch" geht, also das vorher noch was falsches gespielt wird. da musst du mal ein bisschen probieren. aber bei mir geht es (meistens)
Eventuell stellt man die Alexa mal für 5-10 sekunden stumm und wartet bis sich spotify sortiert hat...Mein Blockly sieht dafür so aus:
Das "enable shuffle" und "next track" habe ich eingefügt, weil er sonst manchmal nach dem ersten Lied einfach nicht weiterspielt.
-
@badsnoopy667 Vielen lieben Dank. Ich werde es nachher mal ausprobieren!
-
@badsnoopy667 Also das Abspielen der Playlist funktioniert schon mal, was aber Probleme macht:
Jedes mal wird das gleiche Lied abgespielt. Das heißt, jedes Mal wenn ich ins Bad komme, wird das gleiche Lied von Anfang abgespielt (die Playlist hat über 100 Lieder).
-
@masterg-23 Hm... und das "enable shuffle" und "next track" hilft nicht? Dann sollte er doch eigentlich mit demselben Lied beginnen, dann shuffle einschalten und dann sofort ein beliebiges nächstes Lied abspielen, oder? So macht er das zumindest bei mir (glaube ich, teste ich nachher nochmal).
-
@badsnoopy667 Danke für deine Nachricht. Leider funktioniert es nicht, wie es sollte. In dem Screenshot ist es denk ich ersichtlich, dass zunächst der gewünschte Alexa Lautsprecher gewählt wird, dann der Playlist, dann shuffle wird enablet und dann next track. Vorher wird geschaut, ob bereits ein Lied läuft.
Kannst du irgend einen Fehler erkennen?
-
@masterg-23 Also bei mir geht das so, aber ich nutze auch keine Alexa. Ich würde an Deiner Stelle nochmal versuchen einen weiteren "next track" block einzufügen, vielleicht mit einer längeren Pause. Vielleicht bekommt die Alexa den Befehl gar nicht mit, die 400ms sind ja sehr kurz.
PS: Was mir gerade noch aufgefallen ist, du prüfst zweimal den State "currentState" ab. Einmal auf wahr und dann auf falsch. Ist das derselbe State? Wenn ja, dann wird doch der ganze Block mit dem Umschalten nie ausgeführt, oder?
-
@badsnoopy667 danke für den Hinwies. Hab mich schon gewundert, warum es nicht mehr getriggert wird. Keine Ahnung warum ich ihn doppelt drin hatte.
Nichtdestotrotz funktioniert der Playlist nicht wie es soll. Es startet zunächst "Lied 1", dann wird sofort ein Lied übersprungen, dann noch eins (innerhalb nicht mal eine Sek.) dann wird das gleiche Lied (ich nenne es jetzt "Lied 3") abgespielt.Wenn ich das nächste mal ins Bad gehe, passiert wieder das gleiche. Zwei lieder werden übersprungen und dann wird "Lied 3" abgespielt.
-
@masterg-23 Wird denn mit dem "enableShuffle" Shuffle WIRLICH aktiviert? Kann man ja in der Spotify App sehen, ob Shuffle dann eingeschaltet ist. Klingt für mich so, als würde er einfach weiter linear abspielen.
Bei mir wird wenn ich den Datenpunkt "shuffleOn" auf true setze sofort in der Spotify App das Shuffle Symbol grün. -
@badsnoopy667 Danke für deine schnelle Nachricht. Anbei ein Screenshot vom gewähltem Datenpunkt. Ich denke, dass das schon der richte ist oder? Diesen Datenpunkt hatte ich vorher ja auch schon gewählt
PS: Bei Spotify ist danach der "Shuffle Button" auch aktiviert. -
@masterg-23 Und wenn du vorher nicht die Alexa auswählst, sondern einfach mal auf dem Handy abspielst, oder so? Wäre ja gut rauszubekommen, ob das Problem nur mit der Alexa auftritt, oder generell mit Spotify.
-
@badsnoopy667 du meinst, dass ich bei "useForPlayback" das iPhone als Quelle nehme und nicht die Alexalautsprecher?
-
@masterg-23 Ja, genau. Bei mir geht es ja mit meinem Denon Receiver. Vielleicht ist das Problem ja, das sich die Alexa anstellt. Aber dann weiß man zumindest, in welche Richtung man suchen muss.