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.
    • 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
                                          • B
                                            BoehserWolf @OliverIO last edited by

                                            @OliverIO
                                            Der Adapter funktioniert einwandfrei, vielen Dank dafür. Allerdings habe ich Probleme mit den Widgets.

                                            Das Hinzufügen des "Players" Widget funktioniert. Das Auswählen der "SqueezeboxRPC Instanz" (squeezeboxrpc.0) funktioniert manchmal, manchmal nicht.
                                            Hat das Widget dann doch die "SqueezeboxRPC Instanz" angenommen geht es bei Auswahl des "Anzeige Index" regelmäßig schief.

                                            Mit geht nicht meine ich, dass die VIS Gui komplett hängt. Wenn ich parallel noch die iobroker Website offen habe, hängt auch diese. Dann hilft nur ein Reload beider Seiten mit anschließendem Relogin.

                                            Kennst du das Problem?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            838
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            squeezeboxrpc adapter
                                            29
                                            375
                                            56743
                                            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