Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. InfluxDB 1.4.1/SQL 1.5.1/History 1.6.1 bitte testen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    InfluxDB 1.4.1/SQL 1.5.1/History 1.6.1 bitte testen

    This topic has been deleted. Only users with topic management privileges can see it.
    • AlCalzone
      AlCalzone Developer last edited by

      Da stellt sich doch die Frage, ob "debouncen" die richtige Strategie fürs Loggen von Daten ist. Man will ja schließlich auch Daten speichern.

      Sollte man dann nicht eher "throttlen"?

      Bildhafter Vergleich: http://demo.nimius.net/debounce_throttle/

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Naja, throtteln ist mal in sofern drin dass man nur geänderte Werte speichern kann und sowas … also da ist ja schon ein bestimmtes Featureset da.

        So gesehen war die bisherige Definition eher "Throtteln" weil schnelle Änderungen hintereinander nicht geloggt wurden ... aber es wurde der erste Wert geloggt und der letzte war halt verlohren ... Am Ende ist da sdie Änderung - wir loggen jetzt eher den letzten (also aktuellsten) als den ersten

        1 Reply Last reply Reply Quote 0
        • AlCalzone
          AlCalzone Developer last edited by

          Die Definition von Throttle in obigem Link scheint mir eine Kombination aus dem zu sein, was du vorhast und was schon existiert:

          • Reduktion der Datenmenge durch nicht-loggen zu schneller Änderungen

          • Wenn eine Weile keine Änderungen kamen, den letzten empfangenen Wert speichern (selbst wenn dieser zuvor ignoriert wurde).

          So wird einerseits eine Überlastung / zu große Datenmengen verhindert, andererseits aber garantiert, dass immer der "korrekte" Wert zuletzt in der DB steht.

          Wäre das eine Überlegung wert?

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators last edited by

            Ich habe gestern die Doku zu den Adaptern gemacht, aber noch nicht freigegeben.

            IMHO ist genau das bereits integriert.

            Du kannst auf "nur Änderungen" einstellen und trotzdem alle x Sekunden den gleichen Wert loggen.

            Gruß

            Rainer

            1 Reply Last reply Reply Quote 0
            • AlCalzone
              AlCalzone Developer last edited by

              @Homoran:

              Du kannst auf "nur Änderungen" einstellen und trotzdem alle x Sekunden den gleichen Wert loggen. `
              Ohja, natürlich. Daran hatte ich nicht mehr gedacht.

              1 Reply Last reply Reply Quote 0
              • P
                Pman last edited by

                @apollon77:

                So gesehen war die bisherige Definition eher "Throtteln" weil schnelle Änderungen hintereinander nicht geloggt wurden … aber es wurde der erste Wert geloggt und der letzte war halt verlohren ... Am Ende ist da sdie Änderung - wir loggen jetzt eher den letzten (also aktuellsten) als den ersten `

                Diesbezüglich ist mir noch etwas aufgefallen, ein Beispiel:

                Zustand ist OFF. Bei einer sehr kurzen Änderung zu ON und wieder OFF wird nur OFF geloggt und die Änderung geht in der History verloren -> In diesem Fall müsste dann korrekterweise die Einstellung zu "gleichen Werten" berücksichtigt werden.

                Bessere Lösung?:

                Der erste Wert wird direkt ohne Timer geloggt (also wenn aktuell kein Debounce-Timer läuft) und erst danach wird der Debounce-Mechanismus gestartet. So gehen auch kurze Änderungen nicht verloren und es gibt auch keine Änderungen OFF -> OFF.

                1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators last edited by

                  @Pman:

                  Zustand ist OFF. Bei einer sehr kurzen Änderung zu ON und wieder OFF wird nur OFF geloggt und die Änderung geht in der History verloren `
                  stimmt! Aber liegt das wirklich an den History Einstellungen, oder bekommt ioBroker das vielleicht gar nicht mit? oder ist das die Entprellzeit mit Standard 10000msec.

                  ich hatte nämlich auch schon solche Fälle.

                  Gruß

                  Rainer

                  1 Reply Last reply Reply Quote 0
                  • apollon77
                    apollon77 last edited by

                    @Pman:

                    Bessere Lösung?:

                    Der erste Wert wird direkt ohne Timer geloggt (also wenn aktuell kein Debounce-Timer läuft) und erst danach wird der Debounce-Mechanismus gestartet. So gehen auch kurze Änderungen nicht verloren und es gibt auch keine Änderungen OFF -> OFF. `

                    Klappt für Deinen Fall … bei OFF -> ON -> OFF kurz hintereinander ists wieder blöd weil er "OFF" + "OFF" loggen würde ...

                    1 Reply Last reply Reply Quote 0
                    • apollon77
                      apollon77 last edited by

                      @Homoran:

                      oder ist das die Entprellzeit mit Standard 10000msec.

                      ich hatte nämlich auch schon solche Fälle. `
                      Also ja mit 10 Sekunden Debounce-Zeit ist das ein bissl blöd weil 10 sekunden sind echt lang.

                      Neue Adapter-Installationen haben da auch nur noch 1s stehen …

                      1 Reply Last reply Reply Quote 0
                      • P
                        Pman last edited by

                        @apollon77:

                        @Pman:

                        Bessere Lösung?:

                        Der erste Wert wird direkt ohne Timer geloggt (also wenn aktuell kein Debounce-Timer läuft) und erst danach wird der Debounce-Mechanismus gestartet. So gehen auch kurze Änderungen nicht verloren und es gibt auch keine Änderungen OFF -> OFF. `

                        Klappt für Deinen Fall … bei OFF -> ON -> OFF kurz hintereinander ists wieder blöd weil er "OFF" + "OFF" loggen würde ... `

                        Dann müsste der Algo sein:

                        • 1. Event (kein Debounce-Timer läuft) -> direkt loggen

                        • weitere Events werden gedebounced :lol:

                        • letzter Event wird gespeichert, falls der Wert nicht gleich dem initalen 1. Wert ist.

                        Habe ich jetzt noch einen Fall übersehen?

                        1 Reply Last reply Reply Quote 0
                        • ruhr70
                          ruhr70 last edited by

                          @apollon77:

                          @Homoran:

                          oder ist das die Entprellzeit mit Standard 10000msec.

                          ich hatte nämlich auch schon solche Fälle. `
                          Also ja mit 10 Sekunden Debounce-Zeit ist das ein bissl blöd weil 10 sekunden sind echt lang.

                          Neue Adapter-Installationen haben da auch nur noch 1s stehen … `

                          Wenn ich das ändern möchte muss ich jeden einzeln alten Datenpunkt anfassen?

                          1 Reply Last reply Reply Quote 0
                          • apollon77
                            apollon77 last edited by

                            Ich denke mir was anderes aus … ich denke die Änderung macht ggf doch zuviel kaputt 😞 Oder was meint Ihr?

                            Alles wieder zurück und "Entprellzeit" als Beschriftung ändern in "Neue Werte maximal Speichern nach x Sekunden" und ggf eine ENtprellzeit zusätzlich einbauen ?!

                            Meinungen vor

                            1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators last edited by

                              @ruhr70:

                              Wenn ich das ändern möchte muss ich jeden einzeln alten Datenpunkt anfassen? `
                              Nein,

                              Du wählst als Filter oben rechts "mit" statt "alle", klickst oben das Zahnrad an u d änderst nur den Wert bei Entprellzeit.

                              Das wird dann in allen Datenpunkten übernommen.

                              Alles andere sollte unverändert bleiben.

                              Gruß

                              Rainer

                              1 Reply Last reply Reply Quote 0
                              • ruhr70
                                ruhr70 last edited by

                                @Homoran:

                                @ruhr70:

                                Wenn ich das ändern möchte muss ich jeden einzeln alten Datenpunkt anfassen? `
                                Nein,

                                Du wählst als Filter oben rechts "mit" statt "alle", klickst oben das Zahnrad an u d änderst nur den Wert bei Entprellzeit.

                                Das wird dann in allen Datenpunkten übernommen.

                                Alles andere sollte unverändert bleiben. `

                                Oh je…

                                es etwas Zeit vergangen, als ich dafür zuletzt die Filter benutzt habe... und schon muss man mich neu anlernen :oops:

                                Danke!!

                                1 Reply Last reply Reply Quote 0
                                • apollon77
                                  apollon77 last edited by

                                  Wat machmer nu … ?! 🙂

                                  So lassen oder zurückändern? 🙂

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    Pman last edited by

                                    Ich finde die aktuelle Implementierung super, bis auf die angesprochene Änderung. Für mich funktioniert es bei ganz verschiedenen Szenarien jetzt super. Natürlich muss man dabei immer im Hinterkopf haben, wie die Funktion arbeitet, aber das war auch vorher der Fall finde ich.

                                    Gibt es denn konkret Beispiele für Fälle, wo es etwas kaputt macht?

                                    1 Reply Last reply Reply Quote 0
                                    • apollon77
                                      apollon77 last edited by

                                      Da bei ruhr70 das Massen-Edit scheinbar geklappt hat ist alles super 🙂

                                      Ist auch schon gepublished … ich warte jetzt mal Feedback ab 🙂

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      824
                                      Online

                                      31.7k
                                      Users

                                      79.8k
                                      Topics

                                      1.3m
                                      Posts

                                      6
                                      30
                                      4155
                                      Loading More Posts
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                      The ioBroker Community 2014-2023
                                      logo