ChristianSkala Ja das geht. Man kann ein shell skript Ausführen.
Sehr gut. Dann kann man ja vermutlich curl
oder wget
verwenden.
Auf p44-Seite braucht es dann folgende Zeilen im mainscript (mehr Info dazu s. hier):
on(webrequest()) as req {
log(6, "webrequest = %s", req)
try {
var jreq = json(req);
// Shutdown-Kommando testen
// Request hat die Form: { "command":"shutdown" }
if (isvalid(jreq. command)) {
if (jreq.command=="shutdown") {
// etwas verzögert den shutdown auslösen
concurrent {
delay(2)
// Variante 1: system(), braucht userlevel==2 (auf Anfrage per Fernwarung setzbar)
system('/sbin/poweroff')
// Variante 2: ab Firmware Version 2.6.3.7, braucht kein userlevel==2 mehr
// restartapp('poweroff')
}
}
}
// immer Antwort senden (sonst hängt der Client)
req.answer({ "status": "ok"})
}
catch as e {
log(4, "scriptapi error: %s", e)
req.answer(e)
}
}
Jetzt kann die P44-DSB (oder P44-LC) mit einem shell-Befehl wie dem folgenden kontrolliert heruntergefahren werden:
curl -v --insecure --user vdcadmin:webuipasswort "https://192.168.x.y/api/json/scriptapi?command=shutdown"