NEWS
Test/Support Adapter SqueezeboxRPC
-
@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
-
Post im falschen threat
-
Neue Version v1.0.1 auf latest
- Verbesserung der Logik wie Status gesetzt und Objekte angelegt werden
- Behebung eines kleinen Fehlers bei Mode in der rollenbeschreibung
- Die Tests wurden auf eine aktuelle Version gehoben
- Die Abhängigkeiten wurden auf eine aktuelle Version gehoben
-
Neue Version 1.2.0
- Die Abfrage und Anlage der Favoriten als Datenpunkt ist nun konfigurierbar unter Performance
- Das handling von Grafiken im Datenpunkt artwork wurde bei Verwendung des Imageproxys des LMS verbessert. Diese Grafiken konnten bisher in vis nicht korrekt angezeigt werden. Der Imageproxy wird nun herausgefiltert und die Original URL ausgegeben.
-
@OliverIO Kannst du noch mal nen Hinweis geben wie man die favourites.opml bearbeiten muss damit der Adapter sich die Bilder direkt vom LMC zieht? Habe leider gestern nichts im Netz dazu gefunden...
-
Bei mir sieht das so aus. da ich da auch immer wieder Schwierigkeiten habe und nicht weiß welches Attribut genau ausgewertet wird, pflege ich beide: icon und image. musst mich da auch etwas mühsam durch den perl code wühlen
<outline URL="http://116.202.214.140:16074/;" icon="https://static-media.streema.com/media/cache/c7/c0/c7c0f0ec0d30e31f767a66d9885a6142.jpg" image="https://static-media.streema.com/media/cache/c7/c0/c7c0f0ec0d30e31f767a66d9885a6142.jpg" text="Baraza+Radio" type="audio" />
-
@OliverIO Sorry für die späte Antwort.
Vielen Dank, funktioniert. Aber besonders User-freundlich ist das nicht, da könnte am LMC echt mal geschraubt werden -
@BoehserWolf
ja mich hat es schon mehrmals gejuckt da einen pull request einzureichen.
aber perl ist immer etwas aufwändig sich da einzuarbeiten -
@OliverIO Wem sagst du das... Die open source Welt ist groß und man hat auch leider nur soundsoviel Zeit.
Konzentrier dich auf das was dir gefällt und Spaß macht. Mache ich zumindest so -
Hallo!
Es ist ein super Adapter und ich habe bereits ein wenig damit rum gespielt ... und vielleicht bin ich ja blind:Ich nutze den piCorePlayer als LMS und Player. Zur Steuerung über's Handy verwende ich Squeezer. Dort kann man für jeden Player einen/mehrere Wecker anlegen. Gibt es eine Möglichkeit die Weckzeiten über den Squeezeboxrpc-Adapter auszulesen um im ioBroker damit arbeiten zu können?
Meine Idee: Ich lege komfortabel die Weckzeit über mein Handy an -> mein ioBroker holt sich die Wechzeit und schaltet dadruch mein WakeUp-Light.
Danke schon Mal für die Hilfe.
-
@Norbert78
ich schau mir das mal an.
Kann aber aktuell ein wenig dauern, da aktuell die prio bei dem schönen wetter
eher auf draußen liegt. -
Hallo Oliver,
ich habe mir gestern mal den aktuellen Adapter installiert. Zum Verhalten des Adapters kann ich noch keine Rückmeldung. Aber ich habe Probleme bzw. große Verständnisschwierigkeiten mit den Widgets. Ich würde gerne den Adapter mal mit den Widgets testen.Folgende Dinge sind mir aufgefallen:
- Das Zusammenspiel von Player Widget und SyncGroup Widget erscheint mir fehlerhaft.
- Bilder oder Text auf den Player Buttons werden nicht angezeigt.
Für eine Rückmeldung wäre ich dankbar. Sollten Infos fehlen, lass es mich bitte wissen.
Gruß
MichaelHier ein paar Screenshots:
Meine Instanz:
Ansicht im Vis Editor:
Settings Allgemein:
Bild eingefügt, aber nicht sichtbar:
Sync Verhalten in der Runtime:
Sync Verhalten in der Runtime:
Sync Verhalten in der Runtime:
Sync Verhalten in der Runtime:
Sync Verhalten in der Runtime:
Sync Verhalten in der Runtime: