2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-02-25 16:05:19 +00:00

70_PylonLowVoltage: contrib 0.2.5

git-svn-id: https://svn.fhem.de/fhem/trunk@28732 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
nasseeder1 2024-04-01 21:04:49 +00:00
parent a074e0d205
commit d39bf78827

View File

@ -122,6 +122,10 @@ BEGIN {
# Versions History intern (Versions history by Heiko Maaz) # Versions History intern (Versions history by Heiko Maaz)
my %vNotesIntern = ( my %vNotesIntern = (
"0.2.5" => "01.04.2024 _callAnalogValue: more than 5 temperature positions (US5000) ",
"0.2.4" => "29.03.2024 avoid possible Illegal division by zero at line 1438 ",
"0.2.3" => "19.03.2024 edit commandref ",
"0.2.2" => "20.02.2024 correct commandref ",
"0.2.1" => "18.02.2024 doOnError: print out faulty response, Forum:https://forum.fhem.de/index.php?msg=1303912 ", "0.2.1" => "18.02.2024 doOnError: print out faulty response, Forum:https://forum.fhem.de/index.php?msg=1303912 ",
"0.2.0" => "15.12.2023 extend possible number of batteries up to 14 ", "0.2.0" => "15.12.2023 extend possible number of batteries up to 14 ",
"0.1.11" => "28.10.2023 add needed data format to commandref ", "0.1.11" => "28.10.2023 add needed data format to commandref ",
@ -1152,11 +1156,11 @@ sub _callAnalogValue {
for my $z (1..$pcc) { for my $z (1..$pcc) {
my $fz = sprintf "%02d", $z; # formatierter Zähler my $fz = sprintf "%02d", $z; # formatierter Zähler
$readings->{'cellVoltage_'.$fz} = sprintf "%.3f", hex(substr($res, $bpos, 4)) / 1000; # Pos 19 - 75 bei 15 Zellen $readings->{'cellVoltage_'.$fz} = sprintf "%.3f", hex(substr($res, $bpos, 4)) / 1000; # Pos 19 -> 75 bei 15 Zellen
$bpos += 4; # letzter Durchlauf: Pos 79 bei 15 Zellen, Pos 83 bei 16 Zellen $bpos += 4; # letzter Durchlauf: Pos 79 bei 15 Zellen, Pos 83 bei 16 Zellen
} }
$readings->{numberTempPos} = hex(substr($res, $bpos, 2)); # Anzahl der jetzt folgenden Teperaturpositionen -> 5 $readings->{numberTempPos} = hex(substr($res, $bpos, 2)); # Anzahl der jetzt folgenden Temperaturpositionen -> 5 oder mehr (US5000: 6)
$bpos += 2; $bpos += 2;
$readings->{bmsTemperature} = (hex (substr($res, $bpos, 4)) - 2731) / 10; # Pos 81 bei 15 Zellen $readings->{bmsTemperature} = (hex (substr($res, $bpos, 4)) - 2731) / 10; # Pos 81 bei 15 Zellen
@ -1174,7 +1178,13 @@ sub _callAnalogValue {
$readings->{'cellTemperature_13'.$pcc} = (hex (substr($res, $bpos, 4)) - 2731) / 10; # Pos 97 $readings->{'cellTemperature_13'.$pcc} = (hex (substr($res, $bpos, 4)) - 2731) / 10; # Pos 97
$bpos += 4; $bpos += 4;
my $current = hex (substr($res, $bpos, 4)); # Pos 101 for my $t (6..$readings->{numberTempPos}) {
$t = 'add'.sprintf "%02d", $t;
$readings->{'cellTemperature_'.$t} = (hex (substr($res, $bpos, 4)) - 2731) / 10; # mehr als 5 Temperaturpositionen (z.B. US5000)
$bpos += 4;
}
my $current = hex (substr($res, $bpos, 4)); # Pos 101 (bei 5 Temperaturpositionen)
$bpos += 4; $bpos += 4;
$readings->{packVolt} = sprintf "%.3f", hex (substr($res, $bpos, 4)) / 1000; # Pos 105 $readings->{packVolt} = sprintf "%.3f", hex (substr($res, $bpos, 4)) / 1000; # Pos 105
@ -1432,8 +1442,8 @@ sub additionalReadings {
my ($vmax, $vmin); my ($vmax, $vmin);
$readings->{averageCellVolt} = sprintf "%.3f", $readings->{packVolt} / $readings->{packCellcount} if(defined $readings->{packCellcount}); $readings->{averageCellVolt} = sprintf "%.3f", $readings->{packVolt} / $readings->{packCellcount} if($readings->{packCellcount});
$readings->{packSOC} = sprintf "%.2f", ($readings->{packCapacityRemain} / $readings->{packCapacity} * 100) if(defined $readings->{packCapacity}); $readings->{packSOC} = sprintf "%.2f", ($readings->{packCapacityRemain} / $readings->{packCapacity} * 100) if($readings->{packCapacity});
$readings->{packPower} = sprintf "%.2f", $readings->{packCurrent} * $readings->{packVolt}; $readings->{packPower} = sprintf "%.2f", $readings->{packCurrent} * $readings->{packVolt};
for (my $i=1; $i <= $readings->{packCellcount}; $i++) { for (my $i=1; $i <= $readings->{packCellcount}; $i++) {
@ -1503,41 +1513,41 @@ return;
=begin html =begin html
<a id="PylonLowVoltage"></a> <a id="PylonLowVoltage"></a>
<h3>PylonLowVoltage</h3> <h3>PylonLowVoltage</h3>
<br> <br>
Module for integration of low voltage batteries with battery management system (BMS) of the manufacturer Pylontech via Module for integration of low voltage batteries with battery management system (BMS) of the manufacturer Pylontech via
RS485/Ethernet gateway. Communication to the RS485 gateway takes place exclusively via an Ethernet connection.<br> RS485/Ethernet gateway. Communication to the RS485 gateway takes place exclusively via an Ethernet connection.<br>
The module has been successfully used so far with Pylontech batteries of the following types: <br> The module has been successfully used so far with Pylontech batteries of the following types: <br>
<ul> <ul>
<li> US2000 </li> <li> US2000 </li>
<li> US2000B Plus </li> <li> US2000B Plus </li>
<li> US2000C </li> <li> US2000C </li>
<li> US2000 Plus </li> <li> US2000 Plus </li>
<li> US3000 </li> <li> US3000 </li>
<li> US3000C </li> <li> US3000C </li>
</ul> </ul>
The following devices have been successfully used as RS485 Ethernet gateways to date: <br> The following devices have been successfully used as RS485 Ethernet gateways to date: <br>
<ul> <ul>
<li> USR-TCP232-304 from the manufacturer USRiot </li> <li> USR-TCP232-304 from the manufacturer USRiot </li>
<li> Waveshare RS485 to Ethernet Converter </li> <li> Waveshare RS485 to Ethernet Converter </li>
</ul> </ul>
In principle, any other RS485/Ethernet gateway should also be compatible. In principle, any other RS485/Ethernet gateway should also be compatible.
<br><br> <br><br>
<b>Requirements</b> <b>Requirements</b>
<br><br> <br><br>
This module requires the Perl modules: This module requires the Perl modules:
<ul> <ul>
<li>IO::Socket::INET (apt-get install libio-socket-multicast-perl) </li> <li>IO::Socket::INET (apt-get install libio-socket-multicast-perl) </li>
<li>IO::Socket::Timeout (Installation e.g. via the CPAN shell or the FHEM Installer module) </li> <li>IO::Socket::Timeout (Installation e.g. via the CPAN shell or the FHEM Installer module) </li>
</ul> </ul>
The data format must be set on the RS485 gateway as follows: The data format must be set on the RS485 gateway as follows:
<br> <br>
<ul> <ul>
<table> <table>
@ -1550,14 +1560,46 @@ The data format must be set on the RS485 gateway as follows:
</ul> </ul>
<br> <br>
<b>Limitations</b> <b>Example configuration of a Waveshare RS485 to Ethernet converter</b>
<br> <br><br>
The module currently supports a maximum of 14 batteries (master + 13 slaves) in one group. The converter's web interface offers several pages with settings. The relevant settings are shown below
<br><br> as an example. The assignment of a fixed IP address is assumed in advance.
<br>
<a id="PylonLowVoltage-define"></a> <ul>
<b>Definition</b> <table>
<ul> <colgroup> <col width="25%"> <col width="75%"> </colgroup>
<tr><td> <b>Serial port settings</b> </td><td> </td></tr>
<tr><td> - Baud Rate </td><td>: according to the battery setting </td></tr>
<tr><td> - Data Size </td><td>: 8 Bit </td></tr>
<tr><td> - Parity </td><td>: None </td></tr>
<tr><td> - Stop Bits </td><td>: 1 </td></tr>
<tr><td> - Local Port Number </td><td>: freely selected </td></tr>
<tr><td> - Work Mode </td><td>: TCP Server </td></tr>
<tr><td> - Reset </td><td>: not set </td></tr>
<tr><td> - Link </td><td>: set </td></tr>
<tr><td> - Index </td><td>: not set </td></tr>
<tr><td> - Similar RCF2217 </td><td>: set </td></tr>
<tr><td> </td><td> </td></tr>
<tr><td> <b>Settings Expand Function</b> </td><td> </td></tr>
<tr><td> - Heartbeat Packet Type </td><td>: None </td></tr>
<tr><td> - Register Packet Type </td><td>: None </td></tr>
<tr><td> - Short Connection </td><td>: not set </td></tr>
<tr><td> - TCP Server-kick off old connection </td><td>: set </td></tr>
<tr><td> - Buffer Data before Connected </td><td>: set </td></tr>
<tr><td> - UART Set Parameter </td><td>: not set </td></tr>
</table>
</ul>
<br>
<b>Limitations</b>
<br>
The module currently supports a maximum of 14 batteries (master + 13 slaves) in one group.
<br><br>
<a id="PylonLowVoltage-define"></a>
<b>Definition</b>
<ul>
<code><b>define &lt;name&gt; PylonLowVoltage &lt;hostname/ip&gt;:&lt;port&gt; [&lt;bataddress&gt;]</b></code><br> <code><b>define &lt;name&gt; PylonLowVoltage &lt;hostname/ip&gt;:&lt;port&gt; [&lt;bataddress&gt;]</b></code><br>
<br> <br>
<li><b>hostname/ip:</b><br> <li><b>hostname/ip:</b><br>
@ -1572,34 +1614,34 @@ The module currently supports a maximum of 14 batteries (master + 13 slaves) in
Device address of the Pylontech battery. Several Pylontech batteries can be connected via a Pylontech-specific Device address of the Pylontech battery. Several Pylontech batteries can be connected via a Pylontech-specific
Link connection. The permissible number can be found in the respective Pylontech documentation. <br> Link connection. The permissible number can be found in the respective Pylontech documentation. <br>
The master battery in the network (with open link port 0 or to which the RS485 connection is connected) has the The master battery in the network (with open link port 0 or to which the RS485 connection is connected) has the
address 2, the next battery then has address 3 and so on. address 1, the next battery then has address 2 and so on.
If no device address is specified, address 1 is used. If no device address is specified, address 1 is used.
</li> </li>
<br> <br>
</ul> </ul>
<b>Mode of operation</b> <b>Mode of operation</b>
<ul> <ul>
Depending on the setting of the "Interval" attribute, the module cyclically reads values provided by the battery Depending on the setting of the "Interval" attribute, the module cyclically reads values provided by the battery
management system via the RS485 interface. management system via the RS485 interface.
</ul> </ul>
<a id="PylonLowVoltage-get"></a> <a id="PylonLowVoltage-get"></a>
<b>Get</b> <b>Get</b>
<br> <br>
<ul> <ul>
<li><b>data</b><br> <li><b>data</b><br>
The data query of the battery management system is executed. The timer of the cyclic query is reinitialized according The data query of the battery management system is executed. The timer of the cyclic query is reinitialized according
to the set value of the "interval" attribute. to the set value of the "interval" attribute.
<br> <br>
</li> </li>
<br> <br>
</ul> </ul>
<a id="PylonLowVoltage-attr"></a> <a id="PylonLowVoltage-attr"></a>
<b>Attributes</b> <b>Attributes</b>
<br<br> <br<br>
<ul> <ul>
<a id="PylonLowVoltage-attr-disable"></a> <a id="PylonLowVoltage-attr-disable"></a>
<li><b>disable 0|1</b><br> <li><b>disable 0|1</b><br>
Enables/disables the device definition. Enables/disables the device definition.
@ -1630,105 +1672,105 @@ management system via the RS485 interface.
The automatically determined battery type (Reading batteryType) is replaced by the specified string. The automatically determined battery type (Reading batteryType) is replaced by the specified string.
</li> </li>
<br> <br>
</ul> </ul>
<a id="PylonLowVoltage-readings"></a> <a id="PylonLowVoltage-readings"></a>
<b>Readings</b> <b>Readings</b>
<ul> <ul>
<li><b>averageCellVolt</b><br> Average cell voltage (V) </li> <li><b>averageCellVolt</b><br> Average cell voltage (V) </li>
<li><b>bmsTemperature</b><br> Temperature (°C) of the battery management system </li> <li><b>bmsTemperature</b><br> Temperature (°C) of the battery management system </li>
<li><b>cellTemperature_0104</b><br> Temperature (°C) of cell packs 1 to 4 </li> <li><b>cellTemperature_0104</b><br> Temperature (°C) of cell packs 1 to 4 </li>
<li><b>cellTemperature_0508</b><br> Temperature (°C) of cell packs 5 to 8 </li> <li><b>cellTemperature_0508</b><br> Temperature (°C) of cell packs 5 to 8 </li>
<li><b>cellTemperature_0912</b><br> Temperature (°C) of the cell packs 9 to 12 </li> <li><b>cellTemperature_0912</b><br> Temperature (°C) of the cell packs 9 to 12 </li>
<li><b>cellTemperature_1315</b><br> Temperature (°C) of the cell packs 13 to 15 </li> <li><b>cellTemperature_1315</b><br> Temperature (°C) of the cell packs 13 to 15 </li>
<li><b>cellVoltage_XX</b><br> Cell voltage (V) of the cell pack XX. In the battery module "packCellcount" <li><b>cellVoltage_XX</b><br> Cell voltage (V) of the cell pack XX. In the battery module "packCellcount"
cell packs are connected in series. Each cell pack consists of single cells cell packs are connected in series. Each cell pack consists of single cells
connected in parallel. </li> connected in parallel. </li>
<li><b>chargeCurrentLimit</b><br> current limit value for the charging current (A) </li> <li><b>chargeCurrentLimit</b><br> current limit value for the charging current (A) </li>
<li><b>chargeEnable</b><br> current flag loading allowed </li> <li><b>chargeEnable</b><br> current flag loading allowed </li>
<li><b>chargeFullRequest</b><br> current flag charge battery module fully (from the mains if necessary) </li> <li><b>chargeFullRequest</b><br> current flag charge battery module fully (from the mains if necessary) </li>
<li><b>chargeImmediatelySOCXX</b><br> current flag charge battery module immediately <li><b>chargeImmediatelySOCXX</b><br> current flag charge battery module immediately
(05: SOC limit 5-9%, 09: SOC limit 9-13%) </li> (05: SOC limit 5-9%, 09: SOC limit 9-13%) </li>
<li><b>chargeVoltageLimit</b><br> current charge voltage limit (V) of the battery module </li> <li><b>chargeVoltageLimit</b><br> current charge voltage limit (V) of the battery module </li>
<li><b>dischargeCurrentLimit</b><br> current limit value for the discharge current (A) </li> <li><b>dischargeCurrentLimit</b><br> current limit value for the discharge current (A) </li>
<li><b>dischargeEnable</b><br> current flag unloading allowed </li> <li><b>dischargeEnable</b><br> current flag unloading allowed </li>
<li><b>dischargeVoltageLimit</b><br> current discharge voltage limit (V) of the battery module </li> <li><b>dischargeVoltageLimit</b><br> current discharge voltage limit (V) of the battery module </li>
<li><b>moduleSoftwareVersion_manufacture</b><br> Firmware version of the battery module </li> <li><b>moduleSoftwareVersion_manufacture</b><br> Firmware version of the battery module </li>
<li><b>packAlarmInfo</b><br> Alarm status (ok - battery module is OK, failure - there is a fault in the <li><b>packAlarmInfo</b><br> Alarm status (ok - battery module is OK, failure - there is a fault in the
battery module) </li> battery module) </li>
<li><b>packCapacity</b><br> nominal capacity (Ah) of the battery module </li> <li><b>packCapacity</b><br> nominal capacity (Ah) of the battery module </li>
<li><b>packCapacityRemain</b><br> current capacity (Ah) of the battery module </li> <li><b>packCapacityRemain</b><br> current capacity (Ah) of the battery module </li>
<li><b>packCellcount</b><br> Number of cell packs in the battery module </li> <li><b>packCellcount</b><br> Number of cell packs in the battery module </li>
<li><b>packCurrent</b><br> current charge current (+) or discharge current (-) of the battery module (A) </li> <li><b>packCurrent</b><br> current charge current (+) or discharge current (-) of the battery module (A) </li>
<li><b>packCycles</b><br> Number of full cycles - The number of cycles is, to some extent, a measure of the <li><b>packCycles</b><br> Number of full cycles - The number of cycles is, to some extent, a measure of the
wear and tear of the battery. A complete charge and discharge is counted as one wear and tear of the battery. A complete charge and discharge is counted as one
cycle. If the battery is discharged and recharged 50%, it only counts as one cycle. If the battery is discharged and recharged 50%, it only counts as one
half cycle. Pylontech specifies a lifetime of several 1000 cycles half cycle. Pylontech specifies a lifetime of several 1000 cycles
(see data sheet). </li> (see data sheet). </li>
<li><b>packImbalance</b><br> current imbalance of voltage between the single cells of the <li><b>packImbalance</b><br> current imbalance of voltage between the single cells of the
battery module (%) </li> battery module (%) </li>
<li><b>packPower</b><br> current drawn (+) or delivered (-) power (W) of the battery module </li> <li><b>packPower</b><br> current drawn (+) or delivered (-) power (W) of the battery module </li>
<li><b>packSOC</b><br> State of charge (%) of the battery module </li> <li><b>packSOC</b><br> State of charge (%) of the battery module </li>
<li><b>packState</b><br> current working status of the battery module </li> <li><b>packState</b><br> current working status of the battery module </li>
<li><b>packVolt</b><br> current voltage (V) of the battery module </li> <li><b>packVolt</b><br> current voltage (V) of the battery module </li>
<li><b>paramCellHighVoltLimit</b><br> System parameter upper voltage limit (V) of a cell </li> <li><b>paramCellHighVoltLimit</b><br> System parameter upper voltage limit (V) of a cell </li>
<li><b>paramCellLowVoltLimit</b><br> System parameter lower voltage limit (V) of a cell (alarm limit) </li> <li><b>paramCellLowVoltLimit</b><br> System parameter lower voltage limit (V) of a cell (alarm limit) </li>
<li><b>paramCellUnderVoltLimit</b><br> System parameter undervoltage limit (V) of a cell (protection limit) </li> <li><b>paramCellUnderVoltLimit</b><br> System parameter undervoltage limit (V) of a cell (protection limit) </li>
<li><b>paramChargeCurrentLimit</b><br> System parameter charging current limit (A) of the battery module </li> <li><b>paramChargeCurrentLimit</b><br> System parameter charging current limit (A) of the battery module </li>
<li><b>paramChargeHighTempLimit</b><br> System parameter upper temperature limit (°C) up to which the battery charges </li> <li><b>paramChargeHighTempLimit</b><br> System parameter upper temperature limit (°C) up to which the battery charges </li>
<li><b>paramChargeLowTempLimit</b><br> System parameter lower temperature limit (°C) up to which the battery charges </li> <li><b>paramChargeLowTempLimit</b><br> System parameter lower temperature limit (°C) up to which the battery charges </li>
<li><b>paramDischargeCurrentLimit</b><br> System parameter discharge current limit (A) of the battery module </li> <li><b>paramDischargeCurrentLimit</b><br> System parameter discharge current limit (A) of the battery module </li>
<li><b>paramDischargeHighTempLimit</b><br> System parameter upper temperature limit (°C) up to which the battery discharges </li> <li><b>paramDischargeHighTempLimit</b><br> System parameter upper temperature limit (°C) up to which the battery discharges </li>
<li><b>paramDischargeLowTempLimit</b><br> System parameter lower temperature limit (°C) up to which the battery discharges </li> <li><b>paramDischargeLowTempLimit</b><br> System parameter lower temperature limit (°C) up to which the battery discharges </li>
<li><b>paramModuleHighVoltLimit</b><br> System parameter upper voltage limit (V) of the battery module </li> <li><b>paramModuleHighVoltLimit</b><br> System parameter upper voltage limit (V) of the battery module </li>
<li><b>paramModuleLowVoltLimit</b><br> System parameter lower voltage limit (V) of the battery module (alarm limit) </li> <li><b>paramModuleLowVoltLimit</b><br> System parameter lower voltage limit (V) of the battery module (alarm limit) </li>
<li><b>paramModuleUnderVoltLimit</b><br> System parameter undervoltage limit (V) of the battery module (protection limit) </li> <li><b>paramModuleUnderVoltLimit</b><br> System parameter undervoltage limit (V) of the battery module (protection limit) </li>
<li><b>protocolVersion</b><br> PYLON low voltage RS485 protocol version </li> <li><b>protocolVersion</b><br> PYLON low voltage RS485 protocol version </li>
<li><b>serialNumber</b><br> Serial number </li> <li><b>serialNumber</b><br> Serial number </li>
</ul> </ul>
<br><br> <br><br>
=end html =end html
=begin html_DE =begin html_DE
<a id="PylonLowVoltage"></a> <a id="PylonLowVoltage"></a>
<h3>PylonLowVoltage</h3> <h3>PylonLowVoltage</h3>
<br> <br>
Modul zur Einbindung von Niedervolt-Batterien mit Batteriemanagmentsystem (BMS) des Herstellers Pylontech über RS485 via 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.<br> RS485/Ethernet-Gateway. Die Kommunikation zum RS485-Gateway erfolgt ausschließlich über eine Ethernet-Verbindung.<br>
Das Modul wurde bisher erfolgreich mit Pylontech Batterien folgender Typen eingesetzt: <br> Das Modul wurde bisher erfolgreich mit Pylontech Batterien folgender Typen eingesetzt: <br>
<ul> <ul>
<li> US2000 </li> <li> US2000 </li>
<li> US2000B Plus </li> <li> US2000B Plus </li>
<li> US2000C </li> <li> US2000C </li>
<li> US2000 Plus </li> <li> US2000 Plus </li>
<li> US3000 </li> <li> US3000 </li>
<li> US3000C </li> <li> US3000C </li>
</ul> </ul>
Als RS485-Ethernet-Gateways wurden bisher folgende Geräte erfolgreich eingesetzt: <br> Als RS485-Ethernet-Gateways wurden bisher folgende Geräte erfolgreich eingesetzt: <br>
<ul> <ul>
<li> USR-TCP232-304 des Herstellers USRiot </li> <li> USR-TCP232-304 des Herstellers USRiot </li>
<li> Waveshare RS485 to Ethernet Converter </li> <li> Waveshare RS485 to Ethernet Converter </li>
</ul> </ul>
Prinzipiell sollte auch jedes andere RS485/Ethernet-Gateway kompatibel sein. Prinzipiell sollte auch jedes andere RS485/Ethernet-Gateway kompatibel sein.
<br><br> <br><br>
<b>Voraussetzungen</b> <b>Voraussetzungen</b>
<br><br> <br><br>
Dieses Modul benötigt die Perl-Module: Dieses Modul benötigt die Perl-Module:
<ul> <ul>
<li>IO::Socket::INET (apt-get install libio-socket-multicast-perl) </li> <li>IO::Socket::INET (apt-get install libio-socket-multicast-perl) </li>
<li>IO::Socket::Timeout (Installation z.B. über die CPAN-Shell oder das FHEM Installer Modul) </li> <li>IO::Socket::Timeout (Installation z.B. über die CPAN-Shell oder das FHEM Installer Modul) </li>
</ul> </ul>
Das Datenformat muß auf dem RS485 Gateway wie folgt eingestellt werden: Das Datenformat muß auf dem RS485 Gateway wie folgt eingestellt werden:
<br> <br>
<ul> <ul>
<table> <table>
@ -1741,14 +1783,46 @@ Das Datenformat muß auf dem RS485 Gateway wie folgt eingestellt werden:
</ul> </ul>
<br> <br>
<b>Einschränkungen</b> <b>Beispielkonfiguration eines Waveshare RS485 to Ethernet Converters</b>
<br> <br><br>
Das Modul unterstützt zur Zeit maximal 14 Batterien (Master + 13 Slaves) in einer Gruppe. Das Webinterface des Konverters bietet mehrere Seiten mit Einstellungen an. Die relevanten Einstellungen sind nachfolgend
<br><br> beispielhaft gezeigt. Die Zuweisung einer festen IP-Adresse wird vorab vorausgesetzt.
<br>
<a id="PylonLowVoltage-define"></a> <ul>
<b>Definition</b> <table>
<ul> <colgroup> <col width="25%"> <col width="75%"> </colgroup>
<tr><td> <b>Einstellungen Serial Port</b> </td><td> </td></tr>
<tr><td> - Baud Rate </td><td>: entsprechend Einstellung der Batterie </td></tr>
<tr><td> - Data Size </td><td>: 8 Bit </td></tr>
<tr><td> - Parity </td><td>: None </td></tr>
<tr><td> - Stop Bits </td><td>: 1 </td></tr>
<tr><td> - Local Port Number </td><td>: frei gewählt </td></tr>
<tr><td> - Work Mode </td><td>: TCP Server </td></tr>
<tr><td> - Reset </td><td>: nicht gesetzt </td></tr>
<tr><td> - Link </td><td>: gesetzt </td></tr>
<tr><td> - Index </td><td>: nicht gesetzt </td></tr>
<tr><td> - Similar RCF2217 </td><td>: gesetzt </td></tr>
<tr><td> </td><td> </td></tr>
<tr><td> <b>Einstellungen Expand Function</b> </td><td> </td></tr>
<tr><td> - Heartbeat Packet Type </td><td>: None </td></tr>
<tr><td> - Register Packet Type </td><td>: None </td></tr>
<tr><td> - Short Connection </td><td>: nicht gesetzt </td></tr>
<tr><td> - TCP Server-kick off old connection </td><td>: gesetzt </td></tr>
<tr><td> - Buffer Data before Connected </td><td>: gesetzt </td></tr>
<tr><td> - UART Set Parameter </td><td>: nicht gesetzt </td></tr>
</table>
</ul>
<br>
<b>Einschränkungen</b>
<br>
Das Modul unterstützt zur Zeit maximal 14 Batterien (Master + 13 Slaves) in einer Gruppe.
<br><br>
<a id="PylonLowVoltage-define"></a>
<b>Definition</b>
<ul>
<code><b>define &lt;name&gt; PylonLowVoltage &lt;hostname/ip&gt;:&lt;port&gt; [&lt;bataddress&gt;]</b></code><br> <code><b>define &lt;name&gt; PylonLowVoltage &lt;hostname/ip&gt;:&lt;port&gt; [&lt;bataddress&gt;]</b></code><br>
<br> <br>
<li><b>hostname/ip:</b><br> <li><b>hostname/ip:</b><br>
@ -1763,34 +1837,34 @@ Das Modul unterstützt zur Zeit maximal 14 Batterien (Master + 13 Slaves) in ein
Geräteadresse der Pylontech Batterie. Es können mehrere Pylontech Batterien über eine Pylontech-spezifische Geräteadresse der Pylontech Batterie. Es können mehrere Pylontech Batterien über eine Pylontech-spezifische
Link-Verbindung verbunden werden. Die zulässige Anzahl ist der jeweiligen Pylontech Dokumentation zu entnehmen. <br> Link-Verbindung verbunden werden. Die zulässige Anzahl ist der jeweiligen Pylontech Dokumentation zu entnehmen. <br>
Die Master Batterie im Verbund (mit offenem Link Port 0 bzw. an der die RS485-Verbindung angeschlossen ist) hat die Die Master Batterie im Verbund (mit offenem Link Port 0 bzw. an der die RS485-Verbindung angeschlossen ist) hat die
Adresse 2, die nächste Batterie hat dann die Adresse 3 und so weiter. Adresse 1, die nächste Batterie hat dann die Adresse 2 und so weiter.
Ist keine Geräteadresse angegeben, wird die Adresse 1 verwendet. Ist keine Geräteadresse angegeben, wird die Adresse 1 verwendet.
</li> </li>
<br> <br>
</ul> </ul>
<b>Arbeitsweise</b> <b>Arbeitsweise</b>
<ul> <ul>
Das Modul liest entsprechend der Einstellung des Attributes "interval" zyklisch Werte aus, die das Das Modul liest entsprechend der Einstellung des Attributes "interval" zyklisch Werte aus, die das
Batteriemanagementsystem über die RS485-Schnittstelle zur Verfügung stellt. Batteriemanagementsystem über die RS485-Schnittstelle zur Verfügung stellt.
</ul> </ul>
<a id="PylonLowVoltage-get"></a> <a id="PylonLowVoltage-get"></a>
<b>Get</b> <b>Get</b>
<br> <br>
<ul> <ul>
<li><b>data</b><br> <li><b>data</b><br>
Die Datenabfrage des Batteriemanagementsystems wird ausgeführt. Der Zeitgeber der zyklischen Abfrage wird entsprechend Die Datenabfrage des Batteriemanagementsystems wird ausgeführt. Der Zeitgeber der zyklischen Abfrage wird entsprechend
dem gesetzten Wert des Attributes "interval" neu initialisiert. dem gesetzten Wert des Attributes "interval" neu initialisiert.
<br> <br>
</li> </li>
<br> <br>
</ul> </ul>
<a id="PylonLowVoltage-attr"></a> <a id="PylonLowVoltage-attr"></a>
<b>Attribute</b> <b>Attribute</b>
<br<br> <br<br>
<ul> <ul>
<a id="PylonLowVoltage-attr-disable"></a> <a id="PylonLowVoltage-attr-disable"></a>
<li><b>disable 0|1</b><br> <li><b>disable 0|1</b><br>
Aktiviert/deaktiviert die Gerätedefinition. Aktiviert/deaktiviert die Gerätedefinition.
@ -1822,66 +1896,66 @@ Batteriemanagementsystem über die RS485-Schnittstelle zur Verfügung stellt.
Der automatisch ermittelte Batterietyp (Reading batteryType) wird durch die angegebene Zeichenfolge ersetzt. Der automatisch ermittelte Batterietyp (Reading batteryType) wird durch die angegebene Zeichenfolge ersetzt.
</li> </li>
<br> <br>
</ul> </ul>
<a id="PylonLowVoltage-readings"></a> <a id="PylonLowVoltage-readings"></a>
<b>Readings</b> <b>Readings</b>
<ul> <ul>
<li><b>averageCellVolt</b><br> mittlere Zellenspannung (V) </li> <li><b>averageCellVolt</b><br> mittlere Zellenspannung (V) </li>
<li><b>bmsTemperature</b><br> Temperatur (°C) des Batteriemanagementsystems </li> <li><b>bmsTemperature</b><br> Temperatur (°C) des Batteriemanagementsystems </li>
<li><b>cellTemperature_0104</b><br> Temperatur (°C) der Zellenpacks 1 bis 4 </li> <li><b>cellTemperature_0104</b><br> Temperatur (°C) der Zellenpacks 1 bis 4 </li>
<li><b>cellTemperature_0508</b><br> Temperatur (°C) der Zellenpacks 5 bis 8 </li> <li><b>cellTemperature_0508</b><br> Temperatur (°C) der Zellenpacks 5 bis 8 </li>
<li><b>cellTemperature_0912</b><br> Temperatur (°C) der Zellenpacks 9 bis 12 </li> <li><b>cellTemperature_0912</b><br> Temperatur (°C) der Zellenpacks 9 bis 12 </li>
<li><b>cellTemperature_1315</b><br> Temperatur (°C) der Zellenpacks 13 bis 15 </li> <li><b>cellTemperature_1315</b><br> Temperatur (°C) der Zellenpacks 13 bis 15 </li>
<li><b>cellVoltage_XX</b><br> Zellenspannung (V) des Zellenpacks XX. In dem Batteriemodul sind "packCellcount" <li><b>cellVoltage_XX</b><br> Zellenspannung (V) des Zellenpacks XX. In dem Batteriemodul sind "packCellcount"
Zellenpacks in Serie geschaltet verbaut. Jedes Zellenpack besteht aus parallel Zellenpacks in Serie geschaltet verbaut. Jedes Zellenpack besteht aus parallel
geschalten Einzelzellen. </li> geschalten Einzelzellen. </li>
<li><b>chargeCurrentLimit</b><br> aktueller Grenzwert für den Ladestrom (A) </li> <li><b>chargeCurrentLimit</b><br> aktueller Grenzwert für den Ladestrom (A) </li>
<li><b>chargeEnable</b><br> aktuelles Flag Laden erlaubt </li> <li><b>chargeEnable</b><br> aktuelles Flag Laden erlaubt </li>
<li><b>chargeFullRequest</b><br> aktuelles Flag Batteriemodul voll laden (notfalls aus dem Netz) </li> <li><b>chargeFullRequest</b><br> aktuelles Flag Batteriemodul voll laden (notfalls aus dem Netz) </li>
<li><b>chargeImmediatelySOCXX</b><br> aktuelles Flag Batteriemodul sofort laden <li><b>chargeImmediatelySOCXX</b><br> aktuelles Flag Batteriemodul sofort laden
(05: SOC Grenze 5-9%, 09: SOC Grenze 9-13%) </li> (05: SOC Grenze 5-9%, 09: SOC Grenze 9-13%) </li>
<li><b>chargeVoltageLimit</b><br> aktuelle Ladespannungsgrenze (V) des Batteriemoduls </li> <li><b>chargeVoltageLimit</b><br> aktuelle Ladespannungsgrenze (V) des Batteriemoduls </li>
<li><b>dischargeCurrentLimit</b><br> aktueller Grenzwert für den Entladestrom (A) </li> <li><b>dischargeCurrentLimit</b><br> aktueller Grenzwert für den Entladestrom (A) </li>
<li><b>dischargeEnable</b><br> aktuelles Flag Entladen erlaubt </li> <li><b>dischargeEnable</b><br> aktuelles Flag Entladen erlaubt </li>
<li><b>dischargeVoltageLimit</b><br> aktuelle Entladespannungsgrenze (V) des Batteriemoduls </li> <li><b>dischargeVoltageLimit</b><br> aktuelle Entladespannungsgrenze (V) des Batteriemoduls </li>
<li><b>moduleSoftwareVersion_manufacture</b><br> Firmware Version des Batteriemoduls </li> <li><b>moduleSoftwareVersion_manufacture</b><br> Firmware Version des Batteriemoduls </li>
<li><b>packAlarmInfo</b><br> Alarmstatus (ok - Batterienmodul ist in Ordnung, failure - im Batteriemodul liegt <li><b>packAlarmInfo</b><br> Alarmstatus (ok - Batterienmodul ist in Ordnung, failure - im Batteriemodul liegt
eine Störung vor) </li> eine Störung vor) </li>
<li><b>packCapacity</b><br> nominale Kapazität (Ah) des Batteriemoduls </li> <li><b>packCapacity</b><br> nominale Kapazität (Ah) des Batteriemoduls </li>
<li><b>packCapacityRemain</b><br> aktuelle Kapazität (Ah) des Batteriemoduls </li> <li><b>packCapacityRemain</b><br> aktuelle Kapazität (Ah) des Batteriemoduls </li>
<li><b>packCellcount</b><br> Anzahl der Zellenpacks im Batteriemodul </li> <li><b>packCellcount</b><br> Anzahl der Zellenpacks im Batteriemodul </li>
<li><b>packCurrent</b><br> aktueller Ladestrom (+) bzw. Entladstrom (-) des Batteriemoduls (A) </li> <li><b>packCurrent</b><br> aktueller Ladestrom (+) bzw. Entladstrom (-) des Batteriemoduls (A) </li>
<li><b>packCycles</b><br> Anzahl der Vollzyklen - Die Anzahl der Zyklen ist in gewisserweise ein Maß für den <li><b>packCycles</b><br> Anzahl der Vollzyklen - Die Anzahl der Zyklen ist in gewisserweise ein Maß für den
Verschleiß der Batterie. Eine komplettes Laden und Entladen wird als ein Zyklus Verschleiß der Batterie. Eine komplettes Laden und Entladen wird als ein Zyklus
gewertet. Wird die Batterie 50% entladen und wieder aufgeladen, zählt das nur als ein gewertet. Wird die Batterie 50% entladen und wieder aufgeladen, zählt das nur als ein
halber Zyklus. Pylontech gibt eine Lebensdauer von mehreren 1000 Zyklen an halber Zyklus. Pylontech gibt eine Lebensdauer von mehreren 1000 Zyklen an
(siehe Datenblatt). </li> (siehe Datenblatt). </li>
<li><b>packImbalance</b><br> aktuelles Ungleichgewicht der Spannung zwischen den Einzelzellen des <li><b>packImbalance</b><br> aktuelles Ungleichgewicht der Spannung zwischen den Einzelzellen des
Batteriemoduls (%) </li> Batteriemoduls (%) </li>
<li><b>packPower</b><br> aktuell bezogene (+) bzw. gelieferte (-) Leistung (W) des Batteriemoduls </li> <li><b>packPower</b><br> aktuell bezogene (+) bzw. gelieferte (-) Leistung (W) des Batteriemoduls </li>
<li><b>packSOC</b><br> Ladezustand (%) des Batteriemoduls </li> <li><b>packSOC</b><br> Ladezustand (%) des Batteriemoduls </li>
<li><b>packState</b><br> aktueller Arbeitsstatus des Batteriemoduls </li> <li><b>packState</b><br> aktueller Arbeitsstatus des Batteriemoduls </li>
<li><b>packVolt</b><br> aktuelle Spannung (V) des Batteriemoduls </li> <li><b>packVolt</b><br> aktuelle Spannung (V) des Batteriemoduls </li>
<li><b>paramCellHighVoltLimit</b><br> Systemparameter obere Spannungsgrenze (V) einer Zelle </li> <li><b>paramCellHighVoltLimit</b><br> Systemparameter obere Spannungsgrenze (V) einer Zelle </li>
<li><b>paramCellLowVoltLimit</b><br> Systemparameter untere Spannungsgrenze (V) einer Zelle (Alarmgrenze) </li> <li><b>paramCellLowVoltLimit</b><br> Systemparameter untere Spannungsgrenze (V) einer Zelle (Alarmgrenze) </li>
<li><b>paramCellUnderVoltLimit</b><br> Systemparameter Unterspannungsgrenze (V) einer Zelle (Schutzgrenze) </li> <li><b>paramCellUnderVoltLimit</b><br> Systemparameter Unterspannungsgrenze (V) einer Zelle (Schutzgrenze) </li>
<li><b>paramChargeCurrentLimit</b><br> Systemparameter Ladestromgrenze (A) des Batteriemoduls </li> <li><b>paramChargeCurrentLimit</b><br> Systemparameter Ladestromgrenze (A) des Batteriemoduls </li>
<li><b>paramChargeHighTempLimit</b><br> Systemparameter obere Temperaturgrenze (°C) bis zu der die Batterie lädt </li> <li><b>paramChargeHighTempLimit</b><br> Systemparameter obere Temperaturgrenze (°C) bis zu der die Batterie lädt </li>
<li><b>paramChargeLowTempLimit</b><br> Systemparameter untere Temperaturgrenze (°C) bis zu der die Batterie lädt </li> <li><b>paramChargeLowTempLimit</b><br> Systemparameter untere Temperaturgrenze (°C) bis zu der die Batterie lädt </li>
<li><b>paramDischargeCurrentLimit</b><br> Systemparameter Entladestromgrenze (A) des Batteriemoduls </li> <li><b>paramDischargeCurrentLimit</b><br> Systemparameter Entladestromgrenze (A) des Batteriemoduls </li>
<li><b>paramDischargeHighTempLimit</b><br> Systemparameter obere Temperaturgrenze (°C) bis zu der die Batterie entlädt </li> <li><b>paramDischargeHighTempLimit</b><br> Systemparameter obere Temperaturgrenze (°C) bis zu der die Batterie entlädt </li>
<li><b>paramDischargeLowTempLimit</b><br> Systemparameter untere Temperaturgrenze (°C) bis zu der die Batterie entlädt </li> <li><b>paramDischargeLowTempLimit</b><br> Systemparameter untere Temperaturgrenze (°C) bis zu der die Batterie entlädt </li>
<li><b>paramModuleHighVoltLimit</b><br> Systemparameter obere Spannungsgrenze (V) des Batteriemoduls </li> <li><b>paramModuleHighVoltLimit</b><br> Systemparameter obere Spannungsgrenze (V) des Batteriemoduls </li>
<li><b>paramModuleLowVoltLimit</b><br> Systemparameter untere Spannungsgrenze (V) des Batteriemoduls (Alarmgrenze) </li> <li><b>paramModuleLowVoltLimit</b><br> Systemparameter untere Spannungsgrenze (V) des Batteriemoduls (Alarmgrenze) </li>
<li><b>paramModuleUnderVoltLimit</b><br> Systemparameter Unterspannungsgrenze (V) des Batteriemoduls (Schutzgrenze) </li> <li><b>paramModuleUnderVoltLimit</b><br> Systemparameter Unterspannungsgrenze (V) des Batteriemoduls (Schutzgrenze) </li>
<li><b>protocolVersion</b><br> PYLON low voltage RS485 Prokollversion </li> <li><b>protocolVersion</b><br> PYLON low voltage RS485 Prokollversion </li>
<li><b>serialNumber</b><br> Seriennummer </li> <li><b>serialNumber</b><br> Seriennummer </li>
</ul> </ul>
<br><br> <br><br>
=end html_DE =end html_DE