Solaranzeige und Joulie-16
Moderator: Ulrich
- Ulrich
- Administrator
- Beiträge: 6320
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 159 Mal
- Danksagung erhalten: 933 Mal
Re: Solaranzeige und Joulie-16
Hallo Stefan,
die Solaranzeige funktioniert immer so, dass eine Anfrage an das Gerät gestellt wird und eine Antwort vom Gerät kommt. Ein Gerät darf niemals eigenständig, ohne Aufforderung, Daten senden.
Natürlich kann es sein, dass das Protokoll in der Zwischenzeit einmal geändert wurde. Dann müsste der BMS neu implementiert werden.
Hat jemand anderes noch damit Erfahrungen gemacht?
die Solaranzeige funktioniert immer so, dass eine Anfrage an das Gerät gestellt wird und eine Antwort vom Gerät kommt. Ein Gerät darf niemals eigenständig, ohne Aufforderung, Daten senden.
Natürlich kann es sein, dass das Protokoll in der Zwischenzeit einmal geändert wurde. Dann müsste der BMS neu implementiert werden.
Hat jemand anderes noch damit Erfahrungen gemacht?
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
-
- Beiträge: 5
- Registriert: Di 20. Sep 2022, 21:16
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 1 Mal
Re: Solaranzeige und Joulie-16
Hallo Ulrich,
vielen Dank für die schnelle Antwort. Was ich beobachte ist aber genau das, dass wenn der Trace einmal gestartet wurde das BMS nonstop Daten sendet. Sollte das nicht gewünscht sein, müsste nach meinem Verständnis der Trace mit dem Befehl FWTRACE OFF wieder ausgeschaltet werden. Oder wurde hier die Befehlssysntax geändert?
Viele Grüße, Stefan75
vielen Dank für die schnelle Antwort. Was ich beobachte ist aber genau das, dass wenn der Trace einmal gestartet wurde das BMS nonstop Daten sendet. Sollte das nicht gewünscht sein, müsste nach meinem Verständnis der Trace mit dem Befehl FWTRACE OFF wieder ausgeschaltet werden. Oder wurde hier die Befehlssysntax geändert?
Viele Grüße, Stefan75
-
- Beiträge: 5
- Registriert: Di 20. Sep 2022, 21:16
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 1 Mal
Re: Solaranzeige und Joulie-16
Neue Beobachtung!
Ich habe heute den ganzen Tag den RaspberryPi am Joulie-16 hängen lassen, obwohl er gemeldet hat, dass keine gültigen Daten empfangen werden (.log-Datei). Und eben schaue ich mir das Grafana Dashboard an und zu meiner Überraschung werden da Werte angezeigt.
Genau genommen hat es aus irgendwelchen Gründen im Laufe eines knappen Tages 7 mal funktioniert, dass Daten empfangen und in die InfluxDB geschrieben wurden.
Die Frage ist jetzt, warum hat das sporadisch geklappt? Ich vermute, dass da durch Zufall ein "vermurkster" Datensatz vom BMS beim RaspberryPi angekommen ist, der aber dem erwarteten Format entsprochen hat. Ist das plausibel?
Angehängt noch 2 Sreenshots von der .log-Datei, wo ein solcher erfolgreicher Moment dokumentiert wurde und ein Datenabruf von der InfluxDB mit den 7 Datensätzen. Ist der Zeitstempel so korrekt? Ich kann damit nämlich nichts anfangen.
Hat hier jemand mit tieferen Kenntnissen vielleicht noch eine Vermutung, woran das liegen könnte? Ich logge jetzt mal noch den USB EIngang mit und schaue mal, ob ich so einen erfolgreich übertragenen Datensatz erwische.
Ich habe heute den ganzen Tag den RaspberryPi am Joulie-16 hängen lassen, obwohl er gemeldet hat, dass keine gültigen Daten empfangen werden (.log-Datei). Und eben schaue ich mir das Grafana Dashboard an und zu meiner Überraschung werden da Werte angezeigt.
Genau genommen hat es aus irgendwelchen Gründen im Laufe eines knappen Tages 7 mal funktioniert, dass Daten empfangen und in die InfluxDB geschrieben wurden.
Die Frage ist jetzt, warum hat das sporadisch geklappt? Ich vermute, dass da durch Zufall ein "vermurkster" Datensatz vom BMS beim RaspberryPi angekommen ist, der aber dem erwarteten Format entsprochen hat. Ist das plausibel?
Angehängt noch 2 Sreenshots von der .log-Datei, wo ein solcher erfolgreicher Moment dokumentiert wurde und ein Datenabruf von der InfluxDB mit den 7 Datensätzen. Ist der Zeitstempel so korrekt? Ich kann damit nämlich nichts anfangen.
Hat hier jemand mit tieferen Kenntnissen vielleicht noch eine Vermutung, woran das liegen könnte? Ich logge jetzt mal noch den USB EIngang mit und schaue mal, ob ich so einen erfolgreich übertragenen Datensatz erwische.
- Ulrich
- Administrator
- Beiträge: 6320
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 159 Mal
- Danksagung erhalten: 933 Mal
Re: Solaranzeige und Joulie-16
Hat die Verbindung eventuell einen Wackelkontakt?
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
-
- Beiträge: 5
- Registriert: Di 20. Sep 2022, 21:16
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 1 Mal
Re: Solaranzeige und Joulie-16
Nein. Die Vermutung hatte ich auch zuerst. Habe alle USB Ports des RaspberryPi getestet. Bei allen das selbe Phänomen. Und wenn ich den PC direkt an das BMS anschließe (mit dem selben USB Kabel) bekomme ich sehr zuverlässig Daten. Austausch des USB Kabels hat auch nichts gebracht. Kannst Du mir verraten, was die Solaranzeige zu welchem Zeitpunkt an das BMS sendet? Irgendwie habe ich den Eindruck, die Befehle kommen eher zufällig und teilweise unvollständig. Zum Beispiel habe ich jetzt schon mehrfach beobachtet, dass der Befehl OUTB gesendet wurde. Das BMS meckert dann aber mit dem Hinweis, dass zuerst das Balancing gestoppt werden muss (mit dem Befehl STOPB). STOPB (bzw. STARTB zum erneuten Aktivieren des Balancings) habe ich aber bisher nirgends gesehen.
- Ulrich
- Administrator
- Beiträge: 6320
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 159 Mal
- Danksagung erhalten: 933 Mal
Re: Solaranzeige und Joulie-16
In dem Script joulie_16_bms.php findest du alle Befehle und wie sie hintereinander gesendet werden. Es kann schon sein, dass das Protokoll sich mit einer anderen Firmware geändert hat. Dazu müsste man das aktuelle Protokoll erst einmal bekommen.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
Re: Solaranzeige und Joulie-16
Auf welcher Firmwareversion basiert das alte Script. Dann könnte man beim Hersteller ja mal anfragen was sich da auf die neue Version geändert hat.
- Ulrich
- Administrator
- Beiträge: 6320
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 159 Mal
- Danksagung erhalten: 933 Mal
Re: Solaranzeige und Joulie-16
Das kann ich leider nicht sagen. Die Firmware muss aber mindestens 5 Jahre alt sein. Die Implementierung fand vor mehr als 4 Jahren statt.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
-
- Beiträge: 5
- Registriert: Di 20. Sep 2022, 21:16
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 1 Mal
Re: Solaranzeige und Joulie-16
Hallo,
ich habe mal noch ein bisschen recherchiert und rumprobiert und weitere (für mich neue) Dinge herausgefunden. Leider verstehe ich mangels Programmierkenntnis nicht so genau, was ich da jetzt getan habe, aber es ist vielleicht eine wichtige Info für die "echten" Programmierer, um das Joulie_16 wieder mit Solaranzeige auslesbar zu machen.
Zuallererst habe ich bei Autarctech angerufen und nach einer aktuellen Dokumentation zur Shell vom Joulie-16 gefragt. Diese habe ich auch bekommen. Leider ist sie nicht ganz aktuell. Im Trace werden noch ein paar Datenfelder mehr gesendet als in der Doku erwähnt werden.
Ich möchte hier kurz erklären, wie man an Daten des Joulie-16 kommen kann. Es gibt nämlich 2 Möglichkeiten:
1. mit dem Befehl FWTRACE ON startet man die Trace Ausgabe an die USB Schnittstelle. Alle 500ms sendet das BMS dann einen Datensatz im .csv Format (solange, bis man die Ausgabe mit FWTRACE OFF wieder stoppt)
die Ausgabe sieht dann so aus (alles in einer Zeile):
22-12-02 16:52:26;3264;I;3264;I;3267;I;3265;I;3268;I;3267;I;3264;I;3264;I;3265;I;3268;I;3267;I;3270;I;3270;I;3268;I;3268;I;3264;I;-2867;276.38;45758;52263;869760;57600;110000;46400;110000
Die Werte sind: Zeitstempel; Zelle 1 Spannung; Zelle 1 aktueller Balancerstatus;......Zelle 16 Spannung; Zelle 16 aktueller Balancerstatus; Strom; Kapazität; irgendeine untere Spannung; die aktuelle Spannung des Akkublocks; ....und noch weitere Werte, von denen ich bisher nicht genau weiß, was sie bedeuten.
2. mit dem Befehl OUTB
die Ausgabe sieht dann so aus:
Cells:
[ 1] 3249mV (I) [ 2] 3250mV (I) [ 3] 3250mV (I) [ 4] 3249mV (I)
[ 5] 3252mV (I) [ 6] 3250mV (I) [ 7] 3250mV (I) [ 8] 3252mV (I)
[ 9] 3252mV (I) [10] 3252mV (I) [11] 3252mV (I) [12] 3252mV (I)
[13] 3252mV (I) [14] 3253mV (I) [15] 3252mV (I) [16] 3250mV (I)
Temperatures:
[ 0] 8.816degC [ 1] 8.150degC [ 2] 8.455degC [ 3] 8.194degC
[ 4] 7.721degC [ 5] 8.574degC [ 6] 8.949degC [ 7] 8.129degC
[ 8] 8.221degC [ 9] 8.647degC [10] 8.340degC [11] 8.691degC
[12] 8.215degC [13] 7.738degC [14] 8.231degC [15] 8.427degC
Current : -36mA (001A)
Voltage : 52094mV
Ist selbsterklärend. Hier bekommt man aber weniger Informationen als über die Traceausgabe (SOC und Kapazität fehlen). Außerdem ist hier der aktuelle Balancerstatus der einzelnen Zellen immer I(dle), da man den Balancer zum Ausführen des Befehls "OUTB" mit "STOPB" zuvor anhalten muss. In der Dokumentation steht auch drin, dass es nicht zu empfehlen ist, den Befehl "STOPB" auszuführen, wenn der Balancer grad aktiv ist, da dadurch "unerwünschte Effekte" auftreten können (steht so in der Doku).
Also scheint es mir sinnvoll, das Auslesen über die Traceausgabe zu machen.
In der Datei joulie_16_bms.php habe ich die Befehle zum Auslesen gefunden. So wie ich das verstehe wird da unter anderem mit OUTB gearbeitet. Das sehe ich auch, wenn ich die Schnittstellendaten anzeigen lasse.
Das sieht dann so aus: Hier fällt die Fehlermeldung auf, dass das Balancen vor dem Ausführen des Befehls "OUTB" nicht gestoppt wurde. Das kann also nicht funktionieren und dementsprechend gibt es auch eine Fehlermeldung im Log und es wird auch nichts in die Datenbank geschrieben: Daraufhin habe ich in der Datei joulie_16_bms.php einfach mal ein bisschen die Befehle vertauscht, und siehe da, plötzlich werden Daten empfangen und in die InfluxDB geschrieben.
Der geänderte Skriptteil sieht so aus: Und im Log sieht es so aus: So funktioniert zumindest mal etwas. Aber dummerweise die Lösung, die ich nicht haben wollte (weil über "OUTB" und nicht über die Trace-Daten und ohne SOC und Kapazität und keine Infos zum Balancerstatus).
Kann mit diesen Infos jemand was anfangen? Würde mich riesig freuen!
Zum Schluss noch zwei Infos:
- Ich betreibe das Joulie-16 zusammen mit einem SMA Sunny Island 6.0H-11.
- Die aktuelle Firmware des Joulie-16 BMS ist 1.18 vom 03.02.2021. Die mir vorliegende Doku bezieht sich auf FW Version 1.16, sieht aber passend aus (bis auf die letzten Werte im Trace, die wohl noch hinzugekommen sind).
ich habe mal noch ein bisschen recherchiert und rumprobiert und weitere (für mich neue) Dinge herausgefunden. Leider verstehe ich mangels Programmierkenntnis nicht so genau, was ich da jetzt getan habe, aber es ist vielleicht eine wichtige Info für die "echten" Programmierer, um das Joulie_16 wieder mit Solaranzeige auslesbar zu machen.
Zuallererst habe ich bei Autarctech angerufen und nach einer aktuellen Dokumentation zur Shell vom Joulie-16 gefragt. Diese habe ich auch bekommen. Leider ist sie nicht ganz aktuell. Im Trace werden noch ein paar Datenfelder mehr gesendet als in der Doku erwähnt werden.
Ich möchte hier kurz erklären, wie man an Daten des Joulie-16 kommen kann. Es gibt nämlich 2 Möglichkeiten:
1. mit dem Befehl FWTRACE ON startet man die Trace Ausgabe an die USB Schnittstelle. Alle 500ms sendet das BMS dann einen Datensatz im .csv Format (solange, bis man die Ausgabe mit FWTRACE OFF wieder stoppt)
die Ausgabe sieht dann so aus (alles in einer Zeile):
22-12-02 16:52:26;3264;I;3264;I;3267;I;3265;I;3268;I;3267;I;3264;I;3264;I;3265;I;3268;I;3267;I;3270;I;3270;I;3268;I;3268;I;3264;I;-2867;276.38;45758;52263;869760;57600;110000;46400;110000
Die Werte sind: Zeitstempel; Zelle 1 Spannung; Zelle 1 aktueller Balancerstatus;......Zelle 16 Spannung; Zelle 16 aktueller Balancerstatus; Strom; Kapazität; irgendeine untere Spannung; die aktuelle Spannung des Akkublocks; ....und noch weitere Werte, von denen ich bisher nicht genau weiß, was sie bedeuten.
2. mit dem Befehl OUTB
die Ausgabe sieht dann so aus:
Cells:
[ 1] 3249mV (I) [ 2] 3250mV (I) [ 3] 3250mV (I) [ 4] 3249mV (I)
[ 5] 3252mV (I) [ 6] 3250mV (I) [ 7] 3250mV (I) [ 8] 3252mV (I)
[ 9] 3252mV (I) [10] 3252mV (I) [11] 3252mV (I) [12] 3252mV (I)
[13] 3252mV (I) [14] 3253mV (I) [15] 3252mV (I) [16] 3250mV (I)
Temperatures:
[ 0] 8.816degC [ 1] 8.150degC [ 2] 8.455degC [ 3] 8.194degC
[ 4] 7.721degC [ 5] 8.574degC [ 6] 8.949degC [ 7] 8.129degC
[ 8] 8.221degC [ 9] 8.647degC [10] 8.340degC [11] 8.691degC
[12] 8.215degC [13] 7.738degC [14] 8.231degC [15] 8.427degC
Current : -36mA (001A)
Voltage : 52094mV
Ist selbsterklärend. Hier bekommt man aber weniger Informationen als über die Traceausgabe (SOC und Kapazität fehlen). Außerdem ist hier der aktuelle Balancerstatus der einzelnen Zellen immer I(dle), da man den Balancer zum Ausführen des Befehls "OUTB" mit "STOPB" zuvor anhalten muss. In der Dokumentation steht auch drin, dass es nicht zu empfehlen ist, den Befehl "STOPB" auszuführen, wenn der Balancer grad aktiv ist, da dadurch "unerwünschte Effekte" auftreten können (steht so in der Doku).
Also scheint es mir sinnvoll, das Auslesen über die Traceausgabe zu machen.
In der Datei joulie_16_bms.php habe ich die Befehle zum Auslesen gefunden. So wie ich das verstehe wird da unter anderem mit OUTB gearbeitet. Das sehe ich auch, wenn ich die Schnittstellendaten anzeigen lasse.
Das sieht dann so aus: Hier fällt die Fehlermeldung auf, dass das Balancen vor dem Ausführen des Befehls "OUTB" nicht gestoppt wurde. Das kann also nicht funktionieren und dementsprechend gibt es auch eine Fehlermeldung im Log und es wird auch nichts in die Datenbank geschrieben: Daraufhin habe ich in der Datei joulie_16_bms.php einfach mal ein bisschen die Befehle vertauscht, und siehe da, plötzlich werden Daten empfangen und in die InfluxDB geschrieben.
Der geänderte Skriptteil sieht so aus: Und im Log sieht es so aus: So funktioniert zumindest mal etwas. Aber dummerweise die Lösung, die ich nicht haben wollte (weil über "OUTB" und nicht über die Trace-Daten und ohne SOC und Kapazität und keine Infos zum Balancerstatus).
Kann mit diesen Infos jemand was anfangen? Würde mich riesig freuen!
Zum Schluss noch zwei Infos:
- Ich betreibe das Joulie-16 zusammen mit einem SMA Sunny Island 6.0H-11.
- Die aktuelle Firmware des Joulie-16 BMS ist 1.18 vom 03.02.2021. Die mir vorliegende Doku bezieht sich auf FW Version 1.16, sieht aber passend aus (bis auf die letzten Werte im Trace, die wohl noch hinzugekommen sind).
- Ulrich
- Administrator
- Beiträge: 6320
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 159 Mal
- Danksagung erhalten: 933 Mal
Re: Solaranzeige und Joulie-16
Bitte melde dich einmal per eMail.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste