Modul PylonTech

Begonnen von satprofi, 06 Januar 2021, 11:49:11

Vorheriges Thema - Nächstes Thema

DS_Starter

#60
Hmm, blöderweise gibt es lt. der Doku nur die Unterscheidung gößer bzw. kleiner 65Ah. Mehr ist leider nicht beschrieben.
Und wenn ich es richtig sehe, ist sowohl US2000C als auch US2000B Plus kleiner 65Ah und werden in dem Fall auch gleich behandelt.

Die Kapazitäten für Batterien > 65Ah werden mit 3 Byte beschrieben, darunter mit 2 Byte.
Was mich stutzig macht, ist warum man in der Doku extra darauf hinweist die US2000B/US2000B-Plus mit capacity 1 zu behandeln, was ja eigentlich normal sein sollte wenn die S2000B/US2000B-Plus < 65 Ah haben.

Was denkst du?

Edit: Die Unterscheidung passiert in Zeile 1111 (Var $udi). Du kannst mal schauen ob bei dir für alle Batterien $udi==2 extrahiert wird. Das würde ich erwarten.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

satprofi

#61
Zitat von: DS_Starter am 30 September 2023, 22:03:08Hmm, blöderweise gibt es lt. der Doku nur die Unterscheidung gößer bzw. kleiner 65Ah. Mehr ist leider nicht beschrieben.
Und wenn ich es richtig sehe, ist sowohl US2000C als auch US2000B Plus kleiner 65Ah und werden in dem Fall auch gleich behandelt.

Die Kapazitäten für Batterien > 65Ah werden mit 3 Byte beschrieben, darunter mit 2 Byte.
Was mich stutzig macht, ist warum man in der Doku extra darauf hinweist die US2000B/US2000B-Plus mit capacity 1 zu behandeln, was ja eigentlich normal sein sollte wenn die S2000B/US2000B-Plus < 65 Ah haben.

Was denkst du?

Edit: Die Unterscheidung passiert in Zeile 1111 (Var $udi). Du kannst mal schauen ob bei dir für alle Batterien $udi==2 extrahiert wird. Das würde ich erwarten.


2 wird extrahiert, passt.

Ist es bei dir 4 ?  Und die Doku dürfte fehler haben, denn :

M+7 temp. Cell 13-15
M+8 temp Mosfet (nur US3000B) , also deiner.
M+N+2  Temp. N (?)

in der Auswertung von US3000 aber kein M+7 ! auch kein M+8, der wert steht in M+N+2

Wie sieht dein String eigentlich aus?
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

DS_Starter

#62
Ja bei mir ist $udi=4. Ich habe US3000C, die haben 74Ah.

ZitatM+7 temp. Cell 13-15
M+8 temp Mosfet (nur US3000B) , also deiner.
M+N+2  Temp. N (?)
Dieses Zitat ist aus dem Kapitel "get alarm info" auf S.18.
Wir rufen und extrahieren allerdings mit "get analog value", was auf S.15 beschrieben ist.

Dann sieht es so wie hier und passt auch:
...
M+6   4: Avg. temperature of cell 9~12
M+7   5: Avg. temperature of cell 13~15/16
///
M+N+2 Temperature N
N ist dabei die Anzahl der gelieferten Temperaturen. Sie findet man im Reading numberTempPos (5 bei mir).
Die Länge pro Temperaturwert sind 2 Byte, d.h. 4 ASCII Zeichen. Bei 15 Zellen beginnen die Temp-Werte bei Postion 81 und enden bei Position 100 (inclusive) wenn 5 Werte geliefert werden.
Ab Pos 101 geht es dann weiter mit "Current".

ZitatWie sieht dein String eigentlich aus?
Bin mir nicht sicher, was du mit "String" meinst. Ein verbose 5 Ausgabe von "get analogValue" sieht so aus für die Master-Batterie:

2023.10.01 13:14:36.665 4: Pylon1 - retrieve battery info: analogValue
2023.10.01 13:14:36.666 4: Pylon1 - request command (ASCII): ~20024642E00202FD33
2023.10.01 13:14:36.666 5: Pylon1 - request command (HEX): 7e3230303234363432453030323032464433330d
2023.10.01 13:14:36.684 5: Pylon1 - data returned raw: ~20024600F07A00020F0D260D260D260D260D260D250D250D250D260D260D260D270D270D260D27050BB90BA90BA80BA50BAC003AC53AFFFF04FFFF001000F291012110E2E5
2023.10.01 13:14:36.686 5: Pylon1 - data returned:
0x00000000 (00000)  7e323030 32343630 30463037 41303030  ~20024600F07A000
0x00000010 (00016)  32304630 44323630 44323630 44323630  20F0D260D260D260
0x00000020 (00032)  44323630 44323630 44323530 44323530  D260D260D250D250
0x00000030 (00048)  44323530 44323630 44323630 44323630  D250D260D260D260
0x00000040 (00064)  44323730 44323730 44323630 44323730  D270D270D260D270
0x00000050 (00080)  35304242 39304241 39304241 38304241  50BB90BA90BA80BA
0x00000060 (00096)  35304241 43303033 41433533 41464646  50BAC003AC53AFFF
0x00000070 (00112)  46303446 46464630 30313030 30463239  F04FFFF001000F29
0x00000080 (00128)  31303132 31313045 3245350d           1012110E2E5.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

satprofi

Hallo nochmals.

Mir lässt das keine Ruhe, habe jetzt BatteryView gestartet.
Da werden mir die SOC werte anders angezeigt, die US2000C passen mit der Formel aus dem Script zusammen, aber die US2000+ nicht. Battview zeigt mir 89%, FHEM aber nur 85%.
Irgendwo muss der wurm drinn liegen, spiesst sicvh mit der Anzeige von 13-15/16.

LG
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

DS_Starter

Ich gebe dir Recht. Allerdings fehlt mir die Phantasie wo es haken könnte. Zumal wenn US2000B+ als Master eingesetzt werden es ja stimmt wie du probiert hast.
Nicht zu vergessen ist, dass BatteryView über Console (oder RS232?) angeschlossen wird. Vllt. hat Pylontech auch einen Bug in der eingesetzten Firmware bzgl. RS485, kann man nicht wissen.
Aber einen FW Update wegen dieser Sache riskieren würde ich keinesfalls machen!
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

#65
Wie sieht es denn eigentlich aus, wenn du das RS485 Gateway nicht an den Master, sondern z.B. die oberste US2000B+ ansteckst? Ändert sich da etwas?
Sollte eigentlich nicht m.M. nach, aber testweise umgesteckt ist es ja schnell.

LG

Edit: Bei mir gerade probiert. Die Kommunikation funktioniert bei mir nur bei Anschluß an den Master.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

satprofi

da muss ich wieder kabel umbauen, die plus arbeiten nur ohne Widerstand und masse.

ich lass es für heute

LG
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

DS_Starter

#67
Noch ein Gedanke ... haben deine beiden US2000B+ die gleiche Firmware? ->
Zitat aus Mamual "For same type of module always use the latest production unit as master".

Ich habe gerade in dem Manual für US2000C nachgelesen, das RS485 Interface der Bat arbeitet ohne Masseanschluß
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

satprofi

Ja, die B+ haben alle selbe FW.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

ThomasFh

Hallo,
habe beschlossen auch den Waveshare RS485 to Ethernet Converter M0
https://www.amazon.de/dp/B07S2K41MS?ref=ppx_yo2ov_dt_b_product_details&th=1
zu verwenden.

Könnte jemand die Verkabelung zur RS485 am US3000C Pylontech Master nennen?
Einige schreiben, dass kein GND zu verwenden ist und ein 120 Ohm R zu verwenden ist..
Ich habe auch keine Pinbelegung von der RS485 der Pylontech.

Danke
EM1010PC, EM1000WZ, WS300PC, S300TH, Fritz Dect 200, Victron MPII, Cerbo GX, US3000C

DS_Starter

Gern.

Ich habe dir das US3000 Handbuch angehängt. Auf Seite 9 siehst du die Achlußbelegung des RS485 Ports.
Du verbindest Pin7 485A mit A+ des Konverters sowie Pin8 485B mit B- des Konverters. GND wird nicht angeschlossen.
120 Ohm sind connected, d.h. Dip-Schalter stehen alle auf off sofern man 115200 Baud benutzt (Standard).
Den Konverter mußt du auch entsprechend einstellen. Baudrate, IP-Adresse, Port im Servermode.
Weiterhin das Datenformat:

Format: start bit 1 bit
 Data bit 8 bit
 Stop bit 1 bit
 Without parity

LG
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

ThomasFh

EM1010PC, EM1000WZ, WS300PC, S300TH, Fritz Dect 200, Victron MPII, Cerbo GX, US3000C

ThomasFh

Ich habe das Waveshare RS485 to Ethernet nun da und erstmal unter Windows ausgetestet, um eines meiner Modbus RTU Geräte auszulesen.
Das ganze natürlich nativ, da das Modul kein echtes Modbus Protokoll unterstützt.
Hab so ein Modul noch nie in den Händen gehabt und bin ein absoluter dau.

Funktioniert alles, mit diversen Stellschrauben.

Unter Windows muss man einen extra Treiber installieren und eine virtuelle COM Schnittstelle erstellen, die nicht persistent ist. D.h., nach dem reboot dürfte die weg sein, wenn man keinen Service oder ähnliches laufen läßt ..

Frage:
Muss man sich unter fhem (linux) um irgend welche diesbezüglichen Konfigurationen kümmern, wenn man das Modul PylonTech nutzt?

Danke
EM1010PC, EM1000WZ, WS300PC, S300TH, Fritz Dect 200, Victron MPII, Cerbo GX, US3000C

DS_Starter

#73
ZitatMuss man sich unter fhem (linux) um irgend welche diesbezüglichen Konfigurationen kümmern, wenn man das Modul PylonTech nutzt?
Nein. Das Gateway braucht natürlich IP-Adresse, Port usw. die im Define vom Modul PylonTech angegeben werden müssen. Das Datenformat muß auch stimmen wie oben geschrieben (habe die Info jetzt auch in der Hilfe drin).
Das war es schon.

Edit: Die im Gateway eingestellte Baudrate muß natürlich auch mit der Einstellung der Pylontech Batterien übereinstimmen.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

ThomasFh

danke für die Info.

Unter Windows musste ich noch an den Kommunikationseinstellungen am Waveshare schrauben:

D.h., diese Parameter waren bei meinem Gerät auf AUS und erst nach dem Einschalten ging es, was allerdings
nur try and error war, kurz bevor ich aufgeben wollte.

Buffer Data Before Connected: EIN
UART Set Parameter: EIN

erst dann hat die Kommunikation mit dem Modbusgerät (in meinem Fall eine Hoymiles DTU Pro) funktioniert.
Hierfür benötigt man eigentlich ein Waveshare mit zusätzlicher Modbusfunktionalität, da ich die Modbuskommunikation in C# eh von Hand geschrieben habe, klappte das trotzdem
EM1010PC, EM1000WZ, WS300PC, S300TH, Fritz Dect 200, Victron MPII, Cerbo GX, US3000C