-
-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Seplos V3.0 BMS Multi Pack #112
Comments
Wie genau sieht deine YAML-Konfiguration aus? Wie häufig fragst du die Geräte nach neuen Werten? |
Im Grunde ist es deine Standard YAML für den ESP32 mit allem Werten und 10s intervall. Mir ist auch aufgefallen wenn ich meinen selbst gebauten RS485 USB Adapter verwende erreiche ich mit dem Laptop das erst BMS nicht, das 2. BMS hat angeblich die Adresse 3 und der Wechselrichter hat keine Kommunikation zum BMS mehr. Laut Seplos Anleitung hat die RJ45 Buchse noch 2 Adressierungspins (4,5). Ich habe mir jetzt nochmal den originalen Adapter bestellt zum testen. Einzeln hat mein Setup bis jetzt fehlerfrei funktioniert und auch die Kommunikation zwischen den beiden BMSs funktioniert. |
Ich glaube, die Lösung für mein Problem ist dieser Lösungsansatz #80 Leider wurde die YAML nicht mit den Zellspannungen vervollständigt. |
Ich habe es jetzt geschafft, meine 2 Speicher auszulesen. Es wäre schön, wenn ihr es in euer Projekt aufnehmen könntet, weil ESPHome bald die Unterstützung für "Custom Sensor Component" einstellt.
|
So sehen die empfangenen Nachrichten aus:
|
could you make a guide on the work to be done? |
Du musst den ersten Code als seplos_v3_sniffer.h speichern und an den selben Ort der ESPHome YAML schieben. Der 2. Code ist die Konfiguration für ESPHome die du wie gehabt bearbeitest. Ich meinem Beispiel ist keine CRC Prüfung eingebaut weshalb ab und zu mal ein falscher Wert auftaucht. |
I attempted this and got the following error when installing: INFO ESPHome 2024.9.2 esphome: [source /config/esphome/seplos-bms.yaml:6] 'name' is a required option for [esphome]. |
Der Fehler sagt, dass er die Datei nicht an den angegebenen Speicherort findet. |
the point should be the name of the esphome path |
Hi! I'm using the sniffer and it works fantastic for up to two batteries. I have 4 batteries set up and get sometimes weird values for voltages and temperatures in 3rd battery. On 4th battery I get those weird values most of the time. There I read mostly 4000 degrees battery temperature. If I modify the code to read only 4th battery the issues remain the same. What could be wrong there? Does anyone else have more than 2 batteries in their setup? |
Es ist möglich das dein Bus leicht gestört ist und die fehlende CRC-Prüfung es nicht filtert. Oder du hast bei der Erweiterung einen Fehler gemacht. Vielleicht ist auch der Nachrichten Puffer (rx_buffer_size: 1024) zu klein. Weil 2 Akkus haben schon 266 bytes. |
So wie ich das sehe sind das nur vereinzelte falsche Wert die die CRC-Prüfung filtern würde. Die Akkus senden alles 200ms ihren Status somit fallen ein paar gefilterte Wert nicht auf. Ich werde es als Laie mal versuchen eine CRC-Prüfung zu integrieren :). Oder vielleicht bekommst du das schneller hin. Es müsste von diesem Projekt https://github.com/ferelarg/Seplos3MQTT auf ESPHome angepasst werden. |
:-) I don't think my knowledge reached that far to do it. |
Probiere mal bitte diesen Sniffer mit CRC Prüfung |
Got home to test it. I'm now with Your CRC code able to read pack 1&2 data, also pack 3&4 data if I read only 2 packs at a time. If I try to read all 4 packs, I get only data for pack 3 and 4. |
@nammto wie hast du diese Zeile für den 3 . und 4. Akku geändert? |
This is for all 4 packs: if (!((bytes[0] == 0x02 && bytes[1] == 0x04 && (bytes[2] == 0x24 || bytes[2] == 0x34)) || (bytes[0] == 0x01 && bytes[1] == 0x04 && (bytes[2] == 0x24 || bytes[2] == 0x34)) || (bytes[0] == 0x03 && bytes[1] == 0x04 && (bytes[2] == 0x24 || bytes[2] == 0x34)) || (bytes[0] == 0x04 && bytes[1] == 0x04 && (bytes[2] == 0x24 || bytes[2] == 0x34)))) { |
@nammto probierst du diesen seplos_v3_sniffer bitte mit deinen 4 Akkus aus. Mit meinen 2 Akkus funktioniert es gut. |
@DpunktS Working like charm out of the box. Just need to add the declarations for the rest of the BMSs in YAML file.
|
Ich danke dir für dein Lob. :) |
@DpunktS Kleine Frage am Rande, hast Du zusätzlich den CAN am Wechselrichter angeschlossen? |
Ja meine 2 Seplos V3 sind per CAN am Wechselrichter angeschlossen. Zum Verständnis bei Modbus RS485 kann es nur einen Master geben und das ist bei mehreren Akkus immer bms0 also, der wo CAN angeschlossen ist. Deswegen ist auch nur noch der Master per Bluetooth erreichbar. Der ESP mit den bisherigen Projekten würde auch wieder ein Master sein und deswegen funktioniert die Kommunikation ab 2 Akkus nicht mehr. Meine Lösung liest nur die Kommunikation zwischen Master und Slave's mit und wertet diese aus. |
Danke für die Rückmeldung. Das Verständnis Modbus habe ich (hab beruflich mit Bus-Systemen zu tun, u.a. auch Modbus). Mir war nur nicht klar, ob gleichzeitig dann noch CAN sauber funktioniert, da in diversen Foren auch vieles widersprüchliche liest. Und dann kommt noch Seplos V3 oder alt etc. |
@DpunktS Nur zum Verständnis, hast Du zwischen dem ESP und dem Seplos noch ein RS485-TTL-Wandler dazwischen und wenn ja welchen? |
Danke, ich dachte ich hatte noch einen, aber leider nicht. |
Je nach Konverter ist manuelle Flusskontrolle über einen zusätzlichen GPIO notwendig. Das obige Modul kommt ohne diese Fusskontrolle aus, deshalb nutze ich es lieber. |
Hallo,
ich habe mein Seplos V3.0 BMS mit einem 2. BMS aufgerüstet (Multi Pack). Leider bekomme ich sehr viele CRC Fehler für das 2. BMS und somit keine vernünftigen Sensorwerte.
Wie kann ich meinen Speicher weiterhin auslesen?
The text was updated successfully, but these errors were encountered: