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.
    • 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
                                        • T
                                          tilo last edited by

                                          Hallo zusammen,

                                          ich versuche seit ein paar Abende einen Squeezebox Player auf meiner iObroker Installation zu konfigurieren. Der Server läuft auf einer Diskstation. Diese findet andere Player im Netzwerk. In der Konfiguration konnte ich keine Fehler entdecken ( Sicherheit - Netzwerk IPs geblockt etc. ). Die Firewall auf der Diskstaton habe ich entsprechend konfiguriert und auch mal deaktiviert - leider ohne Erfolg.

                                          Im iObroker unter Instanzen bekomme ich bei Squeezebox "verbunden" und "Lebenszeichen" als wahr angezeigt. "Verbunden mit Squeezebox" nein. Unter Objekte wurden keine neuen Einträge erstellt. Ist das korrekt?

                                          Folgende Meldungen erhalte ich im Log:

                                          squeezebox.0	2017-11-30 20:58:03.866	info	starting. Version 0.2.1 in /opt/iobroker/node_modules/iobroker.squeezebox, node: v6.11.2
                                          squeezebox.0	2017-11-30 20:58:03.792	info	States connected to redis: 0.0.0.0:6379
                                          host.ioBroker-Pi3	2017-11-30 20:58:01.977	info	instance system.adapter.squeezebox.0 started with pid 5560
                                          host.ioBroker-Pi3	2017-11-30 20:58:01.954	info	object change system.adapter.squeezebox.0
                                          host.ioBroker-Pi3	2017-11-30 20:58:00.719	info	Restart adapter system.adapter.squeezebox.0 because enabled
                                          

                                          Hat vllt. noch jemand einen Tipp?

                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            rascal last edited by

                                            Hey,

                                            wie sieht's aus mit dem Adapter, wird der noch weiter entwickelt?

                                            Es wäre toll wenn man die Gruppen des ändern könnte, oder besteht da die Möglichkeit schon?

                                            LG

                                            Martin

                                            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

                                            672
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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