schedule script function

  • Hi,

    ich möchte eine eigene Script Function regelmäßig über den Scheduler aufrufen. Leider funktioniert es nicht wie erwartet:

    Der Scheduler startet hier um 15:34, liefert aber: mg_rpc.c:291 No handler for disableswitch

    Wie bekomme ich das hin?

    Stephan

  • Ich reagiere nun sehr spät, weil ich mich derzeit mit den Schedule-Jobs per Skripts beschäftige.

    Ich kenne keine Methode "disableswitch". Deshalb gibt es auch keinen Handler dazu. Jedenfalls nicht auf Shelly Plus 1 Geräten.

    Wenn du alle verfügbaren Methoden deines Device wissen willst, nutze bspw. http:<device ip address>/rpc/shelly.listmethods !

    Du kannst bspw. die Methode "script.eval" nutzen, welche als Parameter die Script Id und den Namen der aufzurufenden Funktion braucht.

    Hierzu gibt es ein Beispiel-Skript namens "register-scheduled-script.js".

    Der damit angelegte Schedule-Job beinhaltet "calls":[{"params":{"code":"scheduledTask()","id":2},"method":"script.eval"}].

    Der Parameter "id":2 kann selbstverständlich einen anderen id-Wert haben, abhängig von den gerade gespeicherten Skripts bzw. der id des o.a. Skripts.

    In diesem Skript muss die Funktion scheduledTask() existieren. Sie kann aber auch in einem anderen Skript existieren, welches notwendigerweise laufen muss.

    Statt scheduledTask() ist selbstverständlich eine andere Funktion wie "myFunction()" verwendbar, die dann im Schedule-Job einzutragen ist.

    Du kannst auch die optionalen Schedule-Einträge deines Device verwenden und per http://<device ip address>/rpc/schedule.list analysieren.

    ... ;)

    An Cloud-/Szenen-Benutzer (insbesondere für Regelungen): Was erwartest du, wenn Internet oder Cloud sabotiert werden? Nicht nur dafür meine kleine Skripteinführung  8)

    Die einzig existierende Konstante ist der Wandel. Oft liegt die größte Schwierigkeit darin, das Anliegen des Klienten zu verstehen.