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.
    • M
      Marty56 @apollon77 last edited by Marty56

      @apollon77

      Ich habe einen sehr hohen Schwellwert eingetragen, weil ich das automatische Loggen beim Schreiben des Datenpunkts verhindern möchte.

      Bildschirmfoto 2022-05-12 um 13.32.03.jpg

      Einmal am Tag, schreibe ich direkt in die history DB an einem von mir definierten Zeitpunkt (mit send("history.0 .....) und setze danach den Datenpunkt auf 0.
      Ich möchte also, dass durch eine Änderung des Datenpunkt überhaupt keine Einträge in die History DB gespeichert werden.

      Leider scheint der Adapter die Veränderungsschwelle zu ignorieren.Bildschirmfoto 2022-05-12 um 13.35.26.jpg

      Es sieht so aus, als ob er den ersten Wert am Tag, also in dem Bild den Übergang von 0 auf 4,54999 immer schreibt, obwohl der Unterschied zwischen 0 und 4,5999 deutlich geringer ist als 1 000 000.

      Ist das Fehler oder ein Feature?

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

        @marty56

        1.) Bevor ich Dir antworte liesst Du bitte jetzt mal den ersten Post oben vollständig durch und sagst mir ob Die Frage danach nicht einfach selbst beantwortet ist.
        Ansonsten schalte doch mal Debug log für den einen Datenpunkt an und stelle die Instanz auf Debug Log und dann liess Dir durch was er loggt. Das sollte dann auch genau erklären was er warum tut.

        2.) Meinst Du nicht das es mit diesen Anforderungen viel sinnvoller ist einfach einen eigenen State anzulegen in den Du selbst das reinschreibst was Du wann willst per JavaScript/Blockly ohne das du das so verbiegen musst?

        M 1 Reply Last reply Reply Quote 1
        • M
          Marty56 @apollon77 last edited by Marty56

          @apollon77
          Danke für die Rückmeldung
          zu 1. Ich habe mir jetzt die Schreiblogik durchgelesen. So richtig verstanden habe ich die leider nicht. Vor allen Dingen ist mir der Begriff "Darstellungsoptimierung" nicht klar und auch der Satz "Der Wert wird ggf. erinnert für spätere Aufzeichnung zur Darstellungsoptimierung". Was soll "erinnert" in diesem Kontext bedeuten.

          Aber ok. Ich habe jetzt mal (ohne wirkliches Verständnis) diese Darstellungsoptimierung deaktiviert und schaue mal was dann passiert.

          Zu 2. Ich möchte ein monatliches und ein Mehr -Jahresdiagramm machen. Mit Deinem Vorschlag habe ich die endgültigen Werte am Ende der jeweiligen Periode. D.h. sich sehe z.B. auf dem Jahresdiagramm nur Werte vom vollständig abgelaufenen Jahren. Ich möchte aber nach jedem Tag auch den aktuellen Wert des noch laufenden Jahres sehen. Analog im Monat.

          Ich speichere immer am 1. der Abrechnungsperiode. D.h. den Jahreswert des laufenden Jahres am 1.1. des Jahres. Warum, weil wenn ich ihn am z.B. 31.12. des laufenden Jahres speichere, die relative Darstellung in den Flotdiagrammen nicht mehr funktioniert.

          Homoran apollon77 2 Replies Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Marty56 last edited by

            @marty56 ich habe eine ganz andere Frage:
            ist das überhaupt eine Zahl?
            üblicherweise sind die nit Dezimalpunkt, mit Komma könnte es ein String sein

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

              @marty56 sagte in History 2.0.0 verfügbar - eine Zusammenfassung:

              zu 1. Ich habe mir jetzt die Schreiblogik durchgelesen. So richtig verstanden habe ich die leider nicht. Vor allen Dingen ist mir der Begriff "Darstellungsoptimierung" nicht klar und auch der Satz "Der Wert wird ggf. erinnert für spätere Aufzeichnung zur Darstellungsoptimierung". Was soll "erinnert" in diesem Kontext bedeuten.

              "Erinnert" heisst das Sie auch mit geloggt wird mit dem "letzten zeitstempel" damit die Darstellung sinnvoll ist

              WIe gesatt: Deine Anforderungen sind so speziell das ich einfach nen eigenen "logging "Datenpunkt machen würde an deiner Stelle und da nur das reinschreibst was Du haben willst.

              1 Reply Last reply Reply Quote 0
              • M
                Marty56 @Homoran last edited by

                @homoran Ja, es ist ein Zahl.

                M 1 Reply Last reply Reply Quote 0
                • M
                  Marty56 @Marty56 last edited by

                  @apollon77

                  Es wäre wirklich super, wenn man diese ganzen Regeln zum automatisieren Schreiben einfach mit einem Click abschalten könnte.
                  Also ein Click "schreibe nie in History DB, wenn der Datenpunkt geändert oder neu gesetzt wird".

                  Ich möchte nur mit "send(history ... " in die Datenbasis schreiben und schaffe es nicht, das Regelwert für das automatische Schreiben so zu konfigurieren, dass das automatische Schreiben völlig unterbunden wird.

                  Ich habe Änderung konfiguriert, die Optimierung der Darstellung deaktiviert und dazu noch einen riesigen Wert für den Unterschied zwischen den Werten angegeben, wann geschrieben werden soll. Aber jeden neuen Tag wird trotzdem immer der erste Wert geschrieben, was für meine Auswertungen und Diagramme nicht passt.

                  Mache ich irgendetwas falsch oder wird die Überprüfung der Änderung des Wert an jedem neuen Tag beim ersten Mal ignoriert?

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

                    @marty56 Dann poste bitte jetzt mal einen Debug log für diesen Datenpunkt. Sonst raten wir weiter rum.

                    Und dein Wunsch für einen "ausschlieslich manuell loggen" Modus (wo Du glaube der einzige bist der das aktuell willst) Wäre ein Feature Request. GitHub Issue bitte

                    M 2 Replies Last reply Reply Quote 0
                    • M
                      Marty56 @apollon77 last edited by

                      @apollon77

                      Wenn ich der Einzige bin, dann könnte es sein, dass ich den History Adapter vielleicht nicht verstanden habe.

                      Was ich machen will, ist ein Monats- und Jahres Verbrauchsdiagramm jeweils von meinem Stromverbrauch, Eigenverbrauch, PV Lieferung, PV Erzeugung und EV-Verbrauch zuhause und unterwegs.

                      Dabei will ich pro Jahr jeweils nur einen Wert speichern und nicht 365.
                      Ich möchte das laufende Jahr mit den vergangenen Jahren in einem Balkendiagramm darstellen.

                      Bei den Monaten analog, also nur nur 12 Werte pro Jahr.

                      Wie kann ich das mit dem history Adapter machen ohne meinen zugegebener maßen komplizierten Ansatz?

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

                        @marty56 sagte: Monats- und Jahres Verbrauchsdiagramm

                        Dafür ist History nicht gedacht. Das macht man mit dem Sourceanalytix-Adapter oder je einem kleinen Skript pro Zähler. Die dabei erzeugten Monats- und Jahres-Werte kann man problemlos historisieren.

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

                          @apollon77

                          Anbei das Log. Es wird wieder der erste Wert des Datenpunks "javascript.0.strom.Erz_Energie_Tag" in die History DB geschrieben.

                          Wenn das einmal passiert, dann funktioniert das Regelwert und es werden keine weiteren Werte mehr geschrieben.

                          Dann sieht mein Diagram halt so aus.Bildschirmfoto 2022-05-14 um 05.29.39.png

                          und so sollte es aussehen, nachdem ich den Datenpunkt manuell gelöscht habe
                          Bildschirmfoto 2022-05-14 um 05.31.38.png

                          Hier das Log. Ich Teile vom Vortag und von heute morgen zusammenkopiert. Ich hoffe, dass hilft.iobroker.log

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

                            @paul53

                            Danke für den Hinweis.
                            Ich habe den Source Analytics Adapter ausprobiert.

                            Er passt für mich nicht. Unterstützt keine Zählerwechsel weil keine negativen Jahres/Monatszähler. Mit Workaround könnte da was machen.
                            Ich wüsste auch nicht, wie ich meine 12 jährigen historischen Daten einpflegen könnte.
                            Abgeleitete Zähler wie Eigenverbrauch und Gesamtverbrauch funktionieren auch nicht.
                            Ein Flot Diagram mit History DB geht auch nicht direkt, sondern nur per Script und speziellen Diagramm Datenpunkten, die man sich aus den Daten des Source Analytics Adapter per Script generieren müsste und dann per send(history.... einpflegen müsste.

                            Das wäre deutlich komplizierter als das kleine Skript, was ich jetzt habe und das bis auf das History Issue gut funktioniert.

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

                                            Support us

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

                                            750
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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