Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. setinteval Zeiten

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

setinteval Zeiten

Scheduled Pinned Locked Moved JavaScript
27 Posts 5 Posters 2.1k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Laser

    @paul53 Hatte eigenartigerweise nicht genügt. Auch kompletter Neustart des Raspi nicht. Erst mit der Umbenennerei ging es.

    L Offline
    L Offline
    Laser
    wrote on last edited by
    #1

    @ticaki
    Möchte kein neues Thema aufmachen. Wie kurz kann eine mit "setInterval(functionXYZ,1000) " Zeit sein, bis es Probleme macht? Sind 1- 2 Sekunden zu schnell (Raspi4 8GB RAM) ? Starten mehrere Programme/Scripte mit "setinterval" gleichzeitig oder welche Regel gilt da?

    HomoranH paul53P OliverIOO 3 Replies Last reply
    0
    • L Laser

      @ticaki
      Möchte kein neues Thema aufmachen. Wie kurz kann eine mit "setInterval(functionXYZ,1000) " Zeit sein, bis es Probleme macht? Sind 1- 2 Sekunden zu schnell (Raspi4 8GB RAM) ? Starten mehrere Programme/Scripte mit "setinterval" gleichzeitig oder welche Regel gilt da?

      HomoranH Do not disturb
      HomoranH Do not disturb
      Homoran
      Global Moderator Administrators
      wrote on last edited by Homoran
      #2

      @laser sagte in Raspi GPIO wird gesetzt, wie Ursache herausfinden?:

      Möchte kein neues Thema aufmachen

      dann mach ich das für dich 😡
      hat ja wirklich überhaupt nichts mit GPIO zu tun

      passe bitte als erstes den Titel an!

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      T 1 Reply Last reply
      0
      • HomoranH Homoran

        @laser sagte in Raspi GPIO wird gesetzt, wie Ursache herausfinden?:

        Möchte kein neues Thema aufmachen

        dann mach ich das für dich 😡
        hat ja wirklich überhaupt nichts mit GPIO zu tun

        passe bitte als erstes den Titel an!

        T Do not disturb
        T Do not disturb
        ticaki
        wrote on last edited by ticaki
        #3

        @homoran
        Jetzt war ich mir nicht sicher wo mein Beitrag landet 🙂

        @laser
        Sekunden sind kein Problem bei 1-2 stelligen Millisekunden wäre das was anderes.

        Starten mehrere Programme/Scripte mit "setinterval" gleichzeitig oder welche Regel gilt da?

        Ich kenne den Code nicht der dahinter steckt, aber der Wahrheit wird wohl sehr nahe kommen:

        Mit setInterval trägst du deinen Befehl in eine Liste ein, und der Javascript Adapter (1 Thread IMHO) klappert die nacheinander ab. Wenn du da nicht extem aufwendige Berechungen anstellst, sollte das alles kein Problem sein. Auf meinem NUC sieht ein Test z.B so aus:

        script.js.Test.Skript_122: 100000 x getState().val in 23ms
        script.js.Test.Skript_122: while (i++ < 1000000) x = (x+2)/6+i in 8ms
        

        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

        Spenden

        HomoranH 1 Reply Last reply
        1
        • T ticaki

          @homoran
          Jetzt war ich mir nicht sicher wo mein Beitrag landet 🙂

          @laser
          Sekunden sind kein Problem bei 1-2 stelligen Millisekunden wäre das was anderes.

          Starten mehrere Programme/Scripte mit "setinterval" gleichzeitig oder welche Regel gilt da?

          Ich kenne den Code nicht der dahinter steckt, aber der Wahrheit wird wohl sehr nahe kommen:

          Mit setInterval trägst du deinen Befehl in eine Liste ein, und der Javascript Adapter (1 Thread IMHO) klappert die nacheinander ab. Wenn du da nicht extem aufwendige Berechungen anstellst, sollte das alles kein Problem sein. Auf meinem NUC sieht ein Test z.B so aus:

          script.js.Test.Skript_122: 100000 x getState().val in 23ms
          script.js.Test.Skript_122: while (i++ < 1000000) x = (x+2)/6+i in 8ms
          
          HomoranH Do not disturb
          HomoranH Do not disturb
          Homoran
          Global Moderator Administrators
          wrote on last edited by
          #4

          @ticaki zu dicke Finger oder zu kleines Handy 😂

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          1 Reply Last reply
          0
          • L Laser

            @ticaki
            Möchte kein neues Thema aufmachen. Wie kurz kann eine mit "setInterval(functionXYZ,1000) " Zeit sein, bis es Probleme macht? Sind 1- 2 Sekunden zu schnell (Raspi4 8GB RAM) ? Starten mehrere Programme/Scripte mit "setinterval" gleichzeitig oder welche Regel gilt da?

            paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by paul53
            #5

            @laser sagte: Sind 1- 2 Sekunden zu schnell (Raspi4 8GB RAM) ?

            Nein, i.d.R. nicht.

            @laser sagte in setinteval Zeiten:

            Starten mehrere Programme/Scripte mit "setinterval" gleichzeitig oder welche Regel gilt da?

            setIntervall(functionXYZ,1000) startet zyklisch die Callback-Funktion functionXYZ. Die Abarbeitungszeit der Callback-Funktion muss natürlich kürzer sein als die Zykluszeit, was i.d.R. gegeben ist.

            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 Reply Last reply
            0
            • L Laser

              @ticaki
              Möchte kein neues Thema aufmachen. Wie kurz kann eine mit "setInterval(functionXYZ,1000) " Zeit sein, bis es Probleme macht? Sind 1- 2 Sekunden zu schnell (Raspi4 8GB RAM) ? Starten mehrere Programme/Scripte mit "setinterval" gleichzeitig oder welche Regel gilt da?

              OliverIOO Offline
              OliverIOO Offline
              OliverIO
              wrote on last edited by OliverIO
              #6

              @laser said in setinteval Zeiten:

              Starten mehrere Programme/Scripte mit "setinterval" gleichzeitig oder welche Regel gilt da?

              javascript ist ein single threaded system.
              das heißt in einem Prozess kann immer nur genau eine einzige Codezeile gleichzeitig ausgeführt werden. (man kann natürlich mehrere javascript prozesse gleichzeitig starten, aber das ist nur was für fortgeschrittene und benötigt ein normal-programmierer nicht)

              wenn du setinterval startet, dann wird zu gegebener zeit vom eventloop der javascript-engines der Aufruf deiner funktion auf den stack gelegt und bei nächster Gelegenheit (bspw eine evtl andere Funktion im skript ist fertig und springt zurück) aufgerufen.
              daher gibt es auch keine garantie, das deine funktion exakt nach bspw 2000ms aufgerufen wird, sondern nur so ungefähr.
              https://developer.mozilla.org/en-US/docs/Web/JavaScript/Event_loop

              wie paul schon erwähnt hat, sollte die intervalzeit länger sein, wie die dauer der Abarbeitung der funktion.. Hintergrund ist, das wenn die funktion noch nicht fertig ist, ja schon wieder der nächste aufruf auf dem stack liegt und dann keine zeit mehr übrig bleibt andere dinge zu tun. das system/prozess wird langsam und irgendwann läuft der stack über, dann wird der prozess vom betriebssystem beendet.
              aber wie gesagt, da ist viel luft bei 1-2 sekunden.
              https://developer.mozilla.org/en-US/docs/Web/API/setInterval

              Noch sicherer wäre es mit setTimeout zu arbeiten und die nächste Verarbeitung erst am Ende der vorhergehenden zu starten. Dann kann es keine Probleme geben.

              Allerding muss man sich fragen, was du mit so einer geringen Auflösung an Genauigkeit den tatsächlich machen willst. Evtl gibt es eine andere Lösung dafür?

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

              L 1 Reply Last reply
              1
              • OliverIOO OliverIO

                @laser said in setinteval Zeiten:

                Starten mehrere Programme/Scripte mit "setinterval" gleichzeitig oder welche Regel gilt da?

                javascript ist ein single threaded system.
                das heißt in einem Prozess kann immer nur genau eine einzige Codezeile gleichzeitig ausgeführt werden. (man kann natürlich mehrere javascript prozesse gleichzeitig starten, aber das ist nur was für fortgeschrittene und benötigt ein normal-programmierer nicht)

                wenn du setinterval startet, dann wird zu gegebener zeit vom eventloop der javascript-engines der Aufruf deiner funktion auf den stack gelegt und bei nächster Gelegenheit (bspw eine evtl andere Funktion im skript ist fertig und springt zurück) aufgerufen.
                daher gibt es auch keine garantie, das deine funktion exakt nach bspw 2000ms aufgerufen wird, sondern nur so ungefähr.
                https://developer.mozilla.org/en-US/docs/Web/JavaScript/Event_loop

                wie paul schon erwähnt hat, sollte die intervalzeit länger sein, wie die dauer der Abarbeitung der funktion.. Hintergrund ist, das wenn die funktion noch nicht fertig ist, ja schon wieder der nächste aufruf auf dem stack liegt und dann keine zeit mehr übrig bleibt andere dinge zu tun. das system/prozess wird langsam und irgendwann läuft der stack über, dann wird der prozess vom betriebssystem beendet.
                aber wie gesagt, da ist viel luft bei 1-2 sekunden.
                https://developer.mozilla.org/en-US/docs/Web/API/setInterval

                Noch sicherer wäre es mit setTimeout zu arbeiten und die nächste Verarbeitung erst am Ende der vorhergehenden zu starten. Dann kann es keine Probleme geben.

                Allerding muss man sich fragen, was du mit so einer geringen Auflösung an Genauigkeit den tatsächlich machen willst. Evtl gibt es eine andere Lösung dafür?

                L Offline
                L Offline
                Laser
                wrote on last edited by Laser
                #7

                @oliverio ich möchte zum Beispiel die Spannung meines PV-Akku's überwachen. Wenn der langsam "leer" wird, soll ein Verbraucher abschalten. Wenn "voll" das Laden beenden. Eine andere Anwendung ist, das Steigen oder Sinken eines Temperaturwertes zu detektieren. Beide Werte "klappern" aber etwas hin und her.
                Für mich ist wichtig, daß die Funktion überhaupt abgearbeitet wird, ob nach 2 oder 3 Sekunden, ist egal.

                OliverIOO 1 Reply Last reply
                0
                • L Laser

                  @oliverio ich möchte zum Beispiel die Spannung meines PV-Akku's überwachen. Wenn der langsam "leer" wird, soll ein Verbraucher abschalten. Wenn "voll" das Laden beenden. Eine andere Anwendung ist, das Steigen oder Sinken eines Temperaturwertes zu detektieren. Beide Werte "klappern" aber etwas hin und her.
                  Für mich ist wichtig, daß die Funktion überhaupt abgearbeitet wird, ob nach 2 oder 3 Sekunden, ist egal.

                  OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  wrote on last edited by
                  #8

                  @laser
                  ok,
                  sorry das ich dich mit zu viel Informationen zugeschüttet habe.

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

                  L 1 Reply Last reply
                  0
                  • OliverIOO OliverIO

                    @laser
                    ok,
                    sorry das ich dich mit zu viel Informationen zugeschüttet habe.

                    L Offline
                    L Offline
                    Laser
                    wrote on last edited by
                    #9

                    @oliverio Ist nicht zu viel, muß ich aber erst durcharbeiten.

                    OliverIOO 1 Reply Last reply
                    0
                    • L Laser

                      @oliverio Ist nicht zu viel, muß ich aber erst durcharbeiten.

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      wrote on last edited by OliverIO
                      #10

                      @laser
                      Das Gerät meldet den Wert nicht von sich aus?
                      Das was du da machst, nennt sich pollen.
                      Manche Geräte/APIs bieten die Möglichkeit sich dort technisch zu registrieren und die melden dann wenn es eine Veränderung gibt.

                      Auch musst du daran denken, wenn du das Gerät direkt abfragst (und nicht den Datenpunkt), beschäftigst du das Gerät, was uU verhindert, das es in einen Stromsparmodus geht und so wieder mehr Strom verbraucht.

                      Auch könnte eine Abfrage pro Minute auch schon reichen, da du da ja nicht zu einem exakten Zeitpunkt abschalten musst, sondern nur wenn gewisse Grenzen überschritten sind. Das wäre dann der Fall, wenn innerhalb einer Minute weniger als 1 Prozent verbraucht wird. Wenn der Verbrauch größer innerhalb einer Minute ist, dann kann man den Zeitraum vergrößern.

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

                      L 1 Reply Last reply
                      0
                      • OliverIOO OliverIO

                        @laser
                        Das Gerät meldet den Wert nicht von sich aus?
                        Das was du da machst, nennt sich pollen.
                        Manche Geräte/APIs bieten die Möglichkeit sich dort technisch zu registrieren und die melden dann wenn es eine Veränderung gibt.

                        Auch musst du daran denken, wenn du das Gerät direkt abfragst (und nicht den Datenpunkt), beschäftigst du das Gerät, was uU verhindert, das es in einen Stromsparmodus geht und so wieder mehr Strom verbraucht.

                        Auch könnte eine Abfrage pro Minute auch schon reichen, da du da ja nicht zu einem exakten Zeitpunkt abschalten musst, sondern nur wenn gewisse Grenzen überschritten sind. Das wäre dann der Fall, wenn innerhalb einer Minute weniger als 1 Prozent verbraucht wird. Wenn der Verbrauch größer innerhalb einer Minute ist, dann kann man den Zeitraum vergrößern.

                        L Offline
                        L Offline
                        Laser
                        wrote on last edited by Laser
                        #11

                        @oliverio Im Falle der Spannungsüberwachung reicht ein größerer Zeitraum, so schnell entlädt der Akku nicht. Das Gerät (Victron Akkulader) bietet einen Grenzwert, ich möchte aber vorher reagieren. Der Grenzwert ist dann eine weitere Sicherheit, noch vor dem Batterieinternen BMS. Ob der Lader einen Stromsparmodus hat, weiß ich nicht. Das "pollen" brauche ich für verschiedene Überwachungen. Vlt. nicht ideal, aber einfach in der Anwendung. Oftmals reicht ein Intervall von 3-5 Sekunden.
                        In der Funktion werden eigentlich nur Werte abgefragt und verglichen. Und ein Schreibe- oder Schaltbefehl generiert. Sollte wesentlich schneller gehen als die " interval"- Zeit.

                        T 1 Reply Last reply
                        0
                        • L Laser

                          @oliverio Im Falle der Spannungsüberwachung reicht ein größerer Zeitraum, so schnell entlädt der Akku nicht. Das Gerät (Victron Akkulader) bietet einen Grenzwert, ich möchte aber vorher reagieren. Der Grenzwert ist dann eine weitere Sicherheit, noch vor dem Batterieinternen BMS. Ob der Lader einen Stromsparmodus hat, weiß ich nicht. Das "pollen" brauche ich für verschiedene Überwachungen. Vlt. nicht ideal, aber einfach in der Anwendung. Oftmals reicht ein Intervall von 3-5 Sekunden.
                          In der Funktion werden eigentlich nur Werte abgefragt und verglichen. Und ein Schreibe- oder Schaltbefehl generiert. Sollte wesentlich schneller gehen als die " interval"- Zeit.

                          T Do not disturb
                          T Do not disturb
                          ticaki
                          wrote on last edited by
                          #12

                          @laser sagte in setinteval Zeiten:

                          @oliverio Im Falle der Spannungsüberwachung reicht ein größerer Zeitraum, so schnell entlädt der Akku nicht. Das Gerät (Victron Akkulader) bietet einen Grenzwert, ich möchte aber vorher reagieren. Der Grenzwert ist dann eine weitere Sicherheit, noch vor dem Batterieinternen BMS. Ob der Lader einen Stromsparmodus hat, weiß ich nicht. Das "pollen" brauche ich für verschiedene Überwachungen. Vlt. nicht ideal, aber einfach in der Anwendung. Oftmals reicht ein Intervall von 3-5 Sekunden.
                          In der Funktion werden eigentlich nur Werte abgefragt und verglichen. Und ein Schreibe- oder Schaltbefehl generiert. Sollte wesenlich schneller gehen als die " interval"- Zeit.

                          Wesentlich? Wenn du etwas ein paar Millionen mal machen kannst, in der von dir vorgegebenen Zeit ist "wesentlich scheller" nicht ganz die Beschreibung die ich wählen würde. 🙂

                          Intervalle im Sekundenbereich sind wie oben geschrieben kein Problem solange du deine Werte über Trigger oder getState() bekommst.

                          Die Ausgabe muß aber auch bedacht werden, wenn du damit z.B. ein Relais schaltest, muß du verhindern das der Ausgabewert flackert. Bei meiner Warmwassersteuerung, braucht es 4 Minuten bis es an geht und 2 Minuten bis es aus geht, anschließend ist es für 5 Minuten gesperrt und würde bei Minute 6 wieder angehen. Wenn das durchgehend so geschaltet würde wäre mein Relais nach ca. 4 Jahren kaputt... wirds aber nicht. Da die Zieltemperatur bei 40% der Schaltvorgänge erreicht wäre, also hälts 10 Jahre. Da so ein bescheuertes Wetter nicht so oft vorkommt, sind wohl eher 20 Jahre. 🙂

                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                          Spenden

                          L 1 Reply Last reply
                          0
                          • T ticaki

                            @laser sagte in setinteval Zeiten:

                            @oliverio Im Falle der Spannungsüberwachung reicht ein größerer Zeitraum, so schnell entlädt der Akku nicht. Das Gerät (Victron Akkulader) bietet einen Grenzwert, ich möchte aber vorher reagieren. Der Grenzwert ist dann eine weitere Sicherheit, noch vor dem Batterieinternen BMS. Ob der Lader einen Stromsparmodus hat, weiß ich nicht. Das "pollen" brauche ich für verschiedene Überwachungen. Vlt. nicht ideal, aber einfach in der Anwendung. Oftmals reicht ein Intervall von 3-5 Sekunden.
                            In der Funktion werden eigentlich nur Werte abgefragt und verglichen. Und ein Schreibe- oder Schaltbefehl generiert. Sollte wesenlich schneller gehen als die " interval"- Zeit.

                            Wesentlich? Wenn du etwas ein paar Millionen mal machen kannst, in der von dir vorgegebenen Zeit ist "wesentlich scheller" nicht ganz die Beschreibung die ich wählen würde. 🙂

                            Intervalle im Sekundenbereich sind wie oben geschrieben kein Problem solange du deine Werte über Trigger oder getState() bekommst.

                            Die Ausgabe muß aber auch bedacht werden, wenn du damit z.B. ein Relais schaltest, muß du verhindern das der Ausgabewert flackert. Bei meiner Warmwassersteuerung, braucht es 4 Minuten bis es an geht und 2 Minuten bis es aus geht, anschließend ist es für 5 Minuten gesperrt und würde bei Minute 6 wieder angehen. Wenn das durchgehend so geschaltet würde wäre mein Relais nach ca. 4 Jahren kaputt... wirds aber nicht. Da die Zieltemperatur bei 40% der Schaltvorgänge erreicht wäre, also hälts 10 Jahre. Da so ein bescheuertes Wetter nicht so oft vorkommt, sind wohl eher 20 Jahre. 🙂

                            L Offline
                            L Offline
                            Laser
                            wrote on last edited by Laser
                            #13

                            @ticaki Damit die Ausgabe nicht "flackert", baue ich eben etwas ein. Entweder eine Mittelwertbildung, eine Hysterese oder etwas Anderes. "Wesentlich schneller", etwas Anderes fiel mir gerade nicht ein. Ich frage z.B. einen Datenpunkt ab. Mit getState. Das geht in einer kürzeren Zeit als mich die 3 Sekunden "interval" limitieren. ( Hoffe ich mal.)

                            T 1 Reply Last reply
                            0
                            • L Laser

                              @ticaki Damit die Ausgabe nicht "flackert", baue ich eben etwas ein. Entweder eine Mittelwertbildung, eine Hysterese oder etwas Anderes. "Wesentlich schneller", etwas Anderes fiel mir gerade nicht ein. Ich frage z.B. einen Datenpunkt ab. Mit getState. Das geht in einer kürzeren Zeit als mich die 3 Sekunden "interval" limitieren. ( Hoffe ich mal.)

                              T Do not disturb
                              T Do not disturb
                              ticaki
                              wrote on last edited by
                              #14

                              @laser
                              Abfragen eines Datenpunktes mit getState() dauert irgendwas im Nanosekunden Bereich

                              Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                              Spenden

                              OliverIOO 1 Reply Last reply
                              0
                              • T ticaki

                                @laser
                                Abfragen eines Datenpunktes mit getState() dauert irgendwas im Nanosekunden Bereich

                                OliverIOO Offline
                                OliverIOO Offline
                                OliverIO
                                wrote on last edited by OliverIO
                                #15

                                @ticaki said in setinteval Zeiten:

                                Nanosekunden

                                eher nicht.
                                ich hab mal vor einiger Zeit Messungen gemacht, da hat get/setState so zwischen 10 und 30 ms auf einem NUC mit Celeron benötigt. Auf einem neueren i7 evtl etwas schneller.
                                Aber Nano-Bereich würde ich bezweifeln.
                                1.000ms = 1 Sekunde
                                1.000.000.000 ns = 1 Sekunde
                                dazwischen gäbe es noch Mikrosekunden

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

                                paul53P T 2 Replies Last reply
                                0
                                • OliverIOO OliverIO

                                  @ticaki said in setinteval Zeiten:

                                  Nanosekunden

                                  eher nicht.
                                  ich hab mal vor einiger Zeit Messungen gemacht, da hat get/setState so zwischen 10 und 30 ms auf einem NUC mit Celeron benötigt. Auf einem neueren i7 evtl etwas schneller.
                                  Aber Nano-Bereich würde ich bezweifeln.
                                  1.000ms = 1 Sekunde
                                  1.000.000.000 ns = 1 Sekunde
                                  dazwischen gäbe es noch Mikrosekunden

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  wrote on last edited by paul53
                                  #16

                                  @oliverio sagte: Mikrosekunden

                                  Es sind wohl eher wenige Mikrosekunden.
                                  Getestet:

                                  • RasPi 2: 20 µs
                                  • i7: 0,3 µs

                                  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

                                  L 1 Reply Last reply
                                  0
                                  • paul53P paul53

                                    @oliverio sagte: Mikrosekunden

                                    Es sind wohl eher wenige Mikrosekunden.
                                    Getestet:

                                    • RasPi 2: 20 µs
                                    • i7: 0,3 µs
                                    L Offline
                                    L Offline
                                    Laser
                                    wrote on last edited by
                                    #17

                                    @paul53 Habe versucht, über "htop" auf der Konsole etwas auszuloten. So richtig erkennbar ist das nichts. Vermutlich sind die laufenden Scripte auch dermaßen winzig, so daß man nichts mitbekommt, egal, ob alle 10 Sec. oder 1 Sec. abgefragt.

                                    T 1 Reply Last reply
                                    0
                                    • OliverIOO OliverIO

                                      @ticaki said in setinteval Zeiten:

                                      Nanosekunden

                                      eher nicht.
                                      ich hab mal vor einiger Zeit Messungen gemacht, da hat get/setState so zwischen 10 und 30 ms auf einem NUC mit Celeron benötigt. Auf einem neueren i7 evtl etwas schneller.
                                      Aber Nano-Bereich würde ich bezweifeln.
                                      1.000ms = 1 Sekunde
                                      1.000.000.000 ns = 1 Sekunde
                                      dazwischen gäbe es noch Mikrosekunden

                                      T Do not disturb
                                      T Do not disturb
                                      ticaki
                                      wrote on last edited by ticaki
                                      #18

                                      @oliverio

                                      script.js.Test.Skript_122: 100000 x getState().val in 23ms
                                      script.js.Test.Skript_122: while (i++ < 1000000) x = (x+2)/6+i in 8ms
                                      

                                      Das sind dann was? 2,3ns

                                      war N100 Proxmox 1 core

                                      var i=0
                                      var start = new Date().getTime()
                                      while (i++ < 1000) {
                                          let x = getState('0_userdata.0.Test').val
                                          x = (x+2)/6+i
                                          setState('0_userdata.0.Test',x)
                                      }
                                      var sum = new Date().getTime() - start
                                      log('code in '+sum+'ms')
                                      
                                      code in 6ms
                                      

                                      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                      Spenden

                                      paul53P 1 Reply Last reply
                                      0
                                      • T ticaki

                                        @oliverio

                                        script.js.Test.Skript_122: 100000 x getState().val in 23ms
                                        script.js.Test.Skript_122: while (i++ < 1000000) x = (x+2)/6+i in 8ms
                                        

                                        Das sind dann was? 2,3ns

                                        war N100 Proxmox 1 core

                                        var i=0
                                        var start = new Date().getTime()
                                        while (i++ < 1000) {
                                            let x = getState('0_userdata.0.Test').val
                                            x = (x+2)/6+i
                                            setState('0_userdata.0.Test',x)
                                        }
                                        var sum = new Date().getTime() - start
                                        log('code in '+sum+'ms')
                                        
                                        code in 6ms
                                        
                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        wrote on last edited by
                                        #19

                                        @ticaki sagte: Das sind dann was? 2,3ns

                                        230 ns.

                                        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

                                        T 1 Reply Last reply
                                        0
                                        • paul53P paul53

                                          @ticaki sagte: Das sind dann was? 2,3ns

                                          230 ns.

                                          T Do not disturb
                                          T Do not disturb
                                          ticaki
                                          wrote on last edited by
                                          #20

                                          @paul53
                                          argh, hast recht habs nicht gerechnet.

                                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                          Spenden

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          544

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe