Das sieht so aus, als würdest Du die Befehle des Webinterface nutzen, um Deinen LMS fernzusteuern. Dafür ist aber eigentlich das CLI, besser: die JSON-Schnittstelle gedacht. Leider habe ich nur mal kurz reingeschaut und bin bei weitem nicht firm genug, Dir da großartig Hilfestellung zu geben, aber ein paar Links fallen schon ab.
- CLI wird Dir im LMS selbst erklärt:
Einstellungen: Hilfe -> Technische Informationen -> The Logitech Media Server Command Line Interface
oder direkt:
http://192.168.178.37:9000/html/docs/help.html
Dabei ist 192.168.178.37 die IP-Adresse meines LMS
- der JSON Aufruf erfolgt bei mir dementsprechend über 192.168.178.37:9000/jsonrpc.js
Ein Beispiel für das JSON-Format für den Befehl zum Einschalten meiner Squeezebox:
Code: Alles auswählen
{ "id": 1, "method": "slim.request", "params":["00:04:20:xx:xx:xx", ["power", 1]]}
- eine Art Dokumentation in Englisch findest Du hier: https://docs.google.com/document/d/15-A ... ejbv44g818
- Ein Beispiel mit curl:
Code: Alles auswählen
curl -H -X POST -d '{"id":1,"method":"slim.request","params":["12:36:aa:47:b4:08",["status","-",1,"tags:al"]]}' http://192.168.2.93:9000/jsonrpc.js
Quelle:
https://forums.slimdevices.com/showthre ... c-js/page2
Wäre ich ein wenig fitter würde ich Dir einen Vorschlag zusammenbasteln. Allerdings bin ich interessiert und würde mich freuen, wenn wir das zusammen schaffen könnten:
Der CLI-Befehl für die Lautstärke ist beispielsweise (Interessant ist auch der Hinweis zum Befehl "button"):
<playerid> mixer volume <0 .. 100|-100 .. +100|?>
The "mixer volume" command returns or sets the current volume setting for the player. The scale is 0 to 100, in real numbers (i.e. 34.5 is valid). If the player is muted, the volume is returned as a negative value. Note that players display a 0 to 40 scale, that is, the 0..100 volume divided by 2,5. Likewise, using the "button" command with "volume_up" or "volume_down" parameters increases or decreases the volume by 2,5.
Examples:
Request: "04:20:00:12:23:45 mixer volume ?<LF>"
Response: "04:20:00:12:23:45 mixer volume 98<LF>"
Request: "04:20:00:12:23:45 mixer volume 25<LF>"
Response: "04:20:00:12:23:45 mixer volume 25<LF>"
Request: "04:20:00:12:23:45 mixer volume +10<LF>"
Response: "04:20:00:12:23:45 mixer volume +10<LF>"
Ich könnte mir jetzt mal die Parameterliste für Deinen Befehl so vorstellen:
Code: Alles auswählen
{ "id": 1, "method": "slim.request", "params":["00:04:20:xx:xx:xx", ["mixer volume", 50]]}
Eigentlich erwartet der entsprechende CLI-Befehl ja die Player-ID, die man sich zuvor über die MAC-Adresse holt. Aber offensichtlich (weil es bie mir wie oben beschrieben geht) geht es auch direkt über die MAC-Adresse in den params.