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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    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.
    • P
      Pman last edited by

      Zum Thema Datentypen: Ich hatte (mit der alten Version) den Fall, dass ein Datenpunkt zu Beginn schon falsch angelegt wurde, da der erste Wert nach anlegen der History-Einstellungen nicht dem korrekten Typ entsprach (String statt Bool). Dadurch war der Typ schon falsch in der Datenbank und ich musste ihn schlussendlich manuell aus der Datenbank entfernen. Ich glaube, dass auch jetzt mit deiner Version dieses Problem nicht behoben wäre, da du sagst, dass dieses Einstellung nur einmalig getätigt werden kann. Ich würde demnach vorschlagen, dass man einen ENTFERNEN Button hinzufügt, mit dem man den Datenpunkt wieder komplett aus der Datenbank raus bekommt, inkl. allen Werten. Natürlich müsste da noch ein Bestätigungsdialog auftauchen, damit man nicht aus Versehen löscht.

      @apollon77:

      Es "fehlen" pot. Werte die dazwischen waren, aber das war vorher auch so. Es kann jetzt aber passieren, dass bei falschen Debounce-Einstellungen nichts mehr geloggt wird weil die Werte schneller kommen als die Debounce-Einstellung und damit nie stabil sind. Das muss ggf geprüft werden. `
      Dass manche Werte nicht geloggt werden ist ja irgendwie auch Sinn der Sache. Wenn gar nicht mehr geloggt wird, weil die Werte dauerhaft zu schnell kommen, sollte man die Debounce-Zeit verringern, das ist dann eher ein Konfigurationsfehler finde ich. Der Standardwert sollte evtl. eher 0 (aus) oder ein geringer Wert wie 100ms sein, damit bei nicht-Beachtung dieser Einstellung weniger schief gehen kann.

      Eine Anmerkung/Frage hätte ich noch: wird der Wert eigentlich mit dem ursprünglichen Timestamp gespeichert oder mit dem Zeitpunkt wenn er denn endgültig gespeichert wird?

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

        @Pman:

        Zum Thema Datentypen: Ich hatte (mit der alten Version) den Fall, dass ein Datenpunkt zu Beginn schon falsch angelegt wurde, da der erste Wert nach anlegen der History-Einstellungen nicht dem korrekten Typ entsprach (String statt Bool). Dadurch war der Typ schon falsch in der Datenbank und ich musste ihn schlussendlich manuell aus der Datenbank entfernen. Ich glaube, dass auch jetzt mit deiner Version dieses Problem nicht behoben wäre, da du sagst, dass dieses Einstellung nur einmalig getätigt werden kann. Ich würde demnach vorschlagen, dass man einen ENTFERNEN Button hinzufügt, mit dem man den Datenpunkt wieder komplett aus der Datenbank raus bekommt, inkl. allen Werten. Natürlich müsste da noch ein Bestätigungsdialog auftauchen, damit man nicht aus Versehen löscht. `
        Habe es als Feature-Request ins Trello gepackt.
        @Pman:

        @apollon77:

        Es "fehlen" pot. Werte die dazwischen waren, aber das war vorher auch so. Es kann jetzt aber passieren, dass bei falschen Debounce-Einstellungen nichts mehr geloggt wird weil die Werte schneller kommen als die Debounce-Einstellung und damit nie stabil sind. Das muss ggf geprüft werden. Dass manche Werte nicht geloggt werden ist ja irgendwie auch Sinn der Sache. Wenn gar nicht mehr geloggt wird, weil die Werte dauerhaft zu schnell kommen, sollte man die Debounce-Zeit verringern, das ist dann eher ein Konfigurationsfehler finde ich. Der Standardwert sollte evtl. eher 0 (aus) oder ein geringer Wert wie 100ms sein, damit bei nicht-Beachtung dieser Einstellung weniger schief gehen kann.
        Der aktuelle Default-Wert für Debounce sind 10 Sekunden. Zu viel? 1s wäre vllt besser?

        @Pman:

        Eine Anmerkung/Frage hätte ich noch: wird der Wert eigentlich mit dem ursprünglichen Timestamp gespeichert oder mit dem Zeitpunkt wenn er denn endgültig gespeichert wird? `
        Es ist immer der eigentliche Timestamp. Nur das schreiben an sich ist verzögert. An den Daten wird da nichts geändert.

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

          Die Frage ist: Was ist ein guter default-Wert für Leute, die nichts an dem Wert verändern und erwarten, dass es einfach funktioniert, also loggt.

          Zu kleiner Wert:

          Bei Datenpunkten mit starkem "flimmern" wird der Historyadapter überlastet und es werden sehr schnell große Datenmengen geloggt.

          Zu großer Wert:

          Es werden Werte unerwartet nicht geloggt.

          Ich würde jetzt aus dem Bauch heraus eher zu 1s tendieren.

          1 Reply Last reply Reply Quote 0
          • 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

                                            951
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            30
                                            4047
                                            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