Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [HowTo] Spotify mit 3 Skripten in VIS steuern

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    228

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

[HowTo] Spotify mit 3 Skripten in VIS steuern

[HowTo] Spotify mit 3 Skripten in VIS steuern

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
6 Posts 2 Posters 807 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • DJMarc75D Offline
    DJMarc75D Offline
    DJMarc75
    wrote on last edited by DJMarc75
    #1

    Vorwort:
    Mir ist aufgefallen dass eigentlich viele User Spotify nutzen aber die Handhabung und Steuerung des Adapters per VIS "etwas" kompliziert ist und deshalb auch diese User sich scheuen dies umzusetzen.
    So ging es mir bis heute um ca. 5 Uhr in der Frühe auch - und da hab ich mir mal ein Herz gefasst und 3 Blocklys geschrieben um diesen Adapter und die Funktionen welche dahinter stecken zumindest für mich anzupassen und in meiner VIS Spotify effektiv zu steuern.
    Der Optik in der VIS sollte man keine Aufmerksamkeit schenken weil diese/meine erstmal nur aufzeigen soll was machbar ist.

    Legen wir los:

    Was brauchen wir ?

    Natürlich erstmal ein sauberes System !
    Falls dazu Fragen bestehen was das ist und wie Ihr das hinbekommt ist dies hier die falsche Adresse - ist halt meine Vorgabe 🙂

    Ich habe bei mir - und das wird auch benötigt:

    • Debian Bullseye (natürlich aktuell mit allen upgrades)
    • Node und NPM Versionen siehe meine Signatur (gibt hierzu keine Erklärungen !)
    • Spotify Adapter 1.2.2
    • VIS Adapter 1.4.16
    • Javascript Adapter 7.0.3
    • MaterialDesign Adapter 0.5.9 (wird für VIS benötigt)
    • Schnitzel mit Pommes (optional)
    • 2-3 Bier (optional - wird aber empfohlen 🙂 )
    • gute Laune und den Willen dies umzusetzen (erforderlich)

    EDIT: falls da irgendwelche Adapter nur im "latest" sind und Ihr das nicht wollt - dann bitte ab hier aufhören !!!

    Zuerst legen wir mal Verzeichnisse im Objektbaum

    0_userdata.0
    

    an:

    Den Ordner "Spotify" zuerst.
    Unter diesem Ordner legen wir 2 Verzeichnisse an:
    "Abfragen" und "Funktionen"

    Natürlich könnt Ihr Eure Verzeichnisse benennen wie Ihr wolt, aber dann bitte keine Fragen stellen wenn was nicht funktioniert 🙂

    Weiter gehts:

    In den jeweiligen Verzeichnissen legen wir Datenpunkte an - wie folgt:

    Screenshot 2023-04-30 002255.png

    Die gelb markierten MÜSSEN angelegt werden !
    Und zwar als entsprechende Typen:

    blau = Zeichenkette (string)
    rot = JSON
    grün = Logikwert (boolean)

    Ist dies getan dann können wir uns ja schonmal mit den Blocklys im nächsten Beitrag befassen:

    EDIT: Skripte und DPs aktualisiert - quasi bitte beachten !

    Lehrling seit 1975 !!!
    Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
    https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

    DJMarc75D 1 Reply Last reply
    1
    • DJMarc75D DJMarc75

      Vorwort:
      Mir ist aufgefallen dass eigentlich viele User Spotify nutzen aber die Handhabung und Steuerung des Adapters per VIS "etwas" kompliziert ist und deshalb auch diese User sich scheuen dies umzusetzen.
      So ging es mir bis heute um ca. 5 Uhr in der Frühe auch - und da hab ich mir mal ein Herz gefasst und 3 Blocklys geschrieben um diesen Adapter und die Funktionen welche dahinter stecken zumindest für mich anzupassen und in meiner VIS Spotify effektiv zu steuern.
      Der Optik in der VIS sollte man keine Aufmerksamkeit schenken weil diese/meine erstmal nur aufzeigen soll was machbar ist.

      Legen wir los:

      Was brauchen wir ?

      Natürlich erstmal ein sauberes System !
      Falls dazu Fragen bestehen was das ist und wie Ihr das hinbekommt ist dies hier die falsche Adresse - ist halt meine Vorgabe 🙂

      Ich habe bei mir - und das wird auch benötigt:

      • Debian Bullseye (natürlich aktuell mit allen upgrades)
      • Node und NPM Versionen siehe meine Signatur (gibt hierzu keine Erklärungen !)
      • Spotify Adapter 1.2.2
      • VIS Adapter 1.4.16
      • Javascript Adapter 7.0.3
      • MaterialDesign Adapter 0.5.9 (wird für VIS benötigt)
      • Schnitzel mit Pommes (optional)
      • 2-3 Bier (optional - wird aber empfohlen 🙂 )
      • gute Laune und den Willen dies umzusetzen (erforderlich)

      EDIT: falls da irgendwelche Adapter nur im "latest" sind und Ihr das nicht wollt - dann bitte ab hier aufhören !!!

      Zuerst legen wir mal Verzeichnisse im Objektbaum

      0_userdata.0
      

      an:

      Den Ordner "Spotify" zuerst.
      Unter diesem Ordner legen wir 2 Verzeichnisse an:
      "Abfragen" und "Funktionen"

      Natürlich könnt Ihr Eure Verzeichnisse benennen wie Ihr wolt, aber dann bitte keine Fragen stellen wenn was nicht funktioniert 🙂

      Weiter gehts:

      In den jeweiligen Verzeichnissen legen wir Datenpunkte an - wie folgt:

      Screenshot 2023-04-30 002255.png

      Die gelb markierten MÜSSEN angelegt werden !
      Und zwar als entsprechende Typen:

      blau = Zeichenkette (string)
      rot = JSON
      grün = Logikwert (boolean)

      Ist dies getan dann können wir uns ja schonmal mit den Blocklys im nächsten Beitrag befassen:

      EDIT: Skripte und DPs aktualisiert - quasi bitte beachten !

      DJMarc75D Offline
      DJMarc75D Offline
      DJMarc75
      wrote on last edited by DJMarc75
      #2

      Screenshots sind nur Ansatzweise zu werten - deshalb gibt es jeweilig den Code zum Importieren !)

      Im ersten Blockly fragen wir mal die Playlisten ab und schreiben die notwendigen Daten in die dafür vorgesehenen Datenpunkte:
      Screenshot 2023-04-30 002911.png

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable id="`e/`Y|g1yt[LqDde4cUg">myID</variable>
         <variable id="$TGe7c|7mWim[0^Ny-*8">playlisten</variable>
         <variable id="[QeIC8qHOO}iRj@3P(|N">aufzählung</variable>
         <variable id="N,1;Xiv_dRREPF,8/-wJ">playlistenvalue</variable>
         <variable id="qMuUH@n;-29I9Zy:c5R[">i</variable>
         <variable id="A+R4;J!yy4e`~.6+ePot">playliste</variable>
         <variable id="}bdAPzw$S|-/d[[-/l,Z">sort</variable>
         <variable id="ZNIImHZ1MQl]hTTqQ}lA">details</variable>
         <variable id="GG0W8(KE08)VPNlHI[Pf">playlistname</variable>
         <variable id="/EUEs^+niuBI+e=^qt[;">objekt</variable>
       </variables>
       <block type="procedures_defcustomreturn" id="RR9RFRWFc/U|Eb-mEDPq" x="413" y="-287">
         <mutation statements="false">
           <arg name="myID" varid="`e/`Y|g1yt[LqDde4cUg"></arg>
         </mutation>
         <field name="NAME">owner</field>
         <field name="SCRIPT">cmV0dXJuIG15SUQucmVwbGFjZSgib3duZXIiLCJpZCIpOyA=</field>
         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
       </block>
       <block type="schedule" id="v)gNpr{TWUHp]Rp?,fRx" x="413" y="-237">
         <field name="SCHEDULE">* * * * *</field>
         <statement name="STATEMENT">
           <block type="variables_set" id="w7(2wOFE|5;iazx$?Z7o">
             <field name="VAR" id="$TGe7c|7mWim[0^Ny-*8">playlisten</field>
             <value name="VALUE">
               <block type="lists_create_with" id="uiJM8.UYKR8_U;y?V%NP">
                 <mutation items="0"></mutation>
               </block>
             </value>
             <next>
               <block type="variables_set" id="t14i7X.yb2(.R*9jvPgw">
                 <field name="VAR" id="[QeIC8qHOO}iRj@3P(|N">aufzählung</field>
                 <value name="VALUE">
                   <block type="selector" id="C9/ux5=-jtW1Btdde^}X">
                     <field name="TEXT">spotify-premium.0.playlists.*.owner</field>
                   </block>
                 </value>
                 <next>
                   <block type="controls_forEach" id="KMParn:4JO}?|=6rRZ3/">
                     <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                     <value name="LIST">
                       <block type="variables_get" id="93l(X1e$@Zw2W@SRa-zt">
                         <field name="VAR" id="[QeIC8qHOO}iRj@3P(|N">aufzählung</field>
                       </block>
                     </value>
                     <statement name="DO">
                       <block type="variables_set" id="nFUq5t{=rjRzLuv7|_7*">
                         <field name="VAR" id="ZNIImHZ1MQl]hTTqQ}lA">details</field>
                         <value name="VALUE">
                           <block type="text_join" id="#G?!I#aw1$e1pw|G1gCy">
                             <mutation items="3"></mutation>
                             <value name="ADD0">
                               <block type="get_value_var" id="8]!;mtn.FPvqXs#maqbU">
                                 <field name="ATTR">val</field>
                                 <value name="OID">
                                   <shadow type="text" id="iVY`N{H/f2dO@C4Afx@K">
                                     <field name="TEXT"></field>
                                   </shadow>
                                   <block type="variables_get" id="oY9g#X,AVw.7x^e-S12Q">
                                     <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <value name="ADD1">
                               <block type="text" id="w{$d5zn^.i*,=HPhhnhz">
                                 <field name="TEXT">-</field>
                               </block>
                             </value>
                             <value name="ADD2">
                               <block type="get_value_var" id="jlp2U?dgV?;$*C*:oIAN">
                                 <field name="ATTR">val</field>
                                 <value name="OID">
                                   <shadow type="text" id="=t7W$G`{Ted|g{^//H:N">
                                     <field name="TEXT"></field>
                                   </shadow>
                                   <block type="procedures_callcustomreturn" id="~G;rOPc:$(#.R7pX4R]C">
                                     <mutation name="owner">
                                       <arg name="myID"></arg>
                                     </mutation>
                                     <value name="ARG0">
                                       <block type="variables_get" id="c8dP!+37I60ar)HJ,7W~">
                                         <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </value>
                         <next>
                           <block type="lists_setIndex" id="GnsPh(wPQ:|fHk[^`GDB">
                             <mutation at="false"></mutation>
                             <field name="MODE">INSERT</field>
                             <field name="WHERE">FIRST</field>
                             <value name="LIST">
                               <block type="variables_get" id="YG--O]pa?xj?ghx6D]J~">
                                 <field name="VAR" id="$TGe7c|7mWim[0^Ny-*8">playlisten</field>
                               </block>
                             </value>
                             <value name="TO">
                               <block type="variables_get" id="o$+U#tYe,Jgy7?E/2RD/">
                                 <field name="VAR" id="ZNIImHZ1MQl]hTTqQ}lA">details</field>
                               </block>
                             </value>
                           </block>
                         </next>
                       </block>
                     </statement>
                     <next>
                       <block type="update" id="mBt,,:8+-i+LDbBY_|M[">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                         <field name="OID">0_userdata.0.Spotify.Abfragen.PlaylistenString</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="convert_tostring" id="0A!bLCVE=_ha#_0.gL]W">
                             <value name="VALUE">
                               <block type="variables_get" id="@EHd.08D$*1*n!E+~tWq">
                                 <field name="VAR" id="$TGe7c|7mWim[0^Ny-*8">playlisten</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </statement>
         <next>
           <block type="on_ext" id="c9?9Yrk,d9L[h~nN7`hb">
             <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
             <field name="CONDITION">any</field>
             <field name="ACK_CONDITION"></field>
             <value name="OID0">
               <shadow type="field_oid" id="kDimQ14Dx+/o{VekX+L*">
                 <field name="oid">0_userdata.0.Spotify.Abfragen.PlaylistenString</field>
               </shadow>
             </value>
             <statement name="STATEMENT">
               <block type="variables_set" id="JQ):y1@NaZ?XpAlHIA,d">
                 <field name="VAR" id="N,1;Xiv_dRREPF,8/-wJ">playlistenvalue</field>
                 <value name="VALUE">
                   <block type="lists_create_with" id="WyOtpnpIVB`g=OsA}YXN">
                     <mutation items="0"></mutation>
                   </block>
                 </value>
                 <next>
                   <block type="variables_set" id="hmgj;!53T_`9:3mm3iWL">
                     <field name="VAR" id="A+R4;J!yy4e`~.6+ePot">playliste</field>
                     <value name="VALUE">
                       <block type="lists_split" id="MglvOaZoo`udzPbSgs-g">
                         <mutation mode="SPLIT"></mutation>
                         <field name="MODE">SPLIT</field>
                         <value name="INPUT">
                           <block type="on_source" id="hHo7ewq_DxyE,g|`@,+A">
                             <field name="ATTR">state.val</field>
                           </block>
                         </value>
                         <value name="DELIM">
                           <shadow type="text" id="ec}^V3zQKdCOH5g#M`u9">
                             <field name="TEXT">,</field>
                           </shadow>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="controls_forEach" id="ajZPSo8S{qF=ttM[GXd^">
                         <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                         <value name="LIST">
                           <block type="variables_get" id="]IVi}17qyYUKJ.`tI$QB">
                             <field name="VAR" id="A+R4;J!yy4e`~.6+ePot">playliste</field>
                           </block>
                         </value>
                         <statement name="DO">
                           <block type="variables_set" id="e1LQ~RSotlmf$7aKe|kK">
                             <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">playlistname</field>
                             <value name="VALUE">
                               <block type="text_join" id="Zh+$rKf0e)bAv4`ZO_Ll">
                                 <mutation items="3"></mutation>
                                 <value name="ADD0">
                                   <block type="text" id="!5E!q8~IZl=lVe:D1e{A">
                                     <field name="TEXT">spotify-premium.0.playlists.</field>
                                   </block>
                                 </value>
                                 <value name="ADD1">
                                   <block type="variables_get" id="iJRgR1_a,1RwRD)V)eQ5">
                                     <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                                   </block>
                                 </value>
                                 <value name="ADD2">
                                   <block type="text" id="Pc/gxiQ/)FablTHX@uI}">
                                     <field name="TEXT">.name</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="variables_set" id="1n=Ui6Zxw{1L{BnIf:=]">
                                 <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">playlistname</field>
                                 <value name="VALUE">
                                   <block type="text_changeCase" id="Vus*D9$BEok35qz$fC:j">
                                     <field name="CASE">UPPERCASE</field>
                                     <value name="TEXT">
                                       <shadow type="text" id="RRDka23`)BruPQ:r.*o4">
                                         <field name="TEXT">abc</field>
                                       </shadow>
                                       <block type="get_value_var" id="(]Wp^Y65HmVHHaYEHsW}">
                                         <field name="ATTR">val</field>
                                         <value name="OID">
                                           <shadow type="text" id="x|UlQ#_RiFjEu+,I]b9y">
                                             <field name="TEXT"></field>
                                           </shadow>
                                           <block type="variables_get" id="cIgV)^8{CWQc0M$bpa1=">
                                             <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">playlistname</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="variables_set" id="ctRCBlP?@p!a#y,H7@QO">
                                     <field name="VAR" id="/EUEs^+niuBI+e=^qt[;">objekt</field>
                                     <value name="VALUE">
                                       <block type="text_join" id="4_Ve~kk8N!pfB:}*Fq,m">
                                         <mutation items="5"></mutation>
                                         <value name="ADD0">
                                           <block type="text" id="w6~`xjx1m!+}@#ll)$Dy">
                                             <field name="TEXT">{"text":"</field>
                                           </block>
                                         </value>
                                         <value name="ADD1">
                                           <block type="variables_get" id="BhfbH7mGwwQ{AkhnB!Il">
                                             <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">playlistname</field>
                                           </block>
                                         </value>
                                         <value name="ADD2">
                                           <block type="text" id="BNT~cKhc$)L-sab^%C#W">
                                             <field name="TEXT">","value":"</field>
                                           </block>
                                         </value>
                                         <value name="ADD3">
                                           <block type="variables_get" id="tSH=LGTCgKrty7^ODOR+">
                                             <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                                           </block>
                                         </value>
                                         <value name="ADD4">
                                           <block type="text" id="E+,QRlEw5Z_l)LdngzI7">
                                             <field name="TEXT">"}</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="lists_setIndex" id="-t?`LwYqo*=Y=2nXV8#,">
                                         <mutation at="false"></mutation>
                                         <field name="MODE">INSERT</field>
                                         <field name="WHERE">LAST</field>
                                         <value name="LIST">
                                           <block type="variables_get" id=".V^Ym4@]Fhdr?l9+Nq#9">
                                             <field name="VAR" id="N,1;Xiv_dRREPF,8/-wJ">playlistenvalue</field>
                                           </block>
                                         </value>
                                         <value name="TO">
                                           <block type="variables_get" id="W[x--|G]LH#5r0`8p?O]">
                                             <field name="VAR" id="/EUEs^+niuBI+e=^qt[;">objekt</field>
                                           </block>
                                         </value>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </statement>
                         <next>
                           <block type="update" id="~ZX+.IRW/f7rLWP]fg[}">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                             <field name="OID">0_userdata.0.Spotify.Abfragen.PlaylistenJson</field>
                             <field name="WITH_DELAY">FALSE</field>
                             <value name="VALUE">
                               <block type="text_join" id="H,aFJ^iP^rS)IF*A8wCH">
                                 <mutation items="3"></mutation>
                                 <value name="ADD0">
                                   <block type="text" id="YOZXyHT};meRwyIV%vK|">
                                     <field name="TEXT">[</field>
                                   </block>
                                 </value>
                                 <value name="ADD1">
                                   <block type="convert_tostring" id="KUGB8iC2OgPko%Zegw`N">
                                     <value name="VALUE">
                                       <block type="variables_get" id="Oh$A$:X!.P`rQfq~=]Q.">
                                         <field name="VAR" id="N,1;Xiv_dRREPF,8/-wJ">playlistenvalue</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <value name="ADD2">
                                   <block type="text" id="+c?.o6iDZ|Kz6.VapK:s">
                                     <field name="TEXT">]</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </statement>
             <next>
               <block type="on_ext" id="Y9nt~=KFwh++B,GZEC/[">
                 <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                 <field name="CONDITION">ne</field>
                 <field name="ACK_CONDITION"></field>
                 <value name="OID0">
                   <shadow type="field_oid" id="_1|!z,QoR;MXd/.r[Dtz">
                     <field name="oid">0_userdata.0.Spotify.Abfragen.PlaylistenJson</field>
                   </shadow>
                 </value>
                 <statement name="STATEMENT">
                   <block type="variables_set" id="/$wu0snvyjSUP+.-`ev}">
                     <field name="VAR" id="}bdAPzw$S|-/d[[-/l,Z">sort</field>
                     <value name="VALUE">
                       <block type="convert_json2object" id="m}Hn/h@KIi9NO.d4U+r.">
                         <value name="VALUE">
                           <block type="on_source" id="#I4@5[v]pi;H=eCg1IW`">
                             <field name="ATTR">state.val</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="update" id="lYi:d~xT7!X0xFJl*,#v">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                         <field name="OID">0_userdata.0.Spotify.Abfragen.PlaylistenJson</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="convert_object2json" id="n6zNe:p_z=T;PNhAf9JV">
                             <field name="PRETTIFY">FALSE</field>
                             <value name="VALUE">
                               <block type="convert_jsonata" id="CcN./1!@a^}k7uiJN4rA">
                                 <value name="EXPRESSION">
                                   <shadow type="text" id="ck_hXCIkQZU=+#$g^`!G">
                                     <field name="TEXT">*</field>
                                   </shadow>
                                   <block type="text" id="GG{)CJ)JxbrU)*?WUwY%">
                                     <field name="TEXT">$^(&lt;text)</field>
                                   </block>
                                 </value>
                                 <value name="TARGET">
                                   <block type="variables_get" id="TU`:gvnqE)R/$XKot06w">
                                     <field name="VAR" id="}bdAPzw$S|-/d[[-/l,Z">sort</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </next>
                   </block>
                 </statement>
               </block>
             </next>
           </block>
         </next>
       </block>
      </xml>
      

      Im zweiten Blockly befassen wir uns nun mit den Titeln welche in der jeweilig ausgewählten Playliste stecken - und schreiben diese ebenso in die vorgesehenen Datenpunkte:

      Screenshot 2023-04-29 142011.png

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable id="8s|dJ[s_dcx`U9;jCx.T">offset</variable>
         <variable id="z=+.f2Q;+VQHzV+nNk#F">titelliste</variable>
         <variable id="A+R4;J!yy4e`~.6+ePot">titel</variable>
         <variable id="}bdAPzw$S|-/d[[-/l,Z">sort</variable>
         <variable id="qMuUH@n;-29I9Zy:c5R[">i</variable>
         <variable id="Ov{jv*{(3zzipR[=,!_l">filter</variable>
         <variable id="GG0W8(KE08)VPNlHI[Pf">titelname</variable>
         <variable id="/EUEs^+niuBI+e=^qt[;">objekt</variable>
       </variables>
       <block type="procedures_defnoreturn" id="HmO%OnJKUroFb$3+}%4G" collapsed="true" x="688" y="38">
         <field name="NAME">ohne sortierung</field>
         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
         <statement name="STACK">
           <block type="variables_set" id="!H~L%=m(rKojLx46MZc8">
             <field name="VAR" id="8s|dJ[s_dcx`U9;jCx.T">offset</field>
             <value name="VALUE">
               <block type="math_number" id="DK_CPJeD9-Y{K5m.1zXt">
                 <field name="NUM">0</field>
               </block>
             </value>
             <next>
               <block type="variables_set" id="z=M}Ncsz][6t3qnb)c],">
                 <field name="VAR" id="z=+.f2Q;+VQHzV+nNk#F">titelliste</field>
                 <value name="VALUE">
                   <block type="lists_create_with" id="N9nsz}S:(aK4i2p:#G?$">
                     <mutation items="0"></mutation>
                   </block>
                 </value>
                 <next>
                   <block type="variables_set" id="[:@G_6]e%8/-u0]j;E,6">
                     <field name="VAR" id="A+R4;J!yy4e`~.6+ePot">titel</field>
                     <value name="VALUE">
                       <block type="get_value_var" id=",*ssF)5x,Z+.X*^;mx=x">
                         <field name="ATTR">val</field>
                         <value name="OID">
                           <shadow type="text">
                             <field name="TEXT"></field>
                           </shadow>
                           <block type="text_join" id="|Q|CgQ+I({m9[|bOj+xL">
                             <mutation items="3"></mutation>
                             <value name="ADD0">
                               <block type="text" id="Y+$PlKIuuY,*r#bsZOB6">
                                 <field name="TEXT">spotify-premium.0.playlists.</field>
                               </block>
                             </value>
                             <value name="ADD1">
                               <block type="get_value" id="eQu):@s~]PzgRhxBaA$k">
                                 <field name="ATTR">val</field>
                                 <field name="OID">0_userdata.0.Spotify.Funktionen.Playliste_aktiv</field>
                               </block>
                             </value>
                             <value name="ADD2">
                               <block type="text" id="o#D[Rpoem`=#|[XBz@5Z">
                                 <field name="TEXT">.trackListArray</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="controls_forEach" id="w:iwd%F@Z_4:w7AjB_YK">
                         <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                         <value name="LIST">
                           <block type="variables_get" id="RW|HG?EdE;:}n_{DLGuC">
                             <field name="VAR" id="A+R4;J!yy4e`~.6+ePot">titel</field>
                           </block>
                         </value>
                         <statement name="DO">
                           <block type="variables_set" id="J_w6-jHRM2k5pW{7N]o;">
                             <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                             <value name="VALUE">
                               <block type="get_attr" id="1LElUrU0?a$K8{47hvHb">
                                 <value name="PATH">
                                   <shadow type="text" id="bwZW2b=Bky8IcyfM^rnc">
                                     <field name="TEXT">title</field>
                                   </shadow>
                                 </value>
                                 <value name="OBJECT">
                                   <block type="variables_get" id="|q/Scz`wVFM.lGJ9cBxt">
                                     <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="controls_if" id="AYVSFhzxXTND[[Q^_gVY">
                                 <mutation else="1"></mutation>
                                 <value name="IF0">
                                   <block type="logic_compare" id="$AuKFaUpCB[9p~EwJWS2">
                                     <field name="OP">GT</field>
                                     <value name="A">
                                       <block type="text_indexOf" id="Z#ewA@`@T{i}Z-c$vMEt">
                                         <field name="END">FIRST</field>
                                         <value name="VALUE">
                                           <block type="variables_get" id="FB],$?nZZ]NLJOw4l}{I">
                                             <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                           </block>
                                         </value>
                                         <value name="FIND">
                                           <shadow type="text" id="yHJNRdFR/#96wEN,%!](">
                                             <field name="TEXT">"</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <block type="math_number" id="uOd-aBAF0p}elUkYsRyO">
                                         <field name="NUM">0</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <statement name="DO0">
                                   <block type="variables_set" id="XxZ$m~U]QFbkK+.u`_*i">
                                     <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                     <value name="VALUE">
                                       <block type="text_getSubstring" id="GT0dD]9CyJer8fdkO[0Z">
                                         <mutation at1="false" at2="true"></mutation>
                                         <field name="WHERE1">FIRST</field>
                                         <field name="WHERE2">FROM_START</field>
                                         <value name="STRING">
                                           <block type="variables_get" id="VWP+B5,ZS!-p1y@k{8FP">
                                             <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                           </block>
                                         </value>
                                         <value name="AT2">
                                           <block type="math_arithmetic" id="WFT=V,8)0BFt^k3/9ETc">
                                             <field name="OP">MINUS</field>
                                             <value name="A">
                                               <shadow type="math_number">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="text_indexOf" id="Ua(zXE+U5gH}q$-*2ZMs">
                                                 <field name="END">FIRST</field>
                                                 <value name="VALUE">
                                                   <block type="variables_get" id=".|Ylg6M(CBO^pD}EtjuT">
                                                     <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                                   </block>
                                                 </value>
                                                 <value name="FIND">
                                                   <shadow type="text" id="h=GS-v,YXS[Bk#$7WSH*">
                                                     <field name="TEXT">"</field>
                                                   </shadow>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <shadow type="math_number">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="math_number" id="8qVW=oh/Tb+n#+HUEZxI">
                                                 <field name="NUM">2</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </statement>
                                 <statement name="ELSE">
                                   <block type="variables_set" id="A7GSL~P45)LU/pDG/r3%">
                                     <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                     <value name="VALUE">
                                       <block type="variables_get" id="bHPS[zJo=W6d=v]1XHOS">
                                         <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                       </block>
                                     </value>
                                   </block>
                                 </statement>
                                 <next>
                                   <block type="variables_set" id="U0e1Lwx|CV=@m)%{2INn">
                                     <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">titelname</field>
                                     <value name="VALUE">
                                       <block type="text_changeCase" id="s2PEk6dTsXL?%u;,V#Rl">
                                         <field name="CASE">UPPERCASE</field>
                                         <value name="TEXT">
                                           <shadow type="text">
                                             <field name="TEXT">abc</field>
                                           </shadow>
                                           <block type="text_join" id="KzQcCNy56GfE}2*.GA#O">
                                             <mutation items="3"></mutation>
                                             <value name="ADD0">
                                               <block type="get_attr" id="=@-B:Qg[._znh=I);l7%">
                                                 <value name="PATH">
                                                   <shadow type="text" id="agl_o=_q{Pv07|%[08ol">
                                                     <field name="TEXT">artistName</field>
                                                   </shadow>
                                                 </value>
                                                 <value name="OBJECT">
                                                   <block type="variables_get" id="|xWg$Y]5GA/G$Ue9e*8(">
                                                     <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="ADD1">
                                               <block type="text" id="DMh7Z.`1aV`Zf1=?X`=Z">
                                                 <field name="TEXT"> - </field>
                                               </block>
                                             </value>
                                             <value name="ADD2">
                                               <block type="variables_get" id="KI=sqwzq4;fM48kXgaJ!">
                                                 <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="variables_set" id="vrrM!zpA^//)M^(]h}7O">
                                         <field name="VAR" id="/EUEs^+niuBI+e=^qt[;">objekt</field>
                                         <value name="VALUE">
                                           <block type="text_join" id="C`dla5j2h=a^k3oS(5Wk">
                                             <mutation items="5"></mutation>
                                             <value name="ADD0">
                                               <block type="text" id="XN3gM`ALJo^zL@-#*3Q}">
                                                 <field name="TEXT">{"text":"</field>
                                               </block>
                                             </value>
                                             <value name="ADD1">
                                               <block type="variables_get" id="Z+4|Bg/mro%tXNDi/aIJ">
                                                 <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">titelname</field>
                                               </block>
                                             </value>
                                             <value name="ADD2">
                                               <block type="text" id=")Az{#elDxVR1xi}J$DH]">
                                                 <field name="TEXT">","value":"</field>
                                               </block>
                                             </value>
                                             <value name="ADD3">
                                               <block type="variables_get" id="vO:fKFK]d]W{^%g~,pr[">
                                                 <field name="VAR" id="8s|dJ[s_dcx`U9;jCx.T">offset</field>
                                               </block>
                                             </value>
                                             <value name="ADD4">
                                               <block type="text" id="Ob6f!KTjT*O$g+?I#-6n">
                                                 <field name="TEXT">"}</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="lists_setIndex" id="|/%2[H=._UA-~?XCDjSF">
                                             <mutation at="false"></mutation>
                                             <field name="MODE">INSERT</field>
                                             <field name="WHERE">LAST</field>
                                             <value name="LIST">
                                               <block type="variables_get" id="~Ue)=I5g.o%mMv-DyN3k">
                                                 <field name="VAR" id="z=+.f2Q;+VQHzV+nNk#F">titelliste</field>
                                               </block>
                                             </value>
                                             <value name="TO">
                                               <block type="variables_get" id="g[B!oVbv`BNFj!R6q!!`">
                                                 <field name="VAR" id="/EUEs^+niuBI+e=^qt[;">objekt</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="math_change" id="K8pf?O/`ZEw;f70#89)0">
                                                 <field name="VAR" id="8s|dJ[s_dcx`U9;jCx.T">offset</field>
                                                 <value name="DELTA">
                                                   <shadow type="math_number" id="@H.xXi|^RmxP_6FBeG]3">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </statement>
                         <next>
                           <block type="update" id="O041[4~@Io,,Cs}5wd5F">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                             <field name="OID">0_userdata.0.Spotify.Abfragen.Playlistentitel</field>
                             <field name="WITH_DELAY">FALSE</field>
                             <value name="VALUE">
                               <block type="text_join" id="mpM/)h_O~Co=KHQ+:/ca">
                                 <mutation items="3"></mutation>
                                 <value name="ADD0">
                                   <block type="text" id="B(b{H6kk(9YT*)tu4nL@">
                                     <field name="TEXT">[</field>
                                   </block>
                                 </value>
                                 <value name="ADD1">
                                   <block type="convert_tostring" id="t[5l]Rf0%_n30U+Rz;SS">
                                     <value name="VALUE">
                                       <block type="variables_get" id="A|)OVI]q#}$h$Ekl+SG-">
                                         <field name="VAR" id="z=+.f2Q;+VQHzV+nNk#F">titelliste</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <value name="ADD2">
                                   <block type="text" id="FtW,RAj=2Qm#EwwR21r`">
                                     <field name="TEXT">]</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="update" id="F,.O{M3DU,WEHg}@ND7R">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">0_userdata.0.Spotify.Funktionen.PlaylistID</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="get_value_var" id="~,]16hdkx^Xo]j`DZhZJ">
                                     <field name="ATTR">val</field>
                                     <value name="OID">
                                       <shadow type="text">
                                         <field name="TEXT"></field>
                                       </shadow>
                                       <block type="text_join" id="n9RPtn!:mD?=_M]xeF%l">
                                         <mutation items="3"></mutation>
                                         <value name="ADD0">
                                           <block type="text" id="I7(OWa(ArXLJU3X3zn@k">
                                             <field name="TEXT">spotify-premium.0.playlists.</field>
                                           </block>
                                         </value>
                                         <value name="ADD1">
                                           <block type="get_value" id="^2FcqH%QsP9I:,z%Yv0[">
                                             <field name="ATTR">val</field>
                                             <field name="OID">0_userdata.0.Spotify.Funktionen.Playliste_aktiv</field>
                                           </block>
                                         </value>
                                         <value name="ADD2">
                                           <block type="text" id=".RIhQYRYP.B|HlKcosV9">
                                             <field name="TEXT">.id</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </statement>
       </block>
       <block type="on_ext" id="c9?9Yrk,d9L[h~nN7`hb" x="488" y="88">
         <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
         <field name="CONDITION">any</field>
         <field name="ACK_CONDITION"></field>
         <value name="OID0">
           <shadow type="field_oid" id="kDimQ14Dx+/o{VekX+L*">
             <field name="oid">0_userdata.0.Spotify.Funktionen.Playliste_aktiv</field>
           </shadow>
         </value>
         <statement name="STATEMENT">
           <block type="update" id="IX$+dqoPP+`vu[lxmz)[">
             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
             <field name="OID">0_userdata.0.Spotify.Funktionen.Sortieren</field>
             <field name="WITH_DELAY">FALSE</field>
             <value name="VALUE">
               <block type="logic_boolean" id=":60g{%-g1xm-ya_U2t:-">
                 <field name="BOOL">FALSE</field>
               </block>
             </value>
             <next>
               <block type="variables_set" id="C.*d_+[/^2R(PG,wxcyB">
                 <field name="VAR" id="8s|dJ[s_dcx`U9;jCx.T">offset</field>
                 <value name="VALUE">
                   <block type="math_number" id="tkIuDb)yMcuYoTvBta8x">
                     <field name="NUM">0</field>
                   </block>
                 </value>
                 <next>
                   <block type="variables_set" id="JQ):y1@NaZ?XpAlHIA,d">
                     <field name="VAR" id="z=+.f2Q;+VQHzV+nNk#F">titelliste</field>
                     <value name="VALUE">
                       <block type="lists_create_with" id="WyOtpnpIVB`g=OsA}YXN">
                         <mutation items="0"></mutation>
                       </block>
                     </value>
                     <next>
                       <block type="variables_set" id="hmgj;!53T_`9:3mm3iWL">
                         <field name="VAR" id="A+R4;J!yy4e`~.6+ePot">titel</field>
                         <value name="VALUE">
                           <block type="get_value_var" id="A?vpk-13OPhe0r(@C*r.">
                             <field name="ATTR">val</field>
                             <value name="OID">
                               <shadow type="text" id="hTf(m`zx`9vmZiXvrIk7">
                                 <field name="TEXT"></field>
                               </shadow>
                               <block type="text_join" id="uYW%MQ81kfs?($`qsGkh">
                                 <mutation items="3"></mutation>
                                 <value name="ADD0">
                                   <block type="text" id="JW_Y,`Sx#Ctk|{m9*HQx">
                                     <field name="TEXT">spotify-premium.0.playlists.</field>
                                   </block>
                                 </value>
                                 <value name="ADD1">
                                   <block type="on_source" id="P98Mi.6aAgkyHxZn@0R)">
                                     <field name="ATTR">state.val</field>
                                   </block>
                                 </value>
                                 <value name="ADD2">
                                   <block type="text" id="ml!G:PA/lpw^bK;ZQz{f">
                                     <field name="TEXT">.trackListArray</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </value>
                         <next>
                           <block type="controls_forEach" id="ajZPSo8S{qF=ttM[GXd^">
                             <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                             <value name="LIST">
                               <block type="variables_get" id="]IVi}17qyYUKJ.`tI$QB">
                                 <field name="VAR" id="A+R4;J!yy4e`~.6+ePot">titel</field>
                               </block>
                             </value>
                             <statement name="DO">
                               <block type="variables_set" id="n@r+,O4J9Ds.twx(ma)Z">
                                 <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                 <value name="VALUE">
                                   <block type="get_attr" id="xrYk7`/X(+rT`96;H*u2">
                                     <value name="PATH">
                                       <shadow type="text" id="=S!pMH[pRG]Fw3Fi.?,Y">
                                         <field name="TEXT">title</field>
                                       </shadow>
                                     </value>
                                     <value name="OBJECT">
                                       <block type="variables_get" id="Ou8{Or|)_o^A?P`D|PYn">
                                         <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="controls_if" id="][4mL_h[$3fk|yBz/*:a">
                                     <mutation else="1"></mutation>
                                     <value name="IF0">
                                       <block type="logic_compare" id="jBjZmwZQeB@yrOu_wKrE">
                                         <field name="OP">GT</field>
                                         <value name="A">
                                           <block type="text_indexOf" id="H00`8jCJPKpHV@}G-k05">
                                             <field name="END">FIRST</field>
                                             <value name="VALUE">
                                               <block type="variables_get" id="M).k-$0SnPTat$Ez.=(B">
                                                 <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                               </block>
                                             </value>
                                             <value name="FIND">
                                               <shadow type="text" id="sxA8r}up[aW#bEP.BeyL">
                                                 <field name="TEXT">"</field>
                                               </shadow>
                                             </value>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="math_number" id=":_Cu)9onxQkqRB6wr6(8">
                                             <field name="NUM">0</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="variables_set" id="D{/SITVvIG]5I/nuY}h?">
                                         <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                         <value name="VALUE">
                                           <block type="text_getSubstring" id="}!{h(kb?mXg?rwejugV2">
                                             <mutation at1="false" at2="true"></mutation>
                                             <field name="WHERE1">FIRST</field>
                                             <field name="WHERE2">FROM_START</field>
                                             <value name="STRING">
                                               <block type="variables_get" id="ZXporIU{*zr3`.WK`;5a">
                                                 <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                               </block>
                                             </value>
                                             <value name="AT2">
                                               <block type="math_arithmetic" id="Fj(h(9a2ChL~IfmCvH*b">
                                                 <field name="OP">MINUS</field>
                                                 <value name="A">
                                                   <shadow type="math_number">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="text_indexOf" id="x8cER2gi3i4%F@??6@.l">
                                                     <field name="END">FIRST</field>
                                                     <value name="VALUE">
                                                       <block type="variables_get" id="I_,:%ed_o~D|UxNMZjuB">
                                                         <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                                       </block>
                                                     </value>
                                                     <value name="FIND">
                                                       <shadow type="text" id="66nj}l.Di[sFdo~MWutm">
                                                         <field name="TEXT">"</field>
                                                       </shadow>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <shadow type="math_number">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="math_number" id="@(e0;X8TaX^rR*J|O7xc">
                                                     <field name="NUM">2</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                     <statement name="ELSE">
                                       <block type="variables_set" id="Nj__VK5B+,7c9zq./;2y">
                                         <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                         <value name="VALUE">
                                           <block type="variables_get" id="%J/sw[w@`T8Eh*C-KvVw">
                                             <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                     <next>
                                       <block type="variables_set" id="e1LQ~RSotlmf$7aKe|kK">
                                         <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">titelname</field>
                                         <value name="VALUE">
                                           <block type="text_changeCase" id="mfH}G%UsDcSK?Q[!!{D4">
                                             <field name="CASE">UPPERCASE</field>
                                             <value name="TEXT">
                                               <shadow type="text" id="3rD}gtjD#((X5kzriS0]">
                                                 <field name="TEXT">abc</field>
                                               </shadow>
                                               <block type="text_join" id="Zh+$rKf0e)bAv4`ZO_Ll">
                                                 <mutation items="3"></mutation>
                                                 <value name="ADD0">
                                                   <block type="get_attr" id=",3*#I4ku)mRB;vx@eqK]">
                                                     <value name="PATH">
                                                       <shadow type="text" id="l2m!#BEQKR=w`Q)BxY:2">
                                                         <field name="TEXT">artistName</field>
                                                       </shadow>
                                                     </value>
                                                     <value name="OBJECT">
                                                       <block type="variables_get" id="iJRgR1_a,1RwRD)V)eQ5">
                                                         <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="ADD1">
                                                   <block type="text" id="Pc/gxiQ/)FablTHX@uI}">
                                                     <field name="TEXT"> - </field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD2">
                                                   <block type="variables_get" id="~OQluq[o4xIH8BY8.lb^">
                                                     <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="variables_set" id="ctRCBlP?@p!a#y,H7@QO">
                                             <field name="VAR" id="/EUEs^+niuBI+e=^qt[;">objekt</field>
                                             <value name="VALUE">
                                               <block type="text_join" id="4_Ve~kk8N!pfB:}*Fq,m">
                                                 <mutation items="5"></mutation>
                                                 <value name="ADD0">
                                                   <block type="text" id="w6~`xjx1m!+}@#ll)$Dy">
                                                     <field name="TEXT">{"text":"</field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD1">
                                                   <block type="variables_get" id="BhfbH7mGwwQ{AkhnB!Il">
                                                     <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">titelname</field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD2">
                                                   <block type="text" id="BNT~cKhc$)L-sab^%C#W">
                                                     <field name="TEXT">","value":"</field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD3">
                                                   <block type="variables_get" id="zZp2ny7HvPL7j6cS%S8w">
                                                     <field name="VAR" id="8s|dJ[s_dcx`U9;jCx.T">offset</field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD4">
                                                   <block type="text" id="E+,QRlEw5Z_l)LdngzI7">
                                                     <field name="TEXT">"}</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="lists_setIndex" id="-t?`LwYqo*=Y=2nXV8#,">
                                                 <mutation at="false"></mutation>
                                                 <field name="MODE">INSERT</field>
                                                 <field name="WHERE">LAST</field>
                                                 <value name="LIST">
                                                   <block type="variables_get" id=".V^Ym4@]Fhdr?l9+Nq#9">
                                                     <field name="VAR" id="z=+.f2Q;+VQHzV+nNk#F">titelliste</field>
                                                   </block>
                                                 </value>
                                                 <value name="TO">
                                                   <block type="variables_get" id="W[x--|G]LH#5r0`8p?O]">
                                                     <field name="VAR" id="/EUEs^+niuBI+e=^qt[;">objekt</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="math_change" id="v8T|U);2|#TEkr}TPIAH">
                                                     <field name="VAR" id="8s|dJ[s_dcx`U9;jCx.T">offset</field>
                                                     <value name="DELTA">
                                                       <shadow type="math_number" id="NsHha5JE6f[|X!wk2(qt">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                     </value>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                             <next>
                               <block type="update" id="~ZX+.IRW/f7rLWP]fg[}">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">0_userdata.0.Spotify.Abfragen.Playlistentitel</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="text_join" id="H,aFJ^iP^rS)IF*A8wCH">
                                     <mutation items="3"></mutation>
                                     <value name="ADD0">
                                       <block type="text" id="YOZXyHT};meRwyIV%vK|">
                                         <field name="TEXT">[</field>
                                       </block>
                                     </value>
                                     <value name="ADD1">
                                       <block type="convert_tostring" id="KUGB8iC2OgPko%Zegw`N">
                                         <value name="VALUE">
                                           <block type="variables_get" id="Oh$A$:X!.P`rQfq~=]Q.">
                                             <field name="VAR" id="z=+.f2Q;+VQHzV+nNk#F">titelliste</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="ADD2">
                                       <block type="text" id="+c?.o6iDZ|Kz6.VapK:s">
                                         <field name="TEXT">]</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="update" id="]LP5aYn1kfW|D}9cgGl!">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                     <field name="OID">0_userdata.0.Spotify.Funktionen.PlaylistID</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                     <value name="VALUE">
                                       <block type="get_value_var" id="SqjapFl}pC_XmiOR2-Wy">
                                         <field name="ATTR">val</field>
                                         <value name="OID">
                                           <shadow type="text">
                                             <field name="TEXT"></field>
                                           </shadow>
                                           <block type="text_join" id="r6,+`D!EZ%w=$$}ff67/">
                                             <mutation items="3"></mutation>
                                             <value name="ADD0">
                                               <block type="text" id="FUj|1DGZ{lxw+O@p2N-X">
                                                 <field name="TEXT">spotify-premium.0.playlists.</field>
                                               </block>
                                             </value>
                                             <value name="ADD1">
                                               <block type="on_source" id="!!0_}Bfb9[o:AAjGg/8I">
                                                 <field name="ATTR">state.val</field>
                                               </block>
                                             </value>
                                             <value name="ADD2">
                                               <block type="text" id="WZES(y#;)|hbJlBu//nN">
                                                 <field name="TEXT">.id</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </statement>
         <next>
           <block type="on_ext" id="Y9nt~=KFwh++B,GZEC/[">
             <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
             <field name="CONDITION">ne</field>
             <field name="ACK_CONDITION"></field>
             <value name="OID0">
               <shadow type="field_oid" id="_1|!z,QoR;MXd/.r[Dtz">
                 <field name="oid">0_userdata.0.Spotify.Funktionen.Sortieren</field>
               </shadow>
             </value>
             <statement name="STATEMENT">
               <block type="controls_if" id="5u~lDcRWwPn8AEPPe_3s">
                 <mutation else="1"></mutation>
                 <value name="IF0">
                   <block type="on_source" id="rbX*;gjzSla1]fMUb6ah">
                     <field name="ATTR">state.val</field>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="variables_set" id="/$wu0snvyjSUP+.-`ev}">
                     <field name="VAR" id="}bdAPzw$S|-/d[[-/l,Z">sort</field>
                     <value name="VALUE">
                       <block type="convert_json2object" id="m}Hn/h@KIi9NO.d4U+r.">
                         <value name="VALUE">
                           <block type="get_value" id="@}$7d;_CQN]$o*XY^_%k">
                             <field name="ATTR">val</field>
                             <field name="OID">0_userdata.0.Spotify.Abfragen.Playlistentitel</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="update" id="lYi:d~xT7!X0xFJl*,#v">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                         <field name="OID">0_userdata.0.Spotify.Abfragen.Playlistentitel</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="convert_object2json" id="n6zNe:p_z=T;PNhAf9JV">
                             <field name="PRETTIFY">FALSE</field>
                             <value name="VALUE">
                               <block type="convert_jsonata" id="CcN./1!@a^}k7uiJN4rA">
                                 <value name="EXPRESSION">
                                   <shadow type="text" id="ck_hXCIkQZU=+#$g^`!G">
                                     <field name="TEXT">*</field>
                                   </shadow>
                                   <block type="text" id="GG{)CJ)JxbrU)*?WUwY%">
                                     <field name="TEXT">$^(&lt;text)</field>
                                   </block>
                                 </value>
                                 <value name="TARGET">
                                   <block type="variables_get" id="TU`:gvnqE)R/$XKot06w">
                                     <field name="VAR" id="}bdAPzw$S|-/d[[-/l,Z">sort</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </next>
                   </block>
                 </statement>
                 <statement name="ELSE">
                   <block type="procedures_callnoreturn" id="TVUT@CHIe,H0T#0Fb*q6">
                     <mutation name="ohne sortierung"></mutation>
                   </block>
                 </statement>
               </block>
             </statement>
           </block>
         </next>
       </block>
      </xml>
      

      Das dritte Blockly dient nur zum Abspielen der Playliste ODER des Titels innerhalb der gewählten Playliste:

      Screenshot 2023-04-29 142157.png

      <xml xmlns="https://developers.google.com/blockly/xml">
       <block type="on_ext" id="hhPo0/G9D`.48jru!c_Q" x="138" y="138">
         <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
         <field name="CONDITION">true</field>
         <field name="ACK_CONDITION"></field>
         <value name="OID0">
           <shadow type="field_oid" id="J$3|wD[!vz6j0.%Y~{Yn">
             <field name="oid">0_userdata.0.Spotify.Funktionen.Playliste_abspielen</field>
           </shadow>
         </value>
         <statement name="STATEMENT">
           <block type="control" id="u+A?eV=f%?xJMQl6PNx:">
             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
             <field name="OID">spotify-premium.0.player.playUri</field>
             <field name="WITH_DELAY">FALSE</field>
             <value name="VALUE">
               <block type="text_join" id="-b3g}9N{sTm7;rx8*Xo=">
                 <mutation items="5"></mutation>
                 <value name="ADD0">
                   <block type="text" id="Xc!ogNyu]LOU@?X-I!|m">
                     <field name="TEXT">{"device_id":"xxx","context_uri":"spotify:user:</field>
                   </block>
                 </value>
                 <value name="ADD1">
                   <block type="get_value" id="}lsI[jY0X9Mpk,KYEKcT">
                     <field name="ATTR">val</field>
                     <field name="OID">spotify-premium.0.authorization.userId</field>
                   </block>
                 </value>
                 <value name="ADD2">
                   <block type="text" id="U3;U:)WY]Ua,yj6t2TGy">
                     <field name="TEXT">:playlist:</field>
                   </block>
                 </value>
                 <value name="ADD3">
                   <block type="get_value" id="82YGfd=Iev!k%}k!pcD-">
                     <field name="ATTR">val</field>
                     <field name="OID">0_userdata.0.Spotify.Funktionen.PlaylistID</field>
                   </block>
                 </value>
                 <value name="ADD4">
                   <block type="text" id="5*7,CYr?89}{KoQ`Q(U0">
                     <field name="TEXT">","offset":{"position":0}}</field>
                   </block>
                 </value>
               </block>
             </value>
           </block>
         </statement>
         <next>
           <block type="on_ext" id="f^X!rwC+KSok:iDz;U_G">
             <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
             <field name="CONDITION">true</field>
             <field name="ACK_CONDITION"></field>
             <value name="OID0">
               <shadow type="field_oid" id="%|IwCAOP1j1xS|_%t@Bc">
                 <field name="oid">0_userdata.0.Spotify.Funktionen.Titel_abspielen</field>
               </shadow>
             </value>
             <statement name="STATEMENT">
               <block type="control" id="-{TntM[r~)Glbq)@Lw4(">
                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                 <field name="OID">spotify-premium.0.player.playUri</field>
                 <field name="WITH_DELAY">FALSE</field>
                 <value name="VALUE">
                   <block type="text_join" id="I)TB+6f;F`.sx8ySFDj(">
                     <mutation items="7"></mutation>
                     <value name="ADD0">
                       <block type="text" id="ZbQ8I#-Rb}2Rw;Q[+jTj">
                         <field name="TEXT">{"device_id":"xxx","context_uri":"spotify:user:</field>
                       </block>
                     </value>
                     <value name="ADD1">
                       <block type="get_value" id="g?rNK]bRW*=VYsj0p@Kp">
                         <field name="ATTR">val</field>
                         <field name="OID">spotify-premium.0.authorization.userId</field>
                       </block>
                     </value>
                     <value name="ADD2">
                       <block type="text" id=")Sa}df6^.4wAW3Wrxg,b">
                         <field name="TEXT">:playlist:</field>
                       </block>
                     </value>
                     <value name="ADD3">
                       <block type="get_value" id="4A{keUCzXbaq#N(jSQ|u">
                         <field name="ATTR">val</field>
                         <field name="OID">0_userdata.0.Spotify.Funktionen.PlaylistID</field>
                       </block>
                     </value>
                     <value name="ADD4">
                       <block type="text" id="1%/ch[4T$SxZyz1,I(qT">
                         <field name="TEXT">","offset":{"position":</field>
                       </block>
                     </value>
                     <value name="ADD5">
                       <block type="get_value" id="QH?c!9GN-)Ch%y,Kmls/">
                         <field name="ATTR">val</field>
                         <field name="OID">0_userdata.0.Spotify.Funktionen.Titel_aktiv</field>
                       </block>
                     </value>
                     <value name="ADD6">
                       <block type="text" id="Lf4bjozsZ7!`#X6zy9ZK">
                         <field name="TEXT">}}</field>
                       </block>
                     </value>
                   </block>
                 </value>
               </block>
             </statement>
           </block>
         </next>
       </block>
      </xml>
      

      !!! WICHTIG !!!
      Die Blocklys MÜSSEN an Eure eigenen Datenpunkte angepasst werden - und auch dazu kann ich nicht unterstützen !

      z.B. muss "device_id":"xxx" - also auch das xxx dort mit dem jeweiligen device_id des abzuspielenden Echos ersetzt werden.

      HowTo herausfinden ?

      Device unter

      spotify-premium.0.devices.xxx.id
      

      Weiter gehts mit der VIS

      Lehrling seit 1975 !!!
      Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
      https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

      DJMarc75D 1 Reply Last reply
      0
      • DJMarc75D DJMarc75

        Screenshots sind nur Ansatzweise zu werten - deshalb gibt es jeweilig den Code zum Importieren !)

        Im ersten Blockly fragen wir mal die Playlisten ab und schreiben die notwendigen Daten in die dafür vorgesehenen Datenpunkte:
        Screenshot 2023-04-30 002911.png

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable id="`e/`Y|g1yt[LqDde4cUg">myID</variable>
           <variable id="$TGe7c|7mWim[0^Ny-*8">playlisten</variable>
           <variable id="[QeIC8qHOO}iRj@3P(|N">aufzählung</variable>
           <variable id="N,1;Xiv_dRREPF,8/-wJ">playlistenvalue</variable>
           <variable id="qMuUH@n;-29I9Zy:c5R[">i</variable>
           <variable id="A+R4;J!yy4e`~.6+ePot">playliste</variable>
           <variable id="}bdAPzw$S|-/d[[-/l,Z">sort</variable>
           <variable id="ZNIImHZ1MQl]hTTqQ}lA">details</variable>
           <variable id="GG0W8(KE08)VPNlHI[Pf">playlistname</variable>
           <variable id="/EUEs^+niuBI+e=^qt[;">objekt</variable>
         </variables>
         <block type="procedures_defcustomreturn" id="RR9RFRWFc/U|Eb-mEDPq" x="413" y="-287">
           <mutation statements="false">
             <arg name="myID" varid="`e/`Y|g1yt[LqDde4cUg"></arg>
           </mutation>
           <field name="NAME">owner</field>
           <field name="SCRIPT">cmV0dXJuIG15SUQucmVwbGFjZSgib3duZXIiLCJpZCIpOyA=</field>
           <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
         </block>
         <block type="schedule" id="v)gNpr{TWUHp]Rp?,fRx" x="413" y="-237">
           <field name="SCHEDULE">* * * * *</field>
           <statement name="STATEMENT">
             <block type="variables_set" id="w7(2wOFE|5;iazx$?Z7o">
               <field name="VAR" id="$TGe7c|7mWim[0^Ny-*8">playlisten</field>
               <value name="VALUE">
                 <block type="lists_create_with" id="uiJM8.UYKR8_U;y?V%NP">
                   <mutation items="0"></mutation>
                 </block>
               </value>
               <next>
                 <block type="variables_set" id="t14i7X.yb2(.R*9jvPgw">
                   <field name="VAR" id="[QeIC8qHOO}iRj@3P(|N">aufzählung</field>
                   <value name="VALUE">
                     <block type="selector" id="C9/ux5=-jtW1Btdde^}X">
                       <field name="TEXT">spotify-premium.0.playlists.*.owner</field>
                     </block>
                   </value>
                   <next>
                     <block type="controls_forEach" id="KMParn:4JO}?|=6rRZ3/">
                       <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                       <value name="LIST">
                         <block type="variables_get" id="93l(X1e$@Zw2W@SRa-zt">
                           <field name="VAR" id="[QeIC8qHOO}iRj@3P(|N">aufzählung</field>
                         </block>
                       </value>
                       <statement name="DO">
                         <block type="variables_set" id="nFUq5t{=rjRzLuv7|_7*">
                           <field name="VAR" id="ZNIImHZ1MQl]hTTqQ}lA">details</field>
                           <value name="VALUE">
                             <block type="text_join" id="#G?!I#aw1$e1pw|G1gCy">
                               <mutation items="3"></mutation>
                               <value name="ADD0">
                                 <block type="get_value_var" id="8]!;mtn.FPvqXs#maqbU">
                                   <field name="ATTR">val</field>
                                   <value name="OID">
                                     <shadow type="text" id="iVY`N{H/f2dO@C4Afx@K">
                                       <field name="TEXT"></field>
                                     </shadow>
                                     <block type="variables_get" id="oY9g#X,AVw.7x^e-S12Q">
                                       <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="ADD1">
                                 <block type="text" id="w{$d5zn^.i*,=HPhhnhz">
                                   <field name="TEXT">-</field>
                                 </block>
                               </value>
                               <value name="ADD2">
                                 <block type="get_value_var" id="jlp2U?dgV?;$*C*:oIAN">
                                   <field name="ATTR">val</field>
                                   <value name="OID">
                                     <shadow type="text" id="=t7W$G`{Ted|g{^//H:N">
                                       <field name="TEXT"></field>
                                     </shadow>
                                     <block type="procedures_callcustomreturn" id="~G;rOPc:$(#.R7pX4R]C">
                                       <mutation name="owner">
                                         <arg name="myID"></arg>
                                       </mutation>
                                       <value name="ARG0">
                                         <block type="variables_get" id="c8dP!+37I60ar)HJ,7W~">
                                           <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="lists_setIndex" id="GnsPh(wPQ:|fHk[^`GDB">
                               <mutation at="false"></mutation>
                               <field name="MODE">INSERT</field>
                               <field name="WHERE">FIRST</field>
                               <value name="LIST">
                                 <block type="variables_get" id="YG--O]pa?xj?ghx6D]J~">
                                   <field name="VAR" id="$TGe7c|7mWim[0^Ny-*8">playlisten</field>
                                 </block>
                               </value>
                               <value name="TO">
                                 <block type="variables_get" id="o$+U#tYe,Jgy7?E/2RD/">
                                   <field name="VAR" id="ZNIImHZ1MQl]hTTqQ}lA">details</field>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </statement>
                       <next>
                         <block type="update" id="mBt,,:8+-i+LDbBY_|M[">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                           <field name="OID">0_userdata.0.Spotify.Abfragen.PlaylistenString</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="convert_tostring" id="0A!bLCVE=_ha#_0.gL]W">
                               <value name="VALUE">
                                 <block type="variables_get" id="@EHd.08D$*1*n!E+~tWq">
                                   <field name="VAR" id="$TGe7c|7mWim[0^Ny-*8">playlisten</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </statement>
           <next>
             <block type="on_ext" id="c9?9Yrk,d9L[h~nN7`hb">
               <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
               <field name="CONDITION">any</field>
               <field name="ACK_CONDITION"></field>
               <value name="OID0">
                 <shadow type="field_oid" id="kDimQ14Dx+/o{VekX+L*">
                   <field name="oid">0_userdata.0.Spotify.Abfragen.PlaylistenString</field>
                 </shadow>
               </value>
               <statement name="STATEMENT">
                 <block type="variables_set" id="JQ):y1@NaZ?XpAlHIA,d">
                   <field name="VAR" id="N,1;Xiv_dRREPF,8/-wJ">playlistenvalue</field>
                   <value name="VALUE">
                     <block type="lists_create_with" id="WyOtpnpIVB`g=OsA}YXN">
                       <mutation items="0"></mutation>
                     </block>
                   </value>
                   <next>
                     <block type="variables_set" id="hmgj;!53T_`9:3mm3iWL">
                       <field name="VAR" id="A+R4;J!yy4e`~.6+ePot">playliste</field>
                       <value name="VALUE">
                         <block type="lists_split" id="MglvOaZoo`udzPbSgs-g">
                           <mutation mode="SPLIT"></mutation>
                           <field name="MODE">SPLIT</field>
                           <value name="INPUT">
                             <block type="on_source" id="hHo7ewq_DxyE,g|`@,+A">
                               <field name="ATTR">state.val</field>
                             </block>
                           </value>
                           <value name="DELIM">
                             <shadow type="text" id="ec}^V3zQKdCOH5g#M`u9">
                               <field name="TEXT">,</field>
                             </shadow>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="controls_forEach" id="ajZPSo8S{qF=ttM[GXd^">
                           <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                           <value name="LIST">
                             <block type="variables_get" id="]IVi}17qyYUKJ.`tI$QB">
                               <field name="VAR" id="A+R4;J!yy4e`~.6+ePot">playliste</field>
                             </block>
                           </value>
                           <statement name="DO">
                             <block type="variables_set" id="e1LQ~RSotlmf$7aKe|kK">
                               <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">playlistname</field>
                               <value name="VALUE">
                                 <block type="text_join" id="Zh+$rKf0e)bAv4`ZO_Ll">
                                   <mutation items="3"></mutation>
                                   <value name="ADD0">
                                     <block type="text" id="!5E!q8~IZl=lVe:D1e{A">
                                       <field name="TEXT">spotify-premium.0.playlists.</field>
                                     </block>
                                   </value>
                                   <value name="ADD1">
                                     <block type="variables_get" id="iJRgR1_a,1RwRD)V)eQ5">
                                       <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                                     </block>
                                   </value>
                                   <value name="ADD2">
                                     <block type="text" id="Pc/gxiQ/)FablTHX@uI}">
                                       <field name="TEXT">.name</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <next>
                                 <block type="variables_set" id="1n=Ui6Zxw{1L{BnIf:=]">
                                   <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">playlistname</field>
                                   <value name="VALUE">
                                     <block type="text_changeCase" id="Vus*D9$BEok35qz$fC:j">
                                       <field name="CASE">UPPERCASE</field>
                                       <value name="TEXT">
                                         <shadow type="text" id="RRDka23`)BruPQ:r.*o4">
                                           <field name="TEXT">abc</field>
                                         </shadow>
                                         <block type="get_value_var" id="(]Wp^Y65HmVHHaYEHsW}">
                                           <field name="ATTR">val</field>
                                           <value name="OID">
                                             <shadow type="text" id="x|UlQ#_RiFjEu+,I]b9y">
                                               <field name="TEXT"></field>
                                             </shadow>
                                             <block type="variables_get" id="cIgV)^8{CWQc0M$bpa1=">
                                               <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">playlistname</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="variables_set" id="ctRCBlP?@p!a#y,H7@QO">
                                       <field name="VAR" id="/EUEs^+niuBI+e=^qt[;">objekt</field>
                                       <value name="VALUE">
                                         <block type="text_join" id="4_Ve~kk8N!pfB:}*Fq,m">
                                           <mutation items="5"></mutation>
                                           <value name="ADD0">
                                             <block type="text" id="w6~`xjx1m!+}@#ll)$Dy">
                                               <field name="TEXT">{"text":"</field>
                                             </block>
                                           </value>
                                           <value name="ADD1">
                                             <block type="variables_get" id="BhfbH7mGwwQ{AkhnB!Il">
                                               <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">playlistname</field>
                                             </block>
                                           </value>
                                           <value name="ADD2">
                                             <block type="text" id="BNT~cKhc$)L-sab^%C#W">
                                               <field name="TEXT">","value":"</field>
                                             </block>
                                           </value>
                                           <value name="ADD3">
                                             <block type="variables_get" id="tSH=LGTCgKrty7^ODOR+">
                                               <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                                             </block>
                                           </value>
                                           <value name="ADD4">
                                             <block type="text" id="E+,QRlEw5Z_l)LdngzI7">
                                               <field name="TEXT">"}</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="lists_setIndex" id="-t?`LwYqo*=Y=2nXV8#,">
                                           <mutation at="false"></mutation>
                                           <field name="MODE">INSERT</field>
                                           <field name="WHERE">LAST</field>
                                           <value name="LIST">
                                             <block type="variables_get" id=".V^Ym4@]Fhdr?l9+Nq#9">
                                               <field name="VAR" id="N,1;Xiv_dRREPF,8/-wJ">playlistenvalue</field>
                                             </block>
                                           </value>
                                           <value name="TO">
                                             <block type="variables_get" id="W[x--|G]LH#5r0`8p?O]">
                                               <field name="VAR" id="/EUEs^+niuBI+e=^qt[;">objekt</field>
                                             </block>
                                           </value>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </statement>
                           <next>
                             <block type="update" id="~ZX+.IRW/f7rLWP]fg[}">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">0_userdata.0.Spotify.Abfragen.PlaylistenJson</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="text_join" id="H,aFJ^iP^rS)IF*A8wCH">
                                   <mutation items="3"></mutation>
                                   <value name="ADD0">
                                     <block type="text" id="YOZXyHT};meRwyIV%vK|">
                                       <field name="TEXT">[</field>
                                     </block>
                                   </value>
                                   <value name="ADD1">
                                     <block type="convert_tostring" id="KUGB8iC2OgPko%Zegw`N">
                                       <value name="VALUE">
                                         <block type="variables_get" id="Oh$A$:X!.P`rQfq~=]Q.">
                                           <field name="VAR" id="N,1;Xiv_dRREPF,8/-wJ">playlistenvalue</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <value name="ADD2">
                                     <block type="text" id="+c?.o6iDZ|Kz6.VapK:s">
                                       <field name="TEXT">]</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </statement>
               <next>
                 <block type="on_ext" id="Y9nt~=KFwh++B,GZEC/[">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                   <field name="CONDITION">ne</field>
                   <field name="ACK_CONDITION"></field>
                   <value name="OID0">
                     <shadow type="field_oid" id="_1|!z,QoR;MXd/.r[Dtz">
                       <field name="oid">0_userdata.0.Spotify.Abfragen.PlaylistenJson</field>
                     </shadow>
                   </value>
                   <statement name="STATEMENT">
                     <block type="variables_set" id="/$wu0snvyjSUP+.-`ev}">
                       <field name="VAR" id="}bdAPzw$S|-/d[[-/l,Z">sort</field>
                       <value name="VALUE">
                         <block type="convert_json2object" id="m}Hn/h@KIi9NO.d4U+r.">
                           <value name="VALUE">
                             <block type="on_source" id="#I4@5[v]pi;H=eCg1IW`">
                               <field name="ATTR">state.val</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="update" id="lYi:d~xT7!X0xFJl*,#v">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                           <field name="OID">0_userdata.0.Spotify.Abfragen.PlaylistenJson</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="convert_object2json" id="n6zNe:p_z=T;PNhAf9JV">
                               <field name="PRETTIFY">FALSE</field>
                               <value name="VALUE">
                                 <block type="convert_jsonata" id="CcN./1!@a^}k7uiJN4rA">
                                   <value name="EXPRESSION">
                                     <shadow type="text" id="ck_hXCIkQZU=+#$g^`!G">
                                       <field name="TEXT">*</field>
                                     </shadow>
                                     <block type="text" id="GG{)CJ)JxbrU)*?WUwY%">
                                       <field name="TEXT">$^(&lt;text)</field>
                                     </block>
                                   </value>
                                   <value name="TARGET">
                                     <block type="variables_get" id="TU`:gvnqE)R/$XKot06w">
                                       <field name="VAR" id="}bdAPzw$S|-/d[[-/l,Z">sort</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </next>
                     </block>
                   </statement>
                 </block>
               </next>
             </block>
           </next>
         </block>
        </xml>
        

        Im zweiten Blockly befassen wir uns nun mit den Titeln welche in der jeweilig ausgewählten Playliste stecken - und schreiben diese ebenso in die vorgesehenen Datenpunkte:

        Screenshot 2023-04-29 142011.png

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable id="8s|dJ[s_dcx`U9;jCx.T">offset</variable>
           <variable id="z=+.f2Q;+VQHzV+nNk#F">titelliste</variable>
           <variable id="A+R4;J!yy4e`~.6+ePot">titel</variable>
           <variable id="}bdAPzw$S|-/d[[-/l,Z">sort</variable>
           <variable id="qMuUH@n;-29I9Zy:c5R[">i</variable>
           <variable id="Ov{jv*{(3zzipR[=,!_l">filter</variable>
           <variable id="GG0W8(KE08)VPNlHI[Pf">titelname</variable>
           <variable id="/EUEs^+niuBI+e=^qt[;">objekt</variable>
         </variables>
         <block type="procedures_defnoreturn" id="HmO%OnJKUroFb$3+}%4G" collapsed="true" x="688" y="38">
           <field name="NAME">ohne sortierung</field>
           <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
           <statement name="STACK">
             <block type="variables_set" id="!H~L%=m(rKojLx46MZc8">
               <field name="VAR" id="8s|dJ[s_dcx`U9;jCx.T">offset</field>
               <value name="VALUE">
                 <block type="math_number" id="DK_CPJeD9-Y{K5m.1zXt">
                   <field name="NUM">0</field>
                 </block>
               </value>
               <next>
                 <block type="variables_set" id="z=M}Ncsz][6t3qnb)c],">
                   <field name="VAR" id="z=+.f2Q;+VQHzV+nNk#F">titelliste</field>
                   <value name="VALUE">
                     <block type="lists_create_with" id="N9nsz}S:(aK4i2p:#G?$">
                       <mutation items="0"></mutation>
                     </block>
                   </value>
                   <next>
                     <block type="variables_set" id="[:@G_6]e%8/-u0]j;E,6">
                       <field name="VAR" id="A+R4;J!yy4e`~.6+ePot">titel</field>
                       <value name="VALUE">
                         <block type="get_value_var" id=",*ssF)5x,Z+.X*^;mx=x">
                           <field name="ATTR">val</field>
                           <value name="OID">
                             <shadow type="text">
                               <field name="TEXT"></field>
                             </shadow>
                             <block type="text_join" id="|Q|CgQ+I({m9[|bOj+xL">
                               <mutation items="3"></mutation>
                               <value name="ADD0">
                                 <block type="text" id="Y+$PlKIuuY,*r#bsZOB6">
                                   <field name="TEXT">spotify-premium.0.playlists.</field>
                                 </block>
                               </value>
                               <value name="ADD1">
                                 <block type="get_value" id="eQu):@s~]PzgRhxBaA$k">
                                   <field name="ATTR">val</field>
                                   <field name="OID">0_userdata.0.Spotify.Funktionen.Playliste_aktiv</field>
                                 </block>
                               </value>
                               <value name="ADD2">
                                 <block type="text" id="o#D[Rpoem`=#|[XBz@5Z">
                                   <field name="TEXT">.trackListArray</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="controls_forEach" id="w:iwd%F@Z_4:w7AjB_YK">
                           <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                           <value name="LIST">
                             <block type="variables_get" id="RW|HG?EdE;:}n_{DLGuC">
                               <field name="VAR" id="A+R4;J!yy4e`~.6+ePot">titel</field>
                             </block>
                           </value>
                           <statement name="DO">
                             <block type="variables_set" id="J_w6-jHRM2k5pW{7N]o;">
                               <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                               <value name="VALUE">
                                 <block type="get_attr" id="1LElUrU0?a$K8{47hvHb">
                                   <value name="PATH">
                                     <shadow type="text" id="bwZW2b=Bky8IcyfM^rnc">
                                       <field name="TEXT">title</field>
                                     </shadow>
                                   </value>
                                   <value name="OBJECT">
                                     <block type="variables_get" id="|q/Scz`wVFM.lGJ9cBxt">
                                       <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <next>
                                 <block type="controls_if" id="AYVSFhzxXTND[[Q^_gVY">
                                   <mutation else="1"></mutation>
                                   <value name="IF0">
                                     <block type="logic_compare" id="$AuKFaUpCB[9p~EwJWS2">
                                       <field name="OP">GT</field>
                                       <value name="A">
                                         <block type="text_indexOf" id="Z#ewA@`@T{i}Z-c$vMEt">
                                           <field name="END">FIRST</field>
                                           <value name="VALUE">
                                             <block type="variables_get" id="FB],$?nZZ]NLJOw4l}{I">
                                               <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                             </block>
                                           </value>
                                           <value name="FIND">
                                             <shadow type="text" id="yHJNRdFR/#96wEN,%!](">
                                               <field name="TEXT">"</field>
                                             </shadow>
                                           </value>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="math_number" id="uOd-aBAF0p}elUkYsRyO">
                                           <field name="NUM">0</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="variables_set" id="XxZ$m~U]QFbkK+.u`_*i">
                                       <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                       <value name="VALUE">
                                         <block type="text_getSubstring" id="GT0dD]9CyJer8fdkO[0Z">
                                           <mutation at1="false" at2="true"></mutation>
                                           <field name="WHERE1">FIRST</field>
                                           <field name="WHERE2">FROM_START</field>
                                           <value name="STRING">
                                             <block type="variables_get" id="VWP+B5,ZS!-p1y@k{8FP">
                                               <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                             </block>
                                           </value>
                                           <value name="AT2">
                                             <block type="math_arithmetic" id="WFT=V,8)0BFt^k3/9ETc">
                                               <field name="OP">MINUS</field>
                                               <value name="A">
                                                 <shadow type="math_number">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="text_indexOf" id="Ua(zXE+U5gH}q$-*2ZMs">
                                                   <field name="END">FIRST</field>
                                                   <value name="VALUE">
                                                     <block type="variables_get" id=".|Ylg6M(CBO^pD}EtjuT">
                                                       <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                                     </block>
                                                   </value>
                                                   <value name="FIND">
                                                     <shadow type="text" id="h=GS-v,YXS[Bk#$7WSH*">
                                                       <field name="TEXT">"</field>
                                                     </shadow>
                                                   </value>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <shadow type="math_number">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="math_number" id="8qVW=oh/Tb+n#+HUEZxI">
                                                   <field name="NUM">2</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </statement>
                                   <statement name="ELSE">
                                     <block type="variables_set" id="A7GSL~P45)LU/pDG/r3%">
                                       <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                       <value name="VALUE">
                                         <block type="variables_get" id="bHPS[zJo=W6d=v]1XHOS">
                                           <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                         </block>
                                       </value>
                                     </block>
                                   </statement>
                                   <next>
                                     <block type="variables_set" id="U0e1Lwx|CV=@m)%{2INn">
                                       <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">titelname</field>
                                       <value name="VALUE">
                                         <block type="text_changeCase" id="s2PEk6dTsXL?%u;,V#Rl">
                                           <field name="CASE">UPPERCASE</field>
                                           <value name="TEXT">
                                             <shadow type="text">
                                               <field name="TEXT">abc</field>
                                             </shadow>
                                             <block type="text_join" id="KzQcCNy56GfE}2*.GA#O">
                                               <mutation items="3"></mutation>
                                               <value name="ADD0">
                                                 <block type="get_attr" id="=@-B:Qg[._znh=I);l7%">
                                                   <value name="PATH">
                                                     <shadow type="text" id="agl_o=_q{Pv07|%[08ol">
                                                       <field name="TEXT">artistName</field>
                                                     </shadow>
                                                   </value>
                                                   <value name="OBJECT">
                                                     <block type="variables_get" id="|xWg$Y]5GA/G$Ue9e*8(">
                                                       <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <value name="ADD1">
                                                 <block type="text" id="DMh7Z.`1aV`Zf1=?X`=Z">
                                                   <field name="TEXT"> - </field>
                                                 </block>
                                               </value>
                                               <value name="ADD2">
                                                 <block type="variables_get" id="KI=sqwzq4;fM48kXgaJ!">
                                                   <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="variables_set" id="vrrM!zpA^//)M^(]h}7O">
                                           <field name="VAR" id="/EUEs^+niuBI+e=^qt[;">objekt</field>
                                           <value name="VALUE">
                                             <block type="text_join" id="C`dla5j2h=a^k3oS(5Wk">
                                               <mutation items="5"></mutation>
                                               <value name="ADD0">
                                                 <block type="text" id="XN3gM`ALJo^zL@-#*3Q}">
                                                   <field name="TEXT">{"text":"</field>
                                                 </block>
                                               </value>
                                               <value name="ADD1">
                                                 <block type="variables_get" id="Z+4|Bg/mro%tXNDi/aIJ">
                                                   <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">titelname</field>
                                                 </block>
                                               </value>
                                               <value name="ADD2">
                                                 <block type="text" id=")Az{#elDxVR1xi}J$DH]">
                                                   <field name="TEXT">","value":"</field>
                                                 </block>
                                               </value>
                                               <value name="ADD3">
                                                 <block type="variables_get" id="vO:fKFK]d]W{^%g~,pr[">
                                                   <field name="VAR" id="8s|dJ[s_dcx`U9;jCx.T">offset</field>
                                                 </block>
                                               </value>
                                               <value name="ADD4">
                                                 <block type="text" id="Ob6f!KTjT*O$g+?I#-6n">
                                                   <field name="TEXT">"}</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="lists_setIndex" id="|/%2[H=._UA-~?XCDjSF">
                                               <mutation at="false"></mutation>
                                               <field name="MODE">INSERT</field>
                                               <field name="WHERE">LAST</field>
                                               <value name="LIST">
                                                 <block type="variables_get" id="~Ue)=I5g.o%mMv-DyN3k">
                                                   <field name="VAR" id="z=+.f2Q;+VQHzV+nNk#F">titelliste</field>
                                                 </block>
                                               </value>
                                               <value name="TO">
                                                 <block type="variables_get" id="g[B!oVbv`BNFj!R6q!!`">
                                                   <field name="VAR" id="/EUEs^+niuBI+e=^qt[;">objekt</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="math_change" id="K8pf?O/`ZEw;f70#89)0">
                                                   <field name="VAR" id="8s|dJ[s_dcx`U9;jCx.T">offset</field>
                                                   <value name="DELTA">
                                                     <shadow type="math_number" id="@H.xXi|^RmxP_6FBeG]3">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                   </value>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </statement>
                           <next>
                             <block type="update" id="O041[4~@Io,,Cs}5wd5F">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">0_userdata.0.Spotify.Abfragen.Playlistentitel</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="text_join" id="mpM/)h_O~Co=KHQ+:/ca">
                                   <mutation items="3"></mutation>
                                   <value name="ADD0">
                                     <block type="text" id="B(b{H6kk(9YT*)tu4nL@">
                                       <field name="TEXT">[</field>
                                     </block>
                                   </value>
                                   <value name="ADD1">
                                     <block type="convert_tostring" id="t[5l]Rf0%_n30U+Rz;SS">
                                       <value name="VALUE">
                                         <block type="variables_get" id="A|)OVI]q#}$h$Ekl+SG-">
                                           <field name="VAR" id="z=+.f2Q;+VQHzV+nNk#F">titelliste</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <value name="ADD2">
                                     <block type="text" id="FtW,RAj=2Qm#EwwR21r`">
                                       <field name="TEXT">]</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <next>
                                 <block type="update" id="F,.O{M3DU,WEHg}@ND7R">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">0_userdata.0.Spotify.Funktionen.PlaylistID</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="get_value_var" id="~,]16hdkx^Xo]j`DZhZJ">
                                       <field name="ATTR">val</field>
                                       <value name="OID">
                                         <shadow type="text">
                                           <field name="TEXT"></field>
                                         </shadow>
                                         <block type="text_join" id="n9RPtn!:mD?=_M]xeF%l">
                                           <mutation items="3"></mutation>
                                           <value name="ADD0">
                                             <block type="text" id="I7(OWa(ArXLJU3X3zn@k">
                                               <field name="TEXT">spotify-premium.0.playlists.</field>
                                             </block>
                                           </value>
                                           <value name="ADD1">
                                             <block type="get_value" id="^2FcqH%QsP9I:,z%Yv0[">
                                               <field name="ATTR">val</field>
                                               <field name="OID">0_userdata.0.Spotify.Funktionen.Playliste_aktiv</field>
                                             </block>
                                           </value>
                                           <value name="ADD2">
                                             <block type="text" id=".RIhQYRYP.B|HlKcosV9">
                                               <field name="TEXT">.id</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </statement>
         </block>
         <block type="on_ext" id="c9?9Yrk,d9L[h~nN7`hb" x="488" y="88">
           <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
           <field name="CONDITION">any</field>
           <field name="ACK_CONDITION"></field>
           <value name="OID0">
             <shadow type="field_oid" id="kDimQ14Dx+/o{VekX+L*">
               <field name="oid">0_userdata.0.Spotify.Funktionen.Playliste_aktiv</field>
             </shadow>
           </value>
           <statement name="STATEMENT">
             <block type="update" id="IX$+dqoPP+`vu[lxmz)[">
               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
               <field name="OID">0_userdata.0.Spotify.Funktionen.Sortieren</field>
               <field name="WITH_DELAY">FALSE</field>
               <value name="VALUE">
                 <block type="logic_boolean" id=":60g{%-g1xm-ya_U2t:-">
                   <field name="BOOL">FALSE</field>
                 </block>
               </value>
               <next>
                 <block type="variables_set" id="C.*d_+[/^2R(PG,wxcyB">
                   <field name="VAR" id="8s|dJ[s_dcx`U9;jCx.T">offset</field>
                   <value name="VALUE">
                     <block type="math_number" id="tkIuDb)yMcuYoTvBta8x">
                       <field name="NUM">0</field>
                     </block>
                   </value>
                   <next>
                     <block type="variables_set" id="JQ):y1@NaZ?XpAlHIA,d">
                       <field name="VAR" id="z=+.f2Q;+VQHzV+nNk#F">titelliste</field>
                       <value name="VALUE">
                         <block type="lists_create_with" id="WyOtpnpIVB`g=OsA}YXN">
                           <mutation items="0"></mutation>
                         </block>
                       </value>
                       <next>
                         <block type="variables_set" id="hmgj;!53T_`9:3mm3iWL">
                           <field name="VAR" id="A+R4;J!yy4e`~.6+ePot">titel</field>
                           <value name="VALUE">
                             <block type="get_value_var" id="A?vpk-13OPhe0r(@C*r.">
                               <field name="ATTR">val</field>
                               <value name="OID">
                                 <shadow type="text" id="hTf(m`zx`9vmZiXvrIk7">
                                   <field name="TEXT"></field>
                                 </shadow>
                                 <block type="text_join" id="uYW%MQ81kfs?($`qsGkh">
                                   <mutation items="3"></mutation>
                                   <value name="ADD0">
                                     <block type="text" id="JW_Y,`Sx#Ctk|{m9*HQx">
                                       <field name="TEXT">spotify-premium.0.playlists.</field>
                                     </block>
                                   </value>
                                   <value name="ADD1">
                                     <block type="on_source" id="P98Mi.6aAgkyHxZn@0R)">
                                       <field name="ATTR">state.val</field>
                                     </block>
                                   </value>
                                   <value name="ADD2">
                                     <block type="text" id="ml!G:PA/lpw^bK;ZQz{f">
                                       <field name="TEXT">.trackListArray</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="controls_forEach" id="ajZPSo8S{qF=ttM[GXd^">
                               <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                               <value name="LIST">
                                 <block type="variables_get" id="]IVi}17qyYUKJ.`tI$QB">
                                   <field name="VAR" id="A+R4;J!yy4e`~.6+ePot">titel</field>
                                 </block>
                               </value>
                               <statement name="DO">
                                 <block type="variables_set" id="n@r+,O4J9Ds.twx(ma)Z">
                                   <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                   <value name="VALUE">
                                     <block type="get_attr" id="xrYk7`/X(+rT`96;H*u2">
                                       <value name="PATH">
                                         <shadow type="text" id="=S!pMH[pRG]Fw3Fi.?,Y">
                                           <field name="TEXT">title</field>
                                         </shadow>
                                       </value>
                                       <value name="OBJECT">
                                         <block type="variables_get" id="Ou8{Or|)_o^A?P`D|PYn">
                                           <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="controls_if" id="][4mL_h[$3fk|yBz/*:a">
                                       <mutation else="1"></mutation>
                                       <value name="IF0">
                                         <block type="logic_compare" id="jBjZmwZQeB@yrOu_wKrE">
                                           <field name="OP">GT</field>
                                           <value name="A">
                                             <block type="text_indexOf" id="H00`8jCJPKpHV@}G-k05">
                                               <field name="END">FIRST</field>
                                               <value name="VALUE">
                                                 <block type="variables_get" id="M).k-$0SnPTat$Ez.=(B">
                                                   <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                                 </block>
                                               </value>
                                               <value name="FIND">
                                                 <shadow type="text" id="sxA8r}up[aW#bEP.BeyL">
                                                   <field name="TEXT">"</field>
                                                 </shadow>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <block type="math_number" id=":_Cu)9onxQkqRB6wr6(8">
                                               <field name="NUM">0</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <statement name="DO0">
                                         <block type="variables_set" id="D{/SITVvIG]5I/nuY}h?">
                                           <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                           <value name="VALUE">
                                             <block type="text_getSubstring" id="}!{h(kb?mXg?rwejugV2">
                                               <mutation at1="false" at2="true"></mutation>
                                               <field name="WHERE1">FIRST</field>
                                               <field name="WHERE2">FROM_START</field>
                                               <value name="STRING">
                                                 <block type="variables_get" id="ZXporIU{*zr3`.WK`;5a">
                                                   <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                                 </block>
                                               </value>
                                               <value name="AT2">
                                                 <block type="math_arithmetic" id="Fj(h(9a2ChL~IfmCvH*b">
                                                   <field name="OP">MINUS</field>
                                                   <value name="A">
                                                     <shadow type="math_number">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="text_indexOf" id="x8cER2gi3i4%F@??6@.l">
                                                       <field name="END">FIRST</field>
                                                       <value name="VALUE">
                                                         <block type="variables_get" id="I_,:%ed_o~D|UxNMZjuB">
                                                           <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                                         </block>
                                                       </value>
                                                       <value name="FIND">
                                                         <shadow type="text" id="66nj}l.Di[sFdo~MWutm">
                                                           <field name="TEXT">"</field>
                                                         </shadow>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <shadow type="math_number">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="math_number" id="@(e0;X8TaX^rR*J|O7xc">
                                                       <field name="NUM">2</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </statement>
                                       <statement name="ELSE">
                                         <block type="variables_set" id="Nj__VK5B+,7c9zq./;2y">
                                           <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                           <value name="VALUE">
                                             <block type="variables_get" id="%J/sw[w@`T8Eh*C-KvVw">
                                               <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                             </block>
                                           </value>
                                         </block>
                                       </statement>
                                       <next>
                                         <block type="variables_set" id="e1LQ~RSotlmf$7aKe|kK">
                                           <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">titelname</field>
                                           <value name="VALUE">
                                             <block type="text_changeCase" id="mfH}G%UsDcSK?Q[!!{D4">
                                               <field name="CASE">UPPERCASE</field>
                                               <value name="TEXT">
                                                 <shadow type="text" id="3rD}gtjD#((X5kzriS0]">
                                                   <field name="TEXT">abc</field>
                                                 </shadow>
                                                 <block type="text_join" id="Zh+$rKf0e)bAv4`ZO_Ll">
                                                   <mutation items="3"></mutation>
                                                   <value name="ADD0">
                                                     <block type="get_attr" id=",3*#I4ku)mRB;vx@eqK]">
                                                       <value name="PATH">
                                                         <shadow type="text" id="l2m!#BEQKR=w`Q)BxY:2">
                                                           <field name="TEXT">artistName</field>
                                                         </shadow>
                                                       </value>
                                                       <value name="OBJECT">
                                                         <block type="variables_get" id="iJRgR1_a,1RwRD)V)eQ5">
                                                           <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <value name="ADD1">
                                                     <block type="text" id="Pc/gxiQ/)FablTHX@uI}">
                                                       <field name="TEXT"> - </field>
                                                     </block>
                                                   </value>
                                                   <value name="ADD2">
                                                     <block type="variables_get" id="~OQluq[o4xIH8BY8.lb^">
                                                       <field name="VAR" id="Ov{jv*{(3zzipR[=,!_l">filter</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="variables_set" id="ctRCBlP?@p!a#y,H7@QO">
                                               <field name="VAR" id="/EUEs^+niuBI+e=^qt[;">objekt</field>
                                               <value name="VALUE">
                                                 <block type="text_join" id="4_Ve~kk8N!pfB:}*Fq,m">
                                                   <mutation items="5"></mutation>
                                                   <value name="ADD0">
                                                     <block type="text" id="w6~`xjx1m!+}@#ll)$Dy">
                                                       <field name="TEXT">{"text":"</field>
                                                     </block>
                                                   </value>
                                                   <value name="ADD1">
                                                     <block type="variables_get" id="BhfbH7mGwwQ{AkhnB!Il">
                                                       <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">titelname</field>
                                                     </block>
                                                   </value>
                                                   <value name="ADD2">
                                                     <block type="text" id="BNT~cKhc$)L-sab^%C#W">
                                                       <field name="TEXT">","value":"</field>
                                                     </block>
                                                   </value>
                                                   <value name="ADD3">
                                                     <block type="variables_get" id="zZp2ny7HvPL7j6cS%S8w">
                                                       <field name="VAR" id="8s|dJ[s_dcx`U9;jCx.T">offset</field>
                                                     </block>
                                                   </value>
                                                   <value name="ADD4">
                                                     <block type="text" id="E+,QRlEw5Z_l)LdngzI7">
                                                       <field name="TEXT">"}</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="lists_setIndex" id="-t?`LwYqo*=Y=2nXV8#,">
                                                   <mutation at="false"></mutation>
                                                   <field name="MODE">INSERT</field>
                                                   <field name="WHERE">LAST</field>
                                                   <value name="LIST">
                                                     <block type="variables_get" id=".V^Ym4@]Fhdr?l9+Nq#9">
                                                       <field name="VAR" id="z=+.f2Q;+VQHzV+nNk#F">titelliste</field>
                                                     </block>
                                                   </value>
                                                   <value name="TO">
                                                     <block type="variables_get" id="W[x--|G]LH#5r0`8p?O]">
                                                       <field name="VAR" id="/EUEs^+niuBI+e=^qt[;">objekt</field>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="math_change" id="v8T|U);2|#TEkr}TPIAH">
                                                       <field name="VAR" id="8s|dJ[s_dcx`U9;jCx.T">offset</field>
                                                       <value name="DELTA">
                                                         <shadow type="math_number" id="NsHha5JE6f[|X!wk2(qt">
                                                           <field name="NUM">1</field>
                                                         </shadow>
                                                       </value>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </statement>
                               <next>
                                 <block type="update" id="~ZX+.IRW/f7rLWP]fg[}">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">0_userdata.0.Spotify.Abfragen.Playlistentitel</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="text_join" id="H,aFJ^iP^rS)IF*A8wCH">
                                       <mutation items="3"></mutation>
                                       <value name="ADD0">
                                         <block type="text" id="YOZXyHT};meRwyIV%vK|">
                                           <field name="TEXT">[</field>
                                         </block>
                                       </value>
                                       <value name="ADD1">
                                         <block type="convert_tostring" id="KUGB8iC2OgPko%Zegw`N">
                                           <value name="VALUE">
                                             <block type="variables_get" id="Oh$A$:X!.P`rQfq~=]Q.">
                                               <field name="VAR" id="z=+.f2Q;+VQHzV+nNk#F">titelliste</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <value name="ADD2">
                                         <block type="text" id="+c?.o6iDZ|Kz6.VapK:s">
                                           <field name="TEXT">]</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="update" id="]LP5aYn1kfW|D}9cgGl!">
                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                       <field name="OID">0_userdata.0.Spotify.Funktionen.PlaylistID</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="get_value_var" id="SqjapFl}pC_XmiOR2-Wy">
                                           <field name="ATTR">val</field>
                                           <value name="OID">
                                             <shadow type="text">
                                               <field name="TEXT"></field>
                                             </shadow>
                                             <block type="text_join" id="r6,+`D!EZ%w=$$}ff67/">
                                               <mutation items="3"></mutation>
                                               <value name="ADD0">
                                                 <block type="text" id="FUj|1DGZ{lxw+O@p2N-X">
                                                   <field name="TEXT">spotify-premium.0.playlists.</field>
                                                 </block>
                                               </value>
                                               <value name="ADD1">
                                                 <block type="on_source" id="!!0_}Bfb9[o:AAjGg/8I">
                                                   <field name="ATTR">state.val</field>
                                                 </block>
                                               </value>
                                               <value name="ADD2">
                                                 <block type="text" id="WZES(y#;)|hbJlBu//nN">
                                                   <field name="TEXT">.id</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </statement>
           <next>
             <block type="on_ext" id="Y9nt~=KFwh++B,GZEC/[">
               <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
               <field name="CONDITION">ne</field>
               <field name="ACK_CONDITION"></field>
               <value name="OID0">
                 <shadow type="field_oid" id="_1|!z,QoR;MXd/.r[Dtz">
                   <field name="oid">0_userdata.0.Spotify.Funktionen.Sortieren</field>
                 </shadow>
               </value>
               <statement name="STATEMENT">
                 <block type="controls_if" id="5u~lDcRWwPn8AEPPe_3s">
                   <mutation else="1"></mutation>
                   <value name="IF0">
                     <block type="on_source" id="rbX*;gjzSla1]fMUb6ah">
                       <field name="ATTR">state.val</field>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="variables_set" id="/$wu0snvyjSUP+.-`ev}">
                       <field name="VAR" id="}bdAPzw$S|-/d[[-/l,Z">sort</field>
                       <value name="VALUE">
                         <block type="convert_json2object" id="m}Hn/h@KIi9NO.d4U+r.">
                           <value name="VALUE">
                             <block type="get_value" id="@}$7d;_CQN]$o*XY^_%k">
                               <field name="ATTR">val</field>
                               <field name="OID">0_userdata.0.Spotify.Abfragen.Playlistentitel</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="update" id="lYi:d~xT7!X0xFJl*,#v">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                           <field name="OID">0_userdata.0.Spotify.Abfragen.Playlistentitel</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="convert_object2json" id="n6zNe:p_z=T;PNhAf9JV">
                               <field name="PRETTIFY">FALSE</field>
                               <value name="VALUE">
                                 <block type="convert_jsonata" id="CcN./1!@a^}k7uiJN4rA">
                                   <value name="EXPRESSION">
                                     <shadow type="text" id="ck_hXCIkQZU=+#$g^`!G">
                                       <field name="TEXT">*</field>
                                     </shadow>
                                     <block type="text" id="GG{)CJ)JxbrU)*?WUwY%">
                                       <field name="TEXT">$^(&lt;text)</field>
                                     </block>
                                   </value>
                                   <value name="TARGET">
                                     <block type="variables_get" id="TU`:gvnqE)R/$XKot06w">
                                       <field name="VAR" id="}bdAPzw$S|-/d[[-/l,Z">sort</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </next>
                     </block>
                   </statement>
                   <statement name="ELSE">
                     <block type="procedures_callnoreturn" id="TVUT@CHIe,H0T#0Fb*q6">
                       <mutation name="ohne sortierung"></mutation>
                     </block>
                   </statement>
                 </block>
               </statement>
             </block>
           </next>
         </block>
        </xml>
        

        Das dritte Blockly dient nur zum Abspielen der Playliste ODER des Titels innerhalb der gewählten Playliste:

        Screenshot 2023-04-29 142157.png

        <xml xmlns="https://developers.google.com/blockly/xml">
         <block type="on_ext" id="hhPo0/G9D`.48jru!c_Q" x="138" y="138">
           <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
           <field name="CONDITION">true</field>
           <field name="ACK_CONDITION"></field>
           <value name="OID0">
             <shadow type="field_oid" id="J$3|wD[!vz6j0.%Y~{Yn">
               <field name="oid">0_userdata.0.Spotify.Funktionen.Playliste_abspielen</field>
             </shadow>
           </value>
           <statement name="STATEMENT">
             <block type="control" id="u+A?eV=f%?xJMQl6PNx:">
               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
               <field name="OID">spotify-premium.0.player.playUri</field>
               <field name="WITH_DELAY">FALSE</field>
               <value name="VALUE">
                 <block type="text_join" id="-b3g}9N{sTm7;rx8*Xo=">
                   <mutation items="5"></mutation>
                   <value name="ADD0">
                     <block type="text" id="Xc!ogNyu]LOU@?X-I!|m">
                       <field name="TEXT">{"device_id":"xxx","context_uri":"spotify:user:</field>
                     </block>
                   </value>
                   <value name="ADD1">
                     <block type="get_value" id="}lsI[jY0X9Mpk,KYEKcT">
                       <field name="ATTR">val</field>
                       <field name="OID">spotify-premium.0.authorization.userId</field>
                     </block>
                   </value>
                   <value name="ADD2">
                     <block type="text" id="U3;U:)WY]Ua,yj6t2TGy">
                       <field name="TEXT">:playlist:</field>
                     </block>
                   </value>
                   <value name="ADD3">
                     <block type="get_value" id="82YGfd=Iev!k%}k!pcD-">
                       <field name="ATTR">val</field>
                       <field name="OID">0_userdata.0.Spotify.Funktionen.PlaylistID</field>
                     </block>
                   </value>
                   <value name="ADD4">
                     <block type="text" id="5*7,CYr?89}{KoQ`Q(U0">
                       <field name="TEXT">","offset":{"position":0}}</field>
                     </block>
                   </value>
                 </block>
               </value>
             </block>
           </statement>
           <next>
             <block type="on_ext" id="f^X!rwC+KSok:iDz;U_G">
               <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
               <field name="CONDITION">true</field>
               <field name="ACK_CONDITION"></field>
               <value name="OID0">
                 <shadow type="field_oid" id="%|IwCAOP1j1xS|_%t@Bc">
                   <field name="oid">0_userdata.0.Spotify.Funktionen.Titel_abspielen</field>
                 </shadow>
               </value>
               <statement name="STATEMENT">
                 <block type="control" id="-{TntM[r~)Glbq)@Lw4(">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                   <field name="OID">spotify-premium.0.player.playUri</field>
                   <field name="WITH_DELAY">FALSE</field>
                   <value name="VALUE">
                     <block type="text_join" id="I)TB+6f;F`.sx8ySFDj(">
                       <mutation items="7"></mutation>
                       <value name="ADD0">
                         <block type="text" id="ZbQ8I#-Rb}2Rw;Q[+jTj">
                           <field name="TEXT">{"device_id":"xxx","context_uri":"spotify:user:</field>
                         </block>
                       </value>
                       <value name="ADD1">
                         <block type="get_value" id="g?rNK]bRW*=VYsj0p@Kp">
                           <field name="ATTR">val</field>
                           <field name="OID">spotify-premium.0.authorization.userId</field>
                         </block>
                       </value>
                       <value name="ADD2">
                         <block type="text" id=")Sa}df6^.4wAW3Wrxg,b">
                           <field name="TEXT">:playlist:</field>
                         </block>
                       </value>
                       <value name="ADD3">
                         <block type="get_value" id="4A{keUCzXbaq#N(jSQ|u">
                           <field name="ATTR">val</field>
                           <field name="OID">0_userdata.0.Spotify.Funktionen.PlaylistID</field>
                         </block>
                       </value>
                       <value name="ADD4">
                         <block type="text" id="1%/ch[4T$SxZyz1,I(qT">
                           <field name="TEXT">","offset":{"position":</field>
                         </block>
                       </value>
                       <value name="ADD5">
                         <block type="get_value" id="QH?c!9GN-)Ch%y,Kmls/">
                           <field name="ATTR">val</field>
                           <field name="OID">0_userdata.0.Spotify.Funktionen.Titel_aktiv</field>
                         </block>
                       </value>
                       <value name="ADD6">
                         <block type="text" id="Lf4bjozsZ7!`#X6zy9ZK">
                           <field name="TEXT">}}</field>
                         </block>
                       </value>
                     </block>
                   </value>
                 </block>
               </statement>
             </block>
           </next>
         </block>
        </xml>
        

        !!! WICHTIG !!!
        Die Blocklys MÜSSEN an Eure eigenen Datenpunkte angepasst werden - und auch dazu kann ich nicht unterstützen !

        z.B. muss "device_id":"xxx" - also auch das xxx dort mit dem jeweiligen device_id des abzuspielenden Echos ersetzt werden.

        HowTo herausfinden ?

        Device unter

        spotify-premium.0.devices.xxx.id
        

        Weiter gehts mit der VIS

        DJMarc75D Offline
        DJMarc75D Offline
        DJMarc75
        wrote on last edited by DJMarc75
        #3

        Da ich, wie oben erwähnt, dies erstmal nur funktionell sehe und die optischen Geschmäcker verschieden sind, bitte keine Kritik oder gar Verbesserungsvorschläge liefern - bringt mir und Euch nix 🙂

        Video wie es aussehen KANN:

        Aufzeichnung 2023-04-29 143517.mp4

        Sodele. Und jetzt die VIS (als View importieren - MUSS danach zwingend angepasst werden - es gibt hier keinen Support !!!)

        {
           "settings": {
               "style": {
                   "background_class": "",
                   "background-color": "black"
               },
               "theme": "redmond",
               "sizex": "2300",
               "sizey": "1000",
               "hideDescription": false,
               "gridSize": "",
               "useBackground": false,
               "snapType": 1
           },
           "widgets": {
               "e00001": {
                   "tpl": "tplVis-materialdesign-Select",
                   "data": {
                       "oid": "0_userdata.0.Spotify.Funktionen.Playliste_aktiv",
                       "g_fixed": false,
                       "g_visibility": false,
                       "g_css_font_text": false,
                       "g_css_background": false,
                       "g_css_shadow_padding": false,
                       "g_css_border": false,
                       "g_gestures": false,
                       "g_signals": false,
                       "g_last_change": false,
                       "visibility-cond": "==",
                       "visibility-val": 1,
                       "visibility-groups-action": "hide",
                       "inputType": "text",
                       "vibrateOnMobilDevices": "50",
                       "inputLayout": "solo",
                       "inputAlignment": "left",
                       "inputLayoutBorderColor": "#mdwTheme:vis-materialdesign.0.colors.input.border",
                       "inputLayoutBorderColorHover": "#mdwTheme:vis-materialdesign.0.colors.input.border_hover",
                       "inputLayoutBorderColorSelected": "#mdwTheme:vis-materialdesign.0.colors.input.border_selected",
                       "inputTextFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.text",
                       "inputTextFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.text",
                       "inputTextColor": "white",
                       "inputLabelColor": "#mdwTheme:vis-materialdesign.0.colors.input.label",
                       "inputLabelColorSelected": "#mdwTheme:vis-materialdesign.0.colors.input.label_selected",
                       "inputLabelFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.label",
                       "inputLabelFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.label",
                       "inputAppendixColor": "#mdwTheme:vis-materialdesign.0.colors.input.appendix",
                       "inputAppendixFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.appendix",
                       "inputAppendixFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.appendix",
                       "showInputMessageAlways": "true",
                       "inputMessageFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.message",
                       "inputMessageFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.message",
                       "inputMessageColor": "#mdwTheme:vis-materialdesign.0.colors.input.message",
                       "showInputCounter": false,
                       "inputCounterColor": "#mdwTheme:vis-materialdesign.0.colors.input.counter",
                       "inputCounterFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.counter",
                       "inputCounterFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.counter",
                       "clearIconShow": false,
                       "clearIconColor": "#mdwTheme:vis-materialdesign.0.colors.input.icon_clear",
                       "collapseIconColor": "white",
                       "listDataMethod": "jsonStringObject",
                       "countSelectItems": "1",
                       "listPosition": "bottom",
                       "listItemBackgroundColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.background",
                       "listItemBackgroundHoverColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.hover",
                       "listItemBackgroundSelectedColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.selected",
                       "listItemRippleEffectColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.effect",
                       "showSelectedIcon": "prepend-inner",
                       "listIconColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.icon",
                       "listItemFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.dropdown.text",
                       "listItemFont": "#mdwTheme:vis-materialdesign.0.fonts.input.dropdown.text",
                       "listItemFontColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.text",
                       "listItemSubFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.dropdown.subText",
                       "listItemSubFont": "#mdwTheme:vis-materialdesign.0.fonts.input.dropdown.subText",
                       "listItemSubFontColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.subText",
                       "showValue": false,
                       "listItemValueFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.dropdown.value",
                       "listItemValueFont": "#mdwTheme:vis-materialdesign.0.fonts.input.dropdown.value",
                       "listItemValueFontColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.value",
                       "signals-cond-0": "==",
                       "signals-val-0": true,
                       "signals-icon-0": "/vis/signals/lowbattery.png",
                       "signals-icon-size-0": 0,
                       "signals-blink-0": false,
                       "signals-horz-0": 0,
                       "signals-vert-0": 0,
                       "signals-hide-edit-0": false,
                       "signals-cond-1": "==",
                       "signals-val-1": true,
                       "signals-icon-1": "/vis/signals/lowbattery.png",
                       "signals-icon-size-1": 0,
                       "signals-blink-1": false,
                       "signals-horz-1": 0,
                       "signals-vert-1": 0,
                       "signals-hide-edit-1": false,
                       "signals-cond-2": "==",
                       "signals-val-2": true,
                       "signals-icon-2": "/vis/signals/lowbattery.png",
                       "signals-icon-size-2": 0,
                       "signals-blink-2": false,
                       "signals-horz-2": 0,
                       "signals-vert-2": 0,
                       "signals-hide-edit-2": false,
                       "lc-type": "last-change",
                       "lc-is-interval": true,
                       "lc-is-moment": false,
                       "lc-format": "",
                       "lc-position-vert": "top",
                       "lc-position-horz": "right",
                       "lc-offset-vert": 0,
                       "lc-offset-horz": 0,
                       "lc-font-size": "12px",
                       "lc-font-family": "",
                       "lc-font-style": "",
                       "lc-bkg-color": "",
                       "lc-color": "",
                       "lc-border-width": "0",
                       "lc-border-style": "",
                       "lc-border-color": "",
                       "lc-border-radius": 10,
                       "lc-zindex": 0,
                       "jsonStringObject": "{0_userdata.0.Spotify.Abfragen.PlaylistenJson}",
                       "valueList": "{0_userdata.0.Spotify.Abfragen.PlaylistenJson}",
                       "valueListLabels": "{0_userdata.0.Spotify.Abfragen.PlaylistenJson}",
                       "inputLabelText": "",
                       "listPositionOffset": true,
                       "inputLayoutBackgroundColor": "#1db954",
                       "inputLayoutBackgroundColorHover": "#1db954",
                       "inputLayoutBackgroundColorSelected": "#1db954",
                       "collapseIcon": ""
                   },
                   "style": {
                       "left": "647px",
                       "top": "121px",
                       "z-index": "10",
                       "width": "237px",
                       "height": "38px"
                   },
                   "widgetSet": "materialdesign"
               },
               "e00002": {
                   "tpl": "tplVis-materialdesign-Select",
                   "data": {
                       "oid": "0_userdata.0.Spotify.Funktionen.Titel_aktiv",
                       "g_fixed": false,
                       "g_visibility": false,
                       "g_css_font_text": false,
                       "g_css_background": false,
                       "g_css_shadow_padding": false,
                       "g_css_border": false,
                       "g_gestures": false,
                       "g_signals": false,
                       "g_last_change": false,
                       "visibility-cond": "==",
                       "visibility-val": 1,
                       "visibility-groups-action": "hide",
                       "inputType": "text",
                       "vibrateOnMobilDevices": "50",
                       "inputLayout": "solo",
                       "inputAlignment": "left",
                       "inputLayoutBorderColor": "#mdwTheme:vis-materialdesign.0.colors.input.border",
                       "inputLayoutBorderColorHover": "#mdwTheme:vis-materialdesign.0.colors.input.border_hover",
                       "inputLayoutBorderColorSelected": "#mdwTheme:vis-materialdesign.0.colors.input.border_selected",
                       "inputTextFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.text",
                       "inputTextFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.text",
                       "inputTextColor": "White",
                       "inputLabelColor": "#mdwTheme:vis-materialdesign.0.colors.input.label",
                       "inputLabelColorSelected": "#mdwTheme:vis-materialdesign.0.colors.input.label_selected",
                       "inputLabelFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.label",
                       "inputLabelFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.label",
                       "inputAppendixColor": "#mdwTheme:vis-materialdesign.0.colors.input.appendix",
                       "inputAppendixFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.appendix",
                       "inputAppendixFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.appendix",
                       "showInputMessageAlways": false,
                       "inputMessageFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.message",
                       "inputMessageFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.message",
                       "inputMessageColor": "#mdwTheme:vis-materialdesign.0.colors.input.message",
                       "showInputCounter": false,
                       "inputCounterColor": "#mdwTheme:vis-materialdesign.0.colors.input.counter",
                       "inputCounterFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.counter",
                       "inputCounterFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.counter",
                       "clearIconShow": false,
                       "clearIconColor": "#mdwTheme:vis-materialdesign.0.colors.input.icon_clear",
                       "collapseIconColor": "white",
                       "listDataMethod": "jsonStringObject",
                       "countSelectItems": "1",
                       "listPosition": "auto",
                       "listItemBackgroundColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.background",
                       "listItemBackgroundHoverColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.hover",
                       "listItemBackgroundSelectedColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.selected",
                       "listItemRippleEffectColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.effect",
                       "showSelectedIcon": "prepend-inner",
                       "listIconColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.icon",
                       "listItemFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.dropdown.text",
                       "listItemFont": "#mdwTheme:vis-materialdesign.0.fonts.input.dropdown.text",
                       "listItemFontColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.text",
                       "listItemSubFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.dropdown.subText",
                       "listItemSubFont": "#mdwTheme:vis-materialdesign.0.fonts.input.dropdown.subText",
                       "listItemSubFontColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.subText",
                       "showValue": false,
                       "listItemValueFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.dropdown.value",
                       "listItemValueFont": "#mdwTheme:vis-materialdesign.0.fonts.input.dropdown.value",
                       "listItemValueFontColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.value",
                       "signals-cond-0": "==",
                       "signals-val-0": true,
                       "signals-icon-0": "/vis/signals/lowbattery.png",
                       "signals-icon-size-0": 0,
                       "signals-blink-0": false,
                       "signals-horz-0": 0,
                       "signals-vert-0": 0,
                       "signals-hide-edit-0": false,
                       "signals-cond-1": "==",
                       "signals-val-1": true,
                       "signals-icon-1": "/vis/signals/lowbattery.png",
                       "signals-icon-size-1": 0,
                       "signals-blink-1": false,
                       "signals-horz-1": 0,
                       "signals-vert-1": 0,
                       "signals-hide-edit-1": false,
                       "signals-cond-2": "==",
                       "signals-val-2": true,
                       "signals-icon-2": "/vis/signals/lowbattery.png",
                       "signals-icon-size-2": 0,
                       "signals-blink-2": false,
                       "signals-horz-2": 0,
                       "signals-vert-2": 0,
                       "signals-hide-edit-2": false,
                       "lc-type": "last-change",
                       "lc-is-interval": true,
                       "lc-is-moment": false,
                       "lc-format": "",
                       "lc-position-vert": "top",
                       "lc-position-horz": "right",
                       "lc-offset-vert": 0,
                       "lc-offset-horz": 0,
                       "lc-font-size": "12px",
                       "lc-font-family": "",
                       "lc-font-style": "",
                       "lc-bkg-color": "",
                       "lc-color": "",
                       "lc-border-width": "0",
                       "lc-border-style": "",
                       "lc-border-color": "",
                       "lc-border-radius": 10,
                       "lc-zindex": 0,
                       "jsonStringObject": "{0_userdata.0.Spotify.Abfragen.Playlistentitel}",
                       "valueList": "{0_userdata.0.Spotify.Abfragen.Playlistentitel}",
                       "valueListLabels": "{0_userdata.0.Spotify.Abfragen.Playlistentitel}",
                       "inputLabelText": "",
                       "label0": "Titel",
                       "listPositionOffset": true,
                       "inputLayoutBackgroundColor": "#1db954",
                       "inputLayoutBackgroundColorHover": "#1db954",
                       "inputLayoutBackgroundColorSelected": "#1db954"
                   },
                   "style": {
                       "left": "1175px",
                       "top": "119px",
                       "z-index": "10",
                       "width": "491px",
                       "height": "38px"
                   },
                   "widgetSet": "materialdesign"
               },
               "e00003": {
                   "tpl": "tplVis-materialdesign-Button-State-vertical",
                   "data": {
                       "oid": "0_userdata.0.Spotify.Funktionen.Playliste_abspielen",
                       "g_fixed": false,
                       "g_visibility": false,
                       "g_css_font_text": true,
                       "g_css_background": false,
                       "g_css_shadow_padding": false,
                       "g_css_border": false,
                       "g_gestures": false,
                       "g_signals": false,
                       "g_last_change": false,
                       "buttonStyle": "raised",
                       "vibrateOnMobilDevices": "50",
                       "buttontext": "PLAY",
                       "textFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.button.vertical.text",
                       "textFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.button.vertical.text",
                       "alignment": "center",
                       "mdwButtonPrimaryColor": "#1db954",
                       "mdwButtonSecondaryColor": "#mdwTheme:vis-materialdesign.0.colors.button.default.secondary",
                       "image": "",
                       "iconPosition": "top",
                       "iconHeight": "26",
                       "autoLockAfter": "10",
                       "lockIconTop": "5",
                       "lockIconLeft": "5",
                       "lockIconColor": "#mdwTheme:vis-materialdesign.0.colors.button.lock_icon",
                       "lockFilterGrayscale": "30",
                       "signals-cond-0": "==",
                       "signals-val-0": true,
                       "signals-icon-0": "/vis/signals/lowbattery.png",
                       "signals-icon-size-0": 0,
                       "signals-blink-0": false,
                       "signals-horz-0": 0,
                       "signals-vert-0": 0,
                       "signals-hide-edit-0": false,
                       "signals-cond-1": "==",
                       "signals-val-1": true,
                       "signals-icon-1": "/vis/signals/lowbattery.png",
                       "signals-icon-size-1": 0,
                       "signals-blink-1": false,
                       "signals-horz-1": 0,
                       "signals-vert-1": 0,
                       "signals-hide-edit-1": false,
                       "signals-cond-2": "==",
                       "signals-val-2": true,
                       "signals-icon-2": "/vis/signals/lowbattery.png",
                       "signals-icon-size-2": 0,
                       "signals-blink-2": false,
                       "signals-horz-2": 0,
                       "signals-vert-2": 0,
                       "signals-hide-edit-2": false,
                       "lc-type": "last-change",
                       "lc-is-interval": true,
                       "lc-is-moment": false,
                       "lc-format": "",
                       "lc-position-vert": "top",
                       "lc-position-horz": "right",
                       "lc-offset-vert": 0,
                       "lc-offset-horz": 0,
                       "lc-font-size": "12px",
                       "lc-font-family": "",
                       "lc-font-style": "",
                       "lc-bkg-color": "",
                       "lc-color": "",
                       "lc-border-width": "0",
                       "lc-border-style": "",
                       "lc-border-color": "",
                       "lc-border-radius": 10,
                       "lc-zindex": 0,
                       "value": "true",
                       "lockEnabled": true,
                       "visibility-cond": "==",
                       "visibility-val": 1,
                       "visibility-groups-action": "hide"
                   },
                   "style": {
                       "left": "891px",
                       "top": "122px",
                       "z-index": "10",
                       "width": "100px",
                       "height": "39px",
                       "color": ""
                   },
                   "widgetSet": "materialdesign"
               },
               "e00004": {
                   "tpl": "tplVis-materialdesign-Button-State-vertical",
                   "data": {
                       "oid": "0_userdata.0.Spotify.Funktionen.Titel_abspielen",
                       "g_fixed": false,
                       "g_visibility": false,
                       "g_css_font_text": true,
                       "g_css_background": false,
                       "g_css_shadow_padding": false,
                       "g_css_border": false,
                       "g_gestures": false,
                       "g_signals": false,
                       "g_last_change": false,
                       "buttonStyle": "raised",
                       "vibrateOnMobilDevices": "50",
                       "buttontext": "PLAY",
                       "textFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.button.vertical.text",
                       "textFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.button.vertical.text",
                       "alignment": "center",
                       "mdwButtonPrimaryColor": "#1db954",
                       "mdwButtonSecondaryColor": "#mdwTheme:vis-materialdesign.0.colors.button.default.secondary",
                       "image": "",
                       "iconPosition": "top",
                       "iconHeight": "26",
                       "autoLockAfter": "10",
                       "lockIconTop": "5",
                       "lockIconLeft": "5",
                       "lockIconColor": "#mdwTheme:vis-materialdesign.0.colors.button.lock_icon",
                       "lockFilterGrayscale": "30",
                       "signals-cond-0": "==",
                       "signals-val-0": true,
                       "signals-icon-0": "/vis/signals/lowbattery.png",
                       "signals-icon-size-0": 0,
                       "signals-blink-0": false,
                       "signals-horz-0": 0,
                       "signals-vert-0": 0,
                       "signals-hide-edit-0": false,
                       "signals-cond-1": "==",
                       "signals-val-1": true,
                       "signals-icon-1": "/vis/signals/lowbattery.png",
                       "signals-icon-size-1": 0,
                       "signals-blink-1": false,
                       "signals-horz-1": 0,
                       "signals-vert-1": 0,
                       "signals-hide-edit-1": false,
                       "signals-cond-2": "==",
                       "signals-val-2": true,
                       "signals-icon-2": "/vis/signals/lowbattery.png",
                       "signals-icon-size-2": 0,
                       "signals-blink-2": false,
                       "signals-horz-2": 0,
                       "signals-vert-2": 0,
                       "signals-hide-edit-2": false,
                       "lc-type": "last-change",
                       "lc-is-interval": true,
                       "lc-is-moment": false,
                       "lc-format": "",
                       "lc-position-vert": "top",
                       "lc-position-horz": "right",
                       "lc-offset-vert": 0,
                       "lc-offset-horz": 0,
                       "lc-font-size": "12px",
                       "lc-font-family": "",
                       "lc-font-style": "",
                       "lc-bkg-color": "",
                       "lc-color": "",
                       "lc-border-width": "0",
                       "lc-border-style": "",
                       "lc-border-color": "",
                       "lc-border-radius": 10,
                       "lc-zindex": 0,
                       "value": "true",
                       "lockEnabled": true,
                       "visibility-cond": "==",
                       "visibility-val": 1,
                       "visibility-groups-action": "hide"
                   },
                   "style": {
                       "left": "1734px",
                       "top": "118px",
                       "z-index": "10",
                       "width": "100px",
                       "height": "39px",
                       "color": ""
                   },
                   "widgetSet": "materialdesign"
               },
               "e00005": {
                   "tpl": "tplVis-materialdesign-Button-Toggle",
                   "data": {
                       "oid": "0_userdata.0.Spotify.Funktionen.Sortieren",
                       "g_fixed": false,
                       "g_visibility": false,
                       "g_css_font_text": false,
                       "g_css_background": false,
                       "g_css_shadow_padding": false,
                       "g_css_border": false,
                       "g_gestures": false,
                       "g_signals": false,
                       "g_last_change": false,
                       "visibility-cond": "==",
                       "visibility-val": 1,
                       "visibility-groups-action": "hide",
                       "buttonStyle": "raised",
                       "toggleType": "boolean",
                       "stateIfNotTrueValue": "on",
                       "vibrateOnMobilDevices": "50",
                       "buttontext": "sort",
                       "textFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.button.default.text",
                       "textFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.button.default.text",
                       "mdwButtonPrimaryColor": "#mdwTheme:vis-materialdesign.0.colors.button.default.primary",
                       "mdwButtonSecondaryColor": "#mdwTheme:vis-materialdesign.0.colors.button.default.secondary",
                       "image": "",
                       "iconPosition": "left",
                       "autoLockAfter": "10",
                       "lockIconColor": "#mdwTheme:vis-materialdesign.0.colors.button.lock_icon",
                       "lockFilterGrayscale": "30",
                       "signals-cond-0": "==",
                       "signals-val-0": true,
                       "signals-icon-0": "/vis/signals/lowbattery.png",
                       "signals-icon-size-0": 0,
                       "signals-blink-0": false,
                       "signals-horz-0": 0,
                       "signals-vert-0": 0,
                       "signals-hide-edit-0": false,
                       "signals-cond-1": "==",
                       "signals-val-1": true,
                       "signals-icon-1": "/vis/signals/lowbattery.png",
                       "signals-icon-size-1": 0,
                       "signals-blink-1": false,
                       "signals-horz-1": 0,
                       "signals-vert-1": 0,
                       "signals-hide-edit-1": false,
                       "signals-cond-2": "==",
                       "signals-val-2": true,
                       "signals-icon-2": "/vis/signals/lowbattery.png",
                       "signals-icon-size-2": 0,
                       "signals-blink-2": false,
                       "signals-horz-2": 0,
                       "signals-vert-2": 0,
                       "signals-hide-edit-2": false,
                       "lc-type": "last-change",
                       "lc-is-interval": true,
                       "lc-is-moment": false,
                       "lc-format": "",
                       "lc-position-vert": "top",
                       "lc-position-horz": "right",
                       "lc-offset-vert": 0,
                       "lc-offset-horz": 0,
                       "lc-font-size": "12px",
                       "lc-font-family": "",
                       "lc-font-style": "",
                       "lc-bkg-color": "",
                       "lc-color": "",
                       "lc-border-width": "0",
                       "lc-border-style": "",
                       "lc-border-color": "",
                       "lc-border-radius": 10,
                       "lc-zindex": 0,
                       "valueOff": "false",
                       "valueOn": "true",
                       "labelTrue": "unsort"
                   },
                   "style": {
                       "left": "1671px",
                       "top": "120px",
                       "z-index": "10",
                       "width": "57px",
                       "height": "37px"
                   },
                   "widgetSet": "materialdesign"
               }
           },
           "rerender": false,
           "filterList": [],
           "name": "Spotify_test"
        }
        

        Dann mal viel Spass !

        edit: ich bastel grad noch ein viertes Skript um das jeweilige Echo-Device auszuwählen 😉

        Lehrling seit 1975 !!!
        Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
        https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

        C 1 Reply Last reply
        0
        • DJMarc75D DJMarc75

          Da ich, wie oben erwähnt, dies erstmal nur funktionell sehe und die optischen Geschmäcker verschieden sind, bitte keine Kritik oder gar Verbesserungsvorschläge liefern - bringt mir und Euch nix 🙂

          Video wie es aussehen KANN:

          Aufzeichnung 2023-04-29 143517.mp4

          Sodele. Und jetzt die VIS (als View importieren - MUSS danach zwingend angepasst werden - es gibt hier keinen Support !!!)

          {
             "settings": {
                 "style": {
                     "background_class": "",
                     "background-color": "black"
                 },
                 "theme": "redmond",
                 "sizex": "2300",
                 "sizey": "1000",
                 "hideDescription": false,
                 "gridSize": "",
                 "useBackground": false,
                 "snapType": 1
             },
             "widgets": {
                 "e00001": {
                     "tpl": "tplVis-materialdesign-Select",
                     "data": {
                         "oid": "0_userdata.0.Spotify.Funktionen.Playliste_aktiv",
                         "g_fixed": false,
                         "g_visibility": false,
                         "g_css_font_text": false,
                         "g_css_background": false,
                         "g_css_shadow_padding": false,
                         "g_css_border": false,
                         "g_gestures": false,
                         "g_signals": false,
                         "g_last_change": false,
                         "visibility-cond": "==",
                         "visibility-val": 1,
                         "visibility-groups-action": "hide",
                         "inputType": "text",
                         "vibrateOnMobilDevices": "50",
                         "inputLayout": "solo",
                         "inputAlignment": "left",
                         "inputLayoutBorderColor": "#mdwTheme:vis-materialdesign.0.colors.input.border",
                         "inputLayoutBorderColorHover": "#mdwTheme:vis-materialdesign.0.colors.input.border_hover",
                         "inputLayoutBorderColorSelected": "#mdwTheme:vis-materialdesign.0.colors.input.border_selected",
                         "inputTextFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.text",
                         "inputTextFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.text",
                         "inputTextColor": "white",
                         "inputLabelColor": "#mdwTheme:vis-materialdesign.0.colors.input.label",
                         "inputLabelColorSelected": "#mdwTheme:vis-materialdesign.0.colors.input.label_selected",
                         "inputLabelFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.label",
                         "inputLabelFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.label",
                         "inputAppendixColor": "#mdwTheme:vis-materialdesign.0.colors.input.appendix",
                         "inputAppendixFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.appendix",
                         "inputAppendixFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.appendix",
                         "showInputMessageAlways": "true",
                         "inputMessageFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.message",
                         "inputMessageFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.message",
                         "inputMessageColor": "#mdwTheme:vis-materialdesign.0.colors.input.message",
                         "showInputCounter": false,
                         "inputCounterColor": "#mdwTheme:vis-materialdesign.0.colors.input.counter",
                         "inputCounterFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.counter",
                         "inputCounterFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.counter",
                         "clearIconShow": false,
                         "clearIconColor": "#mdwTheme:vis-materialdesign.0.colors.input.icon_clear",
                         "collapseIconColor": "white",
                         "listDataMethod": "jsonStringObject",
                         "countSelectItems": "1",
                         "listPosition": "bottom",
                         "listItemBackgroundColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.background",
                         "listItemBackgroundHoverColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.hover",
                         "listItemBackgroundSelectedColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.selected",
                         "listItemRippleEffectColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.effect",
                         "showSelectedIcon": "prepend-inner",
                         "listIconColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.icon",
                         "listItemFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.dropdown.text",
                         "listItemFont": "#mdwTheme:vis-materialdesign.0.fonts.input.dropdown.text",
                         "listItemFontColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.text",
                         "listItemSubFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.dropdown.subText",
                         "listItemSubFont": "#mdwTheme:vis-materialdesign.0.fonts.input.dropdown.subText",
                         "listItemSubFontColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.subText",
                         "showValue": false,
                         "listItemValueFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.dropdown.value",
                         "listItemValueFont": "#mdwTheme:vis-materialdesign.0.fonts.input.dropdown.value",
                         "listItemValueFontColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.value",
                         "signals-cond-0": "==",
                         "signals-val-0": true,
                         "signals-icon-0": "/vis/signals/lowbattery.png",
                         "signals-icon-size-0": 0,
                         "signals-blink-0": false,
                         "signals-horz-0": 0,
                         "signals-vert-0": 0,
                         "signals-hide-edit-0": false,
                         "signals-cond-1": "==",
                         "signals-val-1": true,
                         "signals-icon-1": "/vis/signals/lowbattery.png",
                         "signals-icon-size-1": 0,
                         "signals-blink-1": false,
                         "signals-horz-1": 0,
                         "signals-vert-1": 0,
                         "signals-hide-edit-1": false,
                         "signals-cond-2": "==",
                         "signals-val-2": true,
                         "signals-icon-2": "/vis/signals/lowbattery.png",
                         "signals-icon-size-2": 0,
                         "signals-blink-2": false,
                         "signals-horz-2": 0,
                         "signals-vert-2": 0,
                         "signals-hide-edit-2": false,
                         "lc-type": "last-change",
                         "lc-is-interval": true,
                         "lc-is-moment": false,
                         "lc-format": "",
                         "lc-position-vert": "top",
                         "lc-position-horz": "right",
                         "lc-offset-vert": 0,
                         "lc-offset-horz": 0,
                         "lc-font-size": "12px",
                         "lc-font-family": "",
                         "lc-font-style": "",
                         "lc-bkg-color": "",
                         "lc-color": "",
                         "lc-border-width": "0",
                         "lc-border-style": "",
                         "lc-border-color": "",
                         "lc-border-radius": 10,
                         "lc-zindex": 0,
                         "jsonStringObject": "{0_userdata.0.Spotify.Abfragen.PlaylistenJson}",
                         "valueList": "{0_userdata.0.Spotify.Abfragen.PlaylistenJson}",
                         "valueListLabels": "{0_userdata.0.Spotify.Abfragen.PlaylistenJson}",
                         "inputLabelText": "",
                         "listPositionOffset": true,
                         "inputLayoutBackgroundColor": "#1db954",
                         "inputLayoutBackgroundColorHover": "#1db954",
                         "inputLayoutBackgroundColorSelected": "#1db954",
                         "collapseIcon": ""
                     },
                     "style": {
                         "left": "647px",
                         "top": "121px",
                         "z-index": "10",
                         "width": "237px",
                         "height": "38px"
                     },
                     "widgetSet": "materialdesign"
                 },
                 "e00002": {
                     "tpl": "tplVis-materialdesign-Select",
                     "data": {
                         "oid": "0_userdata.0.Spotify.Funktionen.Titel_aktiv",
                         "g_fixed": false,
                         "g_visibility": false,
                         "g_css_font_text": false,
                         "g_css_background": false,
                         "g_css_shadow_padding": false,
                         "g_css_border": false,
                         "g_gestures": false,
                         "g_signals": false,
                         "g_last_change": false,
                         "visibility-cond": "==",
                         "visibility-val": 1,
                         "visibility-groups-action": "hide",
                         "inputType": "text",
                         "vibrateOnMobilDevices": "50",
                         "inputLayout": "solo",
                         "inputAlignment": "left",
                         "inputLayoutBorderColor": "#mdwTheme:vis-materialdesign.0.colors.input.border",
                         "inputLayoutBorderColorHover": "#mdwTheme:vis-materialdesign.0.colors.input.border_hover",
                         "inputLayoutBorderColorSelected": "#mdwTheme:vis-materialdesign.0.colors.input.border_selected",
                         "inputTextFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.text",
                         "inputTextFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.text",
                         "inputTextColor": "White",
                         "inputLabelColor": "#mdwTheme:vis-materialdesign.0.colors.input.label",
                         "inputLabelColorSelected": "#mdwTheme:vis-materialdesign.0.colors.input.label_selected",
                         "inputLabelFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.label",
                         "inputLabelFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.label",
                         "inputAppendixColor": "#mdwTheme:vis-materialdesign.0.colors.input.appendix",
                         "inputAppendixFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.appendix",
                         "inputAppendixFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.appendix",
                         "showInputMessageAlways": false,
                         "inputMessageFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.message",
                         "inputMessageFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.message",
                         "inputMessageColor": "#mdwTheme:vis-materialdesign.0.colors.input.message",
                         "showInputCounter": false,
                         "inputCounterColor": "#mdwTheme:vis-materialdesign.0.colors.input.counter",
                         "inputCounterFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.counter",
                         "inputCounterFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.input.counter",
                         "clearIconShow": false,
                         "clearIconColor": "#mdwTheme:vis-materialdesign.0.colors.input.icon_clear",
                         "collapseIconColor": "white",
                         "listDataMethod": "jsonStringObject",
                         "countSelectItems": "1",
                         "listPosition": "auto",
                         "listItemBackgroundColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.background",
                         "listItemBackgroundHoverColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.hover",
                         "listItemBackgroundSelectedColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.selected",
                         "listItemRippleEffectColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.effect",
                         "showSelectedIcon": "prepend-inner",
                         "listIconColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.icon",
                         "listItemFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.dropdown.text",
                         "listItemFont": "#mdwTheme:vis-materialdesign.0.fonts.input.dropdown.text",
                         "listItemFontColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.text",
                         "listItemSubFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.dropdown.subText",
                         "listItemSubFont": "#mdwTheme:vis-materialdesign.0.fonts.input.dropdown.subText",
                         "listItemSubFontColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.subText",
                         "showValue": false,
                         "listItemValueFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.input.dropdown.value",
                         "listItemValueFont": "#mdwTheme:vis-materialdesign.0.fonts.input.dropdown.value",
                         "listItemValueFontColor": "#mdwTheme:vis-materialdesign.0.colors.input.menu.value",
                         "signals-cond-0": "==",
                         "signals-val-0": true,
                         "signals-icon-0": "/vis/signals/lowbattery.png",
                         "signals-icon-size-0": 0,
                         "signals-blink-0": false,
                         "signals-horz-0": 0,
                         "signals-vert-0": 0,
                         "signals-hide-edit-0": false,
                         "signals-cond-1": "==",
                         "signals-val-1": true,
                         "signals-icon-1": "/vis/signals/lowbattery.png",
                         "signals-icon-size-1": 0,
                         "signals-blink-1": false,
                         "signals-horz-1": 0,
                         "signals-vert-1": 0,
                         "signals-hide-edit-1": false,
                         "signals-cond-2": "==",
                         "signals-val-2": true,
                         "signals-icon-2": "/vis/signals/lowbattery.png",
                         "signals-icon-size-2": 0,
                         "signals-blink-2": false,
                         "signals-horz-2": 0,
                         "signals-vert-2": 0,
                         "signals-hide-edit-2": false,
                         "lc-type": "last-change",
                         "lc-is-interval": true,
                         "lc-is-moment": false,
                         "lc-format": "",
                         "lc-position-vert": "top",
                         "lc-position-horz": "right",
                         "lc-offset-vert": 0,
                         "lc-offset-horz": 0,
                         "lc-font-size": "12px",
                         "lc-font-family": "",
                         "lc-font-style": "",
                         "lc-bkg-color": "",
                         "lc-color": "",
                         "lc-border-width": "0",
                         "lc-border-style": "",
                         "lc-border-color": "",
                         "lc-border-radius": 10,
                         "lc-zindex": 0,
                         "jsonStringObject": "{0_userdata.0.Spotify.Abfragen.Playlistentitel}",
                         "valueList": "{0_userdata.0.Spotify.Abfragen.Playlistentitel}",
                         "valueListLabels": "{0_userdata.0.Spotify.Abfragen.Playlistentitel}",
                         "inputLabelText": "",
                         "label0": "Titel",
                         "listPositionOffset": true,
                         "inputLayoutBackgroundColor": "#1db954",
                         "inputLayoutBackgroundColorHover": "#1db954",
                         "inputLayoutBackgroundColorSelected": "#1db954"
                     },
                     "style": {
                         "left": "1175px",
                         "top": "119px",
                         "z-index": "10",
                         "width": "491px",
                         "height": "38px"
                     },
                     "widgetSet": "materialdesign"
                 },
                 "e00003": {
                     "tpl": "tplVis-materialdesign-Button-State-vertical",
                     "data": {
                         "oid": "0_userdata.0.Spotify.Funktionen.Playliste_abspielen",
                         "g_fixed": false,
                         "g_visibility": false,
                         "g_css_font_text": true,
                         "g_css_background": false,
                         "g_css_shadow_padding": false,
                         "g_css_border": false,
                         "g_gestures": false,
                         "g_signals": false,
                         "g_last_change": false,
                         "buttonStyle": "raised",
                         "vibrateOnMobilDevices": "50",
                         "buttontext": "PLAY",
                         "textFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.button.vertical.text",
                         "textFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.button.vertical.text",
                         "alignment": "center",
                         "mdwButtonPrimaryColor": "#1db954",
                         "mdwButtonSecondaryColor": "#mdwTheme:vis-materialdesign.0.colors.button.default.secondary",
                         "image": "",
                         "iconPosition": "top",
                         "iconHeight": "26",
                         "autoLockAfter": "10",
                         "lockIconTop": "5",
                         "lockIconLeft": "5",
                         "lockIconColor": "#mdwTheme:vis-materialdesign.0.colors.button.lock_icon",
                         "lockFilterGrayscale": "30",
                         "signals-cond-0": "==",
                         "signals-val-0": true,
                         "signals-icon-0": "/vis/signals/lowbattery.png",
                         "signals-icon-size-0": 0,
                         "signals-blink-0": false,
                         "signals-horz-0": 0,
                         "signals-vert-0": 0,
                         "signals-hide-edit-0": false,
                         "signals-cond-1": "==",
                         "signals-val-1": true,
                         "signals-icon-1": "/vis/signals/lowbattery.png",
                         "signals-icon-size-1": 0,
                         "signals-blink-1": false,
                         "signals-horz-1": 0,
                         "signals-vert-1": 0,
                         "signals-hide-edit-1": false,
                         "signals-cond-2": "==",
                         "signals-val-2": true,
                         "signals-icon-2": "/vis/signals/lowbattery.png",
                         "signals-icon-size-2": 0,
                         "signals-blink-2": false,
                         "signals-horz-2": 0,
                         "signals-vert-2": 0,
                         "signals-hide-edit-2": false,
                         "lc-type": "last-change",
                         "lc-is-interval": true,
                         "lc-is-moment": false,
                         "lc-format": "",
                         "lc-position-vert": "top",
                         "lc-position-horz": "right",
                         "lc-offset-vert": 0,
                         "lc-offset-horz": 0,
                         "lc-font-size": "12px",
                         "lc-font-family": "",
                         "lc-font-style": "",
                         "lc-bkg-color": "",
                         "lc-color": "",
                         "lc-border-width": "0",
                         "lc-border-style": "",
                         "lc-border-color": "",
                         "lc-border-radius": 10,
                         "lc-zindex": 0,
                         "value": "true",
                         "lockEnabled": true,
                         "visibility-cond": "==",
                         "visibility-val": 1,
                         "visibility-groups-action": "hide"
                     },
                     "style": {
                         "left": "891px",
                         "top": "122px",
                         "z-index": "10",
                         "width": "100px",
                         "height": "39px",
                         "color": ""
                     },
                     "widgetSet": "materialdesign"
                 },
                 "e00004": {
                     "tpl": "tplVis-materialdesign-Button-State-vertical",
                     "data": {
                         "oid": "0_userdata.0.Spotify.Funktionen.Titel_abspielen",
                         "g_fixed": false,
                         "g_visibility": false,
                         "g_css_font_text": true,
                         "g_css_background": false,
                         "g_css_shadow_padding": false,
                         "g_css_border": false,
                         "g_gestures": false,
                         "g_signals": false,
                         "g_last_change": false,
                         "buttonStyle": "raised",
                         "vibrateOnMobilDevices": "50",
                         "buttontext": "PLAY",
                         "textFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.button.vertical.text",
                         "textFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.button.vertical.text",
                         "alignment": "center",
                         "mdwButtonPrimaryColor": "#1db954",
                         "mdwButtonSecondaryColor": "#mdwTheme:vis-materialdesign.0.colors.button.default.secondary",
                         "image": "",
                         "iconPosition": "top",
                         "iconHeight": "26",
                         "autoLockAfter": "10",
                         "lockIconTop": "5",
                         "lockIconLeft": "5",
                         "lockIconColor": "#mdwTheme:vis-materialdesign.0.colors.button.lock_icon",
                         "lockFilterGrayscale": "30",
                         "signals-cond-0": "==",
                         "signals-val-0": true,
                         "signals-icon-0": "/vis/signals/lowbattery.png",
                         "signals-icon-size-0": 0,
                         "signals-blink-0": false,
                         "signals-horz-0": 0,
                         "signals-vert-0": 0,
                         "signals-hide-edit-0": false,
                         "signals-cond-1": "==",
                         "signals-val-1": true,
                         "signals-icon-1": "/vis/signals/lowbattery.png",
                         "signals-icon-size-1": 0,
                         "signals-blink-1": false,
                         "signals-horz-1": 0,
                         "signals-vert-1": 0,
                         "signals-hide-edit-1": false,
                         "signals-cond-2": "==",
                         "signals-val-2": true,
                         "signals-icon-2": "/vis/signals/lowbattery.png",
                         "signals-icon-size-2": 0,
                         "signals-blink-2": false,
                         "signals-horz-2": 0,
                         "signals-vert-2": 0,
                         "signals-hide-edit-2": false,
                         "lc-type": "last-change",
                         "lc-is-interval": true,
                         "lc-is-moment": false,
                         "lc-format": "",
                         "lc-position-vert": "top",
                         "lc-position-horz": "right",
                         "lc-offset-vert": 0,
                         "lc-offset-horz": 0,
                         "lc-font-size": "12px",
                         "lc-font-family": "",
                         "lc-font-style": "",
                         "lc-bkg-color": "",
                         "lc-color": "",
                         "lc-border-width": "0",
                         "lc-border-style": "",
                         "lc-border-color": "",
                         "lc-border-radius": 10,
                         "lc-zindex": 0,
                         "value": "true",
                         "lockEnabled": true,
                         "visibility-cond": "==",
                         "visibility-val": 1,
                         "visibility-groups-action": "hide"
                     },
                     "style": {
                         "left": "1734px",
                         "top": "118px",
                         "z-index": "10",
                         "width": "100px",
                         "height": "39px",
                         "color": ""
                     },
                     "widgetSet": "materialdesign"
                 },
                 "e00005": {
                     "tpl": "tplVis-materialdesign-Button-Toggle",
                     "data": {
                         "oid": "0_userdata.0.Spotify.Funktionen.Sortieren",
                         "g_fixed": false,
                         "g_visibility": false,
                         "g_css_font_text": false,
                         "g_css_background": false,
                         "g_css_shadow_padding": false,
                         "g_css_border": false,
                         "g_gestures": false,
                         "g_signals": false,
                         "g_last_change": false,
                         "visibility-cond": "==",
                         "visibility-val": 1,
                         "visibility-groups-action": "hide",
                         "buttonStyle": "raised",
                         "toggleType": "boolean",
                         "stateIfNotTrueValue": "on",
                         "vibrateOnMobilDevices": "50",
                         "buttontext": "sort",
                         "textFontFamily": "#mdwTheme:vis-materialdesign.0.fonts.button.default.text",
                         "textFontSize": "#mdwTheme:vis-materialdesign.0.fontSizes.button.default.text",
                         "mdwButtonPrimaryColor": "#mdwTheme:vis-materialdesign.0.colors.button.default.primary",
                         "mdwButtonSecondaryColor": "#mdwTheme:vis-materialdesign.0.colors.button.default.secondary",
                         "image": "",
                         "iconPosition": "left",
                         "autoLockAfter": "10",
                         "lockIconColor": "#mdwTheme:vis-materialdesign.0.colors.button.lock_icon",
                         "lockFilterGrayscale": "30",
                         "signals-cond-0": "==",
                         "signals-val-0": true,
                         "signals-icon-0": "/vis/signals/lowbattery.png",
                         "signals-icon-size-0": 0,
                         "signals-blink-0": false,
                         "signals-horz-0": 0,
                         "signals-vert-0": 0,
                         "signals-hide-edit-0": false,
                         "signals-cond-1": "==",
                         "signals-val-1": true,
                         "signals-icon-1": "/vis/signals/lowbattery.png",
                         "signals-icon-size-1": 0,
                         "signals-blink-1": false,
                         "signals-horz-1": 0,
                         "signals-vert-1": 0,
                         "signals-hide-edit-1": false,
                         "signals-cond-2": "==",
                         "signals-val-2": true,
                         "signals-icon-2": "/vis/signals/lowbattery.png",
                         "signals-icon-size-2": 0,
                         "signals-blink-2": false,
                         "signals-horz-2": 0,
                         "signals-vert-2": 0,
                         "signals-hide-edit-2": false,
                         "lc-type": "last-change",
                         "lc-is-interval": true,
                         "lc-is-moment": false,
                         "lc-format": "",
                         "lc-position-vert": "top",
                         "lc-position-horz": "right",
                         "lc-offset-vert": 0,
                         "lc-offset-horz": 0,
                         "lc-font-size": "12px",
                         "lc-font-family": "",
                         "lc-font-style": "",
                         "lc-bkg-color": "",
                         "lc-color": "",
                         "lc-border-width": "0",
                         "lc-border-style": "",
                         "lc-border-color": "",
                         "lc-border-radius": 10,
                         "lc-zindex": 0,
                         "valueOff": "false",
                         "valueOn": "true",
                         "labelTrue": "unsort"
                     },
                     "style": {
                         "left": "1671px",
                         "top": "120px",
                         "z-index": "10",
                         "width": "57px",
                         "height": "37px"
                     },
                     "widgetSet": "materialdesign"
                 }
             },
             "rerender": false,
             "filterList": [],
             "name": "Spotify_test"
          }
          

          Dann mal viel Spass !

          edit: ich bastel grad noch ein viertes Skript um das jeweilige Echo-Device auszuwählen 😉

          C Offline
          C Offline
          Coffeelover
          wrote on last edited by
          #4

          Traumhaft beschrieben und toll umgesetzt. Ich denke, das muss getestet werden. 😇

          Hast du eine Empfehlung der Adapterversion zum Bier? 😏

          DJMarc75D 1 Reply Last reply
          0
          • C Coffeelover

            Traumhaft beschrieben und toll umgesetzt. Ich denke, das muss getestet werden. 😇

            Hast du eine Empfehlung der Adapterversion zum Bier? 😏

            DJMarc75D Offline
            DJMarc75D Offline
            DJMarc75
            wrote on last edited by DJMarc75
            #5

            @coffeelover sagte in [HowTo] Spotify mit 3 Skripten in VIS steuern:

            Empfehlung der Adapterversion zum Bier?

            Ach das ist Geschmackssache - ich bevorzuge bei solchen Umständen Edeka 5.0 😂

            Lehrling seit 1975 !!!
            Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
            https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

            1 Reply Last reply
            0
            • DJMarc75D Offline
              DJMarc75D Offline
              DJMarc75
              wrote on last edited by
              #6

              Änderung - bitte beachten:

              Screenshot 2023-04-30 002255.png

              Die gelb markierten MÜSSEN angelegt werden !
              Und zwar als entsprechende Typen:

              blau = Zeichenkette (string)
              rot = JSON
              grün = Logikwert (boolean)

              und Blockly 1:

              <xml xmlns="https://developers.google.com/blockly/xml">
              
              <variables>
              
                <variable id="`e/`Y|g1yt[LqDde4cUg">myID</variable>
              
                <variable id="$TGe7c|7mWim[0^Ny-*8">playlisten</variable>
              
                <variable id="[QeIC8qHOO}iRj@3P(|N">aufzählung</variable>
              
                <variable id="N,1;Xiv_dRREPF,8/-wJ">playlistenvalue</variable>
              
                <variable id="qMuUH@n;-29I9Zy:c5R[">i</variable>
              
                <variable id="A+R4;J!yy4e`~.6+ePot">playliste</variable>
              
                <variable id="}bdAPzw$S|-/d[[-/l,Z">sort</variable>
              
                <variable id="ZNIImHZ1MQl]hTTqQ}lA">details</variable>
              
                <variable id="GG0W8(KE08)VPNlHI[Pf">playlistname</variable>
              
                <variable id="/EUEs^+niuBI+e=^qt[;">objekt</variable>
              
              </variables>
              
              <block type="procedures_defcustomreturn" id="RR9RFRWFc/U|Eb-mEDPq" x="413" y="-287">
              
                <mutation statements="false">
              
                  <arg name="myID" varid="`e/`Y|g1yt[LqDde4cUg"></arg>
              
                </mutation>
              
                <field name="NAME">Volume</field>
              
                <field name="SCRIPT">cmV0dXJuIG15SUQucmVwbGFjZSgib3duZXIiLCJpZCIpOyA=</field>
              
                <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
              
              </block>
              
              <block type="schedule" id="v)gNpr{TWUHp]Rp?,fRx" x="413" y="-237">
              
                <field name="SCHEDULE">* * * * *</field>
              
                <statement name="STATEMENT">
              
                  <block type="variables_set" id="w7(2wOFE|5;iazx$?Z7o">
              
                    <field name="VAR" id="$TGe7c|7mWim[0^Ny-*8">playlisten</field>
              
                    <value name="VALUE">
              
                      <block type="lists_create_with" id="uiJM8.UYKR8_U;y?V%NP">
              
                        <mutation items="0"></mutation>
              
                      </block>
              
                    </value>
              
                    <next>
              
                      <block type="variables_set" id="t14i7X.yb2(.R*9jvPgw">
              
                        <field name="VAR" id="[QeIC8qHOO}iRj@3P(|N">aufzählung</field>
              
                        <value name="VALUE">
              
                          <block type="selector" id="C9/ux5=-jtW1Btdde^}X">
              
                            <field name="TEXT">spotify-premium.0.playlists.*.owner</field>
              
                          </block>
              
                        </value>
              
                        <next>
              
                          <block type="controls_forEach" id="KMParn:4JO}?|=6rRZ3/">
              
                            <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
              
                            <value name="LIST">
              
                              <block type="variables_get" id="93l(X1e$@Zw2W@SRa-zt">
              
                                <field name="VAR" id="[QeIC8qHOO}iRj@3P(|N">aufzählung</field>
              
                              </block>
              
                            </value>
              
                            <statement name="DO">
              
                              <block type="variables_set" id="nFUq5t{=rjRzLuv7|_7*">
              
                                <field name="VAR" id="ZNIImHZ1MQl]hTTqQ}lA">details</field>
              
                                <value name="VALUE">
              
                                  <block type="text_join" id="#G?!I#aw1$e1pw|G1gCy">
              
                                    <mutation items="3"></mutation>
              
                                    <value name="ADD0">
              
                                      <block type="get_value_var" id="8]!;mtn.FPvqXs#maqbU">
              
                                        <field name="ATTR">val</field>
              
                                        <value name="OID">
              
                                          <shadow type="text" id="iVY`N{H/f2dO@C4Afx@K">
              
                                            <field name="TEXT"></field>
              
                                          </shadow>
              
                                          <block type="variables_get" id="oY9g#X,AVw.7x^e-S12Q">
              
                                            <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
              
                                          </block>
              
                                        </value>
              
                                      </block>
              
                                    </value>
              
                                    <value name="ADD1">
              
                                      <block type="text" id="w{$d5zn^.i*,=HPhhnhz">
              
                                        <field name="TEXT">-</field>
              
                                      </block>
              
                                    </value>
              
                                    <value name="ADD2">
              
                                      <block type="get_value_var" id="jlp2U?dgV?;$*C*:oIAN">
              
                                        <field name="ATTR">val</field>
              
                                        <value name="OID">
              
                                          <shadow type="text" id="=t7W$G`{Ted|g{^//H:N">
              
                                            <field name="TEXT"></field>
              
                                          </shadow>
              
                                          <block type="procedures_callcustomreturn" id="~G;rOPc:$(#.R7pX4R]C">
              
                                            <mutation name="Volume">
              
                                              <arg name="myID"></arg>
              
                                            </mutation>
              
                                            <value name="ARG0">
              
                                              <block type="variables_get" id="c8dP!+37I60ar)HJ,7W~">
              
                                                <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
              
                                              </block>
              
                                            </value>
              
                                          </block>
              
                                        </value>
              
                                      </block>
              
                                    </value>
              
                                  </block>
              
                                </value>
              
                                <next>
              
                                  <block type="lists_setIndex" id="GnsPh(wPQ:|fHk[^`GDB">
              
                                    <mutation at="false"></mutation>
              
                                    <field name="MODE">INSERT</field>
              
                                    <field name="WHERE">FIRST</field>
              
                                    <value name="LIST">
              
                                      <block type="variables_get" id="YG--O]pa?xj?ghx6D]J~">
              
                                        <field name="VAR" id="$TGe7c|7mWim[0^Ny-*8">playlisten</field>
              
                                      </block>
              
                                    </value>
              
                                    <value name="TO">
              
                                      <block type="variables_get" id="o$+U#tYe,Jgy7?E/2RD/">
              
                                        <field name="VAR" id="ZNIImHZ1MQl]hTTqQ}lA">details</field>
              
                                      </block>
              
                                    </value>
              
                                  </block>
              
                                </next>
              
                              </block>
              
                            </statement>
              
                            <next>
              
                              <block type="update" id="mBt,,:8+-i+LDbBY_|M[">
              
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              
                                <field name="OID">0_userdata.0.Spotify.Abfragen.PlaylistenString</field>
              
                                <field name="WITH_DELAY">FALSE</field>
              
                                <value name="VALUE">
              
                                  <block type="convert_tostring" id="0A!bLCVE=_ha#_0.gL]W">
              
                                    <value name="VALUE">
              
                                      <block type="variables_get" id="@EHd.08D$*1*n!E+~tWq">
              
                                        <field name="VAR" id="$TGe7c|7mWim[0^Ny-*8">playlisten</field>
              
                                      </block>
              
                                    </value>
              
                                  </block>
              
                                </value>
              
                              </block>
              
                            </next>
              
                          </block>
              
                        </next>
              
                      </block>
              
                    </next>
              
                  </block>
              
                </statement>
              
                <next>
              
                  <block type="on_ext" id="c9?9Yrk,d9L[h~nN7`hb" collapsed="true">
              
                    <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
              
                    <field name="CONDITION">any</field>
              
                    <field name="ACK_CONDITION"></field>
              
                    <value name="OID0">
              
                      <shadow type="field_oid" id="kDimQ14Dx+/o{VekX+L*">
              
                        <field name="oid">0_userdata.0.Spotify.Abfragen.PlaylistenString</field>
              
                      </shadow>
              
                    </value>
              
                    <statement name="STATEMENT">
              
                      <block type="variables_set" id="JQ):y1@NaZ?XpAlHIA,d">
              
                        <field name="VAR" id="N,1;Xiv_dRREPF,8/-wJ">playlistenvalue</field>
              
                        <value name="VALUE">
              
                          <block type="lists_create_with" id="WyOtpnpIVB`g=OsA}YXN">
              
                            <mutation items="0"></mutation>
              
                          </block>
              
                        </value>
              
                        <next>
              
                          <block type="variables_set" id="hmgj;!53T_`9:3mm3iWL">
              
                            <field name="VAR" id="A+R4;J!yy4e`~.6+ePot">playliste</field>
              
                            <value name="VALUE">
              
                              <block type="lists_split" id="MglvOaZoo`udzPbSgs-g">
              
                                <mutation mode="SPLIT"></mutation>
              
                                <field name="MODE">SPLIT</field>
              
                                <value name="INPUT">
              
                                  <block type="on_source" id="hHo7ewq_DxyE,g|`@,+A">
              
                                    <field name="ATTR">state.val</field>
              
                                  </block>
              
                                </value>
              
                                <value name="DELIM">
              
                                  <shadow type="text" id="ec}^V3zQKdCOH5g#M`u9">
              
                                    <field name="TEXT">,</field>
              
                                  </shadow>
              
                                </value>
              
                              </block>
              
                            </value>
              
                            <next>
              
                              <block type="controls_forEach" id="ajZPSo8S{qF=ttM[GXd^">
              
                                <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
              
                                <value name="LIST">
              
                                  <block type="variables_get" id="]IVi}17qyYUKJ.`tI$QB">
              
                                    <field name="VAR" id="A+R4;J!yy4e`~.6+ePot">playliste</field>
              
                                  </block>
              
                                </value>
              
                                <statement name="DO">
              
                                  <block type="variables_set" id="e1LQ~RSotlmf$7aKe|kK">
              
                                    <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">playlistname</field>
              
                                    <value name="VALUE">
              
                                      <block type="text_join" id="Zh+$rKf0e)bAv4`ZO_Ll">
              
                                        <mutation items="3"></mutation>
              
                                        <value name="ADD0">
              
                                          <block type="text" id="!5E!q8~IZl=lVe:D1e{A">
              
                                            <field name="TEXT">spotify-premium.0.playlists.</field>
              
                                          </block>
              
                                        </value>
              
                                        <value name="ADD1">
              
                                          <block type="variables_get" id="iJRgR1_a,1RwRD)V)eQ5">
              
                                            <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
              
                                          </block>
              
                                        </value>
              
                                        <value name="ADD2">
              
                                          <block type="text" id="Pc/gxiQ/)FablTHX@uI}">
              
                                            <field name="TEXT">.name</field>
              
                                          </block>
              
                                        </value>
              
                                      </block>
              
                                    </value>
              
                                    <next>
              
                                      <block type="variables_set" id="1n=Ui6Zxw{1L{BnIf:=]">
              
                                        <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">playlistname</field>
              
                                        <value name="VALUE">
              
                                          <block type="text_changeCase" id="Vus*D9$BEok35qz$fC:j">
              
                                            <field name="CASE">UPPERCASE</field>
              
                                            <value name="TEXT">
              
                                              <shadow type="text" id="RRDka23`)BruPQ:r.*o4">
              
                                                <field name="TEXT">abc</field>
              
                                              </shadow>
              
                                              <block type="get_value_var" id="(]Wp^Y65HmVHHaYEHsW}">
              
                                                <field name="ATTR">val</field>
              
                                                <value name="OID">
              
                                                  <shadow type="text" id="x|UlQ#_RiFjEu+,I]b9y">
              
                                                    <field name="TEXT"></field>
              
                                                  </shadow>
              
                                                  <block type="variables_get" id="cIgV)^8{CWQc0M$bpa1=">
              
                                                    <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">playlistname</field>
              
                                                  </block>
              
                                                </value>
              
                                              </block>
              
                                            </value>
              
                                          </block>
              
                                        </value>
              
                                        <next>
              
                                          <block type="variables_set" id="ctRCBlP?@p!a#y,H7@QO">
              
                                            <field name="VAR" id="/EUEs^+niuBI+e=^qt[;">objekt</field>
              
                                            <value name="VALUE">
              
                                              <block type="text_join" id="4_Ve~kk8N!pfB:}*Fq,m">
              
                                                <mutation items="5"></mutation>
              
                                                <value name="ADD0">
              
                                                  <block type="text" id="w6~`xjx1m!+}@#ll)$Dy">
              
                                                    <field name="TEXT">{"text":"</field>
              
                                                  </block>
              
                                                </value>
              
                                                <value name="ADD1">
              
                                                  <block type="variables_get" id="BhfbH7mGwwQ{AkhnB!Il">
              
                                                    <field name="VAR" id="GG0W8(KE08)VPNlHI[Pf">playlistname</field>
              
                                                  </block>
              
                                                </value>
              
                                                <value name="ADD2">
              
                                                  <block type="text" id="BNT~cKhc$)L-sab^%C#W">
              
                                                    <field name="TEXT">","value":"</field>
              
                                                  </block>
              
                                                </value>
              
                                                <value name="ADD3">
              
                                                  <block type="variables_get" id="tSH=LGTCgKrty7^ODOR+">
              
                                                    <field name="VAR" id="qMuUH@n;-29I9Zy:c5R[">i</field>
              
                                                  </block>
              
                                                </value>
              
                                                <value name="ADD4">
              
                                                  <block type="text" id="E+,QRlEw5Z_l)LdngzI7">
              
                                                    <field name="TEXT">"}</field>
              
                                                  </block>
              
                                                </value>
              
                                              </block>
              
                                            </value>
              
                                            <next>
              
                                              <block type="lists_setIndex" id="-t?`LwYqo*=Y=2nXV8#,">
              
                                                <mutation at="false"></mutation>
              
                                                <field name="MODE">INSERT</field>
              
                                                <field name="WHERE">LAST</field>
              
                                                <value name="LIST">
              
                                                  <block type="variables_get" id=".V^Ym4@]Fhdr?l9+Nq#9">
              
                                                    <field name="VAR" id="N,1;Xiv_dRREPF,8/-wJ">playlistenvalue</field>
              
                                                  </block>
              
                                                </value>
              
                                                <value name="TO">
              
                                                  <block type="variables_get" id="W[x--|G]LH#5r0`8p?O]">
              
                                                    <field name="VAR" id="/EUEs^+niuBI+e=^qt[;">objekt</field>
              
                                                  </block>
              
                                                </value>
              
                                              </block>
              
                                            </next>
              
                                          </block>
              
                                        </next>
              
                                      </block>
              
                                    </next>
              
                                  </block>
              
                                </statement>
              
                                <next>
              
                                  <block type="update" id="~ZX+.IRW/f7rLWP]fg[}">
              
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              
                                    <field name="OID">0_userdata.0.Spotify.Abfragen.PlaylistenJson</field>
              
                                    <field name="WITH_DELAY">FALSE</field>
              
                                    <value name="VALUE">
              
                                      <block type="text_join" id="H,aFJ^iP^rS)IF*A8wCH">
              
                                        <mutation items="3"></mutation>
              
                                        <value name="ADD0">
              
                                          <block type="text" id="YOZXyHT};meRwyIV%vK|">
              
                                            <field name="TEXT">[</field>
              
                                          </block>
              
                                        </value>
              
                                        <value name="ADD1">
              
                                          <block type="convert_tostring" id="KUGB8iC2OgPko%Zegw`N">
              
                                            <value name="VALUE">
              
                                              <block type="variables_get" id="Oh$A$:X!.P`rQfq~=]Q.">
              
                                                <field name="VAR" id="N,1;Xiv_dRREPF,8/-wJ">playlistenvalue</field>
              
                                              </block>
              
                                            </value>
              
                                          </block>
              
                                        </value>
              
                                        <value name="ADD2">
              
                                          <block type="text" id="+c?.o6iDZ|Kz6.VapK:s">
              
                                            <field name="TEXT">]</field>
              
                                          </block>
              
                                        </value>
              
                                      </block>
              
                                    </value>
              
                                  </block>
              
                                </next>
              
                              </block>
              
                            </next>
              
                          </block>
              
                        </next>
              
                      </block>
              
                    </statement>
              
                    <next>
              
                      <block type="on_ext" id="Y9nt~=KFwh++B,GZEC/[">
              
                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
              
                        <field name="CONDITION">ne</field>
              
                        <field name="ACK_CONDITION"></field>
              
                        <value name="OID0">
              
                          <shadow type="field_oid" id="_1|!z,QoR;MXd/.r[Dtz">
              
                            <field name="oid">0_userdata.0.Spotify.Abfragen.PlaylistenJson</field>
              
                          </shadow>
              
                        </value>
              
                        <statement name="STATEMENT">
              
                          <block type="variables_set" id="/$wu0snvyjSUP+.-`ev}">
              
                            <field name="VAR" id="}bdAPzw$S|-/d[[-/l,Z">sort</field>
              
                            <value name="VALUE">
              
                              <block type="convert_json2object" id="m}Hn/h@KIi9NO.d4U+r.">
              
                                <value name="VALUE">
              
                                  <block type="on_source" id="#I4@5[v]pi;H=eCg1IW`">
              
                                    <field name="ATTR">state.val</field>
              
                                  </block>
              
                                </value>
              
                              </block>
              
                            </value>
              
                            <next>
              
                              <block type="update" id="lYi:d~xT7!X0xFJl*,#v">
              
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              
                                <field name="OID">0_userdata.0.Spotify.Abfragen.PlaylistenJson</field>
              
                                <field name="WITH_DELAY">FALSE</field>
              
                                <value name="VALUE">
              
                                  <block type="convert_object2json" id="n6zNe:p_z=T;PNhAf9JV">
              
                                    <field name="PRETTIFY">FALSE</field>
              
                                    <value name="VALUE">
              
                                      <block type="convert_jsonata" id="CcN./1!@a^}k7uiJN4rA">
              
                                        <value name="EXPRESSION">
              
                                          <shadow type="text" id="ck_hXCIkQZU=+#$g^`!G">
              
                                            <field name="TEXT">*</field>
              
                                          </shadow>
              
                                          <block type="text" id="GG{)CJ)JxbrU)*?WUwY%">
              
                                            <field name="TEXT">$^(&lt;text)</field>
              
                                          </block>
              
                                        </value>
              
                                        <value name="TARGET">
              
                                          <block type="variables_get" id="TU`:gvnqE)R/$XKot06w">
              
                                            <field name="VAR" id="}bdAPzw$S|-/d[[-/l,Z">sort</field>
              
                                          </block>
              
                                        </value>
              
                                      </block>
              
                                    </value>
              
                                  </block>
              
                                </value>
              
                              </block>
              
                            </next>
              
                          </block>
              
                        </statement>
              
                      </block>
              
                    </next>
              
                  </block>
              
                </next>
              
              </block>
              
              </xml>
              

              Lehrling seit 1975 !!!
              Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
              https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

              1 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              Support us

              ioBroker
              Community Adapters
              Donate

              52

              Online

              32.4k

              Users

              81.3k

              Topics

              1.3m

              Posts
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              ioBroker Community 2014-2025
              logo
              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Recent
              • Tags
              • Unread 0
              • Categories
              • Unreplied
              • Popular
              • GitHub
              • Docu
              • Hilfe