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.
  • ? A Former User

    @homoran said in Test Adapter Tiefpassfilter:

    ein Filter ist ein Filter weil er filtert?

    😆

    Wie mein Vater mir Dinge erklärt hat 🤣

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

    @alinaclg sagte in Test Adapter Tiefpassfilter:

    Wie mein Vater mir Dinge erklärt hat 🤣

    Davon mußte ich mich sehr früh lösen. Denke diesen Begriff hat er Zeit seines Lebens nicht gehört - geschweige denn verstanden. Lauter atechnische Leute in der Familie. Also, selbst ist der Mann.

    Die Erklärung eines Tiefpasses ist nicht so trivial, wie schon der zugehörige Wikipedia Artikel zeigt.
    Auch die Analogie zur Federung eines Autos paßt nicht ganz, weil dort mind 2 Energiespeicher mitspielen und es sich damit um ein einen Tiefass mind. 2. Ordnung handelt, hier aber ein gutmütiger TP 1 Ordnung abgebildet wird.

    Vielleicht ist die Erkläung anhand der Sprungantwort des PT1-Gliedes noch halbwegs intuitiv.
    Bei einem rechteckigen Sprung des Signals werden die Kanten "verschliffen". Ein verrauschtes Signal wird dadurch etwas geglättet.

    In dieser Implementierung hier gibt es 2 Parameter.

    • Einmal die Abtastzeit, die ich erst mal etwas kleiner (vielleicht ein fünftel) als die Änderungszeit des Eingangssignals wähle.
    • Die Filterzeitkonstante. Dazu legt man an den Eingang des Filters einen Sprung an, der von jetzt auf gleich von 0 auf 100% springt. Nach 1 * Filterzeitkonstante ist der Ausgnag dann bei 63% nach 5 Zeitkonstanten dann bei 99%.
      949a8ee4-0a6a-4d2c-927d-58a54f19ebfb-grafik.png

    Bild oben: Wikipedia Chris828

    6a309c37-2402-440d-a110-a63dd26d7a91-grafik.png

    ? 1 Reply Last reply
    1
    • K klassisch

      @alinaclg sagte in Test Adapter Tiefpassfilter:

      Wie mein Vater mir Dinge erklärt hat 🤣

      Davon mußte ich mich sehr früh lösen. Denke diesen Begriff hat er Zeit seines Lebens nicht gehört - geschweige denn verstanden. Lauter atechnische Leute in der Familie. Also, selbst ist der Mann.

      Die Erklärung eines Tiefpasses ist nicht so trivial, wie schon der zugehörige Wikipedia Artikel zeigt.
      Auch die Analogie zur Federung eines Autos paßt nicht ganz, weil dort mind 2 Energiespeicher mitspielen und es sich damit um ein einen Tiefass mind. 2. Ordnung handelt, hier aber ein gutmütiger TP 1 Ordnung abgebildet wird.

      Vielleicht ist die Erkläung anhand der Sprungantwort des PT1-Gliedes noch halbwegs intuitiv.
      Bei einem rechteckigen Sprung des Signals werden die Kanten "verschliffen". Ein verrauschtes Signal wird dadurch etwas geglättet.

      In dieser Implementierung hier gibt es 2 Parameter.

      • Einmal die Abtastzeit, die ich erst mal etwas kleiner (vielleicht ein fünftel) als die Änderungszeit des Eingangssignals wähle.
      • Die Filterzeitkonstante. Dazu legt man an den Eingang des Filters einen Sprung an, der von jetzt auf gleich von 0 auf 100% springt. Nach 1 * Filterzeitkonstante ist der Ausgnag dann bei 63% nach 5 Zeitkonstanten dann bei 99%.
        949a8ee4-0a6a-4d2c-927d-58a54f19ebfb-grafik.png

      Bild oben: Wikipedia Chris828

      6a309c37-2402-440d-a110-a63dd26d7a91-grafik.png

      ? Offline
      ? Offline
      A Former User
      wrote on last edited by
      #22

      @klassisch Danke Dir - ich schau es mir an; ist also schon eine tiefergehende Filtermethode 🙂

      K 1 Reply Last reply
      0
      • ? A Former User

        @klassisch Danke Dir - ich schau es mir an; ist also schon eine tiefergehende Filtermethode 🙂

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

        @alinaclg naja, sagen wir mal der Einstieg dazu. Der harmloseste und gutmütigste Fall. Nur ein Energiespeicher und ein Element welche Energie vernichtet.
        Filter höherer Ordnung haben mehrere Energiespeicher und können damit auch schwingen. Ähnlich wie das Feder-Masse System bei der Autofederung.
        Und die Art und Weise wie die Filter höherer Ordnung ein-und auschwingen haben dann großartige Mathegenies wie Butterwoth, Bessel, Cauer und Tschebyscheff berechnet.

        ? 1 Reply Last reply
        0
        • K klassisch

          @alinaclg naja, sagen wir mal der Einstieg dazu. Der harmloseste und gutmütigste Fall. Nur ein Energiespeicher und ein Element welche Energie vernichtet.
          Filter höherer Ordnung haben mehrere Energiespeicher und können damit auch schwingen. Ähnlich wie das Feder-Masse System bei der Autofederung.
          Und die Art und Weise wie die Filter höherer Ordnung ein-und auschwingen haben dann großartige Mathegenies wie Butterwoth, Bessel, Cauer und Tschebyscheff berechnet.

          ? Offline
          ? Offline
          A Former User
          wrote on last edited by
          #24

          @klassisch Letzterer sagt mir was vom Namen aus der Stochastik, sollte es der gleiche sein; aber es gibt ja auch einige "Bernoullis"

          Danke für deine Zeit zu antworten; so habe ich ein Gefühl für den Anwendungsfall 🙂

          K 1 Reply Last reply
          0
          • ? A Former User

            @klassisch Letzterer sagt mir was vom Namen aus der Stochastik, sollte es der gleiche sein; aber es gibt ja auch einige "Bernoullis"

            Danke für deine Zeit zu antworten; so habe ich ein Gefühl für den Anwendungsfall 🙂

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

            @alinaclg Denke, es ist der selbe. Ja, die Familien Bernoulli und Euler sind schon phänomenal.
            Btw. interessant auch die Bohr-Familie

            Wir werden die Filtereigenschaften an meinem Beispiel sehen. Sei es, daß der Filter die Null Werte ausblendet oder mein Skript diese vermeidet

            1 Reply Last reply
            0
            • K klassisch

              Erste Zwischenergebnisse. Die schwarze Linie ist der Filterausgang zur Magenta Linie

              1839bf6a-a413-4c87-b3d9-a315d4640725-grafik.png

              Ganz zu Beginn hatte ich auf Werteänderung getriggert. Da sprangen die Werte heftig.
              Dann habe ich umgestellt
              140fe0b4-a044-4444-a221-a045bad47c9c-grafik.png

              Es kommt noch immer zu Sprüngen
              811efc6f-fa5b-4c50-8d6f-6569aa011ac4-grafik.png

              Ich habe meine Rohdaten gesichtet und einige "null" Werte entdeckt. Kann es sein, daß der lowpass Adapter die als 0 interpretiert?

              Hier nochmals das Filtervehalten etwas detaillierter

              886f49bb-b3ff-4db9-a632-c69a70ab964b-grafik.png

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

              @klassisch top Filter Verhalten, würde ich sagen ;-).
              0 wird als ganz normaler Wert erkannt und darauf wird auch gefiltert.

              K 1 Reply Last reply
              0
              • Ben1983B Ben1983

                @klassisch top Filter Verhalten, würde ich sagen ;-).
                0 wird als ganz normaler Wert erkannt und darauf wird auch gefiltert.

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

                @ben1983 sagte in Test Adapter Tiefpassfilter:

                0 wird als ganz normaler Wert erkannt und darauf wird auch gefiltert.

                Bei mir steht aber nicht "0" sondern "null", also "kein gültiger Wert", akademisches Schulterzucken

                Beispiel:

                  {
                    "val": null,
                    "ack": 0,
                    "ts": 1649474110435,
                    "q": 0,
                    "c": "script.js.tests.test-climateValues",
                    "from": "system.adapter.javascript.0",
                    "user": "system.user.admin"
                  },
                
                

                Gegenbeispiel

                {
                  "val": 72.0804237247672,
                  "ack": 0,
                  "ts": 1649473810456,
                  "q": 0,
                  "c": "script.js.tests.test-climateValues",
                  "from": "system.adapter.javascript.0",
                  "user": "system.user.admin"
                },
                

                In meinen Graphen fällt das nicht auf, weil FLOT das ausblenden kann und ich das standarmäßig so einstelle.

                d5c935b7-e183-494b-91d4-5b202e964e51-grafik.png

                Stellt sich die Frage, ob Du auch so eine Möglichkeit einbauen möchtest?

                Und ja, ansonsten sieht die Sprungantwort gut aus....

                Ben1983B 1 Reply Last reply
                0
                • K klassisch

                  @ben1983 sagte in Test Adapter Tiefpassfilter:

                  0 wird als ganz normaler Wert erkannt und darauf wird auch gefiltert.

                  Bei mir steht aber nicht "0" sondern "null", also "kein gültiger Wert", akademisches Schulterzucken

                  Beispiel:

                    {
                      "val": null,
                      "ack": 0,
                      "ts": 1649474110435,
                      "q": 0,
                      "c": "script.js.tests.test-climateValues",
                      "from": "system.adapter.javascript.0",
                      "user": "system.user.admin"
                    },
                  
                  

                  Gegenbeispiel

                  {
                    "val": 72.0804237247672,
                    "ack": 0,
                    "ts": 1649473810456,
                    "q": 0,
                    "c": "script.js.tests.test-climateValues",
                    "from": "system.adapter.javascript.0",
                    "user": "system.user.admin"
                  },
                  

                  In meinen Graphen fällt das nicht auf, weil FLOT das ausblenden kann und ich das standarmäßig so einstelle.

                  d5c935b7-e183-494b-91d4-5b202e964e51-grafik.png

                  Stellt sich die Frage, ob Du auch so eine Möglichkeit einbauen möchtest?

                  Und ja, ansonsten sieht die Sprungantwort gut aus....

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

                  @klassisch Für mich stellt sich erst mal die Frage, warum bei Dir NULL Werte kommen 😉

                  K 1 Reply Last reply
                  0
                  • Ben1983B Ben1983

                    @klassisch Für mich stellt sich erst mal die Frage, warum bei Dir NULL Werte kommen 😉

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

                    @ben1983 sagte in Test Adapter Tiefpassfilter:

                    @klassisch Für mich stellt sich erst mal die Frage, warum bei Dir NULL Werte kommen 😉

                    Wahrscheinlich damit man auch diesen Fall testen kann 🙂

                    Ben1983B 1 Reply Last reply
                    0
                    • K klassisch

                      @ben1983 sagte in Test Adapter Tiefpassfilter:

                      @klassisch Für mich stellt sich erst mal die Frage, warum bei Dir NULL Werte kommen 😉

                      Wahrscheinlich damit man auch diesen Fall testen kann 🙂

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

                      @klassisch Du möchtest also eine Checkbox
                      NULL ausblenden…. Oder Wert ausblenden…. Und wert xy eintragen?

                      K 1 Reply Last reply
                      0
                      • Ben1983B Ben1983

                        @klassisch Du möchtest also eine Checkbox
                        NULL ausblenden…. Oder Wert ausblenden…. Und wert xy eintragen?

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

                        @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 1 Reply Last reply
                        0
                        • 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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          495

                                          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