So, ich möchte euch dann auch mal an meiner Investigativen Bug-Suche teilhaben lassen. Interessiert sicher nicht alle, aber vielleicht hat ja jemand noch einen klugen Einfall
Es geht um die Ladekurve und die zuverlässige Erfassung von Fahrzuständen:
Wie ihr seht sind in meinem Dev-Build bereits die gestrichelten Linien für die Bereiche, in denen keine Werte erfasst wurden, integriert. Die Linie des SoC ist aber trotzdem horizontal. Ich habe mir selber die Möglichkeit eingebaut, die JSON-Files im Log anzuzeigen. Das sieht dann z.B. so aus:
Das ist auch der kritische Punkt: „BEGIN_SESSION“ ist der erste Datenpunkt, der durch ein Event an die App gesendet wird, nachdem das CD nach dem Schlummern wieder aktiv wird. Das Fahrzeug hat zu dem Zeitpunkt bereits seit ca. 20 min das Ladelimit von 90% erreicht. Dennoch wird zu dem Zeitpunkt die alte Ladeleistung mit 10kW und der alte SoC von 52% angezeigt. 3,5 Sekunden später passiert ein Event mit den aktuellen Werten.
In der Zusammenfassung sieht man dann auch die vertikale Verbindung:
Und genau da liegt der Hase im Pfeffer: Diese alten, falschen Werte sorgen dafür, dass die Verbindungslinien horizontal erscheinen.
Zudem wurde die Ladekurve nicht in die Historie übernommen, als ich das Kabel abgezogen habe. Da wurde also das „Charge port connected“-Event nicht sauber getriggert. Die Gründe dafür sind für mich im Nachhinein leider nicht mehr nachvollziehbar.
Nun werde ich einen Versuch starten, dass die VHAL-Events nur noch eine Funktion triggern, die sich selber dann die Aktuellen Werte holt und nicht die, die die Events selber liefern. Damit erhoffe ich mir, dass ausschließlich aktuelle Werte herangezogen werden und da immer alle Werte abgefragt werden auch Events sauber getriggert werden. Selbst wenn mal ein Ereignis verschluckt wird, dann folgt einfach einige Millisekunden später der nächste Aufruf.
Soweit zur Theorie. Jetzt gilt es herauszufinden, ob das wirklich die gewünschte Besserung bringt und vor allem, ob das ganze keine negativen Performance-Auswirkungen hat.
Für diese Dev-Version habe ich einen eigenen Track, den derzeit nur ich alleine Nutze. Dabei handelt es sich um wirklich experimentelle Builds, die gerne mal schwerwiegende Bugs, undokumentierte Änderungen oder kaputte Features haben. Falls jemand Interesse daran hat, einen „echten“ internen Test durchzuführen, der kann sich gerne bei mir per PN melden. Das würde das Sammeln von Daten und das „entschlüsseln“ des Fahrzeugverhaltens sicher beschleunigen Den Dev-Track kann man auch parallel zum „stable“ installieren.
Ansonsten kann ich vermelden, dass der Umbau der Datenstruktur recht reibungslos funktioniert hat. Auch der Erfassung, in welchem Zustand sich das Fahrzeug befindet ist (mit Ausnahme des angesteckten Kabels) sehr präzise. Am ende des Heutigen Tages war die Zeiterfassung im CSV und im Manuellen BC bei gleichzeitigem Reset auf die Sekunde identisch.