Unterstützung bei der Installation der Hauptuhr-Emulation ^

© 2023-04-18 Gerhard Eichelsdörfer

Für die Nutzung des Shelly als Hauptuhr-Ersatz sind drei Zeitpläne (schedule jobs) erforderlich.
Diese kannst du hiermit anlegen. Falls ein Zeitplan nicht ganz passt, kannst du diesen wieder entfernen.
Die vorgegebenen Sekundenwerte sind im Normalfall zu belassen, da diese im Skript vorausgesetzt werden.
Änderungen an diesen können Experimentierzwecken dienen.
Wenn du auf den (angepassten) Link (URL) klickst, wird das Entsprechende ausgeführt.

Zumeist genügt es, die IP-Adresse einzugeben und nacheinander die Links unter 4. bis 6. anzuklicken.

Die Einstellung wirken nur dann, wenn danach das Skript neu gestartet, der Shelly rebootet oder kurz ausgeschaltet wird.

Für alle Links gilt: Die Antwort erscheint in einer neuen Registerkarte (Tab) dahinter.

  1. IP-Adresse oder Name (im LAN) des Shelly: immer erforderlich

  2. Zeitpläne auflisten http://{{device}}/rpc/schedule.list

  3. Id des Skript: in 4. bis 7. erforderlich, Skript-Liste anzeigen http://{{device}}/rpc/script.list

  4. Zeitplan für die Minuten-Pulse anlegen, muss am Ende die Id 1 haben

    aktivSekundePulsdauer [ms]

    http://{{device}}/rpc/schedule.create?enable={{en1}}&timespec="{{s}} {{m}} {{h}} {{dd}} {{dm}} {{dow}}"&calls=[{"method":"script.eval","params":{"id":{{script_id}},"code":"pulse({{dur}})"}}]

  5. Zeitplan zum nachstellen der Uhr anlegen, muss am Ende die Id 2 haben

    aktivSekundeperiodePulsdauer [ms]

    http://{{device}}/rpc/schedule.create?enable={{en2}}&timespec="*/{{sp}} {{m}} {{h}} {{dd}} {{dm}} {{dow}}"&calls=[{"method":"script.eval","params":{"id":{{script_id}},"code":"pulse({{dur}})"}}]

  6. Zeitplan für Anzeigekorrekturen anlegen, sollte am Ende die Id 3 haben

    http://{{device}}/rpc/schedule.create?timespec="29 * * * * *"&calls=[{"method":"script.eval","params":{"id":{{script_id}},"code":"getTime()"}}]

  7. Optional: Zeitplan für das regelmäßige Starten der Uhr - falls die Anwendung einmal abbricht, sollte am Ende die Id 4 haben
    Mit einem Asterisk (*) bei Stunde wird die Uhr stündlich zur angegebenen Minute gestartet.

    aktivMinuteStunde

    http://{{device}}/rpc/schedule.create?enable={{en3}}&timespec="19 {{startm}} {{starth}} * * *"&calls=[{"method":"script.start","params":{"id":{{script_id}}}}]

  8. Zeitplan entfernen mit id=

    http://{{device}}/rpc/schedule.delete?id={{sched_id}}

  9. Zusätzlich kann hier die Uhrperiode (12h vs. 24h) eingestellt werden: , prüfen mit http://{{device}}/rpc/kvs.get?key="{{periodKey}}"

    Link zum speichern: http://{{device}}/rpc/kvs.set?key="{{periodKey}}"&value={{period}}

  10. Feineinstellung: Faktor x, der die Uhr entscheiden lässt, ob nach Stromausfall die Uhr per Puls-Ausgaben oder per warten richtig gestellt wird. Je größer der Faktor ist, desto weniger wahrscheinlich sind die Pulsausgaben - Voreinstellung: 2 => Die Puls-Ausgaben dürfen maximal halb so lange dauern im Vergleich zum warten, um Pulsausgaben zu nutzen.
    Faktor x: , prüfen mit http://{{device}}/rpc/kvs.get?key="{{decKey}}"

    Link zum speichern: http://{{device}}/rpc/kvs.set?key="{{decKey}}"&value={{decision}}

  11. Der vorgesehene vollautomatische Betrieb stellt nach einer Zeitsynchronisation die Zeitanzeige richtig. Hierfür muss mit jedem ausgegebenen Impuls die Uhrzeit im nichtflüchtigen Speicher abgelegt werden. Dieser Speicher altert bei Schreibzugriffen schneller als der RAM. Wer keinen Wert auf den vollautomatischen Betrieb legt, kann diesen hier deaktivieren. Dann muss er nach einem Reboot (Stromausfall) selbst die angezeigte Zeit eingeben - siehe hierzu Punkt 2 in clock_set.html.

    Vollautomatischer Betrieb:   http://{{device}}/rpc/kvs.set?key="app_auto"&value={{auto}}

    Prüfen mit http://{{device}}/rpc/kvs.get?key="app_auto"