Es gibt ein Paket enigma2-plugin-systemplugins-jsonapi, welches nur 4 Dateien enthält:
Code
$ dpkg -L enigma2-plugin-systemplugins-jsonapi
/usr/lib/enigma2/python/Plugins/SystemPlugins/JSONApi/plugin.py
/usr/lib/enigma2/python/Plugins/SystemPlugins/JSONApi/__init__.py
/usr/lib/enigma2/python/Plugins/SystemPlugins/JSONApi/plugin.pyo
/usr/lib/enigma2/python/Plugins/SystemPlugins/JSONApi/__init__.pyo
Per POST kann man sich die APIs und Funktionen geben lassen:
Code
$ curl -s -XPOST http://dreambox/api/getSubAPITree | jq .
{
"id": null,
"result": [
"api",
"api.enigma2",
"api.enigma2.systeminfo",
"api.enigma2.servicedata"
],
"error": null
}
Alles anzeigen
Funktionsliste:
Code
$ curl -s -XPOST http://dreambox/api/getFunctionTree | jq .
{
"id": null,
"result": [
"api._API__needsSession",
"api._API__session",
"api.enigma2._API__needsSession",
"api.enigma2._API__session",
"api.enigma2.systeminfo.getNimList",
"api.enigma2.systeminfo.modelname",
"api.enigma2.systeminfo.getNimCount",
"api.enigma2.systeminfo._API__needsSession",
"api.enigma2.systeminfo._API__session",
"api.enigma2.systeminfo.test",
"api.enigma2.servicedata.getAllTransponderList",
"api.enigma2.servicedata.getRadioProviders",
"api.enigma2.servicedata.getServicePIDs",
"api.enigma2.servicedata.convertTransponderInfoHumanReadable",
"api.enigma2.servicedata.getRadioServices",
"api.enigma2.servicedata.getTVProviders",
"api.enigma2.servicedata._API__needsSession",
"api.enigma2.servicedata.getTransponderList",
"api.enigma2.servicedata.getTransponderInfo",
"api.enigma2.servicedata.getSatList",
"api.enigma2.servicedata.getServiceList",
"api.enigma2.servicedata.getServiceName",
"api.enigma2.servicedata.getTVServices",
"api.enigma2.servicedata.getAllServices",
"api.enigma2.servicedata._API__session",
"api.enigma2.servicedata.getCurrentService",
"api.enigma2.servicedata.playService",
"api.enigma2.servicedata.getTVBouquets",
"api.enigma2.servicedata.getRadioBouquets"
],
"error": null
}
Alles anzeigen
Nur wie ruft man eine Methode auf? So geht es nicht: