So, puuh, habe die Änderungsmöglichkeit von timespec eines Schedule Jobs in der Web UI getestet.
Es geht hier um solche Jobs, die nicht per Web UI angelegt werden können.
Die Zeitangaben des oben angeführten Jobs mit den zwei Methoden kann leicht in der Web UI geändert werden.
Beim auflisten wird unter "Do what" nur die erste Methode angezeigt, die auch nicht editierbar ist, aber die Zeitangaben können leicht geändert werden.
Für den TE bedeutet das:
- Er braucht vermutlich kein Skript. Selbstverständlich kann er trotzdem ein solches verwenden.
- Es müssen nur einmal zwei geeignete Schedule Jobs angelegt werden, was nicht ganz trivial ist - s.o.
- Wenn die beiden Jobs vorhanden sind und passend arbeiten, können deren Zeitangaben relativ leicht per Web UI des Shelly geändert werden.
Im meinem nächsten Leben werde ich für den kompletten Service zur Verfügung stehen. 
Edit:
Ein Skript könnte bspw. eine interaktive Webseite zur Verfügung stellen, in welcher man die Schedule Jobs komfortabel anlegen, löschen und ändern könnte.
Das wäre imho eine coole Implementation. 
Edit 2:
In der Web UI ist unter Schedules der bereits vorhandene Job zu finden. Dort sollte bereits unter "Schedule type" Advanced Schedule selektiert sein. Wenn nicht, dann dort von Basic schedule auf Advanced schedule umstellen.
Nun stellt die UI sehr komfortabel die Zeiteinstellungen von Sekunden über Minuten bis hin zu Weekdays zur Verfügung - alles per klicken einstellbar, auch Sunrise oder Sunset mit offset, also zeitlichem Abstand zu Sonnenauf-, Sonnenuntergang.
Sehr komfortabel. Nur unter "Do what" sollte an einem solchen komplexeren Job nichts geändert werden.
Wer sich eine http-Zeile (s.o. Beitrag #97) mal in einer Textdatei mit ein paar Erklärungen ablegt, sollte solche Jobs relativ leicht erneut anlegen können. Ein nicht passender Job kann leicht per Web UI gelöscht werden.
Edit 3:
Man kann auch mehrschrittig arbeiten.
- Man lege den Schedule Job mit enable=false und einem simplen timspec="0 * * * * *" (0 und 5 Asterisk, je ein Leerzeichen dazwischen) an. Wesentlich sind hier die Einträge hinter calls=, darauf muss man sich konzentrieren.
Z.B. <IP Adresse>/rpc/Schedule.Create?enable=false& timespec="0 * * * * *"&calls=[{"method":"Input.SetConfig","config":{"id":0,"enable":false}},{"method":"Switch.Set","params":{"id":0,"on":false}}]
Das hier vor timespec eingefügte Leerzeichen dient ausschließlich der hier richtigen Darstellung, es ist überflüssig oder evtl. gar störend.
Zeigt der Browser eine Fehlermeldung, stimmt etwas mit der Syntax zum anlegen des Jobs nicht und muss korrigiert wiederholt werden.
War die Eintragung erfolgreich wird etwas ausgegeben wie { "id": 4,
"rev": 6
}. Hier hat der neue Job die Id 4 erhalten und die sechste Änderung wurde vorgenommen.
Die führende 0 in timespec dient dazu, dass jede volle Minute der Job ausgeführt wird, nachdem dieser bspw. per Web UI enabled wurde. - Evaluationsschritt: Zur Prüfung nutze man im Broser <IP Adresse>/rpc/Schedule.List . Nun zeigt der Browser alle eingetragenen Schedule Jobs an (Edge und Firefox tun dies übersichtlich).
Nach sorgfältiger Prüfung aktiviert man den neuen Job in der Web UI - Schiebeschaltersymbol rechts.
Wirkung: Jede volle Minute (Sekunde 0) wird der Job abgearbeitet. Nun kann man zwischendurch per Web UI oder Schalter/Taster manuell Änderungen vornehmen wie Einschalten, Ausschalten, Eingang sperren/freigeben ... und beobachten, ob der Job das tut, was er tun soll. - Wenn alles so läuft, wie es soll, den Job deaktivieren - weiter mit 4. Wenn nicht, die Ursache suchen, den Job löschen und ihn verbessert neu anlegen - weiter mit 2.
- Nun die gewünschten Zeiten per Web UI einstellen, den Job aktivieren ... und sich hoffentlich freuen.
Ist die Zeitspanne von einer Minute für die Evaluation zu kurz, verwende man folgenden timespec: "0 */5 * * * *" zum auslösen des Jobs alle 5 Minuten, für alle 3 Minuten entsprechend die 5 durch 3 ersetzen ...
Man wird hoffentlich Verständnis dafür aufbringen, wenn ich das ursprüngliche Anliegen von Cyb.2K nicht ganz getroffen haben sollte. Ich habe versucht, das Prinzip aufzuzeigen und kann gerne bei Bedarf versuchen, die Schedule Jobs für den TE konkret passend zusammenzustellen.