Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test/Support Adapter SqueezeboxRPC

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Test/Support Adapter SqueezeboxRPC

Geplant Angeheftet Gesperrt Verschoben Tester
squeezeboxrpc adapter
376 Beiträge 29 Kommentatoren 78.5k Aufrufe 31 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • metaxaM metaxa

    @OliverIO lieben Dank für deine rasche Reaktion!

    @OliverIO sagte in Test Adapter SqueezeboxRPC v0.8.x Latest:

    Mit dem datenpunkt
    cmdPlayFavorite Und
    cmdPlayUrl
    Kannst du einzelne Dateien abspielen lassen.
    Ob das vom timing her klappt musst du ausprobieren.

    Davon bin ich ursprünglich ausgegangen. Kann wunderbar einzelne mp3 aufrufen und abspielen, finde jedoch keine Syntax wie z.B.:

    file:///volume1/music/Squeeze/002_Andreas.mp3; file:///volume1/music/Squeeze/001_Renata.mp3
    oder
    file:///volume1/music/Squeeze/002_Andreas.mp3 & file:///volume1/music/Squeeze/001_Renata.mp3
    

    @OliverIO sagte in Test Adapter SqueezeboxRPC v0.8.x Latest:

    Die nächste Möglichkeit wäre für eine Ansage eine individuelle Playlist zu erzeugen und die dann abspielen lassen.

    Dazu habe ich nicht wirklich - für mich schlüssiges - gefunden. VLC, Winamp, etc. habe ich in diesem Thread gefunden, da fehlt mir aber voll der Plan umsomehr ich die Ansteuerung des LMS mit Blockly verwirklichen möchte.

    @OliverIO sagte in Test Adapter SqueezeboxRPC v0.8.x Latest:

    Besser wäre es natürlich die Ansage jedesmal individuell in eine mp3 Datei zu schreiben und diese dann abspielen lassen. Zusammenfügen von mp3 unter linux geht mit dem Programm mp3wrap.
    Beachte, alle Dateien müssen so vorliegen, das der lms drauf zugreifen kann.

    Das werde ich mir näher ansehen, bis dato versuche ich nur alles zu vermeiden auf der virtuellen Maschine wo iO läuft, zusätzliche Linuxprogramme zu installieren. In erster Linie wegen eines eventuellen Neuaufsetzen.

    Deine erstgenannten Möglichkeiten wären mir von daher das Liebste :-)
    Frage: Kannst du mir zum Erstellen von individuellen Playlists mehr sagen?

    LG, mxa

    metaxaM Offline
    metaxaM Offline
    metaxa
    schrieb am zuletzt editiert von metaxa
    #188

    Edit zu oberhalb: mit dem Linux Befehl cat (unter Problemlösungen) funktioniert es blitzschnell! (Geht aber nur, wenn die Bitrate ident ist) z.B.:

    cat 002_Andreas.mp3 001_Renata.mp3 > kombi.mp3
    

    Jetzt muss ich mal schauen, wie ich das real mit Blockly umsetze.

    @OliverIO danke für den Schubs in die Richtung!

    OliverIOO 1 Antwort Letzte Antwort
    0
    • metaxaM metaxa

      @OliverIO lieben Dank für deine rasche Reaktion!

      @OliverIO sagte in Test Adapter SqueezeboxRPC v0.8.x Latest:

      Mit dem datenpunkt
      cmdPlayFavorite Und
      cmdPlayUrl
      Kannst du einzelne Dateien abspielen lassen.
      Ob das vom timing her klappt musst du ausprobieren.

      Davon bin ich ursprünglich ausgegangen. Kann wunderbar einzelne mp3 aufrufen und abspielen, finde jedoch keine Syntax wie z.B.:

      file:///volume1/music/Squeeze/002_Andreas.mp3; file:///volume1/music/Squeeze/001_Renata.mp3
      oder
      file:///volume1/music/Squeeze/002_Andreas.mp3 & file:///volume1/music/Squeeze/001_Renata.mp3
      

      @OliverIO sagte in Test Adapter SqueezeboxRPC v0.8.x Latest:

      Die nächste Möglichkeit wäre für eine Ansage eine individuelle Playlist zu erzeugen und die dann abspielen lassen.

      Dazu habe ich nicht wirklich - für mich schlüssiges - gefunden. VLC, Winamp, etc. habe ich in diesem Thread gefunden, da fehlt mir aber voll der Plan umsomehr ich die Ansteuerung des LMS mit Blockly verwirklichen möchte.

      @OliverIO sagte in Test Adapter SqueezeboxRPC v0.8.x Latest:

      Besser wäre es natürlich die Ansage jedesmal individuell in eine mp3 Datei zu schreiben und diese dann abspielen lassen. Zusammenfügen von mp3 unter linux geht mit dem Programm mp3wrap.
      Beachte, alle Dateien müssen so vorliegen, das der lms drauf zugreifen kann.

      Das werde ich mir näher ansehen, bis dato versuche ich nur alles zu vermeiden auf der virtuellen Maschine wo iO läuft, zusätzliche Linuxprogramme zu installieren. In erster Linie wegen eines eventuellen Neuaufsetzen.

      Deine erstgenannten Möglichkeiten wären mir von daher das Liebste :-)
      Frage: Kannst du mir zum Erstellen von individuellen Playlists mehr sagen?

      LG, mxa

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von
      #189

      @metaxa
      Verketten von Dateien geht gemäß LMS-konvention nicht. Wie gesagt, dazu musst du eine Playlist erstellen. Die Beschreibung des formats findest du hier
      https://de.wikipedia.org/wiki/M3U
      http://www.scvi.net/pls.htm
      LMS kann M3U und PLS, beide Formate wurden damals von Nullsoft/winamp erfunden.
      Zum abspielen dann die url zur playlist an den LMS übergeben.

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      1 Antwort Letzte Antwort
      1
      • metaxaM metaxa

        Edit zu oberhalb: mit dem Linux Befehl cat (unter Problemlösungen) funktioniert es blitzschnell! (Geht aber nur, wenn die Bitrate ident ist) z.B.:

        cat 002_Andreas.mp3 001_Renata.mp3 > kombi.mp3
        

        Jetzt muss ich mal schauen, wie ich das real mit Blockly umsetze.

        @OliverIO danke für den Schubs in die Richtung!

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von
        #190

        @metaxa
        Wenn cat funktioniert, dann super. da du die mp3 dateien ja vorproduzierst, kannst du die kodierung ja selbst bestimmen.
        ansonsten hier die deutsche beschreibung für mp3wrap
        https://wiki.ubuntuusers.de/mp3wrap/

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        OliverIOO 1 Antwort Letzte Antwort
        1
        • OliverIOO OliverIO

          @metaxa
          Wenn cat funktioniert, dann super. da du die mp3 dateien ja vorproduzierst, kannst du die kodierung ja selbst bestimmen.
          ansonsten hier die deutsche beschreibung für mp3wrap
          https://wiki.ubuntuusers.de/mp3wrap/

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von
          #191

          @OliverIO
          mir ist da noch ein LMS-plugin eingefallen. ob das noch richtig funktioniert
          weiß ich nicht.
          https://www.nexus0.net/pub/sw/lmsannounce/

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          metaxaM 1 Antwort Letzte Antwort
          1
          • OliverIOO OliverIO

            @OliverIO
            mir ist da noch ein LMS-plugin eingefallen. ob das noch richtig funktioniert
            weiß ich nicht.
            https://www.nexus0.net/pub/sw/lmsannounce/

            metaxaM Offline
            metaxaM Offline
            metaxa
            schrieb am zuletzt editiert von metaxa
            #192

            @OliverIO danke für die weiteren Links.
            Auf der https://wiki.ubuntuusers.de/mp3wrap/ habe ich den Hinweis mit cat gefunden und mittlerweile auch schon damit ein wenig herumprobiert. Für mich optimal, ja, weil ich die Standardansagen schon alle vorliegen habe. Genau so eine Lösung hatte ich gesucht!
            In dem Link steht zwar 'cat' macht nur bei gleicher bitrate Sinn, ich habs dennoch versucht und funktioniert auch. Das Ergebnis wird augenscheinlich auf die geringste Bitrate angepasst.

            Lieben Dank und Grüße aus Wien, mxa

            OliverIOO 1 Antwort Letzte Antwort
            0
            • metaxaM metaxa

              @OliverIO danke für die weiteren Links.
              Auf der https://wiki.ubuntuusers.de/mp3wrap/ habe ich den Hinweis mit cat gefunden und mittlerweile auch schon damit ein wenig herumprobiert. Für mich optimal, ja, weil ich die Standardansagen schon alle vorliegen habe. Genau so eine Lösung hatte ich gesucht!
              In dem Link steht zwar 'cat' macht nur bei gleicher bitrate Sinn, ich habs dennoch versucht und funktioniert auch. Das Ergebnis wird augenscheinlich auf die geringste Bitrate angepasst.

              Lieben Dank und Grüße aus Wien, mxa

              OliverIOO Offline
              OliverIOO Offline
              OliverIO
              schrieb am zuletzt editiert von
              #193

              @metaxa
              cat fügt dateien einfach nur binär hintereinander.
              cat ist es egal um welche daten es sich da handelt

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              1 Antwort Letzte Antwort
              1
              • metaxaM metaxa

                Hallo, ich beschäftige mich nun seit heute morgen mit diesem Adapter und meiner Herausforderung :-)

                Danke @OliverIO für deine viele Arbeit mit dem Adapter!

                Ich will/wollte mit dem LMS meinen Homematic.mp3 Player für meine Uhrzeitansagen, Temperaturen, etc ... ablösen. Technisch hätte ich jetzt schon einiges beisammen, Player auf einem Raspi1(!!!) läuft einwandfrei, ich kann auch Favoriten auswählen und abspielen.

                Aber, ich finde seit Stunden keine Möglichkeit, verschiedene mp3 blocklygesteuert hintereinander abzuspielen. Mir liegen alle notwendigen Files vor. z.B. "20 Uhr" und ein weiteres mit "3", die hinterienander abgespielt, ergibt "20Uhr3". Dies ändert sich natürlich laufend, bzw auch die Aussentemperaturen werden manchesmal aus 2 Files zusammengestellt.

                Habe ich da irgendwas übersehen, oder grundsätzlich mißverstanden?

                LG, mxa

                I Offline
                I Offline
                iobroker_Alex
                schrieb am zuletzt editiert von
                #194

                @metaxa meine Idee dazu: du installierst in iobroker den Adapter tts say it und wählst „linux Ausgabe“ tts erstellt dann bei jedem speak Befehl eine mp3 diese schiebst du per cp auf lms und danach spielst du es ab. Zwischen dem erzeugen und kopieren müssen ein paar ms Pause sein, sonst spielt er das „alte“ ab. Funktioniert so...

                metaxaM 1 Antwort Letzte Antwort
                0
                • I iobroker_Alex

                  @metaxa meine Idee dazu: du installierst in iobroker den Adapter tts say it und wählst „linux Ausgabe“ tts erstellt dann bei jedem speak Befehl eine mp3 diese schiebst du per cp auf lms und danach spielst du es ab. Zwischen dem erzeugen und kopieren müssen ein paar ms Pause sein, sonst spielt er das „alte“ ab. Funktioniert so...

                  metaxaM Offline
                  metaxaM Offline
                  metaxa
                  schrieb am zuletzt editiert von
                  #195

                  @iobroker_Alex
                  danke für deine Rückmeldung!

                  @iobroker_Alex sagte in Test Adapter SqueezeboxRPC v0.8.x Latest:

                  wählst „linux Ausgabe“

                  Wo genau wäre das bitte einzustellen?
                  bf62f125-7d24-44fd-8009-79d1089747ff-grafik.png
                  5edd0870-6f95-41c2-a512-94c2465843a9-grafik.png
                  Beschäftige mich schon länger mit SayIt, passend wäre da nur "System".
                  15d7802c-45b8-44e1-9faf-018f3b906d64-grafik.png
                  LG

                  1 Antwort Letzte Antwort
                  0
                  • S Offline
                    S Offline
                    stsch83
                    schrieb am zuletzt editiert von
                    #196

                    Hallo, ich spiele seit ein paar Tagen mit dem Adapter herum und muss sagen er funktioniert hervorragen.

                    Nun zu meiner Frage: gibt es eine Möglichkeit in blocky herauszufinden, wie viele Favoriten ich habe? Zum Hintergrund. Ich habe mir einen Taster mit 4 Buttons von Aqara besorgt (16€).

                    Oben links - langer Tastendruck: player ausschalten
                    Oben links - kurzer Tastendruck: player volume kleiner

                    Oben rechts - langer Tastendruck: player einschalten
                    Oben rechts - kurzer Tastendruck: player volume größer

                    Unten links - kurzer Tastendruck: vorheriger Favorit
                    Unten rechts - kurzer Tastendruck: nächster Favorit

                    Ich möchte die Favoriten in einer Art Karussell durchschalten können. Dafür benötige ich allerdings die Anzahl der vorhandenen Favoriten.

                    Favoriten sind bei mir aktuell nur Radiosender.

                    OliverIOO W 2 Antworten Letzte Antwort
                    0
                    • S stsch83

                      Hallo, ich spiele seit ein paar Tagen mit dem Adapter herum und muss sagen er funktioniert hervorragen.

                      Nun zu meiner Frage: gibt es eine Möglichkeit in blocky herauszufinden, wie viele Favoriten ich habe? Zum Hintergrund. Ich habe mir einen Taster mit 4 Buttons von Aqara besorgt (16€).

                      Oben links - langer Tastendruck: player ausschalten
                      Oben links - kurzer Tastendruck: player volume kleiner

                      Oben rechts - langer Tastendruck: player einschalten
                      Oben rechts - kurzer Tastendruck: player volume größer

                      Unten links - kurzer Tastendruck: vorheriger Favorit
                      Unten rechts - kurzer Tastendruck: nächster Favorit

                      Ich möchte die Favoriten in einer Art Karussell durchschalten können. Dafür benötige ich allerdings die Anzahl der vorhandenen Favoriten.

                      Favoriten sind bei mir aktuell nur Radiosender.

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      schrieb am zuletzt editiert von
                      #197

                      @stsch83
                      Mit blockly kenne ich mich leider gar nicht aus.
                      Mit javascript müsste man einfach alle states unter squeezeboxrpc.0.Favoriten abrufen und durch 6 teilen.

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      S 1 Antwort Letzte Antwort
                      0
                      • OliverIOO OliverIO

                        @stsch83
                        Mit blockly kenne ich mich leider gar nicht aus.
                        Mit javascript müsste man einfach alle states unter squeezeboxrpc.0.Favoriten abrufen und durch 6 teilen.

                        S Offline
                        S Offline
                        stsch83
                        schrieb am zuletzt editiert von
                        #198

                        @OliverIO Wie zählt man denn die Anzahl der States in javascript?

                        OliverIOO 1 Antwort Letzte Antwort
                        0
                        • S stsch83

                          @OliverIO Wie zählt man denn die Anzahl der States in javascript?

                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          schrieb am zuletzt editiert von OliverIO
                          #199

                          @stsch83
                          Achtung die Vorgehensweise ist auf dem Server eine andere wie auf dem client.
                          In den Skripten auf dem Server (also in iobroker) kannst du den folgenden Befehl verwenden um alle States nach einem bestimmten Muster zu erhalten

                          $('squeezeboxrpc.0.Favorites.*')
                          Mit dem einfachen teilen habe ich mich geirrt, da je nach Favoritentyp es mehr wie 6 Datenpunkte geben kann.

                          du kannst ja mal in ein Skript den folgenden Befehl eintragen und dann dir die Logausgabe anschauen

                          log( $('squeezeboxrpc.0.Favorites.*'))
                          

                          Meine Adapter und Widgets
                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                          Links im Profil

                          S 1 Antwort Letzte Antwort
                          0
                          • OliverIOO OliverIO

                            @stsch83
                            Achtung die Vorgehensweise ist auf dem Server eine andere wie auf dem client.
                            In den Skripten auf dem Server (also in iobroker) kannst du den folgenden Befehl verwenden um alle States nach einem bestimmten Muster zu erhalten

                            $('squeezeboxrpc.0.Favorites.*')
                            Mit dem einfachen teilen habe ich mich geirrt, da je nach Favoritentyp es mehr wie 6 Datenpunkte geben kann.

                            du kannst ja mal in ein Skript den folgenden Befehl eintragen und dann dir die Logausgabe anschauen

                            log( $('squeezeboxrpc.0.Favorites.*'))
                            
                            S Offline
                            S Offline
                            stsch83
                            schrieb am zuletzt editiert von
                            #200

                            @OliverIO Da kommt folgendes heraus:

                            {'0':'squeezeboxrpc.0.Favorites.0.Name','1':'squeezeboxrpc.0.Favorites.0.hasitems','2':'squeezeboxrpc.0.Favorites.0.id','3':'squeezeboxrpc.0.Favorites.0.isaudio','4':'squeezeboxrpc.0.Favorites.0.type','5':'squeezeboxrpc.0.Favorites.0.url','6':'squeezeboxrpc.0.Favorites.1.Name','7':'squeezeboxrpc.0.Favorites.1.hasitems','8':'squeezeboxrpc.0.Favorites.1.id','9':'squeezeboxrpc.0.Favorites.1.isaudio','10':'squeezeboxrpc.0.Favorites.1.type','11':'squeezeboxrpc.0.Favorites.1.url','12':'squeezeboxrpc.0.Favorites.2.Name','13':'squeezeboxrpc.0.Favorites.2.hasitems','14':'squeezeboxrpc.0.Favorites.2.id','15':'squeezeboxrpc.0.Favorites.2.isaudio','16':'squeezeboxrpc.0.Favorites.2.type','17':'squeezeboxrpc.0.Favorites.2.url','18':'squeezeboxrpc.0.Favorites.3.Name','19':'squeezeboxrpc.0.Favorites.3.hasitems','20':'squeezeboxrpc.0.Favorites.3.id','21':'squeezeboxrpc.0.Favorites.3.isaudio','22':'squeezeboxrpc.0.Favorites.3.type','23':'squeezeboxrpc.0.Favorites.3.url','length':24}

                            Ich kann auch nachvollziehen, wie ich es machen kann. Allerdings müsste man ja die Elemente irgendwie gezählt bekommen und nicht nur im Log angezeigt bekommen. Meine skills in Javascript gehen aber gen 0, so dass ich nicht weiß wie ich weiter machen soll.

                            OliverIOO 1 Antwort Letzte Antwort
                            0
                            • S stsch83

                              @OliverIO Da kommt folgendes heraus:

                              {'0':'squeezeboxrpc.0.Favorites.0.Name','1':'squeezeboxrpc.0.Favorites.0.hasitems','2':'squeezeboxrpc.0.Favorites.0.id','3':'squeezeboxrpc.0.Favorites.0.isaudio','4':'squeezeboxrpc.0.Favorites.0.type','5':'squeezeboxrpc.0.Favorites.0.url','6':'squeezeboxrpc.0.Favorites.1.Name','7':'squeezeboxrpc.0.Favorites.1.hasitems','8':'squeezeboxrpc.0.Favorites.1.id','9':'squeezeboxrpc.0.Favorites.1.isaudio','10':'squeezeboxrpc.0.Favorites.1.type','11':'squeezeboxrpc.0.Favorites.1.url','12':'squeezeboxrpc.0.Favorites.2.Name','13':'squeezeboxrpc.0.Favorites.2.hasitems','14':'squeezeboxrpc.0.Favorites.2.id','15':'squeezeboxrpc.0.Favorites.2.isaudio','16':'squeezeboxrpc.0.Favorites.2.type','17':'squeezeboxrpc.0.Favorites.2.url','18':'squeezeboxrpc.0.Favorites.3.Name','19':'squeezeboxrpc.0.Favorites.3.hasitems','20':'squeezeboxrpc.0.Favorites.3.id','21':'squeezeboxrpc.0.Favorites.3.isaudio','22':'squeezeboxrpc.0.Favorites.3.type','23':'squeezeboxrpc.0.Favorites.3.url','length':24}

                              Ich kann auch nachvollziehen, wie ich es machen kann. Allerdings müsste man ja die Elemente irgendwie gezählt bekommen und nicht nur im Log angezeigt bekommen. Meine skills in Javascript gehen aber gen 0, so dass ich nicht weiß wie ich weiter machen soll.

                              OliverIOO Offline
                              OliverIOO Offline
                              OliverIO
                              schrieb am zuletzt editiert von OliverIO
                              #201

                              @stsch83
                              Hier sehr kompakt:

                              var count = Object.entries($('squeezeboxrpc.0.Favorites.*')).reduce((values, [k,v]) => {
                              	if (k !== 'length' && typeof v !== "function") {
                              		v=v.split(".").slice(0,-1).join(".");
                              		if (!values.set[v]) {
                              			values.set[v] = 1;
                              			values.count++;
                              		}
                              	}
                              	return values;
                                }, { set: {}, count: 0 }).count;
                                
                              log(String(count));
                              
                              

                              Als Erklärung
                              $('squeezeboxrpc.0.Favorites.*') ermittelt alle Favoritendatenpunkte
                              Object.entries ergibt eine Auflistung der Datenpunkte in einem Array in Form key,value
                              .reduce klappert das Array der Reihe nach ab.
                              v.split(".").slice(0,-1).join(".") ermittelt den Datenpunktnamen, ohne das letzte Element
                              Der Rest innerhalb von Reduce speichert die Werte in ein internes Array und zählt.

                              Meine Adapter und Widgets
                              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                              Links im Profil

                              S 1 Antwort Letzte Antwort
                              0
                              • OliverIOO OliverIO

                                @stsch83
                                Hier sehr kompakt:

                                var count = Object.entries($('squeezeboxrpc.0.Favorites.*')).reduce((values, [k,v]) => {
                                	if (k !== 'length' && typeof v !== "function") {
                                		v=v.split(".").slice(0,-1).join(".");
                                		if (!values.set[v]) {
                                			values.set[v] = 1;
                                			values.count++;
                                		}
                                	}
                                	return values;
                                  }, { set: {}, count: 0 }).count;
                                  
                                log(String(count));
                                
                                

                                Als Erklärung
                                $('squeezeboxrpc.0.Favorites.*') ermittelt alle Favoritendatenpunkte
                                Object.entries ergibt eine Auflistung der Datenpunkte in einem Array in Form key,value
                                .reduce klappert das Array der Reihe nach ab.
                                v.split(".").slice(0,-1).join(".") ermittelt den Datenpunktnamen, ohne das letzte Element
                                Der Rest innerhalb von Reduce speichert die Werte in ein internes Array und zählt.

                                S Offline
                                S Offline
                                stsch83
                                schrieb am zuletzt editiert von stsch83
                                #202

                                @OliverIO said in Test Adapter SqueezeboxRPC v0.8.x Latest:

                                var count = Object.entries($('squeezeboxrpc.0.Favorites.*')).reduce((values, [k,v]) => { if (k !== 'length' && typeof v !== "function") { v=v.split(".").slice(0,-1).join("."); if (!values.set[v]) { values.set[v] = 1; values.count++; } } return values; }, { set: {}, count: 0 }).count;

                                Vielen Dank. Das funktioniert ausgezeichnet.

                                1 Antwort Letzte Antwort
                                0
                                • S Offline
                                  S Offline
                                  stsch83
                                  schrieb am zuletzt editiert von
                                  #203

                                  Hallo,

                                  nach einigen testen des Adapters muss ich sagen er funktioniert wirklich Super. Danke schon mal für die tolle Arbeit.

                                  Jetzt hab ich allerdings ein Problem und weiß nicht wie ich es lösen kann. Wenn ich einen meiner Favoriten (Radio) abspiele und dann per AirPlay einen Titel von meinem Handy streame funktioniert das einwandfrei. Gibt es jetzt eine Möglichkeit, wenn der AirPlay stream gestoppt wird, wieder automatisch den letzten Favoriten zu hören ohne eine Bedienhandlung durchzuführen?

                                  Mit freundlichen Grüßen
                                  Stefan

                                  OliverIOO 1 Antwort Letzte Antwort
                                  0
                                  • S stsch83

                                    Hallo,

                                    nach einigen testen des Adapters muss ich sagen er funktioniert wirklich Super. Danke schon mal für die tolle Arbeit.

                                    Jetzt hab ich allerdings ein Problem und weiß nicht wie ich es lösen kann. Wenn ich einen meiner Favoriten (Radio) abspiele und dann per AirPlay einen Titel von meinem Handy streame funktioniert das einwandfrei. Gibt es jetzt eine Möglichkeit, wenn der AirPlay stream gestoppt wird, wieder automatisch den letzten Favoriten zu hören ohne eine Bedienhandlung durchzuführen?

                                    Mit freundlichen Grüßen
                                    Stefan

                                    OliverIOO Offline
                                    OliverIOO Offline
                                    OliverIO
                                    schrieb am zuletzt editiert von OliverIO
                                    #204

                                    @stsch83
                                    da muss ich etwas tiefer eintauchen.
                                    Der LMS signalisiert zwar verschiedene Zustände.
                                    Sie auch hier: https://github.com/elParaguayo/LMS-CLI-Documentation/blob/master/LMS-CLI.md#notifications
                                    Ob die etwas bringen muss man ausprobieren.
                                    Darüber hinaus, welchselt der Datenpunkt state von 1 auf 2 (1=play,2=stop,0=pause) wenn ein Lied/Playlist zu Ende ist.
                                    Ob das auch für airplay gilt musst du mal ausprobieren.
                                    Ich hatte mal das airplay-plugin auf dem lms laufen, heute allerdings nicht mehr. Kann es daher aktuell nicht selber testen.

                                    Wenn der state schon reicht, dann müsste man mal genau ermitteln bei welchem Zustand was passieren soll und wann er fortsetzen soll und wann er nicht mehr fortsetzen soll.
                                    Daraus könnte man dann ein skript basteln, der dir den Status überwacht, sich den letzten gespielten Favoriten merkt und dann bei Beendigung eines Liedes, dann den letzten Favoriten wieder anstartet.

                                    Meine Adapter und Widgets
                                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                    Links im Profil

                                    S 1 Antwort Letzte Antwort
                                    0
                                    • OliverIOO OliverIO

                                      @stsch83
                                      da muss ich etwas tiefer eintauchen.
                                      Der LMS signalisiert zwar verschiedene Zustände.
                                      Sie auch hier: https://github.com/elParaguayo/LMS-CLI-Documentation/blob/master/LMS-CLI.md#notifications
                                      Ob die etwas bringen muss man ausprobieren.
                                      Darüber hinaus, welchselt der Datenpunkt state von 1 auf 2 (1=play,2=stop,0=pause) wenn ein Lied/Playlist zu Ende ist.
                                      Ob das auch für airplay gilt musst du mal ausprobieren.
                                      Ich hatte mal das airplay-plugin auf dem lms laufen, heute allerdings nicht mehr. Kann es daher aktuell nicht selber testen.

                                      Wenn der state schon reicht, dann müsste man mal genau ermitteln bei welchem Zustand was passieren soll und wann er fortsetzen soll und wann er nicht mehr fortsetzen soll.
                                      Daraus könnte man dann ein skript basteln, der dir den Status überwacht, sich den letzten gespielten Favoriten merkt und dann bei Beendigung eines Liedes, dann den letzten Favoriten wieder anstartet.

                                      S Offline
                                      S Offline
                                      stsch83
                                      schrieb am zuletzt editiert von
                                      #205

                                      @OliverIO Es ist definitiv so, dass der State nach beenden von AirPlay auf 2 geht. Dies Idee mit dem Merken und Fortsetzen hatte ich auch schon. Nur leider ist es so, wenn ich airplay erfassen will, weiß der Server nicht mehr welcher Favorit gerade gespielt wurde. Dazu evtl. einen Idee.

                                      OliverIOO 1 Antwort Letzte Antwort
                                      0
                                      • S stsch83

                                        @OliverIO Es ist definitiv so, dass der State nach beenden von AirPlay auf 2 geht. Dies Idee mit dem Merken und Fortsetzen hatte ich auch schon. Nur leider ist es so, wenn ich airplay erfassen will, weiß der Server nicht mehr welcher Favorit gerade gespielt wurde. Dazu evtl. einen Idee.

                                        OliverIOO Offline
                                        OliverIOO Offline
                                        OliverIO
                                        schrieb am zuletzt editiert von
                                        #206

                                        @stsch83
                                        Wie sieht den deine Oberfläche aus? Wie steuerst du aktuell?
                                        Mir würde ein skript vorschweben, welche alle Befehle annimmt, sich die entsprechende Werte merkt und dann erst den squeezebox Adapter ansteuert, den Play-Status monitort und dann zu gegebener Zeit den letzten Favoriten wieder startet.
                                        Der LMS oder squeezebox merkt sich tatsächlich das nicht.
                                        Je nachdem wieviele Player und Favoriten du hast, kann das ein wenig Fleißarbeit sein.

                                        Meine Adapter und Widgets
                                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                        Links im Profil

                                        OliverIOO 1 Antwort Letzte Antwort
                                        0
                                        • OliverIOO OliverIO

                                          @stsch83
                                          Wie sieht den deine Oberfläche aus? Wie steuerst du aktuell?
                                          Mir würde ein skript vorschweben, welche alle Befehle annimmt, sich die entsprechende Werte merkt und dann erst den squeezebox Adapter ansteuert, den Play-Status monitort und dann zu gegebener Zeit den letzten Favoriten wieder startet.
                                          Der LMS oder squeezebox merkt sich tatsächlich das nicht.
                                          Je nachdem wieviele Player und Favoriten du hast, kann das ein wenig Fleißarbeit sein.

                                          OliverIOO Offline
                                          OliverIOO Offline
                                          OliverIO
                                          schrieb am zuletzt editiert von
                                          #207

                                          Neue Version v1.3.2

                                          • Fehler in den dependencies korrigiert, welcher im vorliegenden Fall unter Windows auftrat, wenn kein git installiert war
                                          • Der Datenpunkt lieferte bisher nur Alarme/Wecker die enabled waren. Nun liefert der Datenpunkt alle Alarme für einen Player

                                          Meine Adapter und Widgets
                                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                          Links im Profil

                                          OliverIOO 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          821

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe