Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. History 2.0.0 verfügbar - eine Zusammenfassung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    History 2.0.0 verfügbar - eine Zusammenfassung

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

      Hallo alle zusammen,

      mit dem Feedback hier und auf GitHub und noch ein paar Sentry Fehlermeldungen, gibts jetzt hier die 2.1.0 mit noch ein paar Neuerungen:

      Die wichtigste Neuerung ist das storeState und auch GetHistory jetzt auch für "unbekannte Objects-IDs" geht. Es fehlen natürlich sämtliche Filteroptionen und alles was man pro Datenpunkt einstellen kann, aber das sollte klar sein 🙂

      • (Apollon77) Fix several crash cases reported by Sentry
      • (Apollon77) Make sure disabling "Log changes only" also really do not log the changes anymore
      • (Apollon77) Allow storeState and GetHistory also to be called for "unknown ids"

      Das Update sollte im Laufe des Abends im latest Repo aufauchen,

      Viel Spass damit.

      Ingo

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

        Und damit es nicht ganz langweilig wird hier noch ein kleines Update auf die 2.1.3 ... Ich habe nochmal in so einige Performancethemen vor allem bei GetHistory reingeschau und optimiert.

        Wenn alles klappt geht das dann demnächst auch in Stable.

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

          @apollon77
          Hallo, ich habe da mal eine Frage zu den zusätzlichen Werten.

          Ich logge einen Boolean Wert und möchte mit einem Script immer den aktuellen Tag auslesen.
          Aggregat Funktion = onchange

          Hier mal ein paar Beispiel Werte aus dem Script (inklusive den beiden Randwerten):

          10:53:03.221	info	javascript.0 (1622) script.js.Haus.Skript_2: history: Sun Jun 19 2022 00:00:00 GMT+0200 (Central European Summer Time)false
          10:53:03.221	info	javascript.0 (1622) script.js.Haus.Skript_2: history: Sun Jun 19 2022 10:51:11 GMT+0200 (Central European Summer Time)false
          10:53:03.221	info	javascript.0 (1622) script.js.Haus.Skript_2: history: Sun Jun 19 2022 10:52:22 GMT+0200 (Central European Summer Time)true
          10:53:03.221	info	javascript.0 (1622) script.js.Haus.Skript_2: history: Sun Jun 19 2022 10:53:03 GMT+0200 (Central European Summer Time)true
          

          Im Historydiagramm des Adapters sieht es so aus.
          da3264f4-5d21-4d6d-8ce6-27be87f35ea1-image.png

          Der Boolean Wert war seit Mitternacht auf TRUE und hat dann um 10:51 nach FALSE und wieder nach TRUE gewechselt.
          Jetzt würde ich erwarten, das der erste zus. Wert ebenfalls auf TRUE ist. Gelesen wird aber mit dem Script FALSE. Der letzte Wert passt.
          Falls kein Wert für den Tag in der History gelogged wurde, gibt es auch keine zus. Werte. Da würde ich erwarten, das es ebenfalls zwei zus. Werte gibt.

          Habe ich da einen Denkfehler?

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

            @afuerhoff Da müsste man jetzt exakt auch Deine Einstellungen kennen. Am allereinfachsten aktiviere doch mal das zusätzliche Debug für den relevanten Datenpunkt und liess Dir durch was er loggt bzw poste es hier. Da steht quasi exakt drin warum ein Wert geloggt wird oder verspätet geloggt wird oder verworfen wird.

            afuerhoff 1 Reply Last reply Reply Quote 0
            • afuerhoff
              afuerhoff Developer @apollon77 last edited by

              @apollon77
              Die zusätzlichen Werte werden doch vom History Adapter ermittelt. Die werden doch dann nicht gelogged.

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

                @afuerhoff zusätzliche Werte sind anmelde nur werte Wonder adapter entscheidet sie nicht jetzt zu loggen aber ggf später. Und das sieht man im log.

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

                  Hey all,

                  von History gibts jetzt die 2.1.6 mit letzten Fixes. Wenn keiner mehr was meldet wäre das die Version die die Tage in Stable geht.

                  Bitte checkt es nochmal

                  Ingo

                  afuerhoff 1 Reply Last reply Reply Quote -1
                  • afuerhoff
                    afuerhoff Developer @apollon77 last edited by

                    @apollon77
                    Ich habe jetzt nochmal einen Test gemacht. Betrachtungszeitraum "dieser Tag".
                    Der Datenpunkt war von gestern 22:15 bis heute 19:36 false. Erst um 19:36 wurde er auf true gesetzt. Wie man im Bild sehen kann.
                    764d353e-a769-4582-9f1f-3f73b0732d2b-image.png
                    In der Grafik wird der Datenpunkt aber als true dargestellt. Das ist falsch.
                    b94f40e5-1afc-490b-ac67-0bb0a5973403-image.png
                    Wählt man einen größeren Zeitbereich, wo der Wechsel um 22:15 nach false enthalten ist wird es richtig dargestellt.
                    b4260a13-63e0-4bc2-9fbf-7f235876973e-image.png

                    History Einstellungen sind folgende:
                    d42c34cd-69bc-4953-81b7-150eff7b003c-image.png

                    Aus meiner Sicht wird nicht der richtige History Wert zur Darstellung herangezogen.

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @afuerhoff last edited by paul53

                      @afuerhoff sagte: Betrachtungszeitraum "dieser Tag".

                      Dann holt sich das Chart-Programm auch nur diesen Zeitraum aus der History, das den alten Wert nicht enthält. Wenn Änderungen seltener sind als der zu betrachtende Zeitraum, muss man zusätzliche Einträge erzeugen lassen mit "trotzdem gleiche Werte aufzeichnen": 43200 (12 h).

                      afuerhoff 1 Reply Last reply Reply Quote 0
                      • afuerhoff
                        afuerhoff Developer @paul53 last edited by

                        @paul53
                        Wofür gibt es dann diese Funktionalität "AUFZEICHNUNG ZUSÄTZLICHER WERTE ZUR BESSEREN GRAFISCHEN DARSTELLUNG" ?

                        Der History Adapter müsste für die Darstellung ja nur in die Vergangenheit schauen und den letzten Wechsel suchen und in der Darstellung berücksichtigen. Das gleiche wäre auch beim auslesen per Script sinnvoll wenn zusätzliche Werte mit ausgegeben sollen.

                        paul53 apollon77 2 Replies Last reply Reply Quote 0
                        • paul53
                          paul53 @afuerhoff last edited by

                          @afuerhoff sagte: "AUFZEICHNUNG ZUSÄTZLICHER WERTE ZUR BESSEREN GRAFISCHEN DARSTELLUNG" ?

                          Wo gibt es das? Ist das neu?

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

                            @afuerhoff So funktioniert diese Funktion nicht. Diese Loggt zusätzliche Daten nwenn es sinn macht - hat mit der Darstellung an sich nichts zu tun. Normalerweise wird auch für Admin immer noch ein Wert an den "Rändern" gelesen, aber am Ende ist es immer eine Frage wie weit so ein Wert "weg" ist ...

                            Aber Paul hat recht - die einzig sinnvolle Variante um "immer" eine sinncolle grafische darstellung zu bekommen ist Werte öfters zu loggen

                            afuerhoff 1 Reply Last reply Reply Quote 0
                            • apollon77
                              apollon77 @paul53 last edited by

                              @paul53 Siehe ganz obe - das "neue" ist aber das man das Loggen dieser zusätzlichen Werte deaktivieren kann (war bisher immer schon da, nur halt Defaultmäßig). Jetzt kann man sagen "Ich will nur die echten/Raw Werte haben"

                              1 Reply Last reply Reply Quote 0
                              • afuerhoff
                                afuerhoff Developer @apollon77 last edited by

                                @apollon77
                                Das loggen zusätzlicher Werte wollte ich gerade vermeiden.

                                Die Frage ist, kann man nicht grundsätzlich bei Boolean Werten davon ausgehen, dass ein Wert, der im Betrachtungszeitraum z.B. irgendwann auf true gewechselt hat, außerhalb des Betrachtungszeitraum dann false gewesen sein muss. also findet ein Wechsel von false nach true statt und nicht von true nach true. Es wird ja generell durch die jetzige Darstellung etwas falsches dargestellt.

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

                                  @afuerhoff Das ist aber wen ein Admin Thema und keins vom Adapter! ich weiss gerade nicht wie Admin genau Abfragt und was es dann wie darstellt. Müsste man exakt mit Debug Log und so reinschauen. Bitte ggf Admin Issue erstellen

                                  afuerhoff 1 Reply Last reply Reply Quote 0
                                  • afuerhoff
                                    afuerhoff Developer @apollon77 last edited by

                                    @apollon77
                                    Das verstehe ich gerade nicht. Der History Adapter müsste doch die richtigen Werte für die Darstellung im Admin liefern. Admin stellt doch nur dar. Müsste ja auch beim Auslesen mit einem Script mit den "Zusatzwerten" richtig vom History Adapter zurückgegeben werden.

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

                                      @afuerhoff Naja dann müssten wir erstmal schauen was Admin genau abfragt ... und dann kann man dazu was sagen. Also dann schauen wir mal rein:
                                      1.) Den ausgewählten Datenpunkt in den Settings das enhanced Logging einschalten
                                      2.) History Instanz auf Debug Loglevel setzen
                                      3.) Log posten und sagen welche Datenpunkt es war
                                      4.) Dann nehmen wir die Abfrage die Admin gesendet hat und du sendest Sie als Skript und wir sehen welche Daten zurückkommen

                                      afuerhoff 1 Reply Last reply Reply Quote 0
                                      • afuerhoff
                                        afuerhoff Developer @apollon77 last edited by afuerhoff

                                        @apollon77
                                        Hallo, hier mal das Log. Gefiltert nach dem Datenpunkt. Passt das so oder benötigst Du etwas anderes?

                                        2022-07-02 00:10:57.242 - debug: history.0 (31885) fb-checkpresence.0.familyMembers.Achim.presence16567134570680.4469083272847678 after getFileData: cacheData.length = 1, fileData.length = 1
                                        2022-07-02 00:10:57.243 - debug: history.0 (31885) fb-checkpresence.0.familyMembers.Achim.presence16567134570680.4469083272847678 pre-cut data to 1 oldest values
                                        2022-07-02 00:10:57.243 - debug: history.0 (31885) fb-checkpresence.0.familyMembers.Achim.presence16567134570680.4469083272847678 Beautify: 1 results
                                        2022-07-02 00:10:57.243 - debug: history.0 (31885) fb-checkpresence.0.familyMembers.Achim.presence16567134570680.4469083272847678 after beautify: options.result.length = 1
                                        2022-07-02 00:10:57.243 - debug: history.0 (31885) fb-checkpresence.0.familyMembers.Achim.presence16567134570680.4469083272847678 Send: 1 values in: 175ms
                                        2022-07-02 00:10:57.764 - debug: history.0 (31885) fb-checkpresence.0.familyMembers.Achim.presence16567134577640.9211639891185686 getHistory message: {"id":"fb-checkpresence.0.familyMembers.Achim.presence","options":{"instance":"history.0","start":1656712800000,"end":1656713460000,"from":false,"ack":false,"q":false,"addID":false,"aggregate":"none","returnNewestEntries":true,"user":"system.user.admin"}}
                                        2022-07-02 00:10:57.764 - debug: history.0 (31885) fb-checkpresence.0.familyMembers.Achim.presence16567134577640.9211639891185686 getHistory options final: {"id":"fb-checkpresence.0.familyMembers.Achim.presence","path":"/opt/iobroker/history/","start":1656712800000,"end":1656713460000,"step":null,"count":2000,"from":false,"ack":false,"q":false,"ignoreNull":false,"aggregate":"none","limit":2000,"addId":false,"returnNewestEntries":true,"percentile":null,"quantile":null,"integralUnit":null,"integralInterpolation":null,"removeBorderValues":false,"logId":"fb-checkpresence.0.familyMembers.Achim.presence16567134577640.9211639891185686","round":null,"debugLog":true}
                                        2022-07-02 00:10:57.764 - debug: history.0 (31885) getOneCachedData: got 1 datapoints for fb-checkpresence.0.familyMembers.Achim.presence
                                        2022-07-02 00:10:57.764 - debug: history.0 (31885) fb-checkpresence.0.familyMembers.Achim.presence16567134577640.9211639891185686 after getCachedData: length = 1, isFull=false
                                        2022-07-02 00:10:57.782 - debug: history.0 (31885) getOneFileData: 20220702 -> 20220702 for fb-checkpresence.0.familyMembers.Achim.presence
                                        2022-07-02 00:10:57.782 - debug: history.0 (31885) handleFileData: 20220702 -> /opt/iobroker/history/20220702/history.fb-checkpresence.0.familyMembers.Achim.presence.json
                                        2022-07-02 00:10:57.783 - debug: history.0 (31885) fb-checkpresence.0.familyMembers.Achim.presence16567134577640.9211639891185686 after getFileData: cacheData.length = 1, fileData.length = 0
                                        2022-07-02 00:10:57.783 - debug: history.0 (31885) fb-checkpresence.0.familyMembers.Achim.presence16567134577640.9211639891185686 Beautify: 1 results
                                        2022-07-02 00:10:57.783 - debug: history.0 (31885) fb-checkpresence.0.familyMembers.Achim.presence16567134577640.9211639891185686 after beautify: options.result.length = 1
                                        2022-07-02 00:10:57.783 - debug: history.0 (31885) fb-checkpresence.0.familyMembers.Achim.presence16567134577640.9211639891185686 Send: 1 values in: 19ms
                                        

                                        9a5dd08b-2bba-41e6-b6af-010cf444e380-image.png

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

                                          @afuerhoff SO und damit hast Du mit

                                          {"id":"fb-checkpresence.0.familyMembers.Achim.presence","options":{"instance":"history.0","start":1656712800000,"end":1656713460000,"from":false,"ack":false,"q":false,"addID":false,"aggregate":"none","returnNewestEntries":true,"user":"system.user.admin"}}

                                          den gehHistory call ... Das jetzt mal in nem Javascript Skript mit "sendTo" zum history.0 instanz senden. Und dann Zeig mal das Ergebnis - dann weisst Du was zurückkommt

                                          afuerhoff 1 Reply Last reply Reply Quote 0
                                          • afuerhoff
                                            afuerhoff Developer @apollon77 last edited by afuerhoff

                                            @apollon77
                                            ich bekomme genau einen History Eintrag zurück geliefert für den aktuellen Tag. Das ist der Zeitpunkt wo der Datenpunkt nach true gewechselt hat. Die Grafik sagt etwas ganz anderes aus.

                                            2022-07-02 00:33:30.396 - info: javascript.0 (31943) script.js.Haus.Skript_3: history cntActualDay: 1
                                            2022-07-02 00:33:30.397 - info: javascript.0 (31943) script.js.Haus.Skript_3: history: Sat Jul 02 2022 00:10:13 GMT+0200 (Central European Summer Time) value: true
                                            
                                            apollon77 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            760
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            10
                                            119
                                            8926
                                            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