Modul PylonTech

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

Vorheriges Thema - Nächstes Thema

Wzut

ich lese folgende 5 Register vom Device 239 (Multiplus) :
attr Multiplus obj-h74-reading AC-In1_to_AC-out
attr Multiplus obj-h76-reading AC-In1_to_battery
attr Multiplus obj-h86-reading Battery_to_AC-In1
attr Multiplus obj-h90-reading Battery_to_AC-out
attr Multiplus obj-h92-reading AC-out_to_battery
Von welcher Device iD liest du ? Ich finde das von Victron saublöd gemacht mit denen vielen Ids in einem Gerät. Bei mir hat der MP2 die ID 239 und die Pylontechs 225.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

hauwech

Bei mir sind Geräte-IDs:
- 40: com.victronenergy.grid und .pvinverter
- 225: .battery
- 227: .veBus
- 100: .hub4 und .system

Charged und Discharged sollten unter Battery auf 301 und 302 stehen, sind aber leer bzw. 0. Der MultiPlus hat bei mir keine eigene Modbus Geräte-ID. Muß man auf dem MP Modbus erst aktivieren? Ich dachte, der Cerbo kriegt vom MP alles über vebus,

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

hauwech

Der MP steckt wohl hinter ID 227 vebus. Momentan lese ich folgende Register:
(Title und ModbusAddress)
<?xml version="1.0" encoding="utf-8"?>
<Modbus Title="Venus GX vebus" Comment="" HintText="" Channel="246">
<Info templateType="7" minVersion="14051207"/>
<ModbusCmd Title="Battery voltage" Comment="" HintText="" ModbusAddress="26" ModbusCmd="4" ModbusPollingCycle="5" Unit="&lt;v.2&gt; V" Analog="true" Sensor="true" SourceValHigh="10" DestValHigh="0.1"/>
<ModbusCmd Title="Input power 1" Comment="" HintText="" ModbusAddress="12" ModbusCmd="4" ModbusDataType="1" ModbusPollingCycle="5" Unit="&lt;v&gt; W" Analog="true" Sensor="true" SourceValHigh="10" DestValHigh="100"/>
<ModbusCmd Title="Input power 2" Comment="" HintText="" ModbusAddress="13" ModbusCmd="4" ModbusDataType="1" ModbusPollingCycle="5" Unit="&lt;v&gt; W" Analog="true" Sensor="true" SourceValHigh="10" DestValHigh="100"/>
<ModbusCmd Title="Input power 3" Comment="" HintText="" ModbusAddress="14" ModbusCmd="4" ModbusDataType="1" ModbusPollingCycle="5" Unit="&lt;v&gt; W" Analog="true" Sensor="true" SourceValHigh="10" DestValHigh="100"/>
<ModbusCmd Title="Output power 1" Comment="" HintText="" ModbusAddress="23" ModbusCmd="4" ModbusDataType="1" ModbusPollingCycle="5" Unit="&lt;v&gt;W" Analog="true" Sensor="true" SourceValHigh="10" DestValHigh="100"/>
<ModbusCmd Title="Output power 2" Comment="" HintText="" ModbusAddress="24" ModbusCmd="4" ModbusDataType="1" ModbusPollingCycle="5" Unit="&lt;v&gt;W" Analog="true" Sensor="true" SourceValHigh="10" DestValHigh="100"/>
<ModbusCmd Title="Output power 3" Comment="" HintText="" ModbusAddress="25" ModbusCmd="4" ModbusDataType="1" ModbusPollingCycle="5" Unit="&lt;v&gt;W" Analog="true" Sensor="true" SourceValHigh="10" DestValHigh="100"/>
<ModbusCmd Title="Battery current" Comment="" HintText="" ModbusAddress="27" ModbusCmd="4" ModbusDataType="1" ModbusPollingCycle="5" Unit="&lt;v.1&gt;A" Analog="true" Sensor="true" SourceValHigh="10" DestValHigh="1"/>
<ModbusCmd Title="VE.Bus state of charge" Comment="" HintText="" ModbusAddress="30" ModbusCmd="4" ModbusPollingCycle="5" Unit="&lt;v.1&gt;%" Analog="true" Sensor="true" SourceValHigh="10" DestValHigh="1"/>
<ModbusCmd Title="Switch Position" Comment="" HintText="" ModbusAddress="33" ModbusCmd="4" ModbusPollingCycle="5" Unit="&lt;v&gt;" Analog="true" Sensor="true" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="ESS power setpoint phase 1" Comment="" HintText="" ModbusAddress="37" ModbusCmd="4" ModbusDataType="1" ModbusPollingCycle="5" Unit="&lt;v&gt;W" Analog="true" Sensor="true" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="ESS disable charge flag phase" Comment="" HintText="" ModbusAddress="38" ModbusCmd="4" ModbusPollingCycle="5" Unit="&lt;v&gt;" Analog="true" Sensor="true" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="ESS disable feedback flag phase" Comment="" HintText="" ModbusAddress="39" ModbusCmd="4" ModbusPollingCycle="5" Unit="&lt;v&gt;" Analog="true" Sensor="true" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="ESS power setpoint phase 2" Comment="" HintText="" ModbusAddress="40" ModbusCmd="4" ModbusDataType="33" ModbusPollingCycle="5" Unit="&lt;v&gt;W" Analog="true" Sensor="true" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="ESS power setpoint phase 3" Comment="" HintText="" ModbusAddress="41" ModbusCmd="4" ModbusDataType="1" ModbusPollingCycle="5" Unit="&lt;v&gt;W" Analog="true" Sensor="true" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="Disable PV inverter" Comment="" HintText="" ModbusAddress="56" ModbusCmd="4" ModbusPollingCycle="5" Unit="&lt;v&gt;" Analog="true" Sensor="true" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="VE.Bus BMS allows battery to be charged" Comment="" HintText="" ModbusAddress="57" ModbusCmd="4" ModbusPollingCycle="5" Unit="&lt;v&gt;" Analog="true" Sensor="true" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="VE.Bus BMS allows battery to be discharged" Comment="" HintText="" ModbusAddress="58" ModbusCmd="4" ModbusPollingCycle="5" Unit="&lt;v&gt;" Analog="true" Sensor="true" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="VE.Bus Reset" Comment="" HintText="" ModbusAddress="62" ModbusCmd="4" ModbusPollingCycle="5" Unit="&lt;v&gt;" Analog="true" Sensor="true" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="Maximum overvoltage feed-in power L3" Comment="" HintText="" ModbusAddress="68" ModbusCmd="6" Unit="&lt;v&gt;W" Analog="true" Sensor="false" SourceValHigh="1000" DestValHigh="10"/>
<ModbusCmd Title="Maximum overvoltage feed-in power L2" Comment="" HintText="" ModbusAddress="67" ModbusCmd="6" Unit="&lt;v&gt;W" Analog="true" Sensor="false" SourceValHigh="1000" DestValHigh="10"/>
<ModbusCmd Title="Maximum overvoltage feed-in power L1" Comment="" HintText="" ModbusAddress="66" ModbusCmd="6" Unit="&lt;v&gt;W" Analog="true" Sensor="false" SourceValHigh="1000" DestValHigh="10"/>
<ModbusCmd Title="Fee DC overvoltage into grid" Comment="" HintText="" ModbusAddress="65" ModbusCmd="6" Unit="&lt;v&gt;" Analog="true" Sensor="false" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="VE.Bus Reset" Comment="" HintText="" ModbusAddress="62" ModbusCmd="6" Unit="&lt;v&gt;" Analog="true" Sensor="false" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="Disable PV inverter" Comment="" HintText="" ModbusAddress="56" ModbusCmd="6" Unit="&lt;v&gt;" Analog="true" Sensor="false" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="ESS power setpoint phase 3" Comment="" HintText="" ModbusAddress="41" ModbusCmd="6" ModbusDataType="1" Unit="&lt;v&gt;W" Analog="true" Sensor="false" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="ESS power setpoint phase 2" Comment="" HintText="" ModbusAddress="40" ModbusCmd="6" ModbusDataType="1" Unit="&lt;v&gt;W" Analog="true" Sensor="false" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="ESS power setpoint phase 1" Comment="" HintText="" ModbusAddress="37" ModbusCmd="6" ModbusDataType="1" Unit="&lt;v&gt;W" Analog="true" Sensor="false" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="ESS power setpoint phase" Comment="" HintText="" ModbusAddress="39" ModbusCmd="6" Unit="&lt;v&gt;" Analog="true" Sensor="false" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="ESS disable charge flag phase" Comment="" HintText="" ModbusAddress="38" ModbusCmd="6" Unit="&lt;v&gt;" Analog="true" Sensor="false" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="Switch Posistion" Comment="" HintText="" ModbusAddress="33" ModbusCmd="6" Unit="&lt;v&gt;" Analog="true" Sensor="false" SourceValHigh="100" DestValHigh="100"/>
<ModbusCmd Title="VE.Bus state of charge" Comment="" HintText="" ModbusAddress="30" ModbusCmd="6" Unit="&lt;v&gt;%" Analog="true" Sensor="false" SourceValHigh="100" DestValHigh="100"/>
</Modbus>
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

Wzut

.vebus ist bei mir halt 239
von .battery 225 lese ich 6 Register wobei nur 259, 261, 262 und 266 sinnvolle Werte enthalten.
301 & 302 liefern auch bei mir immer nur 0
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

jnewton957

Zitat von: Wzut am 27 November 2024, 12:11:24301 & 302 liefern auch bei mir immer nur 0

Bei mir auch. Das liegt wohl daran, dass die Pylontechs eben die Werte des Pylontech-BMS nicht an den Multiplus senden.

Es gibt einen workaround battery-energy-meter für pylontech. Das Vorgehen ist auf github beschrieben. Man muss eine battery-energy-meter.py auf dem Cerbo einspielen und dann laufen lassen. Nicht trivial und man muss sich vorher superuser Berechtigungen auf dem Victron einrichten!

Ich behelfe mir mittlerweile mit den AcIn1ToInverter und InverterToAcIn1 die ich aus dem Modbus bekomme.
Dazu ein device statistics angelegt und ich habe alle Werte mit Stunden, Tages, Monats und Jahresbasis.

Wenn man sich ansehen will, welche Werte von den einzelnen Geräten an Fhem übertragbar sind, empfehle ich den MQQT Explorer. Dort kann ich nicht nur die Bezeichnungen sehen, sondern auch die aktuellen Werte. Somit lassen sich auch die Readings umbauen zu writings (publish) und die victron steuern.
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

satprofi

Hallo.
Frage zum Modul, klappt damit US5000 auch?
lG
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

DS_Starter

ZitatFrage zum Modul, klappt damit US5000 auch?
Ich selbst habe keine US5000, aber es wurde der erfolgreiche Einsatz mit US5000 berichtet, weswegen ich in der Hilfe zum Modul die Info aufgenommen habe:

Modul zur Einbindung von Niedervolt-Batterien mit Batteriemanagmentsystem (BMS) des Herstellers Pylontech über RS485 via RS485/Ethernet-Gateway. Die Kommunikation zum RS485-Gateway erfolgt ausschließlich über eine Ethernet-Verbindung.
Das Modul wurde bisher erfolgreich mit Pylontech Batterien folgender Typen eingesetzt:

    US2000
    US2000B Plus
    US2000C
    US2000 Plus
    US3000
    US3000C
    US5000

Weiterin sind im Code die Eigenheiten von Batterien dieser Leistungsklasse eingebaut, die in der mir vorliegenden Protokollspezifikation beschrieben sind (ist aber schon älter).
Sollte also funktionieren.

LG,
Heiko 
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