NEWS
Test Adapter History 2.0.0
-
@apollon77 sagte in Test Adapter History 2.0.0:
@feuersturm Auf GitHub hab ichs eingefangen. tssstss diese Checkboxen immer
Jetzt ist sie da wo sie hingehört
-
Hab jetzt auch mal die Alpha installiert.
iobroker.history@2.0.0 (git+ssh://git@github.com/ioBroker/ioBroker.history.git#9fcc35069de7b11cbf1d6a134d648940e64a15e8)
Da ich aber nur zwei Datenpunkte (für echarts) logge ist mein Setup überhaupt kein Maßstab. Aber es funktioniert noch alles. Ist ja vielleicht auch eine Info.
-
@apollon77
Aufbewahrungsdauer
Ich hab bei meinem Testdatenpunkt einmal eine Aufbewahrungsdauer von 1 Tag eingestellt
Obwohl die 24h schon überschritten sind tauchen die ersten Datenpunkte von gesternabend 18:55 noch in den Verlaufsdaten auf:
Datumseinstellung ioBroker Slave wo history Adapter läuft
proxmox@ioBrokerNew:~$ date Fri Apr 15 19:39:43 CEST 2022
Datumseinstellung ioBroer Master:
proxmox@ioBrokerTestsystem:~$ date Fri Apr 15 19:45:15 CEST 2022
-
@feuersturm aufgeräumt wird immer dann wenn auch was neues ins file geschrieben wird. Ergo: wie lange braucht er bis er 960 Einträge gesammelt hat und schreibt? ;-)) alternativ mal Adapter testen dann wird auch geschrieben und er sollte auch aufräumen. Und dann räumt er glaube tageweise auf.
Am Ende hab ich daran nichts geändert aber ja wenn was wäre fixen wir das natürlich
-
@feuersturm also check für aufräumen erfolgt frühestens alle 6h, dann wird aufgeräumt nur ganze tage ab dem tag "vor" ablauf der retention
generell gilt: speichern alle 10 mins ODER wenn die anzahl erreicht ist -
@apollon77 Dann warte ich nochmal etwas ab.
Hab gerade einmal mit diesem kleinen Codeschnipsel etwas mit min, max, average, percentile, quantile herumgespielt und auf dem ersten Blick kamen da plausible Werte raus
var end = Date.now(); sendTo('history.1', 'getHistory', { id: 'proxmox.0.lxc_ioBrokerTestsystem.cpu', options: { start: end - 3600000, end: end, count: 1, aggregate: 'percentile', addId: true, percentile: 50 } }, function (result) { console.log(JSON.stringify(result)) console.log(result.result[0].val); });
-
Good job, läuft auf Anhieb
Von meinen rund 30 Einträgen liefen sofort fast alle. Die die nicht wollten musste ich neu speichern, danach ging es. Leider bin ich eben erst auf die Idee gekommen ob es nicht auch einfach einiob restart
(oder nochmaliger Adapterrestart) getan hätte? -
@sborg hatten die „die nicht wollten“ denn was besonderes? Wurden sie beim start mit aufgelistet? An sich wäre überraschend wenn einer „nicht will“ der vorher tat es sei denn es sind relevante settings Jetzt beachtet - dann hätten sie aber nach nur neu speichern sich nicht tun sollen. Strange und ohne Infos schwierig zu beantworten
-
@apollon77 Angelegt wurden sie, aber immer mit Wert "0" geschrieben.
Keine ganz speziellen Eigenschaften, aber trotzdem habe ich eine Gemeinsamkeit gefunden (siehe Pixelmatsch):
Alle nutzen einen Alias
-
@sborg sehr interessant. Kannst du bitte mal checken ob es nach einem restart vom Adapter wieder so ist? Und wenn bitte debug log vom Adapter und bei so einem relevanten state aktiviere und dann mal log senden vom Start und von wenn du es dann speicherst.
Ich versuche es nachher auch mal nachzustellen
-
@apollon77 sagte in Test Adapter History 2.0.0:
Kannst du bitte mal checken ob es nach einem restart vom Adapter wieder so ist?
Ja und Nein. Einmal gespeichert überlebt es auch einen Adapterneustart:
- gestern 14:00 Uhr Update (+ vergessen zu kontrollieren, da anderes wichtigeres da zumindest lief
)
- heute ~ 07:30 Uhr den Peak (warum auch nur einer?) verstehe ich nicht so ganz...
- kurz vor 10:00 Uhr die Fehler bemerkt und testweise mal an einem gespielt (dann 15 Minuten bis zum nächsten Update warten; wie üblich dabei "gestört" worden und vergessen...)
- 11:00 Uhr Yeah, geht und die restlichen 4 neu gespeichert...
- ab > 15:00 Uhr nichts mehr ersichtlich und funktioniert trotz erfolgtem Adapterrestart
Die restlichen 20 (habe in Summe doch nur 25
) laufen bis dato anstandslos (selbe Einstellungen, nur halt alle ohne Alias)
- gestern 14:00 Uhr Update (+ vergessen zu kontrollieren, da anderes wichtigeres da zumindest lief
-
@sborg aber waren alle mit nem alias betroffen korrekt? Oder auch nur einige?
-
@apollon77 Alle 5 "defekten" nutzen einen Alias. Hier geht es wie man unschwer erkennen kann um Benzinpreise. Da der Tankerkönig dann die Stationen nur durchnummeriert ist es nicht gerade sehr intuitiv und ich nutze dort die Aliase. Bei den restlichen nehme ich dann die Standardnotation des DPs.
Den einzelnen Peak verstehe ich dabei überhaupt nicht...
Hier mal der passende JSON:
wobei er da lt. Einstellungen "0" und "Null" eigentlich gar nicht hätte loggen dürfen?
-
@sborg sehr komisch. Ich schaue nochmal ob ich es nachstellen kann.
-
@sborg Ich bekomme es nicht nachgestellt
habs auch in die Tests implementiert ... und Alias tut . Denkst Du du kommst (vllt aus nem Backup?) noch an ein "originales Objekt" ran? Dann könnte ich exakt die settings nacspielen
-
@apollon77 guten Abend
Darf ich Mal eine grundsätzliche Verständnis Frage stellen? Ich nutze aktuell den SQL Adapter zum loggen. Was wäre der Vorteil, wenn ich auf den History Adapter umsteigen würde?
Danke
-
@alinaclg der Vorteil für dich wäre wohl eher keiner. History speichert in json files und in keiner Datenbank. Sql bekommt auch bald genau dieses Update was Funktionen angeht.
-
@apollon77 sagte in Test Adapter History 2.0.0:
Denkst Du du kommst (vllt aus nem Backup?) noch an ein "originales Objekt" ran?
Leider nein, dass ist so ziemlich das einzige was ich nicht sichere
Wenn ich aber (mal wieder) der Einzige bin, dann wayne... und lass es gut sein. Ich konnte es ja fixen und läuft jetzt problemlos.
...einen letzten habe ich aber dennoch. Mir ist noch eine Gemeinsamkeit aufgefallen die es so außer beim Alias nicht gibt da nicht erlaubt:
'history.0.real Tankstelle.json'
...ein [Space]... -
@sborg sagte in Test Adapter History 2.0.0:
Leider nein, dass ist so ziemlich das einzige was ich nicht sichere
Naja wenn Du noch ein gesamt Backup von davor hast könnte ich es da rausholen. gern per email an iobroker@fischer-ka.de
Aber das leerzeichen sollte auch nichts damit zu tun haben weil es ja danach geht
-
@apollon77 super. Ganz herzlichen Dank für die Antwort