Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Cron mit Auflösung 100ms

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Cron mit Auflösung 100ms

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
17 Beiträge 7 Kommentatoren 952 Aufrufe 6 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A Offline
    A Offline
    Automatisierer 0
    schrieb am zuletzt editiert von
    #1

    So weit ich festgestellt habe, kann der cron als kürzeste Zeizauflösung Sekunden.
    Gibt es eine einfache Möglichkeit einen Trigger alle 100ms zu bekommen?

    Thomas BraunT paul53P liv-in-skyL 3 Antworten Letzte Antwort
    0
    • A Automatisierer 0

      So weit ich festgestellt habe, kann der cron als kürzeste Zeizauflösung Sekunden.
      Gibt es eine einfache Möglichkeit einen Trigger alle 100ms zu bekommen?

      Thomas BraunT Online
      Thomas BraunT Online
      Thomas Braun
      Most Active
      schrieb am zuletzt editiert von
      #2

      @automatisierer-0
      Nein.
      Was hast du denn vor? So kurze cron shedules sind gefährlich.

      Linux-Werkzeugkasten:
      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
      NodeJS Fixer Skript:
      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

      F 1 Antwort Letzte Antwort
      0
      • A Automatisierer 0

        So weit ich festgestellt habe, kann der cron als kürzeste Zeizauflösung Sekunden.
        Gibt es eine einfache Möglichkeit einen Trigger alle 100ms zu bekommen?

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #3

        @automatisierer-0 sagte: Gibt es eine einfache Möglichkeit einen Trigger alle 100ms zu bekommen?

        Nein, aber ein Intervall kann alle 100 ms ausgeführt werden.

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        A 1 Antwort Letzte Antwort
        0
        • A Automatisierer 0

          So weit ich festgestellt habe, kann der cron als kürzeste Zeizauflösung Sekunden.
          Gibt es eine einfache Möglichkeit einen Trigger alle 100ms zu bekommen?

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #4

          @automatisierer-0 glaube nicht, dass dies lange gutgehen würde - da solltlest du eine externe lösung finden, die du über iobroker steuern kannst

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @automatisierer-0 sagte: Gibt es eine einfache Möglichkeit einen Trigger alle 100ms zu bekommen?

            Nein, aber ein Intervall kann alle 100 ms ausgeführt werden.

            A Offline
            A Offline
            Automatisierer 0
            schrieb am zuletzt editiert von
            #5

            @paul53
            Und was muss ich dafür tun?
            Wie geht das?

            paul53P 1 Antwort Letzte Antwort
            0
            • A Automatisierer 0

              @paul53
              Und was muss ich dafür tun?
              Wie geht das?

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              @automatisierer-0 sagte: Wie geht das?

              Javascript oder Blockly?
              Was soll wann alle 100 ms passieren?

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              A 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @automatisierer-0 sagte: Wie geht das?

                Javascript oder Blockly?
                Was soll wann alle 100 ms passieren?

                A Offline
                A Offline
                Automatisierer 0
                schrieb am zuletzt editiert von
                #7

                @paul53
                Alle 100ms soll eine interne Variable um 1 decrementiert werden.

                paul53P AsgothianA 2 Antworten Letzte Antwort
                0
                • A Automatisierer 0

                  @paul53
                  Alle 100ms soll eine interne Variable um 1 decrementiert werden.

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #8

                  @automatisierer-0 sagte: Alle 100ms soll eine interne Variable um 1 decrementiert werden.

                  Blockly-Beispiel:

                  Bild_2021-11-22_152143.png

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  0
                  • OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb am zuletzt editiert von
                    #9

                    @automatisierer-0 sagte in Cron mit Auflösung 100ms:

                    @paul53
                    Alle 100ms soll eine interne Variable um 1 decrementiert werden.

                    warum muss das alle 100ms passieren?
                    reicht auch alle 1000ms = 1sekunde um 10?

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    1 Antwort Letzte Antwort
                    0
                    • A Automatisierer 0

                      @paul53
                      Alle 100ms soll eine interne Variable um 1 decrementiert werden.

                      AsgothianA Offline
                      AsgothianA Offline
                      Asgothian
                      Developer
                      schrieb am zuletzt editiert von Asgothian
                      #10

                      @automatisierer-0 sagte in Cron mit Auflösung 100ms:

                      @paul53
                      Alle 100ms soll eine interne Variable um 1 decrementiert werden.

                      Warum dieses ?

                      • Wenn es eine interne Variable ist kannst Du darauf nicht triggern.
                      • Wenn es ein ioBroker State ist werden die setState befehle deinen ioBroker auf Dauer lahmlegen
                      • Wenn es für eine Restzeitberechnung notwendig ist kannst Du einfach
                        -- den Startzeitpunkt als timestamp sichern (ist in ms)
                        -- immer beim Refresh vergleichen wieviel Zeit vergangen ist (aktueller Timestamp - gespeicherter Timestamp) / 100, dann hast du es in 100 ms.
                        -- Das erreichen der "0" vorausberechnen und einfach mit einem Timeout auf die Zeit springen wo du den - Event haben willst.

                      @oliverio sagte in Cron mit Auflösung 100ms:

                      warum muss das alle 100ms passieren?
                      reicht auch alle 1000ms = 1sekunde um 10?

                      Auch dieses ist letztendlich nur bedingt zielführend. An Stelle von einem Aufruf alle 100 ms kommt da ein (unnötiger?) Aufruf jede Sekunde. Das scheint vielleicht besser, ist aber letztendlich das gleiche in langsamer.

                      Generell sind diese "Heartbeat" Funktionalitäten wo regelmässig ein Zähler modifiziert wird von der Ressourcenseite kritisch und zumeist auch unnötig. Über die Timestamps kommt man immer an die relevanten Laufzeiten heran und die meisten Aktionen lassen sich "event" getrieben darstellen.

                      A.

                      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                      paul53P A 2 Antworten Letzte Antwort
                      0
                      • Thomas BraunT Thomas Braun

                        @automatisierer-0
                        Nein.
                        Was hast du denn vor? So kurze cron shedules sind gefährlich.

                        F Offline
                        F Offline
                        fastfoot
                        schrieb am zuletzt editiert von
                        #11

                        @thomas-braun sagte in Cron mit Auflösung 100ms:

                        So kurze cron shedules sind gefährlich.

                        nee, da nicht möglich :-)

                        iobroker läuft unter Docker auf QNAP TS-451+
                        SkriptRecovery: https://forum.iobroker.net/post/930558

                        Thomas BraunT 1 Antwort Letzte Antwort
                        1
                        • F fastfoot

                          @thomas-braun sagte in Cron mit Auflösung 100ms:

                          So kurze cron shedules sind gefährlich.

                          nee, da nicht möglich :-)

                          Thomas BraunT Online
                          Thomas BraunT Online
                          Thomas Braun
                          Most Active
                          schrieb am zuletzt editiert von
                          #12

                          @fastfoot

                          Das ist eine Informatiker-Antwort. :-D

                          Linux-Werkzeugkasten:
                          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                          NodeJS Fixer Skript:
                          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                          F 1 Antwort Letzte Antwort
                          0
                          • Thomas BraunT Thomas Braun

                            @fastfoot

                            Das ist eine Informatiker-Antwort. :-D

                            F Offline
                            F Offline
                            fastfoot
                            schrieb am zuletzt editiert von
                            #13

                            @thomas-braun ja ok, hab wohl zuviel auf stackoverflow rumgestöbert in letzter Zeit :-)

                            iobroker läuft unter Docker auf QNAP TS-451+
                            SkriptRecovery: https://forum.iobroker.net/post/930558

                            1 Antwort Letzte Antwort
                            0
                            • AsgothianA Asgothian

                              @automatisierer-0 sagte in Cron mit Auflösung 100ms:

                              @paul53
                              Alle 100ms soll eine interne Variable um 1 decrementiert werden.

                              Warum dieses ?

                              • Wenn es eine interne Variable ist kannst Du darauf nicht triggern.
                              • Wenn es ein ioBroker State ist werden die setState befehle deinen ioBroker auf Dauer lahmlegen
                              • Wenn es für eine Restzeitberechnung notwendig ist kannst Du einfach
                                -- den Startzeitpunkt als timestamp sichern (ist in ms)
                                -- immer beim Refresh vergleichen wieviel Zeit vergangen ist (aktueller Timestamp - gespeicherter Timestamp) / 100, dann hast du es in 100 ms.
                                -- Das erreichen der "0" vorausberechnen und einfach mit einem Timeout auf die Zeit springen wo du den - Event haben willst.

                              @oliverio sagte in Cron mit Auflösung 100ms:

                              warum muss das alle 100ms passieren?
                              reicht auch alle 1000ms = 1sekunde um 10?

                              Auch dieses ist letztendlich nur bedingt zielführend. An Stelle von einem Aufruf alle 100 ms kommt da ein (unnötiger?) Aufruf jede Sekunde. Das scheint vielleicht besser, ist aber letztendlich das gleiche in langsamer.

                              Generell sind diese "Heartbeat" Funktionalitäten wo regelmässig ein Zähler modifiziert wird von der Ressourcenseite kritisch und zumeist auch unnötig. Über die Timestamps kommt man immer an die relevanten Laufzeiten heran und die meisten Aktionen lassen sich "event" getrieben darstellen.

                              A.

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von paul53
                              #14

                              @asgothian sagte: Wenn es für eine Restzeitberechnung notwendig ist

                              Wenn diese Restzeit eine Auflösung von 0,1 s haben soll, kann durchaus eine Variable mit dem 100-ms-Intervall runter gezählt werden.

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              AsgothianA 1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @asgothian sagte: Wenn es für eine Restzeitberechnung notwendig ist

                                Wenn diese Restzeit eine Auflösung von 0,1 s haben soll, kann durchaus eine Variable mit dem 100-ms-Intervall runter gezählt werden.

                                AsgothianA Offline
                                AsgothianA Offline
                                Asgothian
                                Developer
                                schrieb am zuletzt editiert von Asgothian
                                #15

                                @paul53 sagte in Cron mit Auflösung 100ms:

                                @asgothian sagte: Wenn es für eine Restzeitberechnung notwendig ist

                                Wenn diese Restzeit eine Auflösung von 0,1 s haben soll, kann durchaus eine Variable mit dem 100-ms-Intervall runter gezählt werden.

                                Kann, aber wozu ? Ich glaube kaum das jemand in der Darstellung die 100 ms sehen kann. Und wenn es in der Darstellung darauf geht auf die nächsten 100 ms genau zu sein kann man die Differenz dear Zeitstempel auf die nächsten 100 ms Runden.

                                Ich bleibe dabei - aus meiner Sicht sind die meisten “Heartbeat” Konstrukte ressourcenverschwendung.

                                A.

                                ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                1 Antwort Letzte Antwort
                                0
                                • AsgothianA Asgothian

                                  @automatisierer-0 sagte in Cron mit Auflösung 100ms:

                                  @paul53
                                  Alle 100ms soll eine interne Variable um 1 decrementiert werden.

                                  Warum dieses ?

                                  • Wenn es eine interne Variable ist kannst Du darauf nicht triggern.
                                  • Wenn es ein ioBroker State ist werden die setState befehle deinen ioBroker auf Dauer lahmlegen
                                  • Wenn es für eine Restzeitberechnung notwendig ist kannst Du einfach
                                    -- den Startzeitpunkt als timestamp sichern (ist in ms)
                                    -- immer beim Refresh vergleichen wieviel Zeit vergangen ist (aktueller Timestamp - gespeicherter Timestamp) / 100, dann hast du es in 100 ms.
                                    -- Das erreichen der "0" vorausberechnen und einfach mit einem Timeout auf die Zeit springen wo du den - Event haben willst.

                                  @oliverio sagte in Cron mit Auflösung 100ms:

                                  warum muss das alle 100ms passieren?
                                  reicht auch alle 1000ms = 1sekunde um 10?

                                  Auch dieses ist letztendlich nur bedingt zielführend. An Stelle von einem Aufruf alle 100 ms kommt da ein (unnötiger?) Aufruf jede Sekunde. Das scheint vielleicht besser, ist aber letztendlich das gleiche in langsamer.

                                  Generell sind diese "Heartbeat" Funktionalitäten wo regelmässig ein Zähler modifiziert wird von der Ressourcenseite kritisch und zumeist auch unnötig. Über die Timestamps kommt man immer an die relevanten Laufzeiten heran und die meisten Aktionen lassen sich "event" getrieben darstellen.

                                  A.

                                  A Offline
                                  A Offline
                                  Automatisierer 0
                                  schrieb am zuletzt editiert von
                                  #16

                                  @asgothian
                                  Es ist keine der drei angeführten Anforderungen.
                                  Ich möchte nach einem eingehenden Daetnpunkttrigger (Änderung eines Datenpunkts) nach einer Sekunde eine Aktion durchführen.
                                  Wenn ich nun den cron mit einer Sekunde Triggerzeit nehme, dann kommt dieser cron-Trigger zwischen 1ms bis 999ms nach dem eingehenden Datenpunkttrigger, je nach Zufall. Und das ist zu unpräzise.

                                  Daher kommen die 100ms. (ich weiss dass ich da noch imme eine Ungenauigkeit von 1-99ms habe, aber dies reicht aus.)

                                  F 1 Antwort Letzte Antwort
                                  0
                                  • A Automatisierer 0

                                    @asgothian
                                    Es ist keine der drei angeführten Anforderungen.
                                    Ich möchte nach einem eingehenden Daetnpunkttrigger (Änderung eines Datenpunkts) nach einer Sekunde eine Aktion durchführen.
                                    Wenn ich nun den cron mit einer Sekunde Triggerzeit nehme, dann kommt dieser cron-Trigger zwischen 1ms bis 999ms nach dem eingehenden Datenpunkttrigger, je nach Zufall. Und das ist zu unpräzise.

                                    Daher kommen die 100ms. (ich weiss dass ich da noch imme eine Ungenauigkeit von 1-99ms habe, aber dies reicht aus.)

                                    F Offline
                                    F Offline
                                    fastfoot
                                    schrieb am zuletzt editiert von
                                    #17

                                    @automatisierer-0 sagte in Cron mit Auflösung 100ms:

                                    Ich möchte nach einem eingehenden Daetnpunkttrigger (Änderung eines Datenpunkts) nach einer Sekunde eine Aktion durchführen.

                                    in dem Fall ist setTimeout() dein Freund

                                    iobroker läuft unter Docker auf QNAP TS-451+
                                    SkriptRecovery: https://forum.iobroker.net/post/930558

                                    1 Antwort Letzte Antwort
                                    0
                                    Antworten
                                    • In einem neuen Thema antworten
                                    Anmelden zum Antworten
                                    • Älteste zuerst
                                    • Neuste zuerst
                                    • Meiste Stimmen


                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    594

                                    Online

                                    32.7k

                                    Benutzer

                                    82.4k

                                    Themen

                                    1.3m

                                    Beiträge
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                    ioBroker Community 2014-2025
                                    logo
                                    • Anmelden

                                    • Du hast noch kein Konto? Registrieren

                                    • Anmelden oder registrieren, um zu suchen
                                    • Erster Beitrag
                                      Letzter Beitrag
                                    0
                                    • Home
                                    • Aktuell
                                    • Tags
                                    • Ungelesen 0
                                    • Kategorien
                                    • Unreplied
                                    • Beliebt
                                    • GitHub
                                    • Docu
                                    • Hilfe