NEWS
History 2.0.0 verfügbar - eine Zusammenfassung
-
@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 -
@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.
-
@homoran Ja, es ist ein Zahl.
-
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?
-
@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
-
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?
-
@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.
-
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.
und so sollte es aussehen, nachdem ich den Datenpunkt manuell gelöscht habe
Hier das Log. Ich Teile vom Vortag und von heute morgen zusammenkopiert. Ich hoffe, dass hilft.iobroker.log
-
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.
-
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
-
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.
-
@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 = onchangeHier 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.
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?
-
@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.
-
@apollon77
Die zusätzlichen Werte werden doch vom History Adapter ermittelt. Die werden doch dann nicht gelogged. -
@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.
-
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
-
@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.
In der Grafik wird der Datenpunkt aber als true dargestellt. Das ist falsch.
Wählt man einen größeren Zeitbereich, wo der Wechsel um 22:15 nach false enthalten ist wird es richtig dargestellt.
History Einstellungen sind folgende:
Aus meiner Sicht wird nicht der richtige History Wert zur Darstellung herangezogen.
-
@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).
-
@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.
-
@afuerhoff sagte: "AUFZEICHNUNG ZUSÄTZLICHER WERTE ZUR BESSEREN GRAFISCHEN DARSTELLUNG" ?
Wo gibt es das? Ist das neu?