mattberlin hat geschrieben: ↑Di Jun 18, 2024 9:28 pm
Was aber noch nicht checke:
1) SoC-Berechnung
Für was stehen bzw. woher kommen die Faktoren in "soc = round(bytes[4]/2.5*51/46-6.4)" (Zeile 140 in configuration.py)?
Es wird der Wert mit 0,443 multipliziert und dann um 6,4 gemindert. Das checke ich nicht.
Darüber hinaus ist mir in Car Scanner (Android-App und ELM327-BT-Interface) aufgefallen, dass auch der angezeigte SoC verfügbar sein muss:
Screenshot_20240618_214031.jpg
Könnte man diesen stattdessen mit SOC-Helper abfragen?
Die Berechnung des angezeigten SoC habe ich von EVNotify abgeschaut. Der zurückgelieferte Wert ist der Rohwert, wobei 0 für 0% und 250 oder so für 100% steht. Üblicherweise reserviert man die größten Werte für Fehler und "nicht bereit". Eine Umrechnung /2.5 würde also den Rohwert in Prozent ergeben. Die oberen und unteren Prozent werden für das Erreichen einer langen Lebensdauer nicht genutzt, deshalb zeigt die Anzeige schon bei etwa 6,4% Roh-SoC 0% an. Auch oben sind einige Prozent nicht genutzt. Die Formel dient also der Umrechnung des genutzten Bereiches ( so etwa 6% bis 85% Roh-SOC) auf die Anzeige von 0% bis 100%. Als Außenstehender kann man die Umrechnung nur experimentell ermitteln und ein Ansatz mit einer Geradengleichung mit Offset die einfachste Möglichkeit. Fiat scheint im oberen Bereich etwas steiler zu laufen als unten, und Tesla hat wohl eine noch aufwändigere Funktion gebaut - ich meine, da hat sogar jemand eine Klage angestrengt, weil die angezeigte Ladung erst langsam fällt und dann schneller oder umgekehrt.
Ich habe jedenfalls bei Nutzung des Roh-SOC bemerkt, daß bei (x<100%) Roh-Ladestand das Batterie-SG die Ladeleistung zuzog und bei (y<100%) beendete. Deshalb möchte ich auf den Anzeige-SOC: 100% in der Wallbox sollten den Punkt markieren, wo die Ladung endet und das Kombi 100% anzeigt.
Ich kenne auch keinen CAN-Wert am OBD2-Stecker, der dem Anzeige-SOC entspricht. möglicherweise rechnet Car Scanner das alleine um? Mir fehlt die Zeit, hier den CAN zu belauschen (das sollte mit dem WiCAN und mqtt-explorer gehen: Carscanner mit der IP-Adresse des WiCAN im Heimnetz verbinden, laufen lassen und den MQTT-Verkehr im mqtt-explorer mitschneiden.
mattberlin hat geschrieben: ↑Di Jun 18, 2024 9:28 pm
2) Übermittlung SoC wann
Wenn ich das richtig verstanden habe, wird ja der SoC nur einmalig bei der Anmeldung vom WiCAN im WLAN in die openWB geschrieben. Wenn die Karre aus ist und der WiCAN sinnvollerweise schlafen geht, kann ja auch kein SoC übermittelt werden.
Was ist aber während des Ladevorganges? Hierbei ist ja der DC/DC im Auto in Betrieb, so dass die 12-V-Batterie geladen wird, wodurch der WiCAN ja auch wieder aufwacht.
Wäre hier nicht eine kontinuierliche Übermittlung des SoCs möglich?
Ich hatte die Möglichkeit, alle 60s den SOC abzufragen in den ersten Varianten vorgehalten, dann aber bemerkt, daß der WiCAN nach Ablauf des WeConnect-Abos trotz Ladung der HV-Batterie nicht mehr aufwachte. Grund war, daß die 12V-Batterie nicht mehr vom On-Board-Lader nachgeladen wurde. Ich habe jetzt nicht ausprobiert, ob der SOC weiterhin abfragbar ist, denn in diesem Fall müßte ich den Schlafmodus des WiCAN abschalten, so daß der immer - auch ohne Ladung - an wäre. Das täte der Lebensdauer der Bleibatterie nicht gut, denn die mag Zyklisierung überhaupt nicht gerne.
mattberlin hat geschrieben: ↑Di Jun 18, 2024 9:28 pm
3) Ausführung SOC-Helper
Ich weiß nicht, ob ich ggf. eine andere Version habe, aber der Start von SOC-Helper in der Konsole geht bei mir nicht mit "~/soc_helper$ ./soc_helper.py"
Aber mit "python soc_helper.py" geht es.
Möglicherweise hast du die zip-Datei unter Windows ausgepackt? Dann ist vermutlich das Executable-Bit der Date soc_helper.py nicht gesetzt. Du kannst mal ein
ausführen und die Ausgabe hier posten. Wenn keine x zu sehen sind wie hier:
, dann bitte mal
absetzen und schauen, ob es danach geht. Siehe auch
https://wiki.ubuntuusers.de/chmod/. Oder du hast eine Distribution verwendet, die auf die erste Zeile (#!/usr/bin/env) nicht anspringt. Gibt es eine aussagekräftige Fehlermeldung? Welche Distribution verwendest Du?
mattberlin hat geschrieben: ↑Di Jun 18, 2024 9:28 pm
4) Autostart
Kann man den SOC-Helper eigentlich automatisch starten lassen, wenn der Pi hochfährt?
Das geht bestimmt auf mehrere Weisen. Die naheliegenste wäre, ihn als Dienst zu definieren und systemd hinzuzufügen. Da müsste ich mich allerdings schlau machen wie das geht, und jeder Nutzer müsste an Systemverzeichnissen herumbauen - das würden wohl auch nicht so viele Leute hinbekommen. Alternativ müsste ich ein Installskript bauen, das das Starten, Stoppen und Neustarten übernimmt. Mir fehlt da gerade die Muße für - evt wird das in Zukunft.