Nachricht an Kodi/XBMC mit cURL senden

Hallo Zusammen,

ich versuche mit cURL eine Nachricht an meinen Raspi mit Kodi zu senden. Dafür kann folgender Befehl genutzt werden:


curl -i -X POST -H "Content-Type: application/json" -d "{\"jsonrpc\": \"2.0\", \"method\": \"GUI.ShowNotification\", \"params\": {\"title\": \"Anruf\", \"message\": \"Rufnummer 12345678\"}, \"id\": 1}" http://192.168.76.8:8080/jsonrpc

Leider weiß ich aber nicht, wie ich diesen cURL Befehl im IPS aufbauen muss.

Kann mir da jemand auf die Sprünge helfen?

Vielen Dank,
Tommy

Etwas einfacher geht es (bei mir) mit:

$ZEILE1 = 'TEST1';
$ZEILE2 = 'TEST2';

# UMLAUTE ERSETZEN !!!
# IP und Port anpassen !!!
# KODI anpassen ???

# !!! Leerzeichen unbedingt durch %20 ersetzen !!!
$RESULT1='"'.str_replace(" ","%20",$ZEILE1).'"';
$RESULT2='"'.str_replace(" ","%20",$ZEILE2).'"';

$source = file_get_contents( 'http://192.168.2.51:8080/jsonrpc?request={"jsonrpc":"2.0","method":"GUI.ShowNotification","params":{"title":'.$RESULT1.',"message":'.$RESULT2.'},"id":1}' );

LG Tom

Kleiner Hinweis zum Code von Tom:

file_get_contents sollte allgemein durch SYS_GetURLContent ersetzt werden
Sys_GetURLContent — IP-Symcon :: Automatisierungssoftware

Grüße,
Chris

Klasse. Danke Euch für die schnelle Unterstützung!

LG Tommy

Nachdem ich mich auch gerade damit beschäftigt habe, hier mal eine Lösung mit Sys_GetURLContentEx
Damit funktioniert dann auch die Anmeldung und Timeout.

<?
$TITLE = rawurlencode("IPS Meldung");
$MESSAGE = rawurlencode("Es klingelt an der Gartentür");

// IP-Adresse / Hostname. Port, User und Passwort anpassen !!!
$source = Sys_GetURLContentEx('http://192.168.1.61:8080/jsonrpc?request={"jsonrpc":"2.0","method":"GUI.ShowNotification","params":{"title":"'.$TITLE.'","message":"'.$MESSAGE.'"},"id":1}',Array("AuthUser"=>"xxxx","AuthPass"=>"yyyy","Timeout"=>1000));  
?>

Der Befehl Sys_GetURLContentEx gehört in eine Zeile :wink:

Gruß
Dieter

Geht auch damit


boolean KODIGUI_ShowNotification(integer $InstanzeID, string $Title, string $Message, string $Image, integer $Timeout);

Sofern man das hier nutzt:
GitHub - Nall-chan/IPSKodi: IP-Symcon Modul für Kodi

Michael

Hallo Michael,
ich hab dein klasse Modul schon vorher angeschaut.
Für die simple Benachrichtigung war es mir einfach etwas „oversized“.

Viele Grüße
Dieter

Brauchst ja nur die eine Instanz für das GUI anlegen, wenn man den Rest nicht benötigt :wink:
Michael

Auch ne Idee :slight_smile: