Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Verständnisfragen zu lastUpdateReceived und dessen Attribute Wert, Zeitstempel, Zuletzt geändert... #235

Open
NoPlayBack opened this issue Aug 18, 2024 · 5 comments

Comments

@NoPlayBack
Copy link

NoPlayBack commented Aug 18, 2024

Ich möchte jetzt d-raw auslesen um den Energiebedarf der Klima mitzuschreiben.
Dort sind ja die letzten 48 Stunden in jeweils 2-Stunden-Blöcken eingetragen, also 24 Werte hintereinander, 12 für gestern und 12 für heute.
Sieht so aus als ob Daikin selber die Werte im Stundentakt aktualisiert.
Auch innerhalb der 2 Stunden kann so ein Wert also 2 * sich ändern.
Und irgendwann schaltet sich nach Mitternacht der Inhalt um, so dass die Werte in den letzten 12 Slots in die ersten 12 Slots übertragen werden und dann die letzten 12 Slots über den Tag dann gefüllt werden.

Also muss ich erst einmal sicherstellen, dass ich weiß, dass ein 2 Stunden-Slot mit seinem letzten Wert beschrieben ist, und ob die Mitternachts-Show mit dem Umstellen der Werte passiert ist oder nicht.

Aus diesem Grunde beobachte ich seit ein paar Tagen die oben genannten Werte:
"lastUpdateReceived" und dessen Attribute "Wert", "Zeitstempel", und "Zuletzt geändert".
Die gleichen Werte natürlich auch für d-raw.

Dabei kann ich mir ein paar Dinge nicht wirklich erklären.

  • der Zeitstempel von lastUpdateReceived scheint fast perfekt alle 10 Minuten aktualisiert zu werden, das verstehe ich ;-)
  • der Wert und die letzte Änderung jedoch werden dabei oft nicht aktualisiert... wie kann das sein wenn der Zeitstempel frisch ist ?
  • Wert und letzte Änderung verhalten sich nicht gleich... wenn Zuletzt geändert aktualisiert wird, dann offensichtlich immer mit der aktuellen Zeit, aber der Wert selber von lastUpdateReceived ändert sich manchmal nicht auf die aktuelle Zeit sondern auf einen Zeitpunkt zwischen dem letzten Wert und der aktuellen Zeit.
  • bei d-raw sieht es so aus als ob Zeitstempel und Zuletzt geändert genau gleich laufen, und beide Werte scheinen sich nur zu ändern wenn auch tatsächlich ein neuer Wert in d-raw eingetragen wird. Ich hätte eigentlich vermutet dass sich der Zeitstempel alle 10 Minuten aktualisiert (10 Min. ist meine Polling-Rate) und Zuletzt geändert sich nur aktualisiert wenn auch ein geänderter Wert erscheint.

Beim Pollen alle 10 Minuten werden doch immer alle Werte von Daikin abgeholt, richtig ?

Gibt es hierfür Erklärungen? Oder gibt es eine genaue Beschreibung der Attribute der Datenpunkte die ich mir mal angucken müsste die das dann erklären?

@Volker88
Copy link

Schau dir mal das Script an, das ich benutze um die Energie Werte von d-raw in einzelne datepunkte aufzuteilen. Eventuell hilft dir das schon weiter ohne alle Zeitstempel verstehen zu müssen.
https://gist.github.com/Volker88/59a14f8d614db33f163452fb56469e01

Damit werden die Werte genau so aufbereitet und zur Verfügung gestellt wie in der ONECTA App angezeigt.

@NoPlayBack
Copy link
Author

Danke für die Antwort, das Script hatte ich auf meiner Suche bereits gesehen.
Dieses Script macht aber nicht das was ich möchte.. ich will in eine db mit Zeitstempel die Werte in Zukunft alle ablegen und nicht nur eine Darstellung von heute und gestern.
Dein Script wird, in dem Moment in dem es über den Tageswechsel geht, kurz die Daten von gestern in heute einspeichern, weil entweder Daikin oder dieser Adapter oder ioBroker noch nicht den Tag umgeschaltet haben. Der Fehler wird nur kurz vorhanden sein.... wenn der Tageswechsel durch ist dann werden die Daten in die richtigen Slots hineingeschrieben.
Ich würde halt gerne schlicht die verfügbaren Attribute nutzen um zu verstehen, dass nach einem Tageswechsel die Daten richtig einsortiert sind, und erst dann die db befüllen.

@Apollon77
Copy link
Owner

Der Wert von lastUpdated kommt aus der Daikin Cloud. Also nicht vom Adapter. Ist also der Wert wann die Daikin Cloud zuletzt Daten vom Gerät bekommen hat. Macht es so Sinn?

@NoPlayBack
Copy link
Author

Ahhhhh...... ok.... das erklärt die erste Hälfte komplett.
Danke für die Antwort.

  • Bei d-raw ist es dann so, dass du nur neu einspeicherst, wenn sich auch etwas geändert hat? Das würde erklären dass sich sowohl Wert als auch Zeitstempel und Zuletzt geändert immer alle 3 gleichzeitig ändern.
  • Beim Pollen alle 10 Minuten werden doch immer alle Werte von Daikin abgeholt, richtig ?

@Apollon77
Copy link
Owner

beides "ja"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants