Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Adapter für Squeezebox / Logitech Media Server

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Adapter für Squeezebox / Logitech Media Server

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

      Hallo!

      Sind noch Updates des Adapters geplant?

      Es wäre super, wenn man tatsächlich eine Steuerung des LMS vornehmen könnte.

      Ich persönlich würde gerne einen Radio-Sender, den ich in den Favoriten des LMS habe, starten.

      In einer ioBroker-Szene würde ich dann zunächst mit der Harmony den AVR richtig einstellen und anschließend den Radiosender starten.

      Gruß

      ak1

      1 Reply Last reply Reply Quote 0
      • M
        mrMuppet last edited by

        Man kann zumindest über die Client Kommandos einiges machen. Ich verwende dir Mediola-Software auf meinem Tablet da kann ich einigermaßen gut steuern. Ich finde gerade nicht die ausführliche Anleitung, aber so sollte es gehen :https://r.tapatalk.com/shareLink?url=ht … pid=272546

        Gesendet von meinem ONEPLUS A3003 mit Tapatalk

        1 Reply Last reply Reply Quote 0
        • M
          moebius last edited by Jey Cee

          Falls es wen interessiert bzgl Ansteuerung squeezebox: hier eine Türglockensimulation.

          Auf Knopfdruck (in meinem Fall ein Dash) werden die aktuellen Einstellungen des Players gelesen (volume,playlist,on/off,shuffle),

          dann der Klingelton mit definierter Lautstärke abgespielt und danach wieder alles zurückgestellt (fast alles, der aktuelle Song wird wieder von Anfang gespielt).

           [
           {
           "id": "138e678a.c539d8",
           "type": "tab",
           "label": "Squeezebox_Dash"
           },
           {
           "id": "90148afc.654368",
           "type": "tcp request",
           "z": "138e678a.c539d8",
           "server": "big",
           "port": "9090",
           "out": "sit",
           "splitc": "0",
           "name": "",
           "x": 905,
           "y": 137,
           "wires": [
           [
           "652e648f.9b6e4c"
           ]
           ]
           },
           {
           "id": "c2dba628.a96608",
           "type": "function",
           "z": "138e678a.c539d8",
           "name": "play sound",
           "func": "\nmsg.topic = \"playsound\"\nmsg.payload = \"00:04:20:28:87:d3 playlist save aktuell\\n\"\nmsg.payload += \"00:04:20:28:87:d3 playlist play /mnt/sound/system/Doorbell.mp3\\n\"\nmsg.payload += \"00:04:20:28:87:d3 mixer volume 80\\n\"\nreturn msg;",
           "outputs": 1,
           "noerr": 0,
           "x": 496,
           "y": 119,
           "wires": [
           [
           "959c06f9.8736a8"
           ]
           ]
           },
           {
           "id": "652e648f.9b6e4c",
           "type": "function",
           "z": "138e678a.c539d8",
           "name": "buffer to string",
           "func": "\nmsg.payload = msg.payload.toString()\nreturn msg;\n\n",
           "outputs": 1,
           "noerr": 0,
           "x": 1072,
           "y": 180,
           "wires": [
           [
           "f492629.714d9a"
           ]
           ]
           },
           {
           "id": "5e3aaa47.482454",
           "type": "ioBroker in",
           "z": "138e678a.c539d8",
           "name": "Playdoh",
           "topic": "amazon-dash.0.ac-63-be-fa-2d-8c.pressed",
           "payloadType": "value",
           "onlyack": "",
           "func": "rbe",
           "gap": "",
           "x": 91,
           "y": 48,
           "wires": [
           [
           "318a4c7d.ead9e4"
           ]
           ]
           },
           {
           "id": "318a4c7d.ead9e4",
           "type": "switch",
           "z": "138e678a.c539d8",
           "name": "",
           "property": "payload",
           "propertyType": "msg",
           "rules": [
           {
           "t": "eq",
           "v": "true",
           "vt": "str"
           }
           ],
           "checkall": "true",
           "outputs": 1,
           "x": 244,
           "y": 69,
           "wires": [
           [
           "93ae70d0.75638",
           "72d723ac.84dedc"
           ]
           ]
           },
           {
           "id": "93ae70d0.75638",
           "type": "delay",
           "z": "138e678a.c539d8",
           "name": "wait",
           "pauseType": "delay",
           "timeout": "10",
           "timeoutUnits": "milliseconds",
           "rate": "1",
           "nbRateUnits": "1",
           "rateUnits": "second",
           "randomFirst": "1",
           "randomLast": "5",
           "randomUnits": "seconds",
           "drop": false,
           "x": 356,
           "y": 113,
           "wires": [
           [
           "c2dba628.a96608"
           ]
           ]
           },
           {
           "id": "72d723ac.84dedc",
           "type": "function",
           "z": "138e678a.c539d8",
           "name": "read settings",
           "func": "\nmsg.payload = \"\"\n\nmsg.payload += \"00:04:20:28:87:d3 playlist shuffle ?\\n\"\nmsg.payload += \"00:04:20:28:87:d3 mixer volume ?\\n\"\nmsg.payload += \"00:04:20:28:87:d3 power ?\\n\"\n\nmsg.topic = \"read settings\";\nreturn msg;",
           "outputs": 1,
           "noerr": 0,
           "x": 457,
           "y": 67,
           "wires": [
           [
           "959c06f9.8736a8"
           ]
           ]
           },
           {
           "id": "959c06f9.8736a8",
           "type": "delay",
           "z": "138e678a.c539d8",
           "name": "",
           "pauseType": "rate",
           "timeout": "5",
           "timeoutUnits": "seconds",
           "rate": "10",
           "nbRateUnits": "1",
           "rateUnits": "second",
           "randomFirst": "1",
           "randomLast": "5",
           "randomUnits": "seconds",
           "drop": false,
           "x": 718,
           "y": 107,
           "wires": [
           [
           "90148afc.654368"
           ]
           ]
           },
           {
           "id": "f492629.714d9a",
           "type": "switch",
           "z": "138e678a.c539d8",
           "name": "only reads",
           "property": "topic",
           "propertyType": "msg",
           "rules": [
           {
           "t": "cont",
           "v": "read",
           "vt": "str"
           }
           ],
           "checkall": "true",
           "outputs": 1,
           "x": 184,
           "y": 142,
           "wires": [
           [
           "703380f0.ca9dc"
           ]
           ]
           },
           {
           "id": "9523aa40.6e2fa8",
           "type": "delay",
           "z": "138e678a.c539d8",
           "name": "",
           "pauseType": "delay",
           "timeout": "4",
           "timeoutUnits": "seconds",
           "rate": "1",
           "nbRateUnits": "1",
           "rateUnits": "second",
           "randomFirst": "1",
           "randomLast": "5",
           "randomUnits": "seconds",
           "drop": false,
           "x": 602,
           "y": 219,
           "wires": [
           [
           "959c06f9.8736a8"
           ]
           ]
           },
           {
           "id": "703380f0.ca9dc",
           "type": "change",
           "z": "138e678a.c539d8",
           "name": "restore settings",
           "rules": [
           {
           "t": "set",
           "p": "topic",
           "pt": "msg",
           "to": "write settings",
           "tot": "str"
           }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 259,
           "y": 213,
           "wires": [
           [
           "9523aa40.6e2fa8",
           "277e17ad.382578"
           ]
           ]
           },
           {
           "id": "277e17ad.382578",
           "type": "switch",
           "z": "138e678a.c539d8",
           "name": "was playing?",
           "property": "payload",
           "propertyType": "msg",
           "rules": [
           {
           "t": "cont",
           "v": "power 1",
           "vt": "str"
           }
           ],
           "checkall": "true",
           "outputs": 1,
           "x": 386,
           "y": 266,
           "wires": [
           [
           "80e0ff1b.70fca"
           ]
           ]
           },
           {
           "id": "80e0ff1b.70fca",
           "type": "function",
           "z": "138e678a.c539d8",
           "name": "resume play",
           "func": "\nmsg.topic = \"resume\"\nmsg.payload = \"00:04:20:28:87:d3 playlist resume aktuell\\n\"\nreturn msg;",
           "outputs": 1,
           "noerr": 0,
           "x": 492,
           "y": 351,
           "wires": [
           [
           "9523aa40.6e2fa8"
           ]
           ]
           }
           ]
          

          1803_clipboard01.jpg

          1 Reply Last reply Reply Quote 0
          • UncleSam
            UncleSam Developer last edited by

            @ak1:

            Sind noch Updates des Adapters geplant? `
            Ja, geplant schon… es fehlte nur gerade etwas die Zeit. Meine Haus-Renovation mit kompletter Automation ist etwas aufwändiger als gedacht 😉

            Hab mir deinen Wunsch notiert und werde versuchen, das in einer der nächsten Versionen einzubinden.

            1 Reply Last reply Reply Quote 0
            • M
              mafl last edited by

              Hallo,

              habe den Adapter installiert und gestartet, er läuft auch, aber ich sehe keine Player, obwohl 5 Player am Server angemeldet sind.

              Wo sehe ich am LMS auf welchem Port Telnet läuft? Ich vermute dass dies nicht 9090 bei mir ist.

              Danke

              1 Reply Last reply Reply Quote 0
              • M
                mafl last edited by

                Hi,

                ich habe den Fehler gefunden. Aus verschiedenen Gründen ist mein LMS mit Benutzername und Passwort geschützt! Sobald ich in den LMS Eigenschaften "Erweitert" -> "Sicherheit" den Kennwortschutz abschalte bekomme ich die Player wieder angezeigt!

                Könnte der Adapter zwei Felder für Benutzername und Passwort bekommen?

                Gruß

                Mafl

                1 Reply Last reply Reply Quote 0
                • UncleSam
                  UncleSam Developer last edited by

                  @mafl:

                  Könnte der Adapter zwei Felder für Benutzername und Passwort bekommen? `
                  Das ist sicherlich machbar (den Port zu ändern wäre schwieriger gewesen ;-). Ich habe mir das deinen Wunsch notiert.

                  /UncleSam

                  1 Reply Last reply Reply Quote 0
                  • M
                    mafl last edited by

                    Super Supi 🙂

                    vollkommen verrückt, dass ich wieder mal der Erste bin, der sowas findet…

                    Hoffe die Bude ist fertig und du darfst wieder an die Tasten...

                    Gruß

                    Mafl

                    1 Reply Last reply Reply Quote 0
                    • UncleSam
                      UncleSam Developer last edited by

                      Es hat sich herausgestellt, dass auch Benutzername und Passwort in der von mir verwendeten Library nicht konfigurierbar sind.

                      Ich habe ein https://github.com/mozz100/node-logitechmediaserver/issues/1 eröffnet und hoffe bald eine neue Version zu erhalten, die ich dann einbinden kann.

                      UncleSamSwiss created this issue in mozz100/node-logitechmediaserver

                      closed User / password and port configuration #1

                      1 Reply Last reply Reply Quote 0
                      • UncleSam
                        UncleSam Developer last edited by

                        Version 0.2.0 des Adapters ist ab sofort verfügbar und unterstützt nun (optional) Benutzername und Passwort sowie andere Ports als 9090.

                        1 Reply Last reply Reply Quote 0
                        • J
                          joesilver8 last edited by

                          Hallo,

                          erstmal vielen Dank für den super Adapter.

                          Leider kämpfe ich nun schon einige Tage mit einem Problemchen, dem ich erst nach und nach auf die Spur komme.

                          Die Installation verlief reibungslos. An meinem Server hingen 11 Clients (Radio, Touch, Raspi usw.).

                          Der Adapter erhielt nach dem Start leider nur ein Client, legte entsprechende Objekte mit dem richtigen Inhalt an, aktualisierte diese aber nicht mehr. Wenn ich nun den LMS gestoppt und wieder gestartet habe, kam jeweils eine neuer Client dazu, oder es wurde der gleiche wieder gefunden. Also immer nur ein Client und danach keinerlei Aktualisierung mehr.

                          Nachdem ich nun einen Raspi mit einem zweiten LMS installiert hatte, habe ich einzelne Clients vom ursprünglichen LMS auf diesen Neuen geschaltet. Alles lief problemlos. Also habe ich alle Clients umgeschaltet, hatte nun aber wieder das gleiche Problem. Der Adapter erkennt jeweils nur einen Client und aktualisiert die Daten nicht mehr.

                          Ich hatte nun eine Problem mit einem bestimmten Client vermutet und habe alle einzeln nacheinander mit dem LMS verbunden.

                          Das Problem liegt aber anscheinend nicht an einem bestimmten Client, sondern an der Anzahl. Sobald der 10te Client mit dem LMS verbunden ist, funktioniert der Adapter nicht mehr. Das ganze ist unabhängig davon, ob LMS 7.7… auf Synology, oder 7.9 auf Raspi.

                          Gibt es hier eine bekannte Beschränkung der Anzahl, oder liegt evtl. noch ein kleiner Bug vor?

                          Gruß

                          joesilver8

                          1 Reply Last reply Reply Quote 0
                          • J
                            joesilver8 last edited by

                            Hat wirklich keiner das Problem?

                            Ich habe nun ioBroker noch mal komplett neu aufgesetzt. Alles ist nun auf aktuellster Version.

                            Aber der Fehler bleibt. Sobald der 10te Squeezeboxclient dran hängt, wird nur noch einer erkannt.

                            Bis zum neunten Client läuft alles top. Entferne ich den 10ten wieder, läuft auch wieder allles.

                            Hier mal das Log

                            squeezebox.1	2017-10-05 21:47:29.234	info	Found player 00:04:20:1f:91:19
                            squeezebox.1	2017-10-05 21:47:29.233	info	Found player b8:27:eb:9b:5e:63
                            squeezebox.1	2017-10-05 21:47:29.232	info	Found player 00:04:20:2a:98:6c
                            squeezebox.1	2017-10-05 21:47:29.231	info	Found player 00:04:20:1a:ea:44
                            squeezebox.1	2017-10-05 21:47:29.230	info	Found player 00:04:20:2c:39:3a
                            squeezebox.1	2017-10-05 21:47:29.230	info	Found player 00:04:20:17:4b:d4
                            squeezebox.1	2017-10-05 21:47:29.229	info	Found player 00:04:20:27:83:44
                            squeezebox.1	2017-10-05 21:47:29.228	info	Found player 00:04:20:27:83:34
                            squeezebox.1	2017-10-05 21:47:29.226	info	Found player b8:27:eb:ee:9a:9d
                            squeezebox.1	2017-10-05 21:47:29.223	info	creating/updating player channels
                            squeezebox.1	2017-10-05 21:47:29.102	info	starting. Version 0.2.0 in /opt/iobroker/node_modules/iobroker.squeezebox, node: v6.11.3
                            squeezebox.1	2017-10-05 21:47:23.296	info	terminating
                            squeezebox.1	2017-10-05 21:46:03.190	info	Found player b8:27:eb:ee:9a:9d
                            squeezebox.1	2017-10-05 21:46:03.186	info	creating/updating player channels
                            squeezebox.1	2017-10-05 21:46:02.294	info	starting. Version 0.2.0 in /opt/iobroker/node_modules/iobroker.squeezebox, node: v6.11.3
                            

                            Für mich sieht das eigentlich alles gut aus, aber man sieht halt im unteren Teil (Versuch mit 10 Clients), dass er nur einen Client findet.

                            Anschließend hab ich den Adapter gestoppt, den 10 Client wieder entfernt und neu gestartet. Alle 9 werden erkannt.

                            Gruß

                            joesilver8

                            1 Reply Last reply Reply Quote 0
                            • UncleSam
                              UncleSam Developer last edited by

                              @joesilver8:

                              Sobald der 10te Squeezeboxclient dran hängt, wird nur noch einer erkannt.

                              Bis zum neunten Client läuft alles top. Entferne ich den 10ten wieder, läuft auch wieder allles. ` Hallo joesilver8

                              Ich habe das Problem in einem NPM-Package, das ich referenziere, gefunden und konnte es beheben.

                              Version 0.2.1 unterstützt nun mehr als 9 Geräte.

                              Darf ich dich bitten, dies zu testen und mir Bescheid zu geben, wenn es funktioniert?

                              /UncleSam

                              1 Reply Last reply Reply Quote 0
                              • J
                                joesilver9 last edited by

                                Vielen Dank.

                                Funktioniert einwandfrei. Danke

                                Gruß

                                joesilver

                                1 Reply Last reply Reply Quote 0
                                • M
                                  mrMuppet last edited by

                                  Könnte man noch einen Datenpunkt ElapsedTimePercent anlegen? Dann könnte man da prima nen Slider für bauen. Am besten auch einen Datenpunkt der geschrieben werden kann, dann kann man mit dem Slider auch im Song umherspringen.

                                  Ich könnte das ganze zwar auch über eigene Datenpunkte und Operationen nachbauen, aber ich könnte mir vorstellen, dass auch andere Leute diese Funktion interessant finden.

                                  Edit: Sehe gerade: die ElapsedTime bezieht sich nicht auf den aktuelle Song! Also brauche ich auch mindestens noch currentelapsedTime

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    BlueBook last edited by

                                    Danke für den tollen Adapter!

                                    Läuft sehr gut - gute Arbeit! 🙂

                                    Ich hab es aber schon richtig verstanden, dass man die Oberfläche dazu selbst erstellen muss?

                                    Also: "Ein-/Ausschalten, Stop/Play, Lauter/Leiser, Next, Aktuelle Daten anzeigen" usw.

                                    Wäre es nicht möglich dafür ein vorgefertigtes Widget zu erstellen, welches die 80% Fälle schon einmal abdeckt?

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      mrMuppet last edited by

                                      @mrMuppet:

                                      Könnte man noch einen Datenpunkt ElapsedTimePercent anlegen? Dann könnte man da prima nen Slider für bauen. Am besten auch einen Datenpunkt der geschrieben werden kann, dann kann man mit dem Slider auch im Song umherspringen.

                                      Ich könnte das ganze zwar auch über eigene Datenpunkte und Operationen nachbauen, aber ich könnte mir vorstellen, dass auch andere Leute diese Funktion interessant finden.

                                      Edit: Sehe gerade: die ElapsedTime bezieht sich nicht auf den aktuelle Song! Also brauche ich auch mindestens noch currentelapsedTime ` Mhmm… Ist wohl eher eine inkompatiblität zum spotty Plugin. Das ist natürlich ein stream und da wird anscheinend nicht erkannt wann ein neuer Song beginnt.

                                      Schade.

                                      Gesendet von meinem ONEPLUS A3003 mit Tapatalk

                                      1 Reply Last reply Reply Quote 0
                                      • UncleSam
                                        UncleSam Developer last edited by

                                        @BlueBook:

                                        Wäre es nicht möglich dafür ein vorgefertigtes Widget zu erstellen, welches die 80% Fälle schon einmal abdeckt? ` Hi BlueBook,

                                        danke für das Kompliment. Es wäre definitiv möglich, ein Widget zu programmieren. Allerdings muss ich da an andere Entwickler verweisen, da ich kein HTML und CSS Spezialist bin.

                                        Es würde sowieso mehr Sinn machen, ein allgemeines "Multimedia Player" Widget zu schreiben.

                                        /UncleSam

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          mrMuppet last edited by Jey Cee

                                          Hallo UncleSam,

                                          ich habe dem Entwickler des Spotty Plugins geschrieben, wie man die Probleme mit dem Current_Titel beim Spotty beseitigen. Dabei ist aufgefallen, dass alle Streams (auch Tidal, SomaFM & Bandcamp) dieses Problem mit dem Iobroker-adapter haben. Er fragte auch wie die Anbindung an den LMS stattfindet, weil andere Uis diese Probleme mit dem Title nicht haben. Ich, als nicht Programmierer, habe nur was von Telnet im code gefunden:

                                          http://forums.slimdevices.com/showthread.php?107615-Announce-Spotty-v1-1-0&p=899399&viewfull=1#post899399

                                          Telnet?… sounds scary. I only had a quick look at that code. So this

                                          is not 100% certain. But I think he's using the current_title query

                                          (didn't even know this existed...) plus a bunch others to get current

                                          status. IIRC current_title is supposed to return the title information

                                          on an internet radio stream (or something similar if playing other

                                          content). The plugin should be using the status query, which would

                                          return track, artist, and album information (if available)

                                          independently. It's more work parsing the results, but more accurate. `

                                          Was meinst du? Könnte man diesen status query verwenden?

                                          1 Reply Last reply Reply Quote 0
                                          • UncleSam
                                            UncleSam Developer last edited by

                                            ` > The plugin should be using the status query, which would

                                            return track, artist, and album information (if available)

                                            independently. It's more work parsing the results, but more accurate. ` Hallo mrMuppet,

                                            Das muss ich mir anschauen. Das Plugin benutzt nur die Telnet-Verbindung (die übrigens auch die Hardware-Player von Logitech verwenden) um die Informationen zu bekommen. Sofern ich darüber die richtigen Informationen bekomme, kann ich es machen; wenn ich dann auch noch Web-Anfragen machen muss, wird es schon sehr kompliziert.

                                            /UncleSam

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            988
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            36
                                            134
                                            33911
                                            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