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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Test/Support Adapter SqueezeboxRPC

    This topic has been deleted. Only users with topic management privileges can see it.
    • hsteinme
      hsteinme @OliverIO last edited by

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

      Die Objekte existieren eigentlich nicht mehr, sondern kommen wahrscheinlich aus dem Browser Cache
      Oben links gibt es für den objektbaum ein aktualisieren Knopf. Spätestens dann müssten diese Zombie Objekte weg sein. Wenn nicht, dann schauen wir weiter.

      Ja, dann lass uns mal bitte weiterschauen.

      Der Refresh-Knopf brachte keine Heilung.

      Nachdem zwei Stunden nach dem Löschvorgang vier verschiedene Browser auf demselben PC sowie zwei verschiedene Browser auf einem zweiten PC immer noch den Zombie im Objekt-Fenster anzeigten, habe ich dann meinen Knopf für das Auslesen des Favoriten-Objektbaums bemüht. Das Log zeigt dann folgendes an:

      2020-02-04 16:59:46.144 - info: javascript.0 script.js.common.MultiMedia.SqueezeBoxFavorites: Debug Info: FavoriteId: 1.0
      2020-02-04 16:59:46.144 - info: javascript.0 script.js.common.MultiMedia.SqueezeBoxFavorites: Debug Info: FavoriteName: DR+P8+Jazz .
      2020-02-04 16:59:46.144 - info: javascript.0 script.js.common.MultiMedia.SqueezeBoxFavorites: Debug Info: FavoriteId: 1.1
      2020-02-04 16:59:46.144 - info: javascript.0 script.js.common.MultiMedia.SqueezeBoxFavorites: Debug Info: FavoriteName: Test zwei
      2020-02-04 16:59:46.144 - info: javascript.0 script.js.common.MultiMedia.SqueezeBoxFavorites: Debug Info: FavoriteId: 1.2
      2020-02-04 16:59:46.144 - info: javascript.0 script.js.common.MultiMedia.SqueezeBoxFavorites: Debug Info: FavoriteName: Test zwei
      2020-02-04 16:59:46.145 - info: javascript.0 script.js.common.MultiMedia.SqueezeBoxFavorites: Debug Info: FavoriteId: 10.0
      2020-02-04 16:59:46.145 - info: javascript.0 script.js.common.MultiMedia.SqueezeBoxFavorites: Debug Info: FavoriteName: Ö1 .
      

      Das scheint also kein reines Anzeigeproblem zu sein.

      Hier zum Quercheck mein Code-Schnipsel, der obige Logeinträge erzeugt:

          AnfangsLaenge = FavoritesAccessKey.split('.').length;    
          TrefferListe  = $(FavoritesAccessKey + '.*.id');
          TrefferListe.each(function (Key, Position) {
              Tmp = Key.split('.');
              if(Tmp.length == (AnfangsLaenge + 2)) {
                  if (getState(NachbarKey(Key, 'isaudio')).val) {
                      if (getState(NachbarKey(Key, 'type')).val == 'audio') {
                          Id = getState(Key).val;
                          Log(true, 'FavoriteId: ' + Id);
                          Name = getState(NachbarKey(Key, 'Name')).val;
                          Log(true, 'FavoriteName: ' + Name);
      
      

      Technisch wird bei jedem aktualisieren im Hintergrund alle Favoriten states gelöscht und dann neu angelegt.

      Vielleicht läuft ja in dieser Ecke etwas schief. Wäre schön, wenn Du da nochmal rein schauen könntest. Besten Dank im Voraus.

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

        @hsteinme ich hab etwas gefunden, was temporär zu Differenzen führt und nun in 0.8.31 behoben.
        Die Favoriten sind nur im refresh gelöscht worden und nicht wenn man individuell abfragt.
        jetzt wird es jedes mal gelöscht.

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

          @BoehserWolf said in Neuer Adapter SqueezeboxRPC:

          Musste nach dem Update 1x den Upload anschieben damit die neuen Widgets übernommen wurden - nur zur Info.

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

          Ja weiß ich, ich glaube wenn man über den normalen Updatemechanismus von iobroker aktualisiert, wird das automatisch gemacht. Ich werde einen Hinweis in die Doku mit aufnehmen

          Ich habe keinen Upload-Hinweis in der README.md gefunden. Habe ich da was übersehen?

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

            @hsteinme ne stimmt, war noch nicht drin. habe es gerade eingebaut. wird dann beim nächsten release dann auch in der onlinedoku landen.

            der befehl lautet

            iobroker upload squeezeboxrpc
            
            hsteinme 1 Reply Last reply Reply Quote 0
            • hsteinme
              hsteinme last edited by hsteinme

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

              ich hab etwas gefunden, was temporär zu Differenzen führt und nun in 0.8.31 behoben

              Danke schön!

              Ich habe nun folgendes getan

              • Update SqueezeboxRPC über die github-Adresse
              • sudo iobroker upload squeezeboxrpc
              • Version im Adapter-Reiter überprüft:
                ** 0.8.31
              • Im LMS wie vor zwei Tagen die Favoriten Test eins und Test zwei angelegt
              • Favorit Test zwei gelöscht
              • Button squeezeboxrpc.0.Server.getFavorites gedrückt
              • Browser geschlossen
              • Browser erneut geöffnet
              • Im Objects-Reiter squeezeboxrpc.0.Favorites.* überprüft:
                ** Test eins ist nicht mehr vorhanden
                ** Test zwei hat dessen Platz eingenommen mit aktuellem Timestamp
                ** Ein zweiter Test zwei Eintrag mit älterem Timestamp steht weiterhin auf dem früheren Platz von Test zwei
              • Per Javascript den Favoritenbaum ausgelesen:
                ** Zwei Einträge für den Favoriten Test zwei werden gefunden

              Was habe ich wo falsch gemacht?

              Übrigens: Auch nach einem etwa 20 Minuten nach der Favorit-Löschung erfolgten Restart des ioBroker ist der veraltete Eintrag von Test zwei immer noch vorhanden.

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

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

                habe es gerade eingebaut

                👍

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

                  @hsteinme ok, der löschbefehl vom iobroker scheint nicht so zu funktionieren wie er soll.
                  muss da nähers recherchieren.

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

                    @hsteinme ok, einen klein stück bin ich weiter gekommen, aber auf ein weiteres Problem gestossen
                    Das Löschen funktioniert wieder richtig (ich meine früher hat das auch funktioniert, aber zwischenzeitlich nicht mehr)
                    ich denke am iobroker befehl wurde geschraubt.

                    das nächste Problem was ich sehe ist,

                    ausgangslage:
                    ich habe im LMS 3 untereinträge
                    12.1=fav1
                    12.2=fav2
                    12.3=fav3

                    lösche ich den 12.2 fav2 im LMS und lese die favs neu ein,
                    dann sind korrekter weise nur noch
                    12.1 und 12.2 im iobroker da, aber wie heisen die?
                    12.1=fav1
                    12.2=fav2

                    wie gesagt, von meiner seite aus wird nun alles ordentlich gelöscht.
                    lege ich den status nun neu an und übergebe auch den wert fav3
                    steht trotzdem fav2 drin.

                    da muss ich erst einmal einen nachvollziehbaren test aufbauen und im forum posten.
                    da scheint noch ein Fehler zu sein.

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

                      ok, es scheint am browser zu liegen.
                      die states habe sich geändert und nach schliessen des Browser tabs und neu öffnen, erscheint der richtige wert.
                      ich mach mal neues release für meine letzte änderung

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

                        Neue Version 0.8.32
                        Fehler beim Umgang mit dem löschen von Favoriten behoben.
                        ggfs. kann es noch zu Fehlern in der Browseransicht im iobroker Objektbau geben.
                        Das ist aber rein visueller natur und kann durch schließen und öffnen des Browser-Tabs behoben werden.

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

                          @OliverIO: Jetzt läuft es bestens 👍

                          Ganz herzlichen Dank für Deine Bemühungen: für Deine Diagnosen, für Deine Behebungen und insbesondere für Dein Drumherumprogrammieren um die schwächelnde deleteChannel-Funktion des ioBrokers.

                          Übrigens: Ein Blick in die Forumsvergangenheit zeigt, dass Dein Adapter nicht der erste ist, der sich über deleteChannel "wundert".

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

                            @OliverIO : Ich wollte mich für diesen Adapter bedanken! Nachdem sich Sonos dazu entschieden hat, nicht mehr anwenderfreundlich zu sein, baue ich mir ein neues System, basierend auf max2play, auf. Nun bin ich auf deinen Adapter gestossen, mit dem ich das ganze auch in die Hausautomation integrieren kann. Herzlichen Dank!!
                            Ich werde demnächst rund 10 Player am laufen haben. Evtl. kann ich dann auch etwas zum Testing beitragen.

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

                              @baerengraben Super, danke,
                              Bin gerade dabei ins stabile repository zu gehen. Muss nur noch das Discovery testen.

                              Wenn du noch Ideen für sinnvolle Erweiterungen hast, dann gerne.

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

                                @OliverIO : Ich versuche gerade über deinen Adapter meine beiden Testboxen zu synchronisieren bzw. in eine Gruppe zusammen zu binden. Hast du mir einen Tip, über welches ioBroker-Objekt ich das bewerkstelligen kann? Mache ich das über squeezeboxrpc>Server>SyncGroups?

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

                                  @baerengraben
                                  Genau, das widget für das organisieren der Syncgruppen ist SyncGroups in Zusammenspiel mit dem player widget.

                                  Am besten du platzierst SyncGroups in der Nähe des Player widgets.
                                  Wenn du nun einen Player in Players auswählst zeigt dir SyncGroup an, welche Player in der gleichen SyncGroup ist (blauer Rahmen), in einer anderen SyncGroup ist (rötlicher Rahmen), oder in keiner SyncGroup ist (kein leuchtender Rahmen).

                                  Wenn du dann in SyncGroups einen Player auswählst, wird er in die Syncgroup aufgenommen oder herausgenommen (je nachdem ob er vorher drin war oder nicht). Wenn der Player in einer anderen Syncgroup ist, dann wird er aus dieser entfernt und in die aktuelle aufgenommen.

                                  So kannst du an einer Stelle für alle Player ein oder mehrere Syncgroups erzeugen

                                  Ich habe versucht das in der widget Hilfe zu beschreiben. widget auswählen und den folgenden Knopf oben links in vis editor drücken
                                  78f88777-e2b0-4c68-8d9b-6789e4073884-image.png

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

                                    @OliverIO
                                    Super, Merci für die Erklärung. Die Visu habe ich mir ehrlich gesagt noch gar nicht angeschaut. Aber das kann ich sicherlich dann auch noch gut brauchen 🙂

                                    Ich verwende den ioBroker als KNX-Gateway um an KNX-Lichtschaltern auch mein Max2Play bzw. meine Squeezebox-Boxen steuern zu können. Ich möchte auch über einen KNX-Taster den "Party-Modus" im ganzen Haus starten können. Also alle Boxen inkl. cooler Sound auf allen vorhandenen Boxen einschalten 🙂
                                    Die Logik dafür verpacke ich in ein Script im ioBroker, welches die Objekte von squeezeboxrpc korrekt setzt.
                                    Mit deinem Tipp war es mir möglich die Logik nachzuverfolgen. Soweit ich verstanden habe muss man in den jeweiligen Playern die Mac-Adresse für SyncMaster und SyncSlaves setzen und den "mode" auf play setzen.
                                    Habe ich das richtig verstanden?

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

                                      @baerengraben
                                      ah verstehe.
                                      In den Playerattributen gibt es die beiden Felder Syncmaster und Syncslave.
                                      Da stehen die aktuellen Zustände drin.
                                      Diese Felder habe ich aber nicht beschreibbar gemacht, weil das kein täglicher Anwendungsfall ist und für die meisten zu kompliziert ist das richtig zu bestücken

                                      Für deinen Fall kannst du das Befehlsattribut cmdGeneral auch bei den Playern verwenden.
                                      Was du da reinschreibst kannst du im folgenden Dokument nachlesen
                                      https://github.com/elParaguayo/LMS-CLI-Documentation/blob/master/LMS-CLI.md
                                      Suche dann darin nach folgendem Text

                                      <playerid> sync <playerindex|playerid|-|?>
                                      

                                      In cmdGeneral musst du dann alles nach der ersten Playerid reinschreiben.
                                      Also bspw, wenn der andere Player den du in die SyncGroup aufnehmen möchtest 04:20:00:12:23:21 als Mac hat

                                      sync 04:20:00:12:23:21
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        baerengraben last edited by

                                        @OliverIO
                                        Vielen Dank für die Infos. Sehr spannend 🙂
                                        Ich habe aktuell mal zwei Player am laufen:

                                        const idBueroCmdGeneral = 'squeezeboxrpc.0.Players.Buero-M2P.cmdGeneral';
                                        const idMiniAmpCmdGeneral = 'squeezeboxrpc.0.Players.miniAmp-m2p.cmdGeneral';
                                        const idBuero = 'b8:27:eb:a5:ca:53';
                                        const idMiniAmp = 'b8:27:eb:f7:d6:ef';
                                        

                                        Die Player sind beide in keiner Gruppe. Wenn ich nun auf dem Player idBuero folgendes ausführe, passiert leider noch nichts:

                                        setState(idBueroCmdGeneral, 'sync ' + idMiniAmp);
                                        

                                        Wenn ich mir die Doku anschaue, könnte ich mir vorstellen, dass das Problem daran liegt, dass erst eine Gruppe erstellt werden muss bzw. 'idBuero' in einer Gruppe sein muss, bevor 'idMiniAmp' dazugefügt werden kann. Ist das möglich?

                                        Ich habe spasseshalber auch mal ein Test mit Telnet gemacht:
                                        So kann ich die Player gem. Doku gruppieren. Das funktioniert tiptop:

                                        b8:27:eb:a5:ca:53 sync b8:27:eb:f7:d6:ef
                                        

                                        Hast du mir noch einen Tip, wie ich dies über idBueroCmdGeneral bewerkstelligen kann?

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

                                          @baerengraben
                                          Habe es gerade selbst ausprobiert.
                                          Da scheint es dem Log nach einen Fehler im adapter zu geben. Muss ich debuggen.
                                          Wird dann sicherlich ne neue Version geben.

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

                                            @baerengraben
                                            hah, man sollte die eigene Dokumentation lesen und sich auch wieder daran erinnern.

                                            cmdGeneral a general command field to send commands to the player. every field must enclosed by quotation marks. parameters musst be seperated by comma. Example: "play","1"

                                            Die korrekte Notation ist

                                            "sync","04:20:00:12:23:21"
                                            
                                            "sync","-"
                                            

                                            works as designed, doch keine neue Version

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            739
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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