Pylontech auslesen funktioniert nicht mehr

Wenn mehr als ein Gerät an den Raspberry angeschlossen werden sollen. Z.B. ein Regler und ein Wechselrichter oder mehrere Wechselrichter. Das Maximum sind 6 Geräte pro Raspberry Pi.

Moderator: Ulrich

Mosti
Beiträge: 71
Registriert: Mo 6. Feb 2023, 15:06
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal

Re: Pylontech auslesen funktioniert nicht mehr

Beitrag von Mosti »

Ich hab das Problem bei regler 41(RS485) wenn ich bei der user.config mehr als 8 Packs Eintrage dann geht nichts mehr! wenn ich 8 Packs eintrage geht es und ich bekomme auch von allen 8 Packs die werte!
Dann wollte ich es probieren mit regler 15(RS232) ich glaub das stimmt mit regler 15.
da kommt immer kein Pylontech Gerät angeschlossen!
Die Kabel stimmen sicher und auch die Adapter bei RS485 und bei RS232.
Bei RS232 mit Batterieview kann ich alle 9 Packs ganz normal auslesen das funktioniert ohne probleme!
keine ahnung was ich noch machen soll/kann

tim-thor
Beiträge: 14
Registriert: Di 23. Feb 2021, 06:47
Danksagung erhalten: 1 Mal

Re: Pylontech auslesen funktioniert nicht mehr

Beitrag von tim-thor »

An der Stelle, an der nun bist, kam ich auf die Idee mit der Multireglerversion, 2x den Regler 41 zu verwenden.
Immer 8 Akkus an einen Regler 41.
Hat aber auch nicht so richtig geklappt, kann auch an meinem Raspbi 3 liegen, der kann wohl etwas schwach für die Multireglerversion sein kann, so habe ich es hier im Forum irgendwo gelesen.

Du hast den Raspbi 4, hast du die 32-bit oder 64-bit Version verwendet?

Mosti
Beiträge: 71
Registriert: Mo 6. Feb 2023, 15:06
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal

Re: Pylontech auslesen funktioniert nicht mehr

Beitrag von Mosti »

ich hab einen Pi4 Multiregler hab ich auch da hängt ein einzelner Pylontech US2000B den ich verkaufen möchte da zwischen den C varianten nur 7 stk. B gehen!
Multiregler wäre kein problem nur wenn ich 2 Pylontech Gruppen mache dann passt das meinem WR nicht und erkennt die Kommunikation mit den batterien nicht! ich hab die 32 bit version genommen hatte probleme mit der 64 bit version

tim-thor
Beiträge: 14
Registriert: Di 23. Feb 2021, 06:47
Danksagung erhalten: 1 Mal

Re: Pylontech auslesen funktioniert nicht mehr

Beitrag von tim-thor »

Bei der 64-Bit Version hatte ich beim Raspbi 4 auch Probleme.
Vielleicht versuche ich es mal mit 2x Raspbi 3 ? Da habe ich noch ein rumliegen...

Ein anderes Problem bei mir ist auch ein Akku, US2000 Plus 95. Der darf anscheinend auch nur an Position 2,3,4,5,6 oder 7 angeschlossen sein.

Interessant fand ich auch folgendes Video: https://www.youtube.com/watch?v=H_Icib-Jl_0
War Auszugsweise informativ, was die einzelnen Pylontech Akku Versionen betrifft.


Aber z.Z. spiele ich an der Heizung...

gunpowder
Beiträge: 7
Registriert: So 21. Jun 2020, 16:07

Re: Pylontech auslesen funktioniert nicht mehr

Beitrag von gunpowder »

Mosti hat geschrieben:
Do 9. Mär 2023, 10:15
Ich hab das Problem bei regler 41(RS485) wenn ich bei der user.config mehr als 8 Packs Eintrage dann geht nichts mehr! wenn ich 8 Packs eintrage geht es und ich bekomme auch von allen 8 Packs die werte!
Dann wollte ich es probieren mit regler 15(RS232) ich glaub das stimmt mit regler 15.
da kommt immer kein Pylontech Gerät angeschlossen!
Die Kabel stimmen sicher und auch die Adapter bei RS485 und bei RS232.
Bei RS232 mit Batterieview kann ich alle 9 Packs ganz normal auslesen das funktioniert ohne probleme!
keine ahnung was ich noch machen soll/kann
Ich komm nochmal auf ein mögliches Zeitproblem zurück: In den Funktionen zum Auslesen scheint die max. Zeitdauer zum Auslesen auf 8s beschränkt zu sein. Ich hab nun kein Gefühl, wie lange die Abfrage eines Packs dauert (zumindest per Console ist es doch sehr gemächlich). Hinzu kommt die (wahrscheinlich völlig zufällige) Übereinstimmung der Zahl "8".

Mosti
Beiträge: 71
Registriert: Mo 6. Feb 2023, 15:06
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal

Re: Pylontech auslesen funktioniert nicht mehr

Beitrag von Mosti »

Es geht!!!!!!!!!!!!!!
Mit dem Regler 41 am RS485 Port!
Ulrich hat es zum laufen gebracht!!!!
Ich bekomme jetzt alle daten von den 9 Packs!
Danke danke an Ulrich!

Lizium
Beiträge: 3
Registriert: Di 6. Sep 2022, 20:26

Re: Pylontech auslesen funktioniert nicht mehr

Beitrag von Lizium »

Aber wie nur ...wie habter det jemachd?

Mosti
Beiträge: 71
Registriert: Mo 6. Feb 2023, 15:06
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal

Re: Pylontech auslesen funktioniert nicht mehr

Beitrag von Mosti »

Das musst du Ulrich fragen!
er hat das gemacht!

Benutzeravatar
gskalle
Beiträge: 10
Registriert: So 19. Jul 2020, 10:47

Re: Pylontech auslesen funktioniert nicht mehr

Beitrag von gskalle »

Ich hab meine mixed-Anlage aus 6x2000/2x2000C/1x5000 auch zum laufen bekommen. Und das ohne LV-Hub. Auslesen über RS485, Regler 41, Anzahl 9, Typ 3000
Dazu müssen erstmal die Akkus in einer bestimmten Reihenfolge zusammengeschaltet werden. Es dürfen meines Wissens keine zwei C-Modelle hintereinander geschaltet werden, bzw. maximal 6 Modelle ohne C hintereinander sein. Dann klappts auch ohne LV-Hub.
1: US5000 (Master)
2: US2000C
3-8: US2000
9: US2000C

Dann kamen erstmal seltsame Werte in Grafana an. Es wurden aber zumindest alle 9 Akkus erkannt.
Dann noch Änderungen in der us3000_bms.php. Hier kam der entscheidende Hinweis von gunpowder. Der US5000 hat 6 Temperatursensoren. In der us3000_bmw.php werden aber nur 5 Sensoren verarbeitet und dadurch landen die nachfolgenden Werte in den falschen Variablen.
Ich habe nach dem Sensor 5 einen Sensor 6 eingefügt und die nachfolgenden Adressen geändert:

$aktuelleDaten["Pack".$n."_Temp1"] = ((hexdec(substr($Daten["INFO"],68,4))-2731)/10);
$aktuelleDaten["Pack".$n."_Temp2"] = ((hexdec(substr($Daten["INFO"],72,4))-2731)/10);
$aktuelleDaten["Pack".$n."_Temp3"] = ((hexdec(substr($Daten["INFO"],76,4))-2731)/10);
$aktuelleDaten["Pack".$n."_Temp4"] = ((hexdec(substr($Daten["INFO"],80,4))-2731)/10);
$aktuelleDaten["Pack".$n."_Temp5"] = ((hexdec(substr($Daten["INFO"],84,4))-2731)/10);
$aktuelleDaten["Pack".$n."_Temp6"] = ((hexdec(substr($Daten["INFO"],88,4))-2731)/10);
$aktuelleDaten["Pack".$n."_Strom"] = ($funktionen->hexdecs(substr($Daten["INFO"],92,4))/10);
$aktuelleDaten["Pack".$n."_Spannung"] = (hexdec(substr($Daten["INFO"],96,4))/1000);
$aktuelleDaten["Pack".$n."_Ah_left"] = (hexdec(substr($Daten["INFO"],100,4))/1000);
$aktuelleDaten["Pack".$n."_Ah_total"] = (hexdec(substr($Daten["INFO"],106,4))/1000);
$aktuelleDaten["Pack".$n."_Ah_left_2"] = (hexdec(substr($Daten["INFO"],114,6))/1000);
$aktuelleDaten["Pack".$n."_Ah_total_2"] = (hexdec(substr($Daten["INFO"],120,6))/1000);
$aktuelleDaten["Pack".$n."_cycle"] = hexdec(substr($Daten["INFO"],110,4));

Das ganze dann nochmal weiter unten in der Datei:

$aktuelleDaten["Pack".$n."_Warn_Temp1"] = hexdec(substr($Daten["INFO"],38,2));
$aktuelleDaten["Pack".$n."_Warn_Temp2"] = hexdec(substr($Daten["INFO"],40,2));
$aktuelleDaten["Pack".$n."_Warn_Temp3"] = hexdec(substr($Daten["INFO"],42,2));
$aktuelleDaten["Pack".$n."_Warn_Temp4"] = hexdec(substr($Daten["INFO"],44,2));
$aktuelleDaten["Pack".$n."_Warn_Temp5"] = hexdec(substr($Daten["INFO"],46,2));
$aktuelleDaten["Pack".$n."_Warn_Temp6"] = hexdec(substr($Daten["INFO"],48,2));
$aktuelleDaten["Pack".$n."_Warn_LadeStrom"] = hexdec(substr($Daten["INFO"],50,2));
$aktuelleDaten["Pack".$n."_Warn_Spannung"] = hexdec(substr($Daten["INFO"],52,2));
$aktuelleDaten["Pack".$n."_Warn_Entladestrom"] = hexdec(substr($Daten["INFO"],54,2));
$aktuelleDaten["Pack".$n."_Warn_Status1"] = hexdec(substr($Daten["INFO"],56,2));
$aktuelleDaten["Pack".$n."_Warn_Status2"] = hexdec(substr($Daten["INFO"],58,2));
$aktuelleDaten["Pack".$n."_Warn_Status3"] = hexdec(substr($Daten["INFO"],60,2));
$aktuelleDaten["Pack".$n."_Warn_Status4"] = hexdec(substr($Daten["INFO"],62,2));
$aktuelleDaten["Pack".$n."_Warn_Status5"] = hexdec(substr($Daten["INFO"],64,2));


Und noch zwei Änderungen in der /var/www/html/phpinc/funktionen.inc.php: (folgender Code ist an zwei Stellen vorhanden)

$query .= ",Temp_Anz=".$daten["Pack".$i."_Temp_Anz"];
$query .= ",Temp1=".$daten["Pack".$i."_Temp1"];
$query .= ",Temp2=".$daten["Pack".$i."_Temp2"];
$query .= ",Temp3=".$daten["Pack".$i."_Temp3"];
$query .= ",Temp4=".$daten["Pack".$i."_Temp4"];
$query .= ",Temp5=".$daten["Pack".$i."_Temp5"];
$query .= ",Temp6=".$daten["Pack".$i."_Temp6"];
$query .= ",Strom=".$daten["Pack".$i."_Strom"];

In Grafana muss noch, überall wo der US5000 ausgelesen wird, der Wert "Ah_left" und "Ah_total" zu "AH_left_2" und Ah_total_2" geändert werden:

Achtung: Alle genannten Änderungen sind nach einem Update wieder futsch.
Und noch was: Ich bin kein Programmierer und habe mehr oder weniger alles durch Try$Error herausgefunden.....

Benutzeravatar
Ulrich
Administrator
Beiträge: 5749
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 150 Mal
Danksagung erhalten: 820 Mal
Kontaktdaten:

Re: Pylontech auslesen funktioniert nicht mehr

Beitrag von Ulrich »

Hallo gskalle,

kann man an irgendeinem Wert eindeutig erkennen, ob es sich um ein US2000, US3000 oder US5000 handelt?
Dann könnten die Änderungen automatisiert erkannt werden.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]

Antworten

Zurück zu „Multi-Regler-Version [ bis zu 6 Geräten an einem Raspberry Pi ]“