NEWS
Test/Support Adapter SqueezeboxRPC
-
@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?
-
@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
-
@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 sagte in Test Adapter SqueezeboxRPC v0.8.x Latest:
habe es gerade eingebaut
-
@hsteinme ok, der löschbefehl vom iobroker scheint nicht so zu funktionieren wie er soll.
muss da nähers recherchieren. -
@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=fav3lö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=fav2wie 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. -
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 -
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. -
@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".
-
@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. -
@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.
-
@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?
-
@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
-
@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 brauchenIch 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? -
@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ückenFü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 hatsync 04:20:00:12:23:21
-
@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?
-
@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. -
@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
-
@OliverIO
Jetzt geht's
Vielen Dank!! -
Der Adapter ist nun im stable repository verfügbar