Manche Werte z.B. die Ladeleistung werden wenn „0“ als string „null“ dargestellt. Wenn dann echte Werte kommen wird auf den Type „number/Zahl“ gewechselt. MQTT ist das ziemlich egal, der schreibt das einfach hin, aber die Influx Datenbank „erschrickt“ jedes Mal und produziert eine Lücke in den Datenaufzeichnungen.
Wäre es möglich den string „null“ durch die number „0“ im Journal zu ersetzen?
Hi, das würde ich nicht als „Unsauberkeit“ betrachten, sondern als „works as designed“.
Die Idee hinter der aktuellen Implementierung ist, dass der Container 1:1 die Daten durchreicht, die er bekommt. Dabei geht das Programm stumpf durch das empfangene JSON und baut einen MQTT-Baum mit den exakten Daten und der exakten Baumstruktur unter dem Haupt-Topic.
Und „null“ ist tatsächlich in Datenbanken und Programmiersprachen etwas anderes als die Zahl „0“. Der Wert bedeutet eben, dass keine Zahl/kein Datum vorhanden ist.
Wo ich bisher (ausschließlich) von dieser Philosophie abgewichen bin, ist der Subtopic „/container“, in dem der Container-Status (noch rudimentär) publiziert wird.
Vorschläge und Pull-Requests, die etwas ähnliches mit den Fahrzeugdaten machen, nehme ich aber gerne entgegen.
Für Dein Problem würde ich vorschlagen mit Node-Red ausgewählte Werte zu filtern und in eigene Topics zu schreiben. Da hast Du alle Freiheiten.
Ja, macht es aber nur noch unübersichtlicher. Für meinen Fall habe ich entschieden mit den Meldungen „zu leben“.
Das größere Problem: nach dem heutigem Backend-Ausfall ist die API mal wieder komplett down.
Das Auto ist wieder online, in der App und der Polestar-Seite sehe ich aktuelle Werte, die API bzw. MQTT zeigen alte Werte.
Oh man da muß ich mich je ganz neu wieder reindenken. Hatte das bisher immer über die tipper Api gemacht. Irgendwann letztes Jahr ist das dann aber ausgestiegen.
Der automatische Build und Deploy auf den Docker-Hub ist gerade erfolgreich gelaufen. Ihr könnt Euch den Container mit docker compose pull holen und neu starten.
neuen Container anlegen → alle Einträge werden neu angelegt.
Diesmal habe ich nur vergessen vor dem Löschen zu schauen welchen Daten in der InfluxDB landen, da musste ich dann vergleichen und händisch nachziehen
Dann habe ich gemerkt, dass doch schon sehr viele, über den Winter entstandene, Skripte auf die Daten zugreifen.
Auch die musste ich alle auf die neuen Einträge re-mappen. Ich denke, bei nächster Gelegenheit, bastle ich mir doch ein Interface-Skript um die Journal-Daten auf eigene Größen zu übersetzen. Dann kann ich zentral ändern (und bin auch meine „null“ / „0“ Meldung los )
Polestar wird schon dafür sorgen, dass die Arbeit nicht ausgeht. Besonders dir @CONSULitAS Jochen nochmal vielen Dank für deine Arbeit!! Was machen wir eigentlich wenn du deinen Polestar verkaufst?