Car Stats Viewer | 0.24.x

Eine Frage an @Ixam97 und natürlich alle anderen, die es wissen könnten:

Ich habe CSV mit ABRP verbunden, um den ABRP-Referenzverbrauch mit CSV-Daten zu füttern.

Jetzt möchte ich aber nicht, dass bei meinen „Sonderfahrten“ z.B. mit Anhänger der Referenzverbrauch für „Normalfahrten“ total verfälscht wird.

Würde es genügen die Verbindung von CSV und ABRP bei einer „Sonderfahrt“ vor dem losfahren zu trennen und erst bei der nächsten „Normalfahrt“ wieder zu verbinden? Oder werden die Daten auch ohne Verbindung gesammelt und dann nach erneuter Verbindung quasi enbloc an ABRP hochgeladen?

Außerdem: Wie es denn sicher gestellt, dass ABRP NICHT im Hintergrund mitläuft. Schliesst sich ABRP bei Benutzung nach jeder Fahrt automatisch, oder muss man die App „Zwangsstoppen“?

Bei einem Premium-Account hast du dafür die Möglichkeit, verschiedene Konfigurationen anzulegen.

Den Feed temporär zu trennen reicht, da wird nichts gepuffert.

ABRP läuft definitiv nicht im Hintergrund mit - sonst bräuchte es CSV ja nicht.

2 „Gefällt mir“

So, leider hat es wieder länger gedauert als gehofft, aber nun ist 0.24.1 endlich verfügbar :sweat_smile:

Die Changelogs stehen bereits im Anfgangspost.

@Enso Wärst du so freundlich im Anfangspost das Datum von heute bei „(tba)“ zu ergänzen? Der letzte Edit ist zu lange her und ich darf den Beitrag selber nicht mehr bearbeiten :sweat_smile:

15 „Gefällt mir“

Mein Testtrack (de.pschlosser.carStatsViewer) habe ich auf 0.24.1 hochgezogen.

der Test Track ist leider auch demnächst voll…

Installationen/Anmeldungen: 56/80

2 „Gefällt mir“

Auch mein Track ist auf 0.24.1

5 „Gefällt mir“

Ich habe jetzt in dem Wiki-Artikel noch die aktuellen Versionsnummern eingetragen - zumindest soweit sie mir bekannt sind.

1 „Gefällt mir“

So, die letzten Tage bin ich nun endlich mal wieder dazu gekommen, an der App etwas zu schaffen. Der Umbau der Datenstruktur geht also langsam voran (zur Erinnerung: Ich möchte die bisher verwendeten JSON-Files für die Speicherdaten los werden und alles in einer Datenbank unterbringen. Zudem werden Daten zur Anzeige in der App über effizientere Wege an die UI übergeben bzw. generell in der App zur Verarbeitung bereitgestellt).

Ich habe nun den Teil der App, der den Verbrauch betrachtet, weitestgehend Fertig. Hinzugekommen ist auch endlich die Reichweitenprognose, basierend auf dem Verbrauch des ausgewählten Trips.

Darüber hinaus erlaubt es die Datenbank, dass nach einem Reset alte Trips erhalten bleiben, bis man sie löscht. Die Daten werden Fortlaufend in die Datenbank geschrieben und haben nicht wie bisher einen Anfang und ein Ende. Die unterschiedlichen Trips referenzieren nur die fortlaufenden Daten und speichern für sich die Gesamtstatistik ihres jeweiligen Erfassungszeitraumes.

Als nächstes kommt dann die neue Umsetzung der Ladestatistiken.

Die grafische Darstellung fehlt noch komplett. Das wird dann auch noch mal eine etwas aufwändigere Aufgabe, da hier die Daten nicht mehr gänzlich kompatibel sind. Aber da wird sich auch ein Weg finden und am Ende hoffentlich alles besser und stabiler laufen als bisher.

Bis 0.25 kommt wird es also noch eine ganze weile dauern. Vor allem da ich sicher gehen möchte, dass die Datenbank fehlerfrei die Daten speichert und wiedergibt und keine Alten Fehler durch den Umbau zurück kommen. Denn unter der Haube ist so gut wie alles neu. Bis dahin sollte 0.24 aber eine recht stabile Experience bieten denke ich.

32 „Gefällt mir“

Denk an den 1. Juli :wink:

Noch ein kleiner Nachtrag zu gestern und eine Bitte um Rückmeldung.

Ich habe die Ansicht für den Tripverlauf noch etwas aufgehübscht, damit es nicht zu viel Text wird und man einfacher eine Übersicht bekommt.

Mich würde mal eure Einschätzung zu den Symbolen links interessieren. Ich habe mich bemüht, etwas heraus zu suchen, was die verschiedenen Trip-Arten möglichst gut widerspiegelt. Ist mir das gelungen?

Außerdem noch die Frage: Welche Daten wären euch am Wichtigsten, um sie auf einen Blick zu sehen? Aktuell sind es Strecke, genutzte Energie, Durchschnittsverbrauch und Fahrzeit, die in der Historie und auf der Hauptseite der App angezeigt werden.

7 „Gefällt mir“

Optisch gut, aber jetzt erklär mir erst mal die Symbole. Gerade stehe ich sowas von aufm Kabel.
Daten passen so für mich - auch in der Reihenfolge.

Monatlich und seit letzter Ladung ist denke ich selbsterklärend. Den Finger habe ich als Symbol gewählt, da dieser im Ansatz andeutet, dass eine manuelle Eingabe für einen Reset notwendig ist. Den Kalender mit einem Punkt für den Automatischen Reset nach 4 Stunden Inaktivität, da damit häufig ein einzelner Tag dargestellt wird.

Cleverere Symbole sind mir leider bisher nicht eingefallen (bzw. habe ich bei Google Fonts nicht gefunden). Aber vll hat da wer schlaue Ideen, oder ich baue einen kleinen Hilfe-Dialog ein, der die Symbole erklärt.

3 „Gefällt mir“

Ich habe alle auf Anhieb so erraten, ich find sie Auswahl sehr gut :+1:

1 „Gefällt mir“

Empfinde die Symbole auch als selbst erklärend.

Vielleicht für den automatischen Tripp eher eine Uhr, da sich die Kalender schon ähnlich sehen?

1 „Gefällt mir“

Die Uhr wird ja auch schon für die Zeit verwendet

Mir wäre z.B. die Durchschnittsgeschwindigkeit wichtiger als die Fahrzeit, da verbrauchsrelevant. Die reine Fahrzeit hingegen, gerade bei kumulierten Fahrten :man_shrugging:

1 „Gefällt mir“

Bisher fehlte mir eigentlich auch nur eine Anzeige zur Durchschnittsgeschwindigkeit in den kumulierten Werten.

1 „Gefällt mir“

Durchschnittsgeschwindigkeit finde ich wichtig, da sonst der Verbrauch deutlich schwerer einzuordnen ist für mich. Die restlichen Symbole sind völlig ok für mich.

1 „Gefällt mir“

So, heute möchte ich mal von einer kleinen Entdeckung berichten, die einer meiner Debug-Logs von Gestern zu Tage gefördert hat:

Einige von euch erinnern sich doch sicher noch an den Bug, dass einige spezifische SoCs reproduzierbar übersprungen werden?

Da ich grade ein wenig an der Reichweitenprognose bastle habe ich mir im Log den SoC ausgeben lassen. Und dabei ist mir folgendes über den Weg gelaufen:

03.06.2023 20:26:18.654 I: [NEO] 766.9854347606125 Wh/%, 55.0 %
03.06.2023 20:31:08.363 I: [NEO] 831.5027680914577 Wh/%, 54.000004 %
03.06.2023 20:34:10.569 I: [NEO] 829.5806434788666 Wh/%, 52.999996 %
03.06.2023 20:44:04.845 I: [NEO] 820.7431566063933 Wh/%, 52.0 %

Der VHAL liefert ja einen Float für den Battery Level, der in 804 Wh-Schritten aktualisiert wird (LRDM). Damit ergeben sich eigentlich immer Runde werte für den SoC. Offenbar gibt es da aber bei 54 und 53% eine Abweichung von 0,000004%. Ich weiß nicht, ob es sich dabei um einen komischen Wert vom VHAL handelt (das habe ich leider nicht mit geloggt), oder ob das auf mangelnde Präzision bei der Float-Berechnung zurückzuführen ist.

Jedenfalls habe ich bisher die Kotlin-Funktion toInt() benutzt. Diese schneidet einfach alles nach der Dezimalstelle ab. Das heißt, auch eine 52.999996 wird auf 52% abgerundet. Das werde ich dann zukünftig ändern und roundToInt() benutzen. Damit sollten wir dann in Zukunft Ladekurven ohne hässliche Knicke im SoC haben :joy:

19 „Gefällt mir“

Nice find :smiley: Seltsam, dass es überhaupt zu den Dezimalen kommt für solch einen Wert… wäre an deiner Stelle auch nie darauf gekommen, diesen Wert zu runden statt logischerweise einfach nur abzuschneiden. Ob die bei PS grundsätzlich runden und damit hier zufällig das richtige getan haben? :stuck_out_tongue: