LMS CLI command "playlist play" funkitoniert nicht mehr

zilli
Beiträge: 1
Registriert: 1. Juni 2021 14:43
SqueezeBox Server läuft auf: Raspberry

LMS CLI command "playlist play" funkitoniert nicht mehr

Beitrag von zilli »

Hallo,
ich habe einen raspberry pi 4 mit piCorePlayer am laufen. Ich möchte per RFID karten Playlists starten. Es handelt sich um Deezer- und/oder Spotify Playlists.
LMS, Player und Plugins für Deezer und Spotify funktionieren. Über die LMS Weboberfläche kann ich Playlists starten.
Mein vorgehen war bisher, das ich über Putty - Telnet lausche. Also über die Weboberfläche navigiere ich zum Album und starte dieses dann. Über Telnet wird dann zum Beispiel folgendes geschickt:

Code: Alles auswählen

dc%3Aa6%3A32%3A34%3Ae6%3A0b playlist play deezer%3A%2F%2F1234269672.mp3
Dieser Befehl passt ja auch zur CLI Doku.

Jetzt zum Problem. Wenn ich das über die Weboberfläche mache funktioniert alles wie gewollt. Wenn ich den Befehl aber direkt über Telnet abschicke, dann wird immer nur der erste Track in die Wiedergabeliste geladen und gestartet, also nicht die komplette Playlist abgespielt. Da es über die Weboberfläche mit genau diesem Befehl funktioniert, bin ich gerade ratlos. Hier noch etwas genauer was Telnet aufzeichnet:

Weboberfläche:

Code: Alles auswählen

dc%3Aa6%3A32%3A34%3Ae6%3A0b playlist play deezer%3A%2F%2F1362665702.mp3
dc%3Aa6%3A32%3A34%3Ae6%3A0b playlist stop
dc%3Aa6%3A32%3A34%3Ae6%3A0b playlist jump 0  0
dc%3Aa6%3A32%3A34%3Ae6%3A0b playlist load_done
dc%3Aa6%3A32%3A34%3Ae6%3A0b playlist open deezer%3A%2F%2F1362665702.mp3
dc%3Aa6%3A32%3A34%3Ae6%3A0b playlist open http%3A%2F%2Fcdnt-proxy-f.deezer.com%2Fapi%2F1%2F007d351e90aaf51a4806c3b67bc539c712ab11e1631b55e485a6fab0d314d843ba9890344e8a9b1bf1fb3c8b9ece9a67f84082f78ec967c323bdd6c510ea243290f780d7213f7fd4e58a6b467327db90.mp3%3Fhdnea%3Dexp%3D1622553622~acl%3D%2Fapi%2F1%2F007d351e90aaf51a4806c3b67bc539c712ab11e1631b55e485a6fab0d314d843ba9890344e8a9b1bf1fb3c8b9ece9a67f84082f78ec967c323bdd6c510ea243290f780d7213f7fd4e58a6b467327db90.mp3*~hmac%3D105092f3a8c40134a8b7f3999dc921ebb4655b0ec7960c56f3be7dd4096aa442%26
dc%3Aa6%3A32%3A34%3Ae6%3A0b playlist newsong Kapitel%2001%3A%20Die%20wilde%20Stadtrundfahrt%20(Folge%20146)%20-%20Paw%20Patrol 0
Wenn ich es über Telnet schicke:

Code: Alles auswählen

dc%3Aa6%3A32%3A34%3Ae6%3A0b playlist play deezer%3A%2F%2F1362665702.mp3
dc%3Aa6%3A32%3A34%3Ae6%3A0b playlist playtracks listRef ARRAY(0x64b7350)   index%3A0
dc%3Aa6%3A32%3A34%3Ae6%3A0b playlist stop
dc%3Aa6%3A32%3A34%3Ae6%3A0b playlist jump
dc%3Aa6%3A32%3A34%3Ae6%3A0b playlist open deezer%3A%2F%2F1362665702.mp3
dc%3Aa6%3A32%3A34%3Ae6%3A0b playlist open http%3A%2F%2Fcdnt-proxy-f.deezer.com%2Fapi%2F1%2F007d351e90aaf51a4806c3b67bc539c712ab11e1631b55e485a6fab0d314d843ba9890344e8a9b1bf1fb3c8b9ece9a67f84082f78ec967c323bdd6c510ea243290f780d7213f7fd4e58a6b467327db90.mp3%3Fhdnea%3Dexp%3D1622553744~acl%3D%2Fapi%2F1%2F007d351e90aaf51a4806c3b67bc539c712ab11e1631b55e485a6fab0d314d843ba9890344e8a9b1bf1fb3c8b9ece9a67f84082f78ec967c323bdd6c510ea243290f780d7213f7fd4e58a6b467327db90.mp3*~hmac%3D9d42eb3df7790f14af7e208fec806572974779262cd21e0d0354c6619e7e1f6d%26
dc%3Aa6%3A32%3A34%3Ae6%3A0b playlist newsong Kapitel%2001%3A%20Die%20wilde%20Stadtrundfahrt%20(Folge%20146)%20-%20Paw%20Patrol 0
Ihr seht schon das es anders aussieht. Vielleicht kann mir hier jemand helfen, oder einen anderen Weg zeigen wie ich per RFID Deezer/Spotify Alben/Playlists starten kann.

Danke und Grüße,

zilli
karlek
Moderator
Beiträge: 1986
Registriert: 2. November 2011 12:35
SqueezeBox: Touch
SqueezeBox: Radio
SqueezeBox: Boom
SqueezeBox: Classic
SqueezeBox: Transporter
SqueezeBox Server läuft auf: Raspberry Pi 3 (Jessie) mit LMS 7.9
(O2 Joggler mit LMS 7.9)
(QNAP-212 (Turbo) mit LMS 7.9)

LMS CLI command

Beitrag von karlek »

Du könntest mal JSON/RPC-Aufrufe statt CLI nehmen. Das ist moderner und man benötigt auch kein URL encoding. Dein Kommando würde dann wohl so aussehen:

Code: Alles auswählen

curl -X POST -d '{"id": 1, "method": "slim.request", "params":["dc:a6:32:34:e6:0b", ["playlist", "play", "deezer://1362665702.mp3"]]}' 192.168.178.75:9000/jsonrpc.js
Wobei Du IP-Adresse und Port, über den das Webinterface des LMS erreicht werden kann, anpassen musst.

Der prinzipielle Aufbau eines JSON/RPC-Aufrufs ist wie folgt:

Code: Alles auswählen

curl -X POST -d '{"id": 1, "method": "slim.request", "params":[mac, [p0, p1, p2, p3, p4]]}' IP:Port/jsonrpc.js
Bitte daran denken, dass
1) die MacAdresse keine Großbuchstaben enthalten darf.
2) mac und p0 bis p4 in doppelte Anführungszeichen "" gesetzt werden müssen.

Weiterführende Literatur zu JSON/RPC mit dem LMS:

https://gist.github.com/samtherussell/3 ... 0b8689d9f2