Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Suche "ausfallsicheren" Timer (Blockly)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Suche "ausfallsicheren" Timer (Blockly)

    This topic has been deleted. Only users with topic management privileges can see it.
    • umbm
      umbm last edited by

      Schreibe den timer Zeitpunkt in einen eigenen Datenpunkt und frage den dann per Script ab.

      Datenpunkte bleiben auch über System-Neustarts hinweg erhalten.

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Supermicha last edited by

        @Supermicha sagte:

        sobald ich den js-Adapter neu starte, ist auch der CRON-Job weg und der Timer wird nicht ausgeführt...

        Der CRON-Job wird neu gestartet.
        Was willst Du erreichen und wie sieht Dein Versuch mit dem CRON-Job aus ? Soll der Timer weiter laufen ? Wenn ja, gibt es beim Backup aber eine längere Unterbrechung.

        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @Supermicha last edited by

          @Supermicha sagte:

          beim täglichen Backup

          Wenn man den Endzeitpunkt der Verzögerung berechnet und in einem Datenpunkt speichert, kann man auch Unterbrechungen (Backup) überwinden.

          Blockly_delay_mit_iob_unterbrechung.JPG

          1 Reply Last reply Reply Quote 0
          • S
            Supermicha last edited by

            mein Timer sah bisher so aus...
            284c47d8-5f96-4df1-ab96-fcb548b3cb1d-grafik.png

            der Hinweis mit dem CRON als Trigger war schon gut.. denke ich..
            so wie ich es habe, das der da irgendwo verschachtelt drin ist, wird wohl nicht klappen...

            @paul53 ich nutze das aktuell um mein Handyladegerät nach 3 Stunden auszuschalten...
            Problem ist nur, wenn ich zwischenzeitlich an meinem ioBroker rumbastel, "vergisst" er auszuschalten...
            Oder wenn ich nachts um 1 das Ladegerät anschalte und ioBroker um 3 sein Backup macht, ist der Timer auch futsch...

            Ich guck mir dein Blockly jetzt erstmal genauer an

            liv-in-sky 1 Reply Last reply Reply Quote 0
            • S
              Supermicha last edited by

              @paul53 ich dachte ich kenn mich mit Blockly schon ganz gut aus... bis ich versucht habe deins zu verstehen...

              Du benutzt eine Funktion als Trigger? Damit hab ich noch nie gearbeitet...
              hättest du die Muse mir das kurz zu erklären?

              BBTown paul53 2 Replies Last reply Reply Quote 0
              • BBTown
                BBTown @Supermicha last edited by

                @Supermicha sagte in Suche "ausfallsicheren" Timer (Blockly):

                ch dachte ich kenn mich mit Blockly schon ganz gut aus... bis ich versucht habe deins zu verstehen...

                Das war 100%ig was mir auch durch den Kopf ging 😀 😎

                1 Reply Last reply Reply Quote 0
                • S
                  Supermicha last edited by

                  @BBTown wie genau meinst du das mit CRON als Trigger?

                  Ich muss ja, falls der Timer geändert/aktiviert wird, den CRON entsprechend ändern lassen...

                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Supermicha last edited by paul53

                    @Supermicha sagte:

                    Du benutzt eine Funktion als Trigger?

                    Nein, eine Funktion ist kein Trigger. Ich benutze eine Funktion immer dann, wenn die gleiche Befehlsfolge mehrfach benötigt wird: Hier bei Skriptstart und im Triggerbaustein. An die Funktion verzoegerung(stop) wird der Stop-Zeitpunkt in ms (Linux-Zeit) übergeben.

                    1 Reply Last reply Reply Quote 0
                    • S
                      Supermicha last edited by

                      Ich glaube zu verstehen was du meinst....

                      Hast du dir mein Blockly mal angesehen? Das läuft super.. auch der CRON-Job wird richtig aktualisiert, aber er überlegt keinen Adapter-Neustart...
                      Liegt das irgendwie daran, das er im Falls Objekt drin steckt? Aber anders kriege ich den bei Änderung ja nicht neu gestartet....

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @Supermicha last edited by

                        @Supermicha sagte:

                        aber er überlegt keinen Adapter-Neustart

                        Das kann er auch nicht, da der CRON Job nur im Trigger gesetzt wird und nicht auch bei Skriptstart.

                        Übrigens: timeout ist überflüssig und die letzte Stelle im CRON ist nicht das Jahr, sondern der Wochentag.

                        1 Reply Last reply Reply Quote 0
                        • S
                          Supermicha last edited by

                          Den Timeout brauche ich, weil sonst das der CRON bei mir nicht aktualisiert wird.. wahrscheinlich wird der Datenpunkt schneller eingelesen als er aktualisiert wird? Ohne Timeout gehts bei mir nicht.. mit klappts wie es soll....

                          stimmt, das mit den Wochentag hatte ich verdrängt... 🙂

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @Supermicha last edited by paul53

                            @Supermicha sagte:

                            wahrscheinlich wird der Datenpunkt schneller eingelesen als er aktualisiert wird?

                            Das stimmt, wird er. Deshalb macht man das Einlesen in der Callback-Funktion von setState(), aber das bietet Blockly leider nicht; oder man verwendet eine Variable.

                            1 Reply Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @Supermicha last edited by

                              @Supermicha sagte in Suche "ausfallsicheren" Timer (Blockly):

                              mein Timer sah bisher so aus...
                              284c47d8-5f96-4df1-ab96-fcb548b3cb1d-grafik.png

                              der Hinweis mit dem CRON als Trigger war schon gut.. denke ich..
                              so wie ich es habe, das der da irgendwo verschachtelt drin ist, wird wohl nicht klappen...

                              @paul53 ich nutze das aktuell um mein Handyladegerät nach 3 Stunden auszuschalten...
                              Problem ist nur, wenn ich zwischenzeitlich an meinem ioBroker rumbastel, "vergisst" er auszuschalten...
                              Oder wenn ich nachts um 1 das Ladegerät anschalte und ioBroker um 3 sein Backup macht, ist der Timer auch futsch...

                              Ich guck mir dein Blockly jetzt erstmal genauer an

                              mal ein anderer vorschlag:
                              mit tasker (wenn android handy) kann man sehr einfach den batteriestand an iobroker übersenden - ich schalte meine wireless station auch nach diesem batterie stand ein und aus - bei hundert wird ausgeschaltet und bei bei kleiner 35% wird das laden eingeschaltet. mit normaler stromversorgung geht das natürlich auch mit entsprechendem script
                              falls man tasker nicht mag, ginge auch fullybrowser - da bekommt man denn batt stand auch in iobroker.

                              1 Reply Last reply Reply Quote 0
                              • S
                                Supermicha last edited by

                                So ich hab die Ausfallsichere Variante hingekriegt...
                                Ich nutze 2 Scripte...

                                Das Erste läuft immer und schreibt, wenn es getriggert wird, einen Zeitpunkt in einen Datenpunkt und aktiviert Script Nummer 2

                                Das Zweite vergleicht jetzt jede Minute die aktuelle Zeit mit der Zeit aus dem Datenpunkt (und berechnet die Differenz für VIS-Anzeige) nachdem die Zeit abgelaufen ist, führt es die gewünschte Aktion aus und deaktiviert sich selbst...

                                Das bleibt endlich auch über einen ioBroker oder Raspi Neustart erhalten.

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                791
                                Online

                                31.9k
                                Users

                                80.3k
                                Topics

                                1.3m
                                Posts

                                5
                                16
                                967
                                Loading More Posts
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes
                                Reply
                                • Reply as topic
                                Log in to reply
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                The ioBroker Community 2014-2023
                                logo