Action when internet time (minutes) proceeds by one digit - Master Clock made with Shelly

  • Would it be possible to implement a script which starts an action (e.g. switching another shelly), when the minute digit of internet time proceeds by one? Some hints would be brilliant, cause I'm not really a JAVA programmer...

    Experts suppose what I want to do: Replacement of a master clock.

    „Habt Geduld. Alle Dinge sind schwierig, bevor sie einfach werden!“ (aus Frankreich)

    „Nothing in life is to be feared, it is only to be understood.“ (Marie Curie, 1867-1934)

    „Es reicht nicht“, rief Schiller, „Gedankenfreiheit zu fordern, man muß auch denken können, sonst fordert man Gedankenlosigkeitsfreiheit und die ist die Freiheit zur Dummheit, welche wiederum die schlimmste Unfreiheit überhaupt ist!“
    (Aus „Besuch aus Weimar“ von Gert Heidenreich, Schriftsteller, *1944 in Eberswalde)

  • when the minute digit of internet time proceeds by one?

    which times should be compared? the time from the local shelly with that one from the remote shelly?

    I'd like to help you but I'm not sure I understand the problem / use case. Maybe you can start the same discussion in our native language?

    >100 Shellies, darunter so gut wie alles was der Hersteller produziert hat. ;)
    :!: ich beantworte grundsätzlich keine Fragen per persönlicher Nachricht:!:

  • Native language (German) is obviously not allowed in this thread - but I could easily write in both languages!

    Also: Ich möchte eine Haupuhr (Mutteruhr) nachbilden, um eine "Bahnhofsuhr" (Nebenuhr) mehr als zweimal am Tag die korrekte Uhrzeit anzeigen zu lassen. Dazu benötigt man jede Minute einen symmetrischen Impuls, der über ein Polwende-Relais erzeugt wird. Die Erzeugung des Impulses ist nicht Bestandteil meiner Frage, sondern die Ableitung des "Triggers": Jede Minute möchte ich eine Aktion auslösen, und zwar immer dann, wenn die "Internet-Zeit" (vom time server) eine Minuten-Stelle weiterrückt. Also am Ende der 59. Sekunde.

    „Habt Geduld. Alle Dinge sind schwierig, bevor sie einfach werden!“ (aus Frankreich)

    „Nothing in life is to be feared, it is only to be understood.“ (Marie Curie, 1867-1934)

    „Es reicht nicht“, rief Schiller, „Gedankenfreiheit zu fordern, man muß auch denken können, sonst fordert man Gedankenlosigkeitsfreiheit und die ist die Freiheit zur Dummheit, welche wiederum die schlimmste Unfreiheit überhaupt ist!“
    (Aus „Besuch aus Weimar“ von Gert Heidenreich, Schriftsteller, *1944 in Eberswalde)

  • Native language (German) is obviously not allowed in this thread - but I could easily write in both languages!

    I know ;)

    Problem ist verstanden, jetzt hat es Klick gemacht.

    Ich antworte auch mal auf deutsch, weil es in englisch schwieriger zu erklären ist: Einen minütlichen Timer zu starten, der einen Webhook emuliert und ein Relais in einem Remote-Shelly anspricht ist grundsätzlich erstmal kein Problem.

    Hauptproblem wäre hier den extakten Zeitpunkt zu treffen, damit der eben in Sekunde 59,9 läuft. Ich hab aber zumindest eine Idee, wie man das eventuell lösen kann.

    Ein weiteres Problem wird allerdings bestehen bleiben: Netzwerk-Latenzen machen es quasi unmöglich die Uhr zu 100% synchron schalten zu lassen. das müsstest du also gezwungenermaßen in Kauf nehmen.

    wenn du mit den Latenzen beim Netzwerk leben könntest, dann kann ich mich gerne am Wochenende mal hinsetzen und etwas ausprobieren.

    >100 Shellies, darunter so gut wie alles was der Hersteller produziert hat. ;)
    :!: ich beantworte grundsätzlich keine Fragen per persönlicher Nachricht:!:

  • Wouldn't something like this work without latency if the shelly switches the output directly?

    Würde sowas in der art dann nicht ohne Latenz funktionieren wenn der Shelly direkt den Ausgang schaltet?

    Code
    let interval = 59 * 1000;
    let now = Shelly.getComponentStatus("sys").unixtime;
    let delay = interval - now % interval;
  • Dieses Thema enthält 38 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.