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. Tester
  4. Test Adapter Tiefpassfilter

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

Test Adapter Tiefpassfilter

Scheduled Pinned Locked Moved Tester
66 Posts 7 Posters 4.8k Views 5 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.
  • K klassisch

    @ben1983 Ja, vielen Dank!
    Ja, das wäre das erste Resultat meines Tests.
    Und wenn das altbewährte Flot so etwas implementiert hat, dann ist das sicher nicht so abwegig.
    Ich habe mittlerweile vor dem Speichern der Daten auf "null" geprüft. Hat ein paar Stunden gut funktioniert. Jetzt gibt es wieder ein paar null-Werte. Muß nochmals die Skripte durchsuchen. Vielleicht gibt es auch noch andere Gründe.

    Zum Testen Deines TP Adapters werden diese Prüfungen natürlich wieder rausgenommen.

    Ben1983B Offline
    Ben1983B Offline
    Ben1983
    wrote on last edited by Ben1983
    #32

    @klassisch Mir schwebt da folgendes vor.
    Ein Eingabefeld, bei dem man mittels Semikolon getrennt Werte eintragen kann, welche ignoriert werden sollen.

    K 1 Reply Last reply
    0
    • Ben1983B Ben1983

      @klassisch Mir schwebt da folgendes vor.
      Ein Eingabefeld, bei dem man mittels Semikolon getrennt Werte eintragen kann, welche ignoriert werden sollen.

      K Offline
      K Offline
      klassisch
      Most Active
      wrote on last edited by
      #33

      @ben1983 Wäre auch eine Möglichkeit.
      Typische Werte wären 0 und null. Was würde man für null schreiben? null oder "null"?
      So eine offene Liste macht aber viel Arbeit. Man muß alles mögliche abfangen, Länge begrenzen etc. Künnte ja einer <0 oder <=0 schreiben. Checkboxen für 0 und null sind da wahrscheinlich einfacher.

      Ben1983B 1 Reply Last reply
      0
      • K klassisch

        @ben1983 Wäre auch eine Möglichkeit.
        Typische Werte wären 0 und null. Was würde man für null schreiben? null oder "null"?
        So eine offene Liste macht aber viel Arbeit. Man muß alles mögliche abfangen, Länge begrenzen etc. Künnte ja einer <0 oder <=0 schreiben. Checkboxen für 0 und null sind da wahrscheinlich einfacher.

        Ben1983B Offline
        Ben1983B Offline
        Ben1983
        wrote on last edited by
        #34

        @klassisch ich würde dann einfach auf die eingetragenen Werte abfragen, dass geht ja Ruck zuck. Müsste nur die Semikolons suchen.
        Wenn man halt <0 einträgt dann ist die Bedingung halt nicht erfüllt.

        K 1 Reply Last reply
        0
        • Ben1983B Ben1983

          @klassisch ich würde dann einfach auf die eingetragenen Werte abfragen, dass geht ja Ruck zuck. Müsste nur die Semikolons suchen.
          Wenn man halt <0 einträgt dann ist die Bedingung halt nicht erfüllt.

          K Offline
          K Offline
          klassisch
          Most Active
          wrote on last edited by
          #35

          @ben1983 So weit reichen meine JS Kenntnisse nicht.
          Aber so ein freies Feld weckt Begehrlichkeiten und hat das Potential Fragen und Mißverständnisse zu schaffen.
          Jemand gibt nach bestem Wissen und Gewissen etwas ein und JS macht etwas anderes draus. Schon hat man Fragen udn Unsicherheit generiert.

          Ben1983B 2 Replies Last reply
          0
          • K klassisch

            @ben1983 So weit reichen meine JS Kenntnisse nicht.
            Aber so ein freies Feld weckt Begehrlichkeiten und hat das Potential Fragen und Mißverständnisse zu schaffen.
            Jemand gibt nach bestem Wissen und Gewissen etwas ein und JS macht etwas anderes draus. Schon hat man Fragen udn Unsicherheit generiert.

            Ben1983B Offline
            Ben1983B Offline
            Ben1983
            wrote on last edited by
            #36

            @klassisch stimmt wohl.
            Ich schau mir mal eine Tabelle an.

            1 Reply Last reply
            0
            • K klassisch

              @ben1983 So weit reichen meine JS Kenntnisse nicht.
              Aber so ein freies Feld weckt Begehrlichkeiten und hat das Potential Fragen und Mißverständnisse zu schaffen.
              Jemand gibt nach bestem Wissen und Gewissen etwas ein und JS macht etwas anderes draus. Schon hat man Fragen udn Unsicherheit generiert.

              Ben1983B Offline
              Ben1983B Offline
              Ben1983
              wrote on last edited by
              #37

              @klassisch Komme aktuell noch nicht mit der Tabelle zu Recht, aber habe null mal ausgeblendet.
              Vielleicht kannst Du ja einfach mal die neue Version testen.

              null sollte jetzt eigentlich keine Auswirkungen mehr haben, wenn ich die richtige Stelle im sourcecode getroffen habe 😄

              K 1 Reply Last reply
              1
              • Ben1983B Ben1983

                @klassisch Komme aktuell noch nicht mit der Tabelle zu Recht, aber habe null mal ausgeblendet.
                Vielleicht kannst Du ja einfach mal die neue Version testen.

                null sollte jetzt eigentlich keine Auswirkungen mehr haben, wenn ich die richtige Stelle im sourcecode getroffen habe 😄

                K Offline
                K Offline
                klassisch
                Most Active
                wrote on last edited by klassisch
                #38

                @ben1983 Vielen Dank!
                Habe jetzt die V 1.2.4 aktiv.

                2022-04-10 05:17:59.353	info	starting. Version 1.2.4 in C:/Program Files/iobroker/ioBrMain036/node_modules/iobroker.lowpass-filter, node: v14.18.2, js-controller: 3.3.22 
                

                Die null Werte sind mir noch immer unklar. Die Daten werden bei mir von einem Skript an einer einzigen Stelle geschrieben. Und an dieser Stelle frage ich mittlerweile vor dem Speichern auf null ab. Dennoch finden sich die nulls in den Daten.

                Ben1983B 1 Reply Last reply
                0
                • K klassisch

                  @ben1983 Vielen Dank!
                  Habe jetzt die V 1.2.4 aktiv.

                  2022-04-10 05:17:59.353	info	starting. Version 1.2.4 in C:/Program Files/iobroker/ioBrMain036/node_modules/iobroker.lowpass-filter, node: v14.18.2, js-controller: 3.3.22 
                  

                  Die null Werte sind mir noch immer unklar. Die Daten werden bei mir von einem Skript an einer einzigen Stelle geschrieben. Und an dieser Stelle frage ich mittlerweile vor dem Speichern auf null ab. Dennoch finden sich die nulls in den Daten.

                  Ben1983B Offline
                  Ben1983B Offline
                  Ben1983
                  wrote on last edited by
                  #39

                  @klassisch Aber werden jetzt beim filtern ignoriert, oder?

                  K 1 Reply Last reply
                  0
                  • Ben1983B Ben1983

                    @klassisch Aber werden jetzt beim filtern ignoriert, oder?

                    K Offline
                    K Offline
                    klassisch
                    Most Active
                    wrote on last edited by
                    #40

                    @ben1983 Ja, bisher sieht es gut aus. Die letzten Stunden - seit Installation der neuen Version - gab es keinen Einbruch in der Kurve mehr.
                    Ich beobachte weiter.

                    Ben1983B 1 Reply Last reply
                    0
                    • K klassisch

                      @ben1983 Ja, bisher sieht es gut aus. Die letzten Stunden - seit Installation der neuen Version - gab es keinen Einbruch in der Kurve mehr.
                      Ich beobachte weiter.

                      Ben1983B Offline
                      Ben1983B Offline
                      Ben1983
                      wrote on last edited by
                      #41

                      @klassisch Habe noch ein Min und Max Limit hinzugefügt.

                      56fb682c-fa8a-476d-8356-79315af3ccbc-image.png

                      K 1 Reply Last reply
                      0
                      • Ben1983B Ben1983

                        @klassisch Habe noch ein Min und Max Limit hinzugefügt.

                        56fb682c-fa8a-476d-8356-79315af3ccbc-image.png

                        K Offline
                        K Offline
                        klassisch
                        Most Active
                        wrote on last edited by
                        #42

                        @ben1983 vielen Dank, ist das ein Clipping der Eingangswerte? oder werden größere Werte gescippt?

                        Ben1983B 1 Reply Last reply
                        0
                        • K klassisch

                          @ben1983 vielen Dank, ist das ein Clipping der Eingangswerte? oder werden größere Werte gescippt?

                          Ben1983B Offline
                          Ben1983B Offline
                          Ben1983
                          wrote on last edited by
                          #43

                          @klassisch Beispiel am positiven Limit:
                          Limit steht auf 100
                          => Alle Werte > 100 werden als Eingangswert ignoriert.

                          1 Reply Last reply
                          0
                          • Ben1983B Offline
                            Ben1983B Offline
                            Ben1983
                            wrote on last edited by
                            #44

                            @klassisch ist das soweit verständlich?
                            Also das es die Werte ignoriert und nicht den Wert annimmt, wenn der Wert bsp. Kleiner ist.
                            Das würde ich auch ungern machen. Lieber ignorieren.

                            K 1 Reply Last reply
                            0
                            • Ben1983B Ben1983

                              @klassisch ist das soweit verständlich?
                              Also das es die Werte ignoriert und nicht den Wert annimmt, wenn der Wert bsp. Kleiner ist.
                              Das würde ich auch ungern machen. Lieber ignorieren.

                              K Offline
                              K Offline
                              klassisch
                              Most Active
                              wrote on last edited by klassisch
                              #45

                              @ben1983 Habe darüber nachgedacht und mir hat es zumindest nicht auf anhieb eingeleuchtet.
                              Angenommen der Fall x > x_limit tritt ein. Was macht dann der TP? nimmt er den letzten gültigen Wert, den er hatte (das könnte auch ein ganz kleiner, also beliebig weit weg sein) und rechnet mit dem weiter? Könnte beliebig falsch enden.
                              Oder rechnet er gar nichts? Dann gibt es Kuddelmuddel mit der timebase, weil die dann wesentlich verlängert wird.
                              Meine Vorstellungskraft hat auch nicht ausgereicht um spontan einen konkreten Anwendungsfall dafür zu sehen.
                              Clipping hingegen wäre eher etwas, dem ich ab und an begegne.
                              Man ist dann schon im Bereich zu nichtlinearen Filtern. Man kümmert sich dann nicht mehr um das was jenseits der Limits passiert. Das wird ja dem Speicherelement vorenthalten.
                              Was mir schon ab und an begenet ist, sind nichtlineare Filter mit einem ggf adaptiven Totbereich. Also einem Bereich, in dem ein konstantes Signal ausgegeben wird, solange sich deas Eingangssignal innerhalb dieses Bereiches bewegt. Typischerweise nach dem Summationsglied am Eingang eines Reglers, also um die 0 herum. Das sorgt dann dafür, daß ein Signalrauschen sich nicht bis zum Stellglied durchschlägt.
                              Ist aber wieder eine ganz andere Geschichte.

                              Die "null" Unterdrückung funktioniert bisher.
                              5990f99d-98a5-4239-8c0a-08c41ab39520-grafik.png
                              Magenta ungefiltert (5 min), schwarz gefiltert (30min = 6 Eingangswerte).

                              Ben1983B 2 Replies Last reply
                              0
                              • K klassisch

                                @ben1983 Habe darüber nachgedacht und mir hat es zumindest nicht auf anhieb eingeleuchtet.
                                Angenommen der Fall x > x_limit tritt ein. Was macht dann der TP? nimmt er den letzten gültigen Wert, den er hatte (das könnte auch ein ganz kleiner, also beliebig weit weg sein) und rechnet mit dem weiter? Könnte beliebig falsch enden.
                                Oder rechnet er gar nichts? Dann gibt es Kuddelmuddel mit der timebase, weil die dann wesentlich verlängert wird.
                                Meine Vorstellungskraft hat auch nicht ausgereicht um spontan einen konkreten Anwendungsfall dafür zu sehen.
                                Clipping hingegen wäre eher etwas, dem ich ab und an begegne.
                                Man ist dann schon im Bereich zu nichtlinearen Filtern. Man kümmert sich dann nicht mehr um das was jenseits der Limits passiert. Das wird ja dem Speicherelement vorenthalten.
                                Was mir schon ab und an begenet ist, sind nichtlineare Filter mit einem ggf adaptiven Totbereich. Also einem Bereich, in dem ein konstantes Signal ausgegeben wird, solange sich deas Eingangssignal innerhalb dieses Bereiches bewegt. Typischerweise nach dem Summationsglied am Eingang eines Reglers, also um die 0 herum. Das sorgt dann dafür, daß ein Signalrauschen sich nicht bis zum Stellglied durchschlägt.
                                Ist aber wieder eine ganz andere Geschichte.

                                Die "null" Unterdrückung funktioniert bisher.
                                5990f99d-98a5-4239-8c0a-08c41ab39520-grafik.png
                                Magenta ungefiltert (5 min), schwarz gefiltert (30min = 6 Eingangswerte).

                                Ben1983B Offline
                                Ben1983B Offline
                                Ben1983
                                wrote on last edited by
                                #46

                                @klassisch Also ich weiß ehrlich gesagt mit "clipping" nichts an zu fangen 😄

                                Der Filter rechnet aktuell mit dem letzten gültigen Wert weiter.
                                Somit könnte man tiefe und hohe werte (Durch bspw. Einstreuungen oder sonstiges komplett ignorieren und man würde mit kurzen Ausreißern keine Beeinflussung auf den Verlauf haben.

                                K 1 Reply Last reply
                                0
                                • K klassisch

                                  @ben1983 Habe darüber nachgedacht und mir hat es zumindest nicht auf anhieb eingeleuchtet.
                                  Angenommen der Fall x > x_limit tritt ein. Was macht dann der TP? nimmt er den letzten gültigen Wert, den er hatte (das könnte auch ein ganz kleiner, also beliebig weit weg sein) und rechnet mit dem weiter? Könnte beliebig falsch enden.
                                  Oder rechnet er gar nichts? Dann gibt es Kuddelmuddel mit der timebase, weil die dann wesentlich verlängert wird.
                                  Meine Vorstellungskraft hat auch nicht ausgereicht um spontan einen konkreten Anwendungsfall dafür zu sehen.
                                  Clipping hingegen wäre eher etwas, dem ich ab und an begegne.
                                  Man ist dann schon im Bereich zu nichtlinearen Filtern. Man kümmert sich dann nicht mehr um das was jenseits der Limits passiert. Das wird ja dem Speicherelement vorenthalten.
                                  Was mir schon ab und an begenet ist, sind nichtlineare Filter mit einem ggf adaptiven Totbereich. Also einem Bereich, in dem ein konstantes Signal ausgegeben wird, solange sich deas Eingangssignal innerhalb dieses Bereiches bewegt. Typischerweise nach dem Summationsglied am Eingang eines Reglers, also um die 0 herum. Das sorgt dann dafür, daß ein Signalrauschen sich nicht bis zum Stellglied durchschlägt.
                                  Ist aber wieder eine ganz andere Geschichte.

                                  Die "null" Unterdrückung funktioniert bisher.
                                  5990f99d-98a5-4239-8c0a-08c41ab39520-grafik.png
                                  Magenta ungefiltert (5 min), schwarz gefiltert (30min = 6 Eingangswerte).

                                  Ben1983B Offline
                                  Ben1983B Offline
                                  Ben1983
                                  wrote on last edited by Ben1983
                                  #47

                                  @klassisch Habe die Beschreibung etwas angepasst
                                  8d148ce9-9487-44f5-86e8-0b6fe533e3c1-image.png

                                  1 Reply Last reply
                                  0
                                  • Ben1983B Ben1983

                                    @klassisch Also ich weiß ehrlich gesagt mit "clipping" nichts an zu fangen 😄

                                    Der Filter rechnet aktuell mit dem letzten gültigen Wert weiter.
                                    Somit könnte man tiefe und hohe werte (Durch bspw. Einstreuungen oder sonstiges komplett ignorieren und man würde mit kurzen Ausreißern keine Beeinflussung auf den Verlauf haben.

                                    K Offline
                                    K Offline
                                    klassisch
                                    Most Active
                                    wrote on last edited by klassisch
                                    #48

                                    @ben1983 sagte in Test Adapter Tiefpassfilter:

                                    @klassisch Also ich weiß ehrlich gesagt mit "clipping" nichts an zu fangen 😄

                                    clipping = Amplitudenbegrenzung bzw. Magnitudenbegrnzung. Dabei würde mit dem maximal gültigen Wert weiter gerechnet, wenn der aktuelle Wert größer als dieser ist.
                                    Also so eine Art Begrenzung des Signals wie z.B. durch eine Z-Diode.

                                    Der Filter rechnet aktuell mit dem letzten gültigen Wert weiter.
                                    Somit könnte man tiefe und hohe werte (Durch bspw. Einstreuungen oder sonstiges komplett ignorieren und man würde mit kurzen Ausreißern keine Beeinflussung auf den Verlauf haben.

                                    Der letzte gültige Eingangswert kann aber mittlerweile völlig veraltet sein. Wenn der max-Wert einige Male überschritten wird, ist der Meßwert auch kein Ausreißer mehr.

                                    Es könnte sein, daß das ungefilterte Signal zuerst recht klein ist und dann aber längere Zeit groß - größer als das Limit. Dann würde der Filter ständig das kleine Signal als Eingangswert weiter verwenden. Das wäre völlig falsch.

                                    Beim Clipping würde stattdessen das obere Limit als Eingang verwendet. Ähnlich wie das eine Klemmdiode, Z-Diode o.ä. in einer Analogschaltung machen würde.
                                    Bei einem kurzen Peak würde damit dessen Einfluß zumindest begrenzt. Bleibt der reale Eingangswert längere Zeit über dem Limit wäre der Filterausgang aber nicht so falsch wie beim Festhalten am letzten gültigen Wert.

                                    Aber wie gesagt, durch ein solches Vrhalten bekommt man ein nichtineares Verhalten.

                                    Was wird verwendet, wenn man keinen max oder min Wert eingibt?

                                    Ben1983B 1 Reply Last reply
                                    0
                                    • K Offline
                                      K Offline
                                      klassisch
                                      Most Active
                                      wrote on last edited by
                                      #49

                                      Hier sieht man die Wirksamkeit des TP1-Filters über einen längeren Zeitraum:
                                      fc0ce26d-2773-4f03-8a31-fb1000cb5954-grafik.png

                                      Ben1983B 1 Reply Last reply
                                      0
                                      • K klassisch

                                        Hier sieht man die Wirksamkeit des TP1-Filters über einen längeren Zeitraum:
                                        fc0ce26d-2773-4f03-8a31-fb1000cb5954-grafik.png

                                        Ben1983B Offline
                                        Ben1983B Offline
                                        Ben1983
                                        wrote on last edited by
                                        #50

                                        @klassisch sieht doch gut aus

                                        K 1 Reply Last reply
                                        0
                                        • K klassisch

                                          @ben1983 sagte in Test Adapter Tiefpassfilter:

                                          @klassisch Also ich weiß ehrlich gesagt mit "clipping" nichts an zu fangen 😄

                                          clipping = Amplitudenbegrenzung bzw. Magnitudenbegrnzung. Dabei würde mit dem maximal gültigen Wert weiter gerechnet, wenn der aktuelle Wert größer als dieser ist.
                                          Also so eine Art Begrenzung des Signals wie z.B. durch eine Z-Diode.

                                          Der Filter rechnet aktuell mit dem letzten gültigen Wert weiter.
                                          Somit könnte man tiefe und hohe werte (Durch bspw. Einstreuungen oder sonstiges komplett ignorieren und man würde mit kurzen Ausreißern keine Beeinflussung auf den Verlauf haben.

                                          Der letzte gültige Eingangswert kann aber mittlerweile völlig veraltet sein. Wenn der max-Wert einige Male überschritten wird, ist der Meßwert auch kein Ausreißer mehr.

                                          Es könnte sein, daß das ungefilterte Signal zuerst recht klein ist und dann aber längere Zeit groß - größer als das Limit. Dann würde der Filter ständig das kleine Signal als Eingangswert weiter verwenden. Das wäre völlig falsch.

                                          Beim Clipping würde stattdessen das obere Limit als Eingang verwendet. Ähnlich wie das eine Klemmdiode, Z-Diode o.ä. in einer Analogschaltung machen würde.
                                          Bei einem kurzen Peak würde damit dessen Einfluß zumindest begrenzt. Bleibt der reale Eingangswert längere Zeit über dem Limit wäre der Filterausgang aber nicht so falsch wie beim Festhalten am letzten gültigen Wert.

                                          Aber wie gesagt, durch ein solches Vrhalten bekommt man ein nichtineares Verhalten.

                                          Was wird verwendet, wenn man keinen max oder min Wert eingibt?

                                          Ben1983B Offline
                                          Ben1983B Offline
                                          Ben1983
                                          wrote on last edited by
                                          #51

                                          @klassisch Also würdest Du ein Begrenzen, anstatt eines Ignorieren bevorzugen?

                                          K 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

                                          668

                                          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