Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test/Support Adapter SqueezeboxRPC

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test/Support Adapter SqueezeboxRPC

    This topic has been deleted. Only users with topic management privileges can see it.
    • Eisbaeeer
      Eisbaeeer Developer last edited by

      @OliverW
      Hi Oliver
      Habe squeezebox zuhause. Werde das bei Gelegenheit testen. Kannst du dein Widget für mich exportieren?
      Sieht gut aus, würde ich gerne bei mir einsetzen.
      Gruß Eisbaeeer

      OliverIO 1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO @zahnheinrich last edited by

        @zahnheinrich
        Da es sich hier um andere Protokolle handelt, sprechen die auch über andere Ports.
        Standardmäßig ist im LMS für JSON/RPC 9000 eingestellt
        Für das automatische finden von LMS-Server im Netzt gibt es ein Discoverprotokoll, welches auf der Broadcastadresse mit Port 3483 einen Broadcast aussendet und sich dann die LMS-Server melden
        Der andere Adapter nutzt das Telnet-Protokoll Standardmäßig auf Port 9090
        ggfs. müssten auch Firewallregeln angepasst werden?

        1 Reply Last reply Reply Quote 0
        • OliverIO
          OliverIO @Eisbaeeer last edited by

          @Eisbaeeer hast du nur eine squeezebox oder auch einen LMS-Server?
          Die squeezeboxen gehen auch ohne Server zu Hause, dann läuft aber alles über die Logitech Server.

          Der Adapter steuert nur den LMS-Server zuhause.

          Welches Widget meinst du? In dem Bild oben sind nur Standard-Widgets verbaut.

          • Die Lautstärkesteuerung ist der Circle-Knob aus den hqwidgets
          • Die Playbuttons sind die On/Off-Buttonsaus hqwidgets mit Icons, die ich bei Iconfinder gefunden hab und etwas nachbearbeitet habe
          • Das Bild ist das basic string img src, welches sich aus meinem Artwork-State befüttert, was sich passend zur Station oder Album entsprechend ändert
          • Datum und Zeit ist SimpleClock und SimpleDate aus timeandweather

          'Aktuell bin ich aber dabei Widgets für die Favoriten und die Playerauswahl zu bauen

          Eisbaeeer 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO last edited by

            Danke dass ihr euch die Mühe macht das zu testen.

            1 Reply Last reply Reply Quote 0
            • Z
              zahnheinrich last edited by

              Habe die 0.8.8 geladen.
              Der Adapter läuft und tut was er soll.
              Ein echter Fortschritt zum bisherigen Media Server Adapter.
              Vielen Dank dafür!

              OliverIO 1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @zahnheinrich last edited by

                @zahnheinrich danke für den test. hast du es nochmal mit dem discovery probiert? oder komplett ohne getestet?

                ich muss mal schauen, vor 2 jahren habe ich in Verbindung mit einem LMS-Plugin mir ein synology-image für virtualbox (ist glaub ich nicht ganz offiziell) gebaut um da drin was mit LMS zu testen. Ist natürlich nicht so wie mit echter Hardware.

                1 Reply Last reply Reply Quote 0
                • Eisbaeeer
                  Eisbaeeer Developer @OliverIO last edited by Eisbaeeer

                  @OliverW

                  @OliverW sagte in Neuer Adapter SqueezeboxRPC:

                  hast du nur eine squeezebox oder auch einen LMS-Server?

                  Jep, der läuft auf der gleichen Maschine. Und das bringt mich gleich zu dem Problem, dass dein Adapter den Port nutzen möchte, den Squeezebox wohl schon nutzt?
                  Ich bekomme folgende Meldung im log von iobroker:

                  host.NAS	2019-05-15 11:27:45.513	error	instance system.adapter.squeezeboxrpc.0 terminated with code 0 (OK)
                  host.NAS	2019-05-15 11:27:45.513	error	Caught by controller[4]: at process._tickCallback (internal/process/next_tick.js:104:9)
                  host.NAS	2019-05-15 11:27:45.513	error	Caught by controller[4]: at _combinedTickCallback (internal/process/next_tick.js:83:11)
                  host.NAS	2019-05-15 11:27:45.513	error	Caught by controller[4]: at _handle.lookup (dgram.js:219:18)
                  host.NAS	2019-05-15 11:27:45.512	error	Caught by controller[4]: at exports._exceptionWithHostPort (util.js:1043:20)
                  host.NAS	2019-05-15 11:27:45.512	error	Caught by controller[4]: at Object.exports._errnoException (util.js:1020:11)
                  host.NAS	2019-05-15 11:27:45.512	error	Caught by controller[4]: 2019-05-15 11:27:45.422 - squeezeboxrpc.0 Error: bind EADDRINUSE 0.0.0.0:3483
                  host.NAS	2019-05-15 11:27:45.512	error	Caught by controller[3]: 2019-05-15 11:27:45.422 - squeezeboxrpc.0 uncaught exception: bind EADDRINUSE 0.0.0.0:3483
                  host.NAS	2019-05-15 11:27:45.510	error	Caught by controller[2]: port: 3483 }
                  host.NAS	2019-05-15 11:27:45.510	error	Caught by controller[2]: address: '0.0.0.0',
                  host.NAS	2019-05-15 11:27:45.510	error	Caught by controller[2]: syscall: 'bind',
                  host.NAS	2019-05-15 11:27:45.510	error	Caught by controller[2]: errno: 'EADDRINUSE',
                  host.NAS	2019-05-15 11:27:45.510	error	Caught by controller[2]: code: 'EADDRINUSE',
                  host.NAS	2019-05-15 11:27:45.509	error	Caught by controller[2]: at process._tickCallback (internal/process/next_tick.js:104:9)
                  host.NAS	2019-05-15 11:27:45.509	error	Caught by controller[2]: at _combinedTickCallback (internal/process/next_tick.js:83:11)
                  host.NAS	2019-05-15 11:27:45.509	error	Caught by controller[2]: at _handle.lookup (dgram.js:219:18)
                  host.NAS	2019-05-15 11:27:45.509	error	Caught by controller[2]: at exports._exceptionWithHostPort (util.js:1043:20)
                  host.NAS	2019-05-15 11:27:45.509	error	Caught by controller[2]: at Object.exports._errnoException (util.js:1020:11)
                  host.NAS	2019-05-15 11:27:45.509	error	Caught by controller[2]: { Error: bind EADDRINUSE 0.0.0.0:3483
                  host.NAS	2019-05-15 11:27:45.508	error	Caught by controller[1]: 2019-05-15 11:27:45.299 - debug: squeezeboxrpc.0 statesDB connected
                  host.NAS	2019-05-15 11:27:45.508	error	Caught by controller[0]: 2019-05-15 11:27:45.264 - debug: squeezeboxrpc.0 objectDB connected
                  

                  bind EADDRINUSE 0.0.0.0:3483 --> ist schon belegt.

                  Hier noch der netstat mit laufendem LMS und gestoppten LMS.

                  root@NAS:~# netstat -al |grep 3483
                  tcp        0      0 *:3483                  *:*                     LISTEN
                  tcp        0      0 NAS.fritz.box:3483      SqueezeboxRadio.f:36193 VERBUNDEN
                  udp        0      0 *:3483                  *:*
                  root@NAS:~# service logitechmediaserver stop
                  root@NAS:~# netstat -al |grep 3483
                  tcp        0      0 NAS.fritz.box:3483      SqueezeboxRadio.f:36193 TIME_WAIT
                  
                  

                  Gruß Eisbaeeer

                  OliverIO 1 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @Eisbaeeer last edited by

                    @Eisbaeeer
                    Danke Eisbaeeer, das war der richtige Hinweis. Eigentlich sollte es beim hören auf Broadcasts nicht zu diesen Konflikten kommen. Dafür gibt es bei beim einrichten ne eigene Option, die nicht gesetzt war (reuseaddr). Bei einem lokalen Test hat das funktioniert. Die Wildnis ist aber immer eine eigene Herausforderung.
                    Nach dem der Build bei Travis durch ist (diesmal dann auch schon mit node 12 Test),
                    wird die v0.8.9 nach npm gepublised
                    Für einen weiteren Test wäre ich dankbar.

                    Eisbaeeer 2 Replies Last reply Reply Quote 0
                    • Eisbaeeer
                      Eisbaeeer Developer @OliverIO last edited by

                      @OliverW sagte in Neuer Adapter SqueezeboxRPC:

                      @Eisbaeeer
                      Danke Eisbaeeer, das war der richtige Hinweis. Eigentlich sollte es beim hören auf Broadcasts nicht zu diesen Konflikten kommen. Dafür gibt es bei beim einrichten ne eigene Option, die nicht gesetzt war (reuseaddr). Bei einem lokalen Test hat das funktioniert. Die Wildnis ist aber immer eine eigene Herausforderung.
                      Nach dem der Build bei Travis durch ist (diesmal dann auch schon mit node 12 Test),
                      wird die v0.8.9 nach npm gepublised
                      Für einen weiteren Test wäre ich dankbar.

                      Ich installiere mal direkt von Git, dann bekommst du gleich ne Rückmeldung 😉

                      1 Reply Last reply Reply Quote 0
                      • Eisbaeeer
                        Eisbaeeer Developer @OliverIO last edited by

                        @OliverW sagte in Neuer Adapter SqueezeboxRPC:

                        Für einen weiteren Test wäre ich dankbar.

                        Hab eben mal die neue Version getestet. Mit diesen Einstellungen:
                        squeezeboxrpc-error.PNG

                        Leider geht der Prozess gleich auf die Bretter. Nicht entmutigen lassen. Das wird schon. Spreche da aus Erfahrung 😉

                        host.NAS	2019-05-15 14:09:33.302	info	object change system.adapter.squeezeboxrpc.0
                        host.NAS	2019-05-15 14:09:27.017	info	Restart adapter system.adapter.squeezeboxrpc.0 because enabled
                        host.NAS	2019-05-15 14:09:27.017	error	instance system.adapter.squeezeboxrpc.0 terminated with code 0 (OK)
                        Caught	2019-05-15 14:09:27.017	error	by controller[4]: at process._tickCallback (internal/process/next_tick.js:104:9)
                        Caught	2019-05-15 14:09:27.016	error	by controller[4]: at _combinedTickCallback (internal/process/next_tick.js:83:11)
                        Caught	2019-05-15 14:09:27.016	error	by controller[4]: at _handle.lookup (dgram.js:220:14)
                        Caught	2019-05-15 14:09:27.016	error	by controller[4]: at Socket.emit (events.js:188:7)
                        Caught	2019-05-15 14:09:27.016	error	by controller[4]: at emitOne (events.js:96:13)
                        Caught	2019-05-15 14:09:27.016	error	by controller[4]: at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.squeezeboxrpc/lib/iosbserver.js:291:21)
                        Caught	2019-05-15 14:09:27.016	error	by controller[4]: 2019-05-15 14:09:26.960 - squeezeboxrpc.0 TypeError: Cannot read property 'error' of undefined
                        Caught	2019-05-15 14:09:27.016	error	by controller[3]: 2019-05-15 14:09:26.960 - squeezeboxrpc.0 uncaught exception: Cannot read property 'error' of undefined
                        Caught	2019-05-15 14:09:27.015	error	by controller[2]: at process._tickCallback (internal/process/next_tick.js:104:9)
                        Caught	2019-05-15 14:09:27.015	error	by controller[2]: at _combinedTickCallback (internal/process/next_tick.js:83:11)
                        Caught	2019-05-15 14:09:27.015	error	by controller[2]: at _handle.lookup (dgram.js:220:14)
                        Caught	2019-05-15 14:09:27.015	error	by controller[2]: at Socket.emit (events.js:188:7)
                        Caught	2019-05-15 14:09:27.015	error	by controller[2]: at emitOne (events.js:96:13)
                        Caught	2019-05-15 14:09:27.015	error	by controller[2]: at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.squeezeboxrpc/lib/iosbserver.js:291:21)
                        Caught	2019-05-15 14:09:27.015	error	by controller[2]: TypeError: Cannot read property 'error' of undefined
                        Caught	2019-05-15 14:09:27.015	error	by controller[1]: 2019-05-15 14:09:26.814 - debug: squeezeboxrpc.0 statesDB connected
                        Caught	2019-05-15 14:09:27.014	error	by controller[0]: 2019-05-15 14:09:26.773 - debug: squeezeboxrpc.0 objectDB connected
                        squeezeboxrpc.0	2019-05-15 14:09:26.995	info	terminating
                        squeezeboxrpc.0	2019-05-15 14:09:26.961	info	squeezeboxrpc unloaded
                        squeezeboxrpc.0	2019-05-15 14:09:26.960	error	at process._tickCallback (internal/process/next_tick.js:104:9)
                        squeezeboxrpc.0	2019-05-15 14:09:26.960	error	at _combinedTickCallback (internal/process/next_tick.js:83:11)
                        squeezeboxrpc.0	2019-05-15 14:09:26.960	error	at _handle.lookup (dgram.js:220:14)
                        squeezeboxrpc.0	2019-05-15 14:09:26.960	error	at Socket.emit (events.js:188:7)
                        squeezeboxrpc.0	2019-05-15 14:09:26.960	error	at emitOne (events.js:96:13)
                        squeezeboxrpc.0	2019-05-15 14:09:26.960	error	at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.squeezeboxrpc/lib/iosbserver.js:291:21)
                        squeezeboxrpc.0	2019-05-15 14:09:26.960	error	TypeError: Cannot read property 'error' of undefined
                        squeezeboxrpc.0	2019-05-15 14:09:26.959	error	uncaught exception: Cannot read property 'error' of undefined
                        squeezeboxrpc.0	2019-05-15 14:09:26.891	info	starting. Version 0.8.9 in /opt/iobroker/node_modules/iobroker.squeezeboxrpc, node: v6.17.1
                        squeezeboxrpc.0	2019-05-15 14:09:26.813	debug	statesDB connected
                        squeezeboxrpc.0	2019-05-15 14:09:26.766	debug	objectDB connected
                        host.NAS	2019-05-15 14:09:25.763	info	instance system.adapter.squeezeboxrpc.0 started with pid 21339
                        
                        1 Reply Last reply Reply Quote 0
                        • Z
                          zahnheinrich last edited by

                          Bei mir läuft der LMS auch auf der selben Maschine als Dienst.
                          Habe im Adapter von Hand als IP den localhost und als Port 9002.
                          Damit geht's einwandfrei.

                          Eisbaeeer 1 Reply Last reply Reply Quote 0
                          • Eisbaeeer
                            Eisbaeeer Developer @zahnheinrich last edited by

                            @zahnheinrich sagte in Neuer Adapter SqueezeboxRPC:

                            Bei mir läuft der LMS auch auf der selben Maschine als Dienst.
                            Habe im Adapter von Hand als IP den localhost und als Port 9002.
                            Damit geht's einwandfrei.

                            Hmm, bei mir horcht der LMS auf default 9000 TCP. Hast du deinen auf 9002 geändert?
                            Laut den Logfiles liegt es ja auch nicht am Port 9000 sondern an der Autodiscover Funktionalität. Auf TCP 3483 horcht auch der LMS und somit kann der Adapter diesen Port nicht binden. Welche Version des Adapters hast du am laufen?
                            Gruß Eisbaeeer

                            1 Reply Last reply Reply Quote 0
                            • OliverIO
                              OliverIO last edited by

                              konnte nun noch den ein oder anderen Fehler in der Fehlerbehandlung des
                              server discoverys finden.
                              Auch konnte ich hier lokal nun testen, was passiert, wenn weitere services den port benutzen.
                              Auf ein neues mit der Version 0.8.10 die nun auf npm verfügbar ist.

                              1 Reply Last reply Reply Quote 0
                              • Z
                                zahnheinrich last edited by zahnheinrich

                                Hallo,
                                ich habe die discovery Funktion nochmal getestet, ohne Erfolg. Der Adapter wird nicht grün.
                                Der LMS läuft bei mir wie gesagt auf der Synology als Paket installiert (nicht als Container) mit den Standarteinstellungen, ich habe da nichts geändert.
                                So erreiche ich die LMS GUI über <Synology-IP>:9002, nur mit der Einstellung läuft auch dein Adapter (auch der "alte" Squeezebox-Adapter).
                                Über mein Handy steuere ich die Clients (alles Raspis) über die App Squeezer, hier allerdings über den Server-Port 9090.

                                Edit: Mit der 8.10 geht der Adapter mit aktiviertem discovery auf grün, es wird jedoch kein gefundener Server angezeigt.

                                1 Reply Last reply Reply Quote 0
                                • OliverIO
                                  OliverIO last edited by

                                  ok, dann stört das discovery wenigstens dort nicht wo es nicht funktioniert.
                                  schön wäre es natürlich schon wenn wir raus finden an was es liegt.
                                  ich gehe davon aus, dass du in den Einstellungen in die dropbox hineingeschaut hast?
                                  Standardmäßig zeigt es dort erst einmal leer an, erst durch die Auswahl des Eintrags werden die Daten in die eigentlichen Felder übernommen.
                                  Könntest du mir bitte auch ein Abzug deines Logfiles aus der Zeit machen,
                                  In den Einstellungen sollte zuvor "Create debug output for server" angekreuzt sein.

                                  1 Reply Last reply Reply Quote 0
                                  • I
                                    iobroker_Alex last edited by

                                    @OliverIO: Funktioniert einwandfrei ohne über Wochen schon stabil! Danke für den Adapter.

                                    Da du nach einer Wunschliste fragst:
                                    Ich bin aktuell noch "Anti-Alexa" würde aber gerne eine einseitige Kommunikation erlauben. Beispiel: Es klingelt. => LMS-Player spielen eine ausgewählte MP3 ab und danach wieder die vorherige Playlist an der selben Stelle. => Das als Feature wäre schon cool...

                                    Dann könnte man das noch weiter denken: Der Sayit-Adapter kann eine .mp3 erstellen. Diese kann man per Skript auf den Media-Pfad für LMS kopieren. Diese soll dann wiedergegeben werden und danach wieder die vorherige Playlist.

                                    Ich denke alle die LMS nutzen könnten so von einer Sprachausgabe profitieren.

                                    Vielleicht hast du ja eine Idee das umzusetzen. 🙂

                                    OliverIO 1 Reply Last reply Reply Quote 0
                                    • OliverIO
                                      OliverIO last edited by OliverIO

                                      @iobroker_Alex genau die gleiche Anforderung hatte ich auch schon im Sinn.
                                      https://forums.slimdevices.com/showthread.php?110527-2nd-Stream-to-mix-into-the-main-stream

                                      zwar nicht so wie ich mir das idealerweise vorstellen würde gibt es eine Alternative
                                      Das Announcement-Plugin für den LMS
                                      https://forums.slimdevices.com/showthread.php?109096-Announce-LMS-Announce-play-announcements-notifications

                                      1 Reply Last reply Reply Quote 0
                                      • OliverIO
                                        OliverIO @iobroker_Alex last edited by

                                        @iobroker_Alex Wenn du möchtest kannst du gerne auch mal mein widgetset ausprobieren.
                                        Das befindet sich aktuell noch in alpha und ist noch nicht über das repository installierbar, sonder nur direkt aus github heraus:

                                        https://forum.iobroker.net/topic/22859/neues-widgetset-für-squeezeboxrpc-bitte-testen
                                        und
                                        https://github.com/oweitman/ioBroker.squeezeboxrpcwidgets

                                        1 Reply Last reply Reply Quote 0
                                        • OliverIO
                                          OliverIO last edited by OliverIO

                                          Version 0.8.13 nun verfügbar im latest.
                                          Dies umfasst ein grösseres Update in dem nun einige Widgets hinzugefügt wurden,
                                          um relativ schnell eine eigene Visualisierung zur Steuerung seiner Player aufzubauen.
                                          Aktuall vorhanden sind folgende Widgets:
                                          Player-Auswahl
                                          Favoriten-Auswahl
                                          Play, Fwd, Rew-Knöpfe
                                          Repeat-Button zur Ansteuerung von Titel oder Playlist-Wiederholung
                                          Shuffle-Button für Zufallasuwahl aus Playlist oder Alben

                                          Was noch fehlt:

                                          • Playlist-Widget (zur Anzeige der aktuellen Playlist)
                                          • Syncgroup-widget (zur Änderung der Syncgruppen der verschiedenen Playern)

                                          Bitte gerne Testen und Rückmeldung hier im Forum oder im github Repo als Issue

                                          1 Reply Last reply Reply Quote 0
                                          • OliverIO
                                            OliverIO last edited by OliverIO

                                            Version 0.8.15 nun verfügbar im latest
                                            Es kam nun das SyncGroup-Widget dazu, mit dem man die Synchronisation verschiedener
                                            Player steuern kann.
                                            Umfangreiche Anpassungsmöglichkeiten der Farben und des Layouts sind möglich.
                                            Hier eine aktuelle Übersicht über die vorhandenen Widgets
                                            35186485-255a-42b4-92e3-cfb45185780e-image.png

                                            B 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            830
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            squeezeboxrpc adapter
                                            29
                                            375
                                            56674
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo