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. Blockly
  5. zeitverzögertes Auswerten / Jitter

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

zeitverzögertes Auswerten / Jitter

Geplant Angeheftet Gesperrt Verschoben Blockly
20 Beiträge 6 Kommentatoren 1.1k Aufrufe 4 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.
  • T Offline
    T Offline
    thaistatos
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich errechne den Verbrauch einer PV Anlage als:
    Verbrauch= PV- Stromzähler.
    Als Trigger sind sowohl PV als auch Stromzähler eingetragen (beide kommen über Modbus der PV Anlage), weil sich jeder ändern könnten und einer konstant bliebe.
    Da die beiden Signale sich natürlich nicht genau parallel ändern, führt das zu etwas Jitter im Signal, weil im Abstand von wenigen ms 2x der Trigger kommt und zu unterschiedlichen Zeitpunkten die Differenz bebildet wird.
    Mit der Verzögerung im aktualiseren Block ändert sich nichts, weil es vermutlich einfach nur das Ergebnis verzögert schreibt.
    3854ef72-32d8-49ad-8daf-a4b2421870a0-grafik.png
    Ein Timeout Block wird das Problem vermutlich auch nicht beheben, es müsste grob so sein:
    Trigger 1 --> Totzeit 100ms, so dass Trigger 2 ausgeblendet wird, --> Berechnung durchführen (mit Werten 100ms nach Trigger1).

    AsgothianA MartinPM 2 Antworten Letzte Antwort
    0
    • T thaistatos

      Hallo,

      ich errechne den Verbrauch einer PV Anlage als:
      Verbrauch= PV- Stromzähler.
      Als Trigger sind sowohl PV als auch Stromzähler eingetragen (beide kommen über Modbus der PV Anlage), weil sich jeder ändern könnten und einer konstant bliebe.
      Da die beiden Signale sich natürlich nicht genau parallel ändern, führt das zu etwas Jitter im Signal, weil im Abstand von wenigen ms 2x der Trigger kommt und zu unterschiedlichen Zeitpunkten die Differenz bebildet wird.
      Mit der Verzögerung im aktualiseren Block ändert sich nichts, weil es vermutlich einfach nur das Ergebnis verzögert schreibt.
      3854ef72-32d8-49ad-8daf-a4b2421870a0-grafik.png
      Ein Timeout Block wird das Problem vermutlich auch nicht beheben, es müsste grob so sein:
      Trigger 1 --> Totzeit 100ms, so dass Trigger 2 ausgeblendet wird, --> Berechnung durchführen (mit Werten 100ms nach Trigger1).

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

      @thaistatos
      Doch - ein timeout ist das was du brauchst:

      2a69556e-38d7-4384-9531-347cb3d300ad-image.png

      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
      • T Offline
        T Offline
        thaistatos
        schrieb am zuletzt editiert von
        #3

        ist der Timeout Block (nach dem nicht) eine interne Variable?
        (ich finde die 7 verschiedenen rot / violett Schattierungen immer schwierig zu unterscheiden).

        Behebt das wirklich das Problem, der Trigger kommt ja trotzdem 2x kurz nacheinander.

        AsgothianA paul53P 2 Antworten Letzte Antwort
        0
        • T thaistatos

          ist der Timeout Block (nach dem nicht) eine interne Variable?
          (ich finde die 7 verschiedenen rot / violett Schattierungen immer schwierig zu unterscheiden).

          Behebt das wirklich das Problem, der Trigger kommt ja trotzdem 2x kurz nacheinander.

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

          @thaistatos das ist eine Variable die du nicht explizit anlegen musst sondern die automatisch angelegt wird wenn du den timeout Block nutzt.
          Der trigger kommt 2 mal, aber die Berechnung findet 100 ms nach dem 1. Trigger statt, wenn der 2. Trigger innerhalb der 100 ms kommt dann wird der ignoriert, weil dann die Variable timeout einen Wert hat.

          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
          1
          • T thaistatos

            ist der Timeout Block (nach dem nicht) eine interne Variable?
            (ich finde die 7 verschiedenen rot / violett Schattierungen immer schwierig zu unterscheiden).

            Behebt das wirklich das Problem, der Trigger kommt ja trotzdem 2x kurz nacheinander.

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

            @thaistatos sagte: ist der Timeout Block (nach dem nicht) eine interne Variable?

            timeout ist eine globale Variable. Es gibt sie auch in grün, nachdem der Timeout-Block in das Skript gezogen wurde.

            Blockly_temp.JPG

            @thaistatos sagte in zeitverzögertes Auswerten / Jitter:

            der Trigger kommt ja trotzdem 2x kurz nacheinander.

            Der zweite Trigger wird gesperrt, wenn er innerhalb von 100 ms nach dem ersten Trigger erfolgt.

            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
            2
            • T thaistatos

              Hallo,

              ich errechne den Verbrauch einer PV Anlage als:
              Verbrauch= PV- Stromzähler.
              Als Trigger sind sowohl PV als auch Stromzähler eingetragen (beide kommen über Modbus der PV Anlage), weil sich jeder ändern könnten und einer konstant bliebe.
              Da die beiden Signale sich natürlich nicht genau parallel ändern, führt das zu etwas Jitter im Signal, weil im Abstand von wenigen ms 2x der Trigger kommt und zu unterschiedlichen Zeitpunkten die Differenz bebildet wird.
              Mit der Verzögerung im aktualiseren Block ändert sich nichts, weil es vermutlich einfach nur das Ergebnis verzögert schreibt.
              3854ef72-32d8-49ad-8daf-a4b2421870a0-grafik.png
              Ein Timeout Block wird das Problem vermutlich auch nicht beheben, es müsste grob so sein:
              Trigger 1 --> Totzeit 100ms, so dass Trigger 2 ausgeblendet wird, --> Berechnung durchführen (mit Werten 100ms nach Trigger1).

              MartinPM Offline
              MartinPM Offline
              MartinP
              schrieb am zuletzt editiert von
              #6

              @thaistatos Ich glaube, über das gleiche Problem ist auch @haus-automatisierung gestolpert. In einem seiner Videos zeigt er javascript code, wie er die ganzen Trigger erst durch ein Javascript-Programm vorverarbeitet, bevor er daraus am Influx Adapter vorbei Datenreihen für die InfluxDB macht.

              VIelleicht finden sich da Anregungen, um das hier ja ähnlich gelagerte Problem zu lösen.

              Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
              Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
              Linux pve 6.8.12-16-pve
              6 GByte RAM für den Container
              Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
              Remote-Access über Wireguard der Fritzbox

              haus-automatisierungH 1 Antwort Letzte Antwort
              0
              • MartinPM MartinP

                @thaistatos Ich glaube, über das gleiche Problem ist auch @haus-automatisierung gestolpert. In einem seiner Videos zeigt er javascript code, wie er die ganzen Trigger erst durch ein Javascript-Programm vorverarbeitet, bevor er daraus am Influx Adapter vorbei Datenreihen für die InfluxDB macht.

                VIelleicht finden sich da Anregungen, um das hier ja ähnlich gelagerte Problem zu lösen.

                haus-automatisierungH Online
                haus-automatisierungH Online
                haus-automatisierung
                Developer Most Active
                schrieb am zuletzt editiert von
                #7

                @martinp Du meinst das hier? https://www.youtube.com/watch?v=rTLQ15Fy85U

                Bei mir führt einfach jede Änderung eines Datenpunktes zum speichern aller momentanen Werte. Und später nehme ich das dann mit InfluxDB-Tasks auseinander und verwerfe die ganzen alten (redundanten) Daten über die Retention Time auf dem Bucket.

                🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                📚 Meine inoffizielle ioBroker Dokumentation

                1 Antwort Letzte Antwort
                0
                • T Offline
                  T Offline
                  thaistatos
                  schrieb am zuletzt editiert von
                  #8

                  inspiriert durch
                  https://forum.iobroker.net/topic/13916/gelöst-suche-funktion-zum-entprellen-über-5-sec
                  und
                  https://forum.iobroker.net/topic/18638/gelöst-entprellen-von-schaltern/2

                  habe ich jetzt so nachgebaut:
                  9379a936-12cc-40bd-86a6-1a9fdf1c9574-grafik.png

                  Aber der Verzögerung Block macht wahrscheinlich was ähnliches, nur schöner.

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • T thaistatos

                    inspiriert durch
                    https://forum.iobroker.net/topic/13916/gelöst-suche-funktion-zum-entprellen-über-5-sec
                    und
                    https://forum.iobroker.net/topic/18638/gelöst-entprellen-von-schaltern/2

                    habe ich jetzt so nachgebaut:
                    9379a936-12cc-40bd-86a6-1a9fdf1c9574-grafik.png

                    Aber der Verzögerung Block macht wahrscheinlich was ähnliches, nur schöner.

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

                    @thaistatos sagte: habe ich jetzt so nachgebaut:

                    Problem: Die Berechnung erfolgt bereits mit dem ersten Trigger und deshalb passen die Werte zeitlich nicht zusammen.

                    In dieser Version erfolgt die Berechnung sofort nach dem zweiten Trigger (innerhalb 100 ms):

                    Blockly_temp.JPG

                    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
                    1
                    • T Offline
                      T Offline
                      thaistatos
                      schrieb am zuletzt editiert von
                      #10

                      muss in das zweite Kommentarfeld auch noch etwas eingetragen werden?

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • T thaistatos

                        muss in das zweite Kommentarfeld auch noch etwas eingetragen werden?

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

                        @thaistatos sagte: muss in das zweite Kommentarfeld auch noch etwas eingetragen werden?

                        Nein, das ist nur eine Erläuterung zum Verständnis. Seit JS Version 7.0.5 wird in dem Block nach Ablauf des Timeouts die Variable automatisch auf null gesetzt.

                        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
                        • T Offline
                          T Offline
                          thaistatos
                          schrieb am zuletzt editiert von
                          #12

                          muss er timeout noch initialisiert werden?
                          Mir ist noch nicht klar, warum die Berechnung erst mit dem zweiten Trigger startet?
                          Oder startet sie eher nach 100ms?

                          paul53P HomoranH 2 Antworten Letzte Antwort
                          0
                          • T thaistatos

                            muss er timeout noch initialisiert werden?
                            Mir ist noch nicht klar, warum die Berechnung erst mit dem zweiten Trigger startet?
                            Oder startet sie eher nach 100ms?

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

                            @thaistatos sagte: warum die Berechnung erst mit dem zweiten Trigger startet?

                            Beim ersten Trigger ist timeout null und es wird der sonst-Zweig ausgeführt, also der Timeout gestartet. Beim zweiten Trigger läuft der Timeout und es wird der mache-Zweig ausgeführt, also die Berechnung.

                            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
                            • T thaistatos

                              muss er timeout noch initialisiert werden?
                              Mir ist noch nicht klar, warum die Berechnung erst mit dem zweiten Trigger startet?
                              Oder startet sie eher nach 100ms?

                              HomoranH Nicht stören
                              HomoranH Nicht stören
                              Homoran
                              Global Moderator Administrators
                              schrieb am zuletzt editiert von
                              #14

                              @thaistatos sagte in zeitverzögertes Auswerten / Jitter:

                              Mir ist noch nicht klar, warum die Berechnung erst mit dem zweiten Trigger startet?

                              tut sie nicht, die Berechnung durchvden zweiten Trigger wird blockiert.

                              Deswegen

                              @paul53 sagte in zeitverzögertes Auswerten / Jitter:

                              Problem: Die Berechnung erfolgt bereits mit dem ersten Trigger und deshalb passen die Werte zeitlich nicht zusammen.

                              @thaistatos sagte in zeitverzögertes Auswerten / Jitter:

                              Oder startet sie eher nach 100ms?

                              ja

                              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 -

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • HomoranH Homoran

                                @thaistatos sagte in zeitverzögertes Auswerten / Jitter:

                                Mir ist noch nicht klar, warum die Berechnung erst mit dem zweiten Trigger startet?

                                tut sie nicht, die Berechnung durchvden zweiten Trigger wird blockiert.

                                Deswegen

                                @paul53 sagte in zeitverzögertes Auswerten / Jitter:

                                Problem: Die Berechnung erfolgt bereits mit dem ersten Trigger und deshalb passen die Werte zeitlich nicht zusammen.

                                @thaistatos sagte in zeitverzögertes Auswerten / Jitter:

                                Oder startet sie eher nach 100ms?

                                ja

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

                                @homoran sagte: tut sie nicht

                                @thaistatos meint diese Version.

                                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

                                HomoranH 1 Antwort Letzte Antwort
                                1
                                • T Offline
                                  T Offline
                                  thaistatos
                                  schrieb am zuletzt editiert von
                                  #16

                                  das setzt dann aber voraus, dass immer der der zweite Trigger kommt. Es kann ja auch nur Trigger 1 ausgelöst werden, dann würde gar nichts passieren.

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • T thaistatos

                                    das setzt dann aber voraus, dass immer der der zweite Trigger kommt. Es kann ja auch nur Trigger 1 ausgelöst werden, dann würde gar nichts passieren.

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

                                    @thaistatos sagte: das setzt dann aber voraus, dass immer der der zweite Trigger kommt.

                                    Richtig. Kommt nicht immer ein zweiter Trigger? Dann muss die Verzögerung um 100 ms in Kauf genommen 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

                                    1 Antwort Letzte Antwort
                                    0
                                    • T Offline
                                      T Offline
                                      thaistatos
                                      schrieb am zuletzt editiert von
                                      #18

                                      sehr wahrscheinlich kommt auch Trigger 2, aber muss eben nicht.
                                      Ich will mit 100ms Verzögerung nach dem letzten Trigger die Berechnung ausführen.
                                      Also T1, 10ms später T2: Berechnung bei Zeitstempel 100ms nach T1.
                                      nur T1: Berechnung bei Zeitstempel 100ms nach T1.
                                      nur T2: Berechnung bei Zeitstempel 100ms nach T2.

                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • T thaistatos

                                        sehr wahrscheinlich kommt auch Trigger 2, aber muss eben nicht.
                                        Ich will mit 100ms Verzögerung nach dem letzten Trigger die Berechnung ausführen.
                                        Also T1, 10ms später T2: Berechnung bei Zeitstempel 100ms nach T1.
                                        nur T1: Berechnung bei Zeitstempel 100ms nach T1.
                                        nur T2: Berechnung bei Zeitstempel 100ms nach T2.

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

                                        @thaistatos
                                        Das macht diese Version.

                                        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
                                        1
                                        • paul53P paul53

                                          @homoran sagte: tut sie nicht

                                          @thaistatos meint diese Version.

                                          HomoranH Nicht stören
                                          HomoranH Nicht stören
                                          Homoran
                                          Global Moderator Administrators
                                          schrieb am zuletzt editiert von
                                          #20

                                          @paul53 sagte:

                                          @thaistatos meint diese Version.

                                          du alter Editeur :grin:

                                          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 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

                                          774

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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