NEWS
Test/Support Adapter SqueezeboxRPC
-
@oliverio sagte in Test/Support Adapter SqueezeboxRPC:
wer noch mit spotify unterstützen mag?
ich wurde letztens gefragt, wie man spotify playlists abspielen kann
ich habe herausgefunden, das spotify playlists eine id (zahlen und buchstaben haben)
und anhand dieses ids die dann auch abgespielt werden können.
kann so eine spotify playlist auch in den favoriten gespeichert werden?Wenn man das Spotty Plugin installiert hat werden alle Playlists die man in Spotify gespeichert hat im Wiedergabelisten Ordner vom LMS angezeigt.
Von dort aus kann man die Playlist dann über das Herz Symbol zu seinen Favoriten hinzufügen.
Und dann natürlich auch im ioBroker über "cmdPlayFavorite" starten.Das wäre aus meiner Sicht der sinnvollste Weg. Man könnte sich ja auch noch einen Ordner in den Favoriten anlegen in den man alle benötigten Spotify Playlists speichert.
Was Du mit der "id" meinst weiß ich leider nicht.
Wo sollte ich die denn finden und wo müsste ich sie im ioBroker eintragen damit die Playlist abgespielt wird? -
super danke, das ist ein guter hinweis
ich bin am überlegen, ob ich so wie du gesagt hast, einen extra datenpunkt anzulegen über den man per json die aktuellen playlists abfragen kann.die besagte id kannst du sehen, wenn man eine playlist anklickt, und jetzt achtung, man in die browser developer tools schaut.
dazu zunächst die F12 drücken und im dann auftauchenden fenster auf network gehen. ich bspw verwende chrome (alle chromiumartigen sehen gleich aus edge,opera,etc, firefox aber ähnlich)
dort kann man dann die requests filtern. hier "anyurl"
wenn man dann den request auswählt und auf payload geht, kann man sehen was der browser an den server sendet.
da müsste dann die playlist_id mit dabei sein.wenn man dann den folgenden befehl im datenpunkt cmdGeneral beim jeweiligen player eingibt (playlist id dann entsprechend anpassen)
"playlistcontrol","cmd:load","playlist_id:20312"
dann kann man die playlist abspielen.
die dokumentation dazu findet man hier,
https://github.com/oweitman/LMS-CLI-Documentation/blob/master/LMS-CLI.md
nach playlistcontrol suchen, im unteren drittel des dokuments -
Neue Version 1.4.0
Endlich mal eine neue Beta-Version die eine hohe Wahrscheinlichkeit hat auch ins stable zu kommen.
- Nachdem verschiedene Tester nun die kritischen Datenpunkte rund um Artist/Trackartist/Band/etc. für die beiden LMS-Modis geprüft haben und auch die Werte fürs Streaming überprüft haben, müsste es nun endlich mal passen.
- sendTo cmdGeneral:
Darüber hinaus habe ich auch eine echte neue Funktion hinzugefügt, die so bisher noch nicht möglich war. Mit diesem Befehl ist es nun möglich auch für Nutzer Werte vom LMS-Server zurück zu erhalten. 2 Beispiel sind im Readme enthalten. Weitere können über die CLI-Dokumentation nachgeschaut werden. Bei Fragen könnt ihr gern hier nachfragen. - Übersetzung wurde verbessert
- Die widget-Hilfe wurde nun ins Readme verlagert
- die Überprüfung der Playnamen auf illegale Zeichen wurde verbessert.
Achtung: wenn in eurem Playernamen Leerzeichen oder andere ungültige Zeichen enthalten sind, werden diese durch Underscore _ ersetzt. Das kann dazu führen, das neue Player mit neuen Namen angelegt werden. Bereits bestehende Playernamen werden nicht angepasst - Die Adapterkonfiguration wurde auf jsonConfig umgestellt
Ich habe alle Änderungen, die in den verschiedenen alpha-Versionen enthalten waren nochmal zusammen gefasst, so das ich diese Versionen auch wieder tilgen kann.
Bitte nochmal testen. Ansonsten schaue ich das der Adapter so in 2-3 Wochen ins stable kommt.
-
@oliverio hi, bietet dein Adapter auch die Möglichkeit einer notification? Also zB wenn Musik gehört wird, diese kurz stoppt, ein anderen Ton gespielt wird und dann wieder die vorige Musik? Ich denke da an eine Anbindung an die Klingel. Es gibt auch ein addon für den LMS dafür.
-
@hansi1234
Sag mal wie das Plugin lautet, dann schau ich mir das an.Welche Notifikation brauchst du, das die Musik stoppt oder das die Klingel klingelt?
Ersteres müsste eigentlich klappen, das es ja den State gibt der anzeigt ob gespielt wird, pausiert oder gestoppt ist. -
@oliverio wegen dem Namen schaue ich daheim.
Das Plugin prüft, ob Musik läuft, wenn ja, dann senkt es dort kurz die Lautstärke, spielt einen anderen Ton ein und hebt die Lautstärke wieder an. Wenn nichts läuft oder der Player aus ist, schaltet es ihn ein, spielt den Ton ab und schaltet den Player wieder aus.
Kann man natürlich auch mit einem Script lösen. Finde aber ein addon attraktiver -
@oliverio sagte in Test/Support Adapter SqueezeboxRPC:
2 Beispiel sind im Readme enthalten.
Hol mal bitte bei Gelegenheit zwei Vertipperlein aus diesen Beispielen raus:
-
@oliverio lmsannounce heißt das addon
-
@hsteinme
Danke, muss ich ausbessern.
Funktioniert aber so trotzdem, da es nicht nur im testskriot falsch ist sondern innen drin auch -
@hansi1234 sagte in Test/Support Adapter SqueezeboxRPC:
@oliverio lmsannounce heißt das addon
Ok schau ich mir mal an
-
Hi,
ich wollte ja nochmal ein Feedback geben. Bis jetzt lief der Adapter mit der Änderung Fehlerfrei.
Vielen Dank für den schnellen Support.Ich habe grade das js-controller Update auf 7.0.3 durchgeführt da kam in der Ausgabe:
Dies nur als Hinweis, da ich keine weiteren Einträge erhalten habe.
-
lösche bitte alle datenpunkte und starte dann den adapter neu
das sollte eigentlich behoben sein, wird aber nur beim anlegen durchgeführt.
ansonsten muss ich nochmal schauen wie ich das nachstelleadapter version ist 1.4.0 oder größer?
-
Neue Adapterversion 1.5.0
- Neues Widget Playlist.
Dieses widget liest die Playlist/Wiedergabeliste vom Server.
Bei Klick wird die Playlist geladen und im ausgewählten Player abgespielt.
Falls die Playlist sich ändert muss entweder der Refreshknopf gedrückt werden oder der Browser neu geladen werden.
In der Grundfunktion ist relativ wenig styling enthalten.
In der Hilfe ist ein Beispielstyling enthalten, so das die Playlist wie im Bild aussieht. - Der Adapter wurde auf iobroker/eslint umgestellt.
- Schreibfehler wurden verbessert
- Dokumentation wurde erweitert
- Neues Widget Playlist.
-
Neue Version 1.5.1
- Dokumentation verbessert
- Rand aus plcontainer entfernt
- textoverflow mit ellipsis verbessert
- anfängliche Widgetgröße des Playlist-Widgets angepasst
- Attribute für playlist widget repariert
- Light-Mode-CSS für playlist widget hinzugefügt
-
Hallo,
habe das mit der Playlist_id jetzt mal ausprobiert.Habe die ID dank deiner Anleitung gefunden.
Das funktioniert so allerdings nur wenn man direkt in der Liste der Wiedergabelisten auf Play klickt. Wenn man erst die Playlist anklickt, so das man die Liste der Titel sieht und dann oben auf alle Wiedergeben klickt, kommt die ID nicht.
Da bin ich erst drauf reingefallen.
Vielleicht hilft das jemandem der es auch versuchen will.Die ID wird bei einer Spotify Playlist auch angezeigt.
Was ich allerdings noch nicht hinbekomme ist die Playlist aus ioBroker heraus zu starten.
@oliverio sagte in Test/Support Adapter SqueezeboxRPC:
wenn man dann den folgenden befehl im datenpunkt cmdGeneral beim jeweiligen player eingibt (playlist id dann entsprechend anpassen)
"playlistcontrol","cmd:load","playlist_id:20312"dann kann man die playlist abspielen.
Wenn ich jetzt diese Playlist starte
bekomme ich diese ID
Da mache ich dann dieses Befehl draus und kopiere ihn in den "cmdGeneral" Datenpunk.
Dann passiert aber leider nichts.Mache ich da noch etwas falsch?
Die neue Version 1.5.1 habe ich bereits installiert.
-
Sieht eigentlich gut aus.
Hast du das neue Widget mal probiert?Dazu musst du erst das Player Widget platziere
Dann das playlist Widget platzieren und die widget id des Player Widgets dort auswählenDann müsste die playlist angezeigt werden
-
ich habe mal lmsannounce mal probiert und folgendes szenario ausprobiert.
es läuft eine song baraza und an lms announce wird der befehl geschickt eine andere datei (also olivaartest.mp3) abzuspielen.
im folgenden sind die detailausgaben der telnet signale des LMS2024-11-30 13:35:13.231 - debug: squeezeboxrpc.0 (33460) doTelnet received Data: 00%3A00%3A0%3A24%3A9a%3A8d playlist play file%3A%2F%2F%2Fmusic%2Fbaraza.mp3 2024-11-30 13:35:13.278 - debug: squeezeboxrpc.0 (33460) doTelnet received Data: 00%3A00%3A0%3A24%3A9a%3A8d playlist open file%3A%2F%2F%2Fmusic%2Fbaraza.mp3 00%3A00%3A0%3A24%3A9a%3A8d playlist open file%3A%2F%2F%2Fmusic%2Fbaraza.mp3 00%3A00%3A0%3A24%3A9a%3A8d menustatus ARRAY(0x55be62b2e5b8) add 00%3A00%3A0%3A24%3A9a%3A8d 2024-11-30 13:35:14.126 - debug: squeezeboxrpc.0 (33460) doTelnet received Data: 00%3A00%3A0%3A24%3A9a%3A8d playlist newsong baraza 0 2024-11-30 13:35:20.920 - debug: squeezeboxrpc.0 (33460) doTelnet received Data: 00%3A00%3A0%3A24%3A9a%3A8d playlists new name%3AannounceTTS playlist_id%3A20320 2024-11-30 13:35:20.982 - debug: squeezeboxrpc.0 (33460) doTelnet received Data: 00%3A00%3A0%3A24%3A9a%3A8d playlists edit cmd%3Aadd playlist_id%3A20320 title%3AannounceTTS%20message url%3Afile%3A%2F%2F%2Fmusic%2Folivaartest.mp3 00%3A00%3A0%3A24%3A9a%3A8d playlist preview url%3AannounceTTS 00%3A00%3A0%3A24%3A9a%3A8d playlist save tempplaylist_000000249a8d silent%3A1 00%3A00%3A0%3A24%3A9a%3A8d playlist play %2Fplaylist%2FannounceTTS.m3u 00%3A00%3A0%3A24%3A9a%3A8d playlist stop 00%3A00%3A0%3A24%3A9a%3A8d playlist jump 0 0 00%3A00%3A0%3A24%3A9a%3A8d playlist open file%3A%2F%2F%2Fmusic%2Folivaartest.mp3 00%3A00%3A0%3A24%3A9a%3A8d playlist open file%3A%2F%2F%2Fmusic%2Folivaartest.mp3 00%3A00%3A0%3A24%3A9a%3A8d playlist load_done 00%3A00%3A0%3A24%3A9a%3A8d playlists delete playlist_id%3A20320 2024-11-30 13:35:21.045 - debug: squeezeboxrpc.0 (33460) doTelnet received Data: 00%3A00%3A0%3A24%3A9a%3A8d playlist newsong announceTTS%20message 0 2024-11-30 13:35:36.722 - debug: squeezeboxrpc.0 (33460) doTelnet received Data: 00%3A00%3A0%3A24%3A9a%3A8d playlist stop 2024-11-30 13:35:36.781 - debug: squeezeboxrpc.0 (33460) doTelnet received Data: 00%3A00%3A0%3A24%3A9a%3A8d playlist resume %2Fplaylist%2Ftempplaylist_000000249a8d.m3u noplay%3A0 00%3A00%3A0%3A24%3A9a%3A8d playlist jump 0 0 00%3A00%3A0%3A24%3A9a%3A8d playlist open file%3A%2F%2F%2Fmusic%2Fbaraza.mp3 00%3A00%3A0%3A24%3A9a%3A8d playlist open file%3A%2F%2F%2Fmusic%2Fbaraza.mp3 00%3A00%3A0%3A24%3A9a%3A8d time 6.50511415672302 00%3A00%3A0%3A24%3A9a%3A8d playlist open file%3A%2F%2F%2Fmusic%2Fbaraza.mp3 00%3A00%3A0%3A24%3A9a%3A8d playlist open file%3A%2F%2F%2Fmusic%2Fbaraza.mp3 00%3A00%3A0%3A24%3A9a%3A8d playlist load_done 2024-11-30 13:35:38.898 - debug: squeezeboxrpc.0 (33460) doTelnet received Data: 00%3A00%3A0%3A24%3A9a%3A8d playlist newsong baraza 0 2024-11-30 13:35:42.419 - debug: squeezeboxrpc.0 (33460) doTelnet received Data: 00%3A00%3A0%3A24%3A9a%3A8d pause 2024-11-30 13:35:42.461 - debug: squeezeboxrpc.0 (33460) doTelnet received Data: 00%3A00%3A0%3A24%3A9a%3A8d playlist pause 1 00%3A00%3A0%3A24%3A9a%3A8d menustatus ARRAY(0x55be62b2c160) add 00%3A00%3A0%3A24%3A9a%3A8d
generell kannst du natürlich auf die Änderung der Datenpunkte im iobroker horchen und bspw auf den titel Datenpunkt eines Players.
Da ändert sich der Titel dann auf "announceTTS message" wenn da eine Nachricht abgespielt wird. Der Titel wird glaube ich nur alle 10 Sekunden abgerufen, da könnte es , je nach Länge des Announcements, dann auch mal durchgehenAlternativ könnte man, wie optional im Adapter möglich, einen Telnetserver aufmachen, der an auf die Detailereignisse horcht.
oder ich glaube es gibt einen weiteren Adapter oder Möglichkeit im javascript-Adapter auf die Meldungen im Log zu horchen
Halte mich mal auf dem laufen was du da weiter tun möchtest, evtl kann man das als UseCase im Readme beschreiben.
PS. Die Telnetfunktionalität muss man erst in den Einstellungen aktivieren.
Auch die Ausgabe muss man erst mit den debug Server in den Einstellungen aktivieren. -
@oliverio ich schau gerade, ob mir das addon reicht, oder es schon nett wäre, wenn es im iobroker Adapter integriert ist. BTW auf deiner Github Seite ist ein Rechtschreibfehler "iobroker upload squeezeboxpc"
-
Rechtschreibfehler
Danke, werde ich korrigieren
Der Befehl zum überwachen des Logs im JavaScript Adapter ist onLog
Eine reine Umsetzung als Skript wäre auch denkbar. Hängt davon ab was du genau willst.
Mit TTS kenne ich mich aktuell nicht aus. -
@oliverio sagte in Test/Support Adapter SqueezeboxRPC:
Sieht eigentlich gut aus.
Hast du das neue Widget mal probiert?
Dazu musst du erst das Player Widget platziere
Dann das playlist Widget platzieren und die widget id des Player Widgets dort auswählen
Dann müsste die playlist angezeigt werdenIch habe mich jetzt noch einmal bei Tageslicht mit der Sache beschäftigt und den Fehler gefunden.
So wie es aussieht hat der Adapter neue Ordner für die einzelnen Player angelegt.
Wenn ich dann im falschen Ordner/Player arbeite ist es auch kein Wunder das nichts funktioniert.
Das muss passiert sein als ich die v1.5.1 installiert habe.Die Player/Ordner Namen werden jetzt alle mit Unterstrichen satt Leerzeichen geschrieben.
@oliverio
Hast Du das bewusst angepasst?
Bleibt das jetzt so?
Möchte ungerne meine Scripte alle anpassen und dann kommt mit dem nächsten Update die alte Schreibweise zurück."cmdGeneral" funktioniert dann jetzt mit der Playlist ID.
Das Widget kann ich nicht ausprobieren.
Ich habe keine VIS, bzw. verwende ich Jarvis als Visualisierung.