[23_BYDBox] - Modul für BYD Box Battery

Begonnen von MiniBlister, 14 Juni 2021, 18:37:02

Vorheriges Thema - Nächstes Thema

MadMax

#225
Hallo,

mein Log war voll mit diesen Einträgen.
PERL WARNING: Character in 'B' format wrapped in unpack at ./FHEM/23_BYDBox.pm line 239.

Dies ist in der Angehänten VErsion behoben.

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

alf.ele

#226
Hallo,

ich hatte bisher die Version vom 04.04.2023 und habe das Update vom 18.02.2024 eingespielt (da ich die getrennte Lade/Entlade Darstellung gut finde).
Jedoch ist nach shutdown Restart mein Log sehr voll mit Warnungen, fast alles in Bezug auf /FHEM/99_Utils.pm
Hier das Log dazu:

2024.02.22 10:55:22 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/23_BYDBox.pm line 63, <$fh> line 744.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  fix LVS bug, NumberOfModules" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Character in 'C' format wrapped in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  get Data select BMS" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  fix Telegramm BMS 2 / 3" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  read BMS 2 and 3" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  pollingMode add to set" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  add balance_cell flags,fix LVS, Modules => BMS" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  change BMS read call" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  add VoltsperModule (calculated)" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  read all BMS in one reqest" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2022  Changed many logs from 1 to level 4Updated list of..." isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "add Parameter Phase (single, three)" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  new Version, data whit row_arrayread more BMS Valu..." isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  add pollingModecheck Telegrammlenght" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  fix read 5 HVS Modul (Telegramm 10)" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  fix Battery Min/Max Temp" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  get Data select dropdown" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  add LVL test!" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  add SOHread 5 HVS Modulread 2" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument " BMS? test" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  add charged and discharged Energy readings" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2022  remove hvs Prefixadd all cellVoltage & cellTempsad..." isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2021  Initial Version from MiniBlister" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  restructuring, add statistics" isn't numeric in pack at ./FHEM/99_Utils.pm line 252.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  fix LVS bug, NumberOfModules" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Character in 'C' format wrapped in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  get Data select BMS" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  fix Telegramm BMS 2 / 3" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  read BMS 2 and 3" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  pollingMode add to set" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  add balance_cell flags,fix LVS, Modules => BMS" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  change BMS read call" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  add VoltsperModule (calculated)" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  read all BMS in one reqest" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2022  Changed many logs from 1 to level 4Updated list of..." isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "add Parameter Phase (single, three)" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  new Version, data whit row_arrayread more BMS Valu..." isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  add pollingModecheck Telegrammlenght" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  fix read 5 HVS Modul (Telegramm 10)" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  fix Battery Min/Max Temp" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  get Data select dropdown" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  add LVL test!" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  add SOHread 5 HVS Modulread 2" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument " BMS? test" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  add charged and discharged Energy readings" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2022  remove hvs Prefixadd all cellVoltage & cellTempsad..." isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2021  Initial Version from MiniBlister" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.
2024.02.22 10:55:22 1: PERL WARNING: Argument "2023  restructuring, add statistics" isn't numeric in pack at ./FHEM/99_Utils.pm line 256.

Habe die Ursache gefunden.
Zeile 67 hatte ein "Komma" anstatt einem "Punkt"

So sollte es stimmen:

our %BYDBox_vNotesIntern = (
  "0.7.7" => "18.02.2024  fix Character in 'B' format line 239",
  "0.7.6" => "11.02.2024  fix CellNr fore min/max",
  "0.7.5" => "01.01.2024  fix LVS identification, nibble 0 byte 4 BYDBMU_Parameters".
                          "0 says LV System?".
                          "add Parameter Phase (single, three)",
  "0.7.4" => "31.12.2023  fix LVS bug, NumberOfModules",

MadMax

Das schaue im mir morgen mal an. Die Meldungen bekomme ich nicht
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

MadMax

Dies und noch ein kleiner Feler beim Auslesen des CellBalancing behoben  ;)
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

alf.ele

Top, Danke, das Balancing passt jetzt auch bei meiner Anlage mit 2 parallelen Türmen.

MadMax

Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

MadMax

Hier eventuell möchte jemand auch alle Zellen Visualisieren ;)

Du darfst diesen Dateianhang nicht ansehen.
defmod BYD_Cells DOIF ##
attr BYD_Cells alias BYD_Cells
attr BYD_Cells room PV->BYD
attr BYD_Cells uiTable {package ui_Table;;\
\
sub floor_round {\
my ($zahl)=@_;;\
return(POSIX::floor($zahl / 10) * 10) - 10;;\
}\
\
sub ceil_round {\
my ($zahl)=@_;;\
return(POSIX::ceil($zahl / 10) * 10) + 10;;\
}\
\
sub colorBYD {\
my ($zahl)=@_;;\
my $min = 2800;;\
my $max = 3550;;\
my $mid = 3000;;\
my $mid2 = 3400;;\
my $color_green = 120;;\
\
my $num = 0;;\
\
if($zahl >= $mid2 && $zahl < $max)\
{\
$num = $color_green - (($zahl-$mid2)/($max-$mid2) * $color_green);;\
}\
elsif($zahl < $mid)\
{\
$num = (($zahl-$min)/($mid-$min) * $color_green);;\
}\
elsif($zahl >= $mid)\
{\
    $num = $color_green;;\
}\
\
return(POSIX::ceil($num));;\
}\
}\
\
cylinder_bars("BYD Modul 1",floor_round([myBYDBox:Battery_1_MinmVolt]),ceil_round([myBYDBox:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,\
[myBYDBox:Battery_1_VoltsperCell_000],colorBYD([myBYDBox:Battery_1_VoltsperCell_000]),"0",\
[myBYDBox:Battery_1_VoltsperCell_001],colorBYD([myBYDBox:Battery_1_VoltsperCell_001]),"1",\
[myBYDBox:Battery_1_VoltsperCell_002],colorBYD([myBYDBox:Battery_1_VoltsperCell_002]),"2",\
[myBYDBox:Battery_1_VoltsperCell_003],colorBYD([myBYDBox:Battery_1_VoltsperCell_003]),"3",\
[myBYDBox:Battery_1_VoltsperCell_004],colorBYD([myBYDBox:Battery_1_VoltsperCell_004]),"4",\
[myBYDBox:Battery_1_VoltsperCell_005],colorBYD([myBYDBox:Battery_1_VoltsperCell_005]),"5",\
[myBYDBox:Battery_1_VoltsperCell_006],colorBYD([myBYDBox:Battery_1_VoltsperCell_006]),"6",\
[myBYDBox:Battery_1_VoltsperCell_007],colorBYD([myBYDBox:Battery_1_VoltsperCell_007]),"7",\
[myBYDBox:Battery_1_VoltsperCell_008],colorBYD([myBYDBox:Battery_1_VoltsperCell_008]),"8",\
[myBYDBox:Battery_1_VoltsperCell_009],colorBYD([myBYDBox:Battery_1_VoltsperCell_009]),"9",\
[myBYDBox:Battery_1_VoltsperCell_010],colorBYD([myBYDBox:Battery_1_VoltsperCell_010]),"10",\
[myBYDBox:Battery_1_VoltsperCell_011],colorBYD([myBYDBox:Battery_1_VoltsperCell_011]),"11",\
[myBYDBox:Battery_1_VoltsperCell_012],colorBYD([myBYDBox:Battery_1_VoltsperCell_012]),"12",\
[myBYDBox:Battery_1_VoltsperCell_013],colorBYD([myBYDBox:Battery_1_VoltsperCell_013]),"13",\
[myBYDBox:Battery_1_VoltsperCell_014],colorBYD([myBYDBox:Battery_1_VoltsperCell_014]),"14",\
[myBYDBox:Battery_1_VoltsperCell_015],colorBYD([myBYDBox:Battery_1_VoltsperCell_015]),"15") |\
\
cylinder_bars("BYD Modul 2",floor_round([myBYDBox:Battery_1_MinmVolt]),ceil_round([myBYDBox:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,\
[myBYDBox:Battery_1_VoltsperCell_016],colorBYD([myBYDBox:Battery_1_VoltsperCell_016]),"0",\
[myBYDBox:Battery_1_VoltsperCell_017],colorBYD([myBYDBox:Battery_1_VoltsperCell_017]),"1",\
[myBYDBox:Battery_1_VoltsperCell_018],colorBYD([myBYDBox:Battery_1_VoltsperCell_018]),"2",\
[myBYDBox:Battery_1_VoltsperCell_019],colorBYD([myBYDBox:Battery_1_VoltsperCell_019]),"3",\
[myBYDBox:Battery_1_VoltsperCell_020],colorBYD([myBYDBox:Battery_1_VoltsperCell_020]),"4",\
[myBYDBox:Battery_1_VoltsperCell_021],colorBYD([myBYDBox:Battery_1_VoltsperCell_021]),"5",\
[myBYDBox:Battery_1_VoltsperCell_022],colorBYD([myBYDBox:Battery_1_VoltsperCell_022]),"6",\
[myBYDBox:Battery_1_VoltsperCell_023],colorBYD([myBYDBox:Battery_1_VoltsperCell_023]),"7",\
[myBYDBox:Battery_1_VoltsperCell_024],colorBYD([myBYDBox:Battery_1_VoltsperCell_024]),"8",\
[myBYDBox:Battery_1_VoltsperCell_025],colorBYD([myBYDBox:Battery_1_VoltsperCell_025]),"9",\
[myBYDBox:Battery_1_VoltsperCell_026],colorBYD([myBYDBox:Battery_1_VoltsperCell_026]),"10",\
[myBYDBox:Battery_1_VoltsperCell_027],colorBYD([myBYDBox:Battery_1_VoltsperCell_027]),"11",\
[myBYDBox:Battery_1_VoltsperCell_028],colorBYD([myBYDBox:Battery_1_VoltsperCell_028]),"12",\
[myBYDBox:Battery_1_VoltsperCell_029],colorBYD([myBYDBox:Battery_1_VoltsperCell_029]),"13",\
[myBYDBox:Battery_1_VoltsperCell_030],colorBYD([myBYDBox:Battery_1_VoltsperCell_030]),"14",\
[myBYDBox:Battery_1_VoltsperCell_031],colorBYD([myBYDBox:Battery_1_VoltsperCell_031]),"15") |\
\
cylinder_bars("BYD Modul 3",floor_round([myBYDBox:Battery_1_MinmVolt]),ceil_round([myBYDBox:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,\
[myBYDBox:Battery_1_VoltsperCell_032],colorBYD([myBYDBox:Battery_1_VoltsperCell_032]),"0",\
[myBYDBox:Battery_1_VoltsperCell_033],colorBYD([myBYDBox:Battery_1_VoltsperCell_033]),"1",\
[myBYDBox:Battery_1_VoltsperCell_034],colorBYD([myBYDBox:Battery_1_VoltsperCell_034]),"2",\
[myBYDBox:Battery_1_VoltsperCell_035],colorBYD([myBYDBox:Battery_1_VoltsperCell_035]),"3",\
[myBYDBox:Battery_1_VoltsperCell_036],colorBYD([myBYDBox:Battery_1_VoltsperCell_036]),"4",\
[myBYDBox:Battery_1_VoltsperCell_037],colorBYD([myBYDBox:Battery_1_VoltsperCell_037]),"5",\
[myBYDBox:Battery_1_VoltsperCell_038],colorBYD([myBYDBox:Battery_1_VoltsperCell_038]),"6",\
[myBYDBox:Battery_1_VoltsperCell_039],colorBYD([myBYDBox:Battery_1_VoltsperCell_039]),"7",\
[myBYDBox:Battery_1_VoltsperCell_040],colorBYD([myBYDBox:Battery_1_VoltsperCell_040]),"8",\
[myBYDBox:Battery_1_VoltsperCell_041],colorBYD([myBYDBox:Battery_1_VoltsperCell_041]),"9",\
[myBYDBox:Battery_1_VoltsperCell_042],colorBYD([myBYDBox:Battery_1_VoltsperCell_042]),"10",\
[myBYDBox:Battery_1_VoltsperCell_043],colorBYD([myBYDBox:Battery_1_VoltsperCell_043]),"11",\
[myBYDBox:Battery_1_VoltsperCell_044],colorBYD([myBYDBox:Battery_1_VoltsperCell_044]),"12",\
[myBYDBox:Battery_1_VoltsperCell_045],colorBYD([myBYDBox:Battery_1_VoltsperCell_045]),"13",\
[myBYDBox:Battery_1_VoltsperCell_046],colorBYD([myBYDBox:Battery_1_VoltsperCell_046]),"14",\
[myBYDBox:Battery_1_VoltsperCell_047],colorBYD([myBYDBox:Battery_1_VoltsperCell_047]),"15") |\
\
cylinder_bars("BYD Modul 4",floor_round([myBYDBox:Battery_1_MinmVolt]),ceil_round([myBYDBox:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,\
[myBYDBox:Battery_1_VoltsperCell_048],colorBYD([myBYDBox:Battery_1_VoltsperCell_048]),"0",\
[myBYDBox:Battery_1_VoltsperCell_049],colorBYD([myBYDBox:Battery_1_VoltsperCell_049]),"1",\
[myBYDBox:Battery_1_VoltsperCell_050],colorBYD([myBYDBox:Battery_1_VoltsperCell_050]),"2",\
[myBYDBox:Battery_1_VoltsperCell_051],colorBYD([myBYDBox:Battery_1_VoltsperCell_051]),"3",\
[myBYDBox:Battery_1_VoltsperCell_052],colorBYD([myBYDBox:Battery_1_VoltsperCell_052]),"4",\
[myBYDBox:Battery_1_VoltsperCell_053],colorBYD([myBYDBox:Battery_1_VoltsperCell_053]),"5",\
[myBYDBox:Battery_1_VoltsperCell_054],colorBYD([myBYDBox:Battery_1_VoltsperCell_054]),"6",\
[myBYDBox:Battery_1_VoltsperCell_055],colorBYD([myBYDBox:Battery_1_VoltsperCell_055]),"7",\
[myBYDBox:Battery_1_VoltsperCell_056],colorBYD([myBYDBox:Battery_1_VoltsperCell_056]),"8",\
[myBYDBox:Battery_1_VoltsperCell_057],colorBYD([myBYDBox:Battery_1_VoltsperCell_057]),"9",\
[myBYDBox:Battery_1_VoltsperCell_058],colorBYD([myBYDBox:Battery_1_VoltsperCell_058]),"10",\
[myBYDBox:Battery_1_VoltsperCell_059],colorBYD([myBYDBox:Battery_1_VoltsperCell_059]),"11",\
[myBYDBox:Battery_1_VoltsperCell_060],colorBYD([myBYDBox:Battery_1_VoltsperCell_060]),"12",\
[myBYDBox:Battery_1_VoltsperCell_061],colorBYD([myBYDBox:Battery_1_VoltsperCell_061]),"13",\
[myBYDBox:Battery_1_VoltsperCell_062],colorBYD([myBYDBox:Battery_1_VoltsperCell_062]),"14",\
[myBYDBox:Battery_1_VoltsperCell_063],colorBYD([myBYDBox:Battery_1_VoltsperCell_063]),"15") |\
\
cylinder_bars("BYD Modul 5",floor_round([myBYDBox:Battery_1_MinmVolt]),ceil_round([myBYDBox:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,\
[myBYDBox:Battery_1_VoltsperCell_064],colorBYD([myBYDBox:Battery_1_VoltsperCell_064]),"0",\
[myBYDBox:Battery_1_VoltsperCell_065],colorBYD([myBYDBox:Battery_1_VoltsperCell_065]),"1",\
[myBYDBox:Battery_1_VoltsperCell_066],colorBYD([myBYDBox:Battery_1_VoltsperCell_066]),"2",\
[myBYDBox:Battery_1_VoltsperCell_067],colorBYD([myBYDBox:Battery_1_VoltsperCell_067]),"3",\
[myBYDBox:Battery_1_VoltsperCell_068],colorBYD([myBYDBox:Battery_1_VoltsperCell_068]),"4",\
[myBYDBox:Battery_1_VoltsperCell_069],colorBYD([myBYDBox:Battery_1_VoltsperCell_069]),"5",\
[myBYDBox:Battery_1_VoltsperCell_070],colorBYD([myBYDBox:Battery_1_VoltsperCell_070]),"6",\
[myBYDBox:Battery_1_VoltsperCell_071],colorBYD([myBYDBox:Battery_1_VoltsperCell_071]),"7",\
[myBYDBox:Battery_1_VoltsperCell_072],colorBYD([myBYDBox:Battery_1_VoltsperCell_072]),"8",\
[myBYDBox:Battery_1_VoltsperCell_073],colorBYD([myBYDBox:Battery_1_VoltsperCell_073]),"9",\
[myBYDBox:Battery_1_VoltsperCell_074],colorBYD([myBYDBox:Battery_1_VoltsperCell_074]),"10",\
[myBYDBox:Battery_1_VoltsperCell_075],colorBYD([myBYDBox:Battery_1_VoltsperCell_075]),"11",\
[myBYDBox:Battery_1_VoltsperCell_076],colorBYD([myBYDBox:Battery_1_VoltsperCell_076]),"12",\
[myBYDBox:Battery_1_VoltsperCell_077],colorBYD([myBYDBox:Battery_1_VoltsperCell_077]),"13",\
[myBYDBox:Battery_1_VoltsperCell_078],colorBYD([myBYDBox:Battery_1_VoltsperCell_078]),"14",\
[myBYDBox:Battery_1_VoltsperCell_079],colorBYD([myBYDBox:Battery_1_VoltsperCell_079]),"15") |\
\
cylinder_bars("BYD Modul 6",floor_round([myBYDBox:Battery_1_MinmVolt]),ceil_round([myBYDBox:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,\
[myBYDBox:Battery_1_VoltsperCell_080],colorBYD([myBYDBox:Battery_1_VoltsperCell_080]),"0",\
[myBYDBox:Battery_1_VoltsperCell_081],colorBYD([myBYDBox:Battery_1_VoltsperCell_081]),"1",\
[myBYDBox:Battery_1_VoltsperCell_082],colorBYD([myBYDBox:Battery_1_VoltsperCell_082]),"2",\
[myBYDBox:Battery_1_VoltsperCell_083],colorBYD([myBYDBox:Battery_1_VoltsperCell_083]),"3",\
[myBYDBox:Battery_1_VoltsperCell_084],colorBYD([myBYDBox:Battery_1_VoltsperCell_084]),"4",\
[myBYDBox:Battery_1_VoltsperCell_085],colorBYD([myBYDBox:Battery_1_VoltsperCell_085]),"5",\
[myBYDBox:Battery_1_VoltsperCell_086],colorBYD([myBYDBox:Battery_1_VoltsperCell_086]),"6",\
[myBYDBox:Battery_1_VoltsperCell_087],colorBYD([myBYDBox:Battery_1_VoltsperCell_087]),"7",\
[myBYDBox:Battery_1_VoltsperCell_088],colorBYD([myBYDBox:Battery_1_VoltsperCell_088]),"8",\
[myBYDBox:Battery_1_VoltsperCell_089],colorBYD([myBYDBox:Battery_1_VoltsperCell_089]),"9",\
[myBYDBox:Battery_1_VoltsperCell_090],colorBYD([myBYDBox:Battery_1_VoltsperCell_090]),"10",\
[myBYDBox:Battery_1_VoltsperCell_091],colorBYD([myBYDBox:Battery_1_VoltsperCell_091]),"11",\
[myBYDBox:Battery_1_VoltsperCell_092],colorBYD([myBYDBox:Battery_1_VoltsperCell_092]),"12",\
[myBYDBox:Battery_1_VoltsperCell_093],colorBYD([myBYDBox:Battery_1_VoltsperCell_093]),"13",\
[myBYDBox:Battery_1_VoltsperCell_094],colorBYD([myBYDBox:Battery_1_VoltsperCell_094]),"14",\
[myBYDBox:Battery_1_VoltsperCell_095],colorBYD([myBYDBox:Battery_1_VoltsperCell_095]),"15") |\
\
cylinder_bars("BYD Modul 7",floor_round([myBYDBox:Battery_1_MinmVolt]),ceil_round([myBYDBox:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,\
[myBYDBox:Battery_1_VoltsperCell_096],colorBYD([myBYDBox:Battery_1_VoltsperCell_096]),"0",\
[myBYDBox:Battery_1_VoltsperCell_097],colorBYD([myBYDBox:Battery_1_VoltsperCell_097]),"1",\
[myBYDBox:Battery_1_VoltsperCell_098],colorBYD([myBYDBox:Battery_1_VoltsperCell_098]),"2",\
[myBYDBox:Battery_1_VoltsperCell_099],colorBYD([myBYDBox:Battery_1_VoltsperCell_099]),"3",\
[myBYDBox:Battery_1_VoltsperCell_100],colorBYD([myBYDBox:Battery_1_VoltsperCell_100]),"4",\
[myBYDBox:Battery_1_VoltsperCell_101],colorBYD([myBYDBox:Battery_1_VoltsperCell_101]),"5",\
[myBYDBox:Battery_1_VoltsperCell_102],colorBYD([myBYDBox:Battery_1_VoltsperCell_102]),"6",\
[myBYDBox:Battery_1_VoltsperCell_103],colorBYD([myBYDBox:Battery_1_VoltsperCell_103]),"7",\
[myBYDBox:Battery_1_VoltsperCell_104],colorBYD([myBYDBox:Battery_1_VoltsperCell_104]),"8",\
[myBYDBox:Battery_1_VoltsperCell_105],colorBYD([myBYDBox:Battery_1_VoltsperCell_105]),"9",\
[myBYDBox:Battery_1_VoltsperCell_106],colorBYD([myBYDBox:Battery_1_VoltsperCell_106]),"10",\
[myBYDBox:Battery_1_VoltsperCell_107],colorBYD([myBYDBox:Battery_1_VoltsperCell_107]),"11",\
[myBYDBox:Battery_1_VoltsperCell_108],colorBYD([myBYDBox:Battery_1_VoltsperCell_108]),"12",\
[myBYDBox:Battery_1_VoltsperCell_109],colorBYD([myBYDBox:Battery_1_VoltsperCell_109]),"13",\
[myBYDBox:Battery_1_VoltsperCell_110],colorBYD([myBYDBox:Battery_1_VoltsperCell_110]),"14",\
[myBYDBox:Battery_1_VoltsperCell_111],colorBYD([myBYDBox:Battery_1_VoltsperCell_111]),"15")\

Du darfst diesen Dateianhang nicht ansehen.
defmod BYD.Box_viev DOIF ##
attr BYD.Box_viev alias BYD.Box_viev
attr BYD.Box_viev room PV->BYD,PV->Stromversorgung
attr BYD.Box_viev uiTable {package ui_Table;;}\
"BYDB-Box"| ring2([myBYDBox:BatteryPower],-6000,6000,120,0,"W",200,[(0,120,500,90,6000,60)],"1,font-weight:normal",[myBYDBox:Battery_1_SOC],0,100,0,120,"%",undef,"1,font-weight:normal",undef,undef,"0,,1,0,1") |\
ring2([myBYDBox:BatteryCurrent],-20,20,120,0,"A",200,undef,"1,font-weight:normal",[myBYDBox:BatteryOutVoltage],300,400,0,120,"V",undef,"1,font-weight:normal",undef,undef,"0,,,0,1") |\
ring2([myBYDBox:Battery_1_MaxmVolt],2800,3500,120,0,"mV",200,undef,"1,font-weight:normal",[myBYDBox:Battery_1_MinmVolt],2800,3500,0,120,"mV",undef,"1,font-weight:normal") |\
ring2([myBYDBox:BatteryMaxTemp],10,30,120,0,"°C",200,undef,"1,font-weight:normal",[myBYDBox:BatteryMinTemp],10,30,0,120,"°C",undef,"1,font-weight:normal")

Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

alf.ele

Danke für die Code Beispiele zu den RING2 Diagrammen.
Meine Frage dazu ist zwar leicht off-topic.
Wie schaffe ich es diese RING Diagramme näher aneinander zu platzieren, so dass mehr als 2 angezeigt werden?
Im Style f18 kommen immer nur 1 Text und ein Ring oder maximal 2 Ringe (am Android Smartphone) in der Standardansicht (hochkant) vom Phone.
Wenn ich es drehe passen alle 4 in den gleichen Bereich und werden näher platziert. Ich hatte schon Größe der Ringe und $TC{0..4}="align='left' ausprobiert aber es ändert sich nichts. in anderen Styles werden immer alle 4 Elemente angezeigt.
Irgendeine Idee? Irgendetwas zu {package ui_Table;;}
Screenshots sind einmal hochkant und einmal gedreht

MadMax

Ich glaube die werden auf die Bildschirmbreite verteilt?
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

alf.ele

#234
Habe es gefunden in den Einstellungen zu f18
"Show all columns in portrait mode" muss aktiviert sein :-)

PSI69

Moin zusammen!
Schönes Modul! Installiert und macht was es soll.
Danke für die super Arbeit!
Peter
FHEM auf RPi 5 unter Bookworm mit inzwischen einem ganzen Zoo von Geräten...

airfish

#236
HVM, 4 Module, Speicher gestern aufgestellt, aber Wechselrichter (Fronius) noch ohne Spannung.
BMUFirmwareVersion: V3.23-B
BMSFirmwareVersion: V3.28-B
23_BYDBox.pm:v0.7.7-s26624/2024-02-20

config:
define myBYDBox BYDBox 192.168.16.254 60
attr myBYDBox room PV Speicher
attr myBYDBox verbose 5

HVM über LAN angebunden, Route in Fritzbox ergänzt
Abfrage in FHEM ing einmal mit Readings, allerdings ohne Zellspannungen.
Über B-Connect 2 unter Win bekomme ich die Daten
Fehlermeldung in FHEM: state
   
Error: Error BYDCell_values1: 5
   
Einmal kamen "Korrekte" Werte, aber jetzt gar nichts mehr, egal was ich versuche.

"Korrekte Readings":
2024-04-19_21:26:57 myBYDBox BMUFirmwareVersion: V3.23-B
2024-04-19_21:26:57 myBYDBox BMSFirmwareVersion: V3.28-B
2024-04-19_21:26:57 myBYDBox BMSConfig: Off Grid
2024-04-19_21:26:57 myBYDBox SOC: 29
2024-04-19_21:26:57 myBYDBox SOH: 100
2024-04-19_21:26:57 myBYDBox BatteryMaxVolt: 3.27
2024-04-19_21:26:57 myBYDBox BatteryMinVolt: 3.25
2024-04-19_21:26:57 myBYDBox BatteryCurrent: 0
2024-04-19_21:26:57 myBYDBox BatteryVolt: 208.9
2024-04-19_21:26:57 myBYDBox BatteryMaxTemp: 22
2024-04-19_21:26:57 myBYDBox BatteryMinTemp: 21
2024-04-19_21:26:57 myBYDBox BatteryTemp: 21
2024-04-19_21:26:57 myBYDBox Error: 0
2024-04-19_21:26:57 myBYDBox ParamT: 14.1
2024-04-19_21:26:57 myBYDBox BatteryOutVoltage: 0
2024-04-19_21:26:57 myBYDBox BatteryPower: 0.00
2024-04-19_21:26:57 myBYDBox CellDiffVoltage: 0.02
2024-04-19_21:26:57 myBYDBox ErrorMsg: no Error
2024-04-19_21:26:57 myBYDBox Phase: Single
2024-04-19_21:26:57 myBYDBox NumberOfBMS: 1
2024-04-19_21:26:57 myBYDBox NumberOfModules: 4
2024-04-19_21:26:57 myBYDBox BatteryType: HVM
2024-04-19_21:26:57 myBYDBox BatteryTypeV: HV
2024-04-19_21:26:57 myBYDBox InverterType: Fronius HV
2024-04-19_21:26:57 myBYDBox BatteryNumCells: 64
2024-04-19_21:26:57 myBYDBox BatteryNumTemps: 32
2024-04-19_21:26:57 myBYDBox Battery_1_ChargeE: 9217
2024-04-19_21:26:57 myBYDBox Battery_1_ChargeE_today: 0
2024-04-19_21:26:57 myBYDBox Battery_1_DischargeE: 8501
2024-04-19_21:26:57 myBYDBox Battery_1_DischargeE_today: 0
2024-04-19_21:26:57 myBYDBox Battery_1_MaxmVolt: 3275
2024-04-19_21:26:57 myBYDBox Battery_1_MinmVolt: 3258
2024-04-19_21:26:57 myBYDBox Battery_1_MaxmVoltCellNr: 4
2024-04-19_21:26:57 myBYDBox Battery_1_MinmVoltCellNr: 5
2024-04-19_21:26:57 myBYDBox Battery_1_MaxTempCellNr: 0
2024-04-19_21:26:57 myBYDBox Battery_1_MaxTempCell: 22
2024-04-19_21:26:57 myBYDBox Battery_1_MinTempCellNr: 21
2024-04-19_21:26:57 myBYDBox Battery_1_MinTempCell: 21
2024-04-19_21:26:57 myBYDBox Battery_1_CellDiffmVoltage: 17
2024-04-19_21:26:57 myBYDBox Battery_1_SOC: 29.9
2024-04-19_21:26:57 myBYDBox Battery_1_SOH: 100
2024-04-19_21:26:57 myBYDBox Battery_1_OutVoltage: 0
2024-04-19_21:26:57 myBYDBox Battery_1_Current: 0


Jetzt nur noch das:
2024-04-19_22:55:46 myBYDBox connected
2024-04-19_22:55:50 myBYDBox Error: Error BYDCell_values1: 5

Bin etwas ratlos....

Komisch, jetzt gehts wieder....
Hing das interface eventuell.... ?
Du darfst diesen Dateianhang nicht ansehen.

MadMax

Der fehler bedeutet das das die Länge von dem Datentelegramm BYDCell_values1 nicht die 135Byte lang ist, in denem Fall nur 5 Byte.
Ich denke da hatte dine BMU keine lust daten zu liefern.
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

MadMax

Hallo,

im Anhang die Version V0.8.0, hier werden jetzt zusätzlich noch die beiden Statusworte vom BMS ausgelesen.
Danke dafür an olli_at_work vom PV-Forum.

Folgende informationen werden jetzt aus jedem BMS gelesen.
Akkuspannung hoch
Akkuspannung zu niedrig
Zellspannung hoch
Zellspannung zu niedrig
Zell-Balance schlecht
Ladeleistung wg. hoher Temperatur reduziert
Ladeleistung wg. niedriger Temperatur reduziert
Entladeleistung wg. hoher Temperatur reduziert
Entladeleistung wg. niedriger Temperatur reduziert
Zu hoher Ladestrom (Zellen)
Zu hoher Entladestrom (Zellen)
Zu hoher Ladestrom (BCU)
Kurzschluss
Polaritätsfehler
Interlock-Fehler
Sicherung defekt
Ladeleistung aus (wg Ladestopp)

Über das Attribut "status-readings" können für die Meldungen Readings Angelegt werden (zum Logging).
Im Klartext werden alle Meldungen in das Reading Battery_X_Status geschrieben.

Für die Errormeldungen habe ich das Attribut "error-readings" hinzugefügt, die funktioniert wir das "status-readings" Attribut.

Viel Spass und Grüße
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

MadMax

Hallo Zusammen,

hier noch die überarbeitetet DOIFs wenne s jemand nutzen möchte.

Du darfst diesen Dateianhang nicht ansehen.
{package ui_Table;}
"myBYDBox"| ring2([myBYDBox:BatteryPower],-6000,6000,120,0,"W",200,[(0,120,500,90,6000,60)],"1,font-weight:normal",[myBYDBox:Battery_1_SOC],0,100,0,120,"%",undef,"1,font-weight:normal",undef,undef,"0,,1,0,1") |
ring2([myBYDBox:BatteryCurrent],-20,20,120,0,"A",200,undef,"1,font-weight:normal",[myBYDBox:BatteryOutVoltage],300,400,0,120,"V",undef,"1,font-weight:normal",undef,undef,"0,,,0,1") |
ring2([myBYDBox:Battery_1_MaxmVolt],2800,3500,120,0,"mV",200,undef,"1,font-weight:normal",[myBYDBox:Battery_1_MinmVolt],2800,3500,0,120,"mV",undef,"1,font-weight:normal") |
ring2([myBYDBox:BatteryMaxTemp],10,30,120,0,"°C",200,undef,"1,font-weight:normal",[myBYDBox:BatteryMinTemp],10,30,0,120,"°C",undef,"1,font-weight:normal")|

ICON("time_statistic\@".([myBYDBox:Battery_1_Balancing] == "0" ? "white":"blue")),
ICON("message_tendency_upward\@".([myBYDBox:Battery_1_S_cellsvoltage_high] == "0" ? "white":"orange")),
ICON("message_tendency_downward\@".([myBYDBox:Battery_1_S_cellsvoltage_low] == "0" ? "white":"orange"))|
ICON("message_attention\@".([myBYDBox:Battery_1_S_charging_stop] == "0" ? "white":"orange")),
ICON("measure_battery_100\@".([myBYDBox:Battery_1_S_batteryvoltage_high] == "0" ? "white":"orange")),
ICON("measure_battery_0\@".([myBYDBox:Battery_1_S_batteryvoltage_low] == "0" ? "white":"orange"))|
ICON("message_attention\@".([myBYDBox:Error] == "0" ? "white":"red")),
[myBYDBox:ErrorMsg],
ICON("message_attention\@".([myBYDBox:Battery_1_Status] == "" ? "white":"orange")),
[myBYDBox:Battery_1_Status]

"myBYDBox_HVS"| ring2([myBYDBox_HVS:BatteryPower],-2200,2200,120,0,"W",200,[(0,120,500,90,2200,60)],"1,font-weight:normal",[myBYDBox_HVS:Battery_1_SOC],0,100,0,120,"%",undef,"1,font-weight:normal",undef,undef,"0,,1,0,1") |
ring2([myBYDBox_HVS:BatteryCurrent],-10,10,120,0,"A",200,undef,"1,font-weight:normal",[myBYDBox_HVS:BatteryOutVoltage],200,230,0,120,"V",undef,"1,font-weight:normal",undef,undef,"0,,,0,1") |
ring2([myBYDBox_HVS:Battery_1_MaxmVolt],2800,3500,120,0,"mV",200,undef,"1,font-weight:normal",[myBYDBox_HVS:Battery_1_MinmVolt],2800,3500,0,120,"mV",undef,"1,font-weight:normal") |
ring2([myBYDBox_HVS:BatteryMaxTemp],10,30,120,0,"°C",200,undef,"1,font-weight:normal",[myBYDBox_HVS:BatteryMinTemp],10,30,0,120,"°C",undef,"1,font-weight:normal")|

ICON("time_statistic\@".([myBYDBox_HVS:Battery_1_Balancing] == "0" ? "white":"blue")),
ICON("message_tendency_upward\@".([myBYDBox_HVS:Battery_1_S_cellsvoltage_high] == "0" ? "white":"orange")),
ICON("message_tendency_downward\@".([myBYDBox_HVS:Battery_1_S_cellsvoltage_low] == "0" ? "white":"orange"))|
ICON("message_attention\@".([myBYDBox_HVS:Battery_1_S_charging_stop] == "0" ? "white":"orange")),
ICON("measure_battery_100\@".([myBYDBox_HVS:Battery_1_S_batteryvoltage_high] == "0" ? "white":"orange")),
ICON("measure_battery_0\@".([myBYDBox_HVS:Battery_1_S_batteryvoltage_low] == "0" ? "white":"orange"))|
ICON("message_attention\@".([myBYDBox_HVS:Error] == "0" ? "white":"red")),
[myBYDBox_HVS:ErrorMsg],
ICON("message_attention\@".([myBYDBox_HVS:Battery_1_Status] == "" ? "white":"orange")),
[myBYDBox_HVS:Battery_1_Status]

Blaue Zellen werden gebalanct.
Du darfst diesen Dateianhang nicht ansehen.
{package ui_Table;

sub floor_round {
my ($zahl)=@_;
return(POSIX::floor($zahl / 10) * 10) - 10;
}

sub ceil_round {
my ($zahl)=@_;
return(POSIX::ceil($zahl / 10) * 10) + 10;
}

sub colorBYD {
my ($zahl,$balance)=@_;
my $min = 2800;
my $max = 3550;
my $mid = 3000;
my $mid2 = 3400;
my $color_green = 120;

my $num = 0;

if($balance == 1)
{
    $num = 200;
}
elsif($zahl >= $mid2 && $zahl < $max)
{
    $num = $color_green - (($zahl-$mid2)/($max-$mid2) * $color_green);
}
elsif($zahl < $mid)
{
    $num = (($zahl-$min)/($mid-$min) * $color_green);
}
elsif($zahl >= $mid && $zahl < $max)
{
    $num = $color_green;
}


return(POSIX::ceil($num));
}
}

cylinder_bars("BYD HVM Modul 1",floor_round([myBYDBox:Battery_1_MinmVolt]),ceil_round([myBYDBox:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,
[myBYDBox:Battery_1_VoltsperCell_000],colorBYD([myBYDBox:Battery_1_VoltsperCell_000],[myBYDBox:Battery_1_BalancingCell_000]),"0",
[myBYDBox:Battery_1_VoltsperCell_001],colorBYD([myBYDBox:Battery_1_VoltsperCell_001],[myBYDBox:Battery_1_BalancingCell_001]),"1",
[myBYDBox:Battery_1_VoltsperCell_002],colorBYD([myBYDBox:Battery_1_VoltsperCell_002],[myBYDBox:Battery_1_BalancingCell_002]),"2",
[myBYDBox:Battery_1_VoltsperCell_003],colorBYD([myBYDBox:Battery_1_VoltsperCell_003],[myBYDBox:Battery_1_BalancingCell_003]),"3",
[myBYDBox:Battery_1_VoltsperCell_004],colorBYD([myBYDBox:Battery_1_VoltsperCell_004],[myBYDBox:Battery_1_BalancingCell_004]),"4",
[myBYDBox:Battery_1_VoltsperCell_005],colorBYD([myBYDBox:Battery_1_VoltsperCell_005],[myBYDBox:Battery_1_BalancingCell_005]),"5",
[myBYDBox:Battery_1_VoltsperCell_006],colorBYD([myBYDBox:Battery_1_VoltsperCell_006],[myBYDBox:Battery_1_BalancingCell_006]),"6",
[myBYDBox:Battery_1_VoltsperCell_007],colorBYD([myBYDBox:Battery_1_VoltsperCell_007],[myBYDBox:Battery_1_BalancingCell_007]),"7",
[myBYDBox:Battery_1_VoltsperCell_008],colorBYD([myBYDBox:Battery_1_VoltsperCell_008],[myBYDBox:Battery_1_BalancingCell_008]),"8",
[myBYDBox:Battery_1_VoltsperCell_009],colorBYD([myBYDBox:Battery_1_VoltsperCell_009],[myBYDBox:Battery_1_BalancingCell_009]),"9",
[myBYDBox:Battery_1_VoltsperCell_010],colorBYD([myBYDBox:Battery_1_VoltsperCell_010],[myBYDBox:Battery_1_BalancingCell_010]),"10",
[myBYDBox:Battery_1_VoltsperCell_011],colorBYD([myBYDBox:Battery_1_VoltsperCell_011],[myBYDBox:Battery_1_BalancingCell_011]),"11",
[myBYDBox:Battery_1_VoltsperCell_012],colorBYD([myBYDBox:Battery_1_VoltsperCell_012],[myBYDBox:Battery_1_BalancingCell_012]),"12",
[myBYDBox:Battery_1_VoltsperCell_013],colorBYD([myBYDBox:Battery_1_VoltsperCell_013],[myBYDBox:Battery_1_BalancingCell_013]),"13",
[myBYDBox:Battery_1_VoltsperCell_014],colorBYD([myBYDBox:Battery_1_VoltsperCell_014],[myBYDBox:Battery_1_BalancingCell_014]),"14",
[myBYDBox:Battery_1_VoltsperCell_015],colorBYD([myBYDBox:Battery_1_VoltsperCell_015],[myBYDBox:Battery_1_BalancingCell_015]),"15") |

cylinder_bars("BYD HVM Modul 2",floor_round([myBYDBox:Battery_1_MinmVolt]),ceil_round([myBYDBox:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,
[myBYDBox:Battery_1_VoltsperCell_016],colorBYD([myBYDBox:Battery_1_VoltsperCell_016],[myBYDBox:Battery_1_BalancingCell_016]),"0",
[myBYDBox:Battery_1_VoltsperCell_017],colorBYD([myBYDBox:Battery_1_VoltsperCell_017],[myBYDBox:Battery_1_BalancingCell_017]),"1",
[myBYDBox:Battery_1_VoltsperCell_018],colorBYD([myBYDBox:Battery_1_VoltsperCell_018],[myBYDBox:Battery_1_BalancingCell_018]),"2",
[myBYDBox:Battery_1_VoltsperCell_019],colorBYD([myBYDBox:Battery_1_VoltsperCell_019],[myBYDBox:Battery_1_BalancingCell_019]),"3",
[myBYDBox:Battery_1_VoltsperCell_020],colorBYD([myBYDBox:Battery_1_VoltsperCell_020],[myBYDBox:Battery_1_BalancingCell_020]),"4",
[myBYDBox:Battery_1_VoltsperCell_021],colorBYD([myBYDBox:Battery_1_VoltsperCell_021],[myBYDBox:Battery_1_BalancingCell_021]),"5",
[myBYDBox:Battery_1_VoltsperCell_022],colorBYD([myBYDBox:Battery_1_VoltsperCell_022],[myBYDBox:Battery_1_BalancingCell_022]),"6",
[myBYDBox:Battery_1_VoltsperCell_023],colorBYD([myBYDBox:Battery_1_VoltsperCell_023],[myBYDBox:Battery_1_BalancingCell_023]),"7",
[myBYDBox:Battery_1_VoltsperCell_024],colorBYD([myBYDBox:Battery_1_VoltsperCell_024],[myBYDBox:Battery_1_BalancingCell_024]),"8",
[myBYDBox:Battery_1_VoltsperCell_025],colorBYD([myBYDBox:Battery_1_VoltsperCell_025],[myBYDBox:Battery_1_BalancingCell_025]),"9",
[myBYDBox:Battery_1_VoltsperCell_026],colorBYD([myBYDBox:Battery_1_VoltsperCell_026],[myBYDBox:Battery_1_BalancingCell_026]),"10",
[myBYDBox:Battery_1_VoltsperCell_027],colorBYD([myBYDBox:Battery_1_VoltsperCell_027],[myBYDBox:Battery_1_BalancingCell_027]),"11",
[myBYDBox:Battery_1_VoltsperCell_028],colorBYD([myBYDBox:Battery_1_VoltsperCell_028],[myBYDBox:Battery_1_BalancingCell_028]),"12",
[myBYDBox:Battery_1_VoltsperCell_029],colorBYD([myBYDBox:Battery_1_VoltsperCell_029],[myBYDBox:Battery_1_BalancingCell_029]),"13",
[myBYDBox:Battery_1_VoltsperCell_030],colorBYD([myBYDBox:Battery_1_VoltsperCell_030],[myBYDBox:Battery_1_BalancingCell_030]),"14",
[myBYDBox:Battery_1_VoltsperCell_031],colorBYD([myBYDBox:Battery_1_VoltsperCell_031],[myBYDBox:Battery_1_BalancingCell_031]),"15") |

cylinder_bars("BYD HVM Modul 3",floor_round([myBYDBox:Battery_1_MinmVolt]),ceil_round([myBYDBox:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,
[myBYDBox:Battery_1_VoltsperCell_032],colorBYD([myBYDBox:Battery_1_VoltsperCell_032],[myBYDBox:Battery_1_BalancingCell_032]),"0",
[myBYDBox:Battery_1_VoltsperCell_033],colorBYD([myBYDBox:Battery_1_VoltsperCell_033],[myBYDBox:Battery_1_BalancingCell_033]),"1",
[myBYDBox:Battery_1_VoltsperCell_034],colorBYD([myBYDBox:Battery_1_VoltsperCell_034],[myBYDBox:Battery_1_BalancingCell_034]),"2",
[myBYDBox:Battery_1_VoltsperCell_035],colorBYD([myBYDBox:Battery_1_VoltsperCell_035],[myBYDBox:Battery_1_BalancingCell_035]),"3",
[myBYDBox:Battery_1_VoltsperCell_036],colorBYD([myBYDBox:Battery_1_VoltsperCell_036],[myBYDBox:Battery_1_BalancingCell_036]),"4",
[myBYDBox:Battery_1_VoltsperCell_037],colorBYD([myBYDBox:Battery_1_VoltsperCell_037],[myBYDBox:Battery_1_BalancingCell_037]),"5",
[myBYDBox:Battery_1_VoltsperCell_038],colorBYD([myBYDBox:Battery_1_VoltsperCell_038],[myBYDBox:Battery_1_BalancingCell_038]),"6",
[myBYDBox:Battery_1_VoltsperCell_039],colorBYD([myBYDBox:Battery_1_VoltsperCell_039],[myBYDBox:Battery_1_BalancingCell_039]),"7",
[myBYDBox:Battery_1_VoltsperCell_040],colorBYD([myBYDBox:Battery_1_VoltsperCell_040],[myBYDBox:Battery_1_BalancingCell_040]),"8",
[myBYDBox:Battery_1_VoltsperCell_041],colorBYD([myBYDBox:Battery_1_VoltsperCell_041],[myBYDBox:Battery_1_BalancingCell_041]),"9",
[myBYDBox:Battery_1_VoltsperCell_042],colorBYD([myBYDBox:Battery_1_VoltsperCell_042],[myBYDBox:Battery_1_BalancingCell_042]),"10",
[myBYDBox:Battery_1_VoltsperCell_043],colorBYD([myBYDBox:Battery_1_VoltsperCell_043],[myBYDBox:Battery_1_BalancingCell_043]),"11",
[myBYDBox:Battery_1_VoltsperCell_044],colorBYD([myBYDBox:Battery_1_VoltsperCell_044],[myBYDBox:Battery_1_BalancingCell_044]),"12",
[myBYDBox:Battery_1_VoltsperCell_045],colorBYD([myBYDBox:Battery_1_VoltsperCell_045],[myBYDBox:Battery_1_BalancingCell_045]),"13",
[myBYDBox:Battery_1_VoltsperCell_046],colorBYD([myBYDBox:Battery_1_VoltsperCell_046],[myBYDBox:Battery_1_BalancingCell_046]),"14",
[myBYDBox:Battery_1_VoltsperCell_047],colorBYD([myBYDBox:Battery_1_VoltsperCell_047],[myBYDBox:Battery_1_BalancingCell_047]),"15") |

cylinder_bars("BYD HVM Modul 4",floor_round([myBYDBox:Battery_1_MinmVolt]),ceil_round([myBYDBox:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,
[myBYDBox:Battery_1_VoltsperCell_048],colorBYD([myBYDBox:Battery_1_VoltsperCell_048],[myBYDBox:Battery_1_BalancingCell_048]),"0",
[myBYDBox:Battery_1_VoltsperCell_049],colorBYD([myBYDBox:Battery_1_VoltsperCell_049],[myBYDBox:Battery_1_BalancingCell_049]),"1",
[myBYDBox:Battery_1_VoltsperCell_050],colorBYD([myBYDBox:Battery_1_VoltsperCell_050],[myBYDBox:Battery_1_BalancingCell_050]),"2",
[myBYDBox:Battery_1_VoltsperCell_051],colorBYD([myBYDBox:Battery_1_VoltsperCell_051],[myBYDBox:Battery_1_BalancingCell_051]),"3",
[myBYDBox:Battery_1_VoltsperCell_052],colorBYD([myBYDBox:Battery_1_VoltsperCell_052],[myBYDBox:Battery_1_BalancingCell_052]),"4",
[myBYDBox:Battery_1_VoltsperCell_053],colorBYD([myBYDBox:Battery_1_VoltsperCell_053],[myBYDBox:Battery_1_BalancingCell_053]),"5",
[myBYDBox:Battery_1_VoltsperCell_054],colorBYD([myBYDBox:Battery_1_VoltsperCell_054],[myBYDBox:Battery_1_BalancingCell_054]),"6",
[myBYDBox:Battery_1_VoltsperCell_055],colorBYD([myBYDBox:Battery_1_VoltsperCell_055],[myBYDBox:Battery_1_BalancingCell_055]),"7",
[myBYDBox:Battery_1_VoltsperCell_056],colorBYD([myBYDBox:Battery_1_VoltsperCell_056],[myBYDBox:Battery_1_BalancingCell_056]),"8",
[myBYDBox:Battery_1_VoltsperCell_057],colorBYD([myBYDBox:Battery_1_VoltsperCell_057],[myBYDBox:Battery_1_BalancingCell_057]),"9",
[myBYDBox:Battery_1_VoltsperCell_058],colorBYD([myBYDBox:Battery_1_VoltsperCell_058],[myBYDBox:Battery_1_BalancingCell_058]),"10",
[myBYDBox:Battery_1_VoltsperCell_059],colorBYD([myBYDBox:Battery_1_VoltsperCell_059],[myBYDBox:Battery_1_BalancingCell_059]),"11",
[myBYDBox:Battery_1_VoltsperCell_060],colorBYD([myBYDBox:Battery_1_VoltsperCell_060],[myBYDBox:Battery_1_BalancingCell_060]),"12",
[myBYDBox:Battery_1_VoltsperCell_061],colorBYD([myBYDBox:Battery_1_VoltsperCell_061],[myBYDBox:Battery_1_BalancingCell_061]),"13",
[myBYDBox:Battery_1_VoltsperCell_062],colorBYD([myBYDBox:Battery_1_VoltsperCell_062],[myBYDBox:Battery_1_BalancingCell_062]),"14",
[myBYDBox:Battery_1_VoltsperCell_063],colorBYD([myBYDBox:Battery_1_VoltsperCell_063],[myBYDBox:Battery_1_BalancingCell_063]),"15") |

cylinder_bars("BYD HVM Modul 5",floor_round([myBYDBox:Battery_1_MinmVolt]),ceil_round([myBYDBox:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,
[myBYDBox:Battery_1_VoltsperCell_064],colorBYD([myBYDBox:Battery_1_VoltsperCell_064],[myBYDBox:Battery_1_BalancingCell_064]),"0",
[myBYDBox:Battery_1_VoltsperCell_065],colorBYD([myBYDBox:Battery_1_VoltsperCell_065],[myBYDBox:Battery_1_BalancingCell_065]),"1",
[myBYDBox:Battery_1_VoltsperCell_066],colorBYD([myBYDBox:Battery_1_VoltsperCell_066],[myBYDBox:Battery_1_BalancingCell_066]),"2",
[myBYDBox:Battery_1_VoltsperCell_067],colorBYD([myBYDBox:Battery_1_VoltsperCell_067],[myBYDBox:Battery_1_BalancingCell_067]),"3",
[myBYDBox:Battery_1_VoltsperCell_068],colorBYD([myBYDBox:Battery_1_VoltsperCell_068],[myBYDBox:Battery_1_BalancingCell_068]),"4",
[myBYDBox:Battery_1_VoltsperCell_069],colorBYD([myBYDBox:Battery_1_VoltsperCell_069],[myBYDBox:Battery_1_BalancingCell_069]),"5",
[myBYDBox:Battery_1_VoltsperCell_070],colorBYD([myBYDBox:Battery_1_VoltsperCell_070],[myBYDBox:Battery_1_BalancingCell_070]),"6",
[myBYDBox:Battery_1_VoltsperCell_071],colorBYD([myBYDBox:Battery_1_VoltsperCell_071],[myBYDBox:Battery_1_BalancingCell_071]),"7",
[myBYDBox:Battery_1_VoltsperCell_072],colorBYD([myBYDBox:Battery_1_VoltsperCell_072],[myBYDBox:Battery_1_BalancingCell_072]),"8",
[myBYDBox:Battery_1_VoltsperCell_073],colorBYD([myBYDBox:Battery_1_VoltsperCell_073],[myBYDBox:Battery_1_BalancingCell_073]),"9",
[myBYDBox:Battery_1_VoltsperCell_074],colorBYD([myBYDBox:Battery_1_VoltsperCell_074],[myBYDBox:Battery_1_BalancingCell_074]),"10",
[myBYDBox:Battery_1_VoltsperCell_075],colorBYD([myBYDBox:Battery_1_VoltsperCell_075],[myBYDBox:Battery_1_BalancingCell_075]),"11",
[myBYDBox:Battery_1_VoltsperCell_076],colorBYD([myBYDBox:Battery_1_VoltsperCell_076],[myBYDBox:Battery_1_BalancingCell_076]),"12",
[myBYDBox:Battery_1_VoltsperCell_077],colorBYD([myBYDBox:Battery_1_VoltsperCell_077],[myBYDBox:Battery_1_BalancingCell_077]),"13",
[myBYDBox:Battery_1_VoltsperCell_078],colorBYD([myBYDBox:Battery_1_VoltsperCell_078],[myBYDBox:Battery_1_BalancingCell_078]),"14",
[myBYDBox:Battery_1_VoltsperCell_079],colorBYD([myBYDBox:Battery_1_VoltsperCell_079],[myBYDBox:Battery_1_BalancingCell_079]),"15") |

cylinder_bars("BYD HVM Modul 6",floor_round([myBYDBox:Battery_1_MinmVolt]),ceil_round([myBYDBox:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,
[myBYDBox:Battery_1_VoltsperCell_080],colorBYD([myBYDBox:Battery_1_VoltsperCell_080],[myBYDBox:Battery_1_BalancingCell_080]),"0",
[myBYDBox:Battery_1_VoltsperCell_081],colorBYD([myBYDBox:Battery_1_VoltsperCell_081],[myBYDBox:Battery_1_BalancingCell_081]),"1",
[myBYDBox:Battery_1_VoltsperCell_082],colorBYD([myBYDBox:Battery_1_VoltsperCell_082],[myBYDBox:Battery_1_BalancingCell_082]),"2",
[myBYDBox:Battery_1_VoltsperCell_083],colorBYD([myBYDBox:Battery_1_VoltsperCell_083],[myBYDBox:Battery_1_BalancingCell_083]),"3",
[myBYDBox:Battery_1_VoltsperCell_084],colorBYD([myBYDBox:Battery_1_VoltsperCell_084],[myBYDBox:Battery_1_BalancingCell_084]),"4",
[myBYDBox:Battery_1_VoltsperCell_085],colorBYD([myBYDBox:Battery_1_VoltsperCell_085],[myBYDBox:Battery_1_BalancingCell_085]),"5",
[myBYDBox:Battery_1_VoltsperCell_086],colorBYD([myBYDBox:Battery_1_VoltsperCell_086],[myBYDBox:Battery_1_BalancingCell_086]),"6",
[myBYDBox:Battery_1_VoltsperCell_087],colorBYD([myBYDBox:Battery_1_VoltsperCell_087],[myBYDBox:Battery_1_BalancingCell_087]),"7",
[myBYDBox:Battery_1_VoltsperCell_088],colorBYD([myBYDBox:Battery_1_VoltsperCell_088],[myBYDBox:Battery_1_BalancingCell_088]),"8",
[myBYDBox:Battery_1_VoltsperCell_089],colorBYD([myBYDBox:Battery_1_VoltsperCell_089],[myBYDBox:Battery_1_BalancingCell_089]),"9",
[myBYDBox:Battery_1_VoltsperCell_090],colorBYD([myBYDBox:Battery_1_VoltsperCell_090],[myBYDBox:Battery_1_BalancingCell_090]),"10",
[myBYDBox:Battery_1_VoltsperCell_091],colorBYD([myBYDBox:Battery_1_VoltsperCell_091],[myBYDBox:Battery_1_BalancingCell_091]),"11",
[myBYDBox:Battery_1_VoltsperCell_092],colorBYD([myBYDBox:Battery_1_VoltsperCell_092],[myBYDBox:Battery_1_BalancingCell_092]),"12",
[myBYDBox:Battery_1_VoltsperCell_093],colorBYD([myBYDBox:Battery_1_VoltsperCell_093],[myBYDBox:Battery_1_BalancingCell_093]),"13",
[myBYDBox:Battery_1_VoltsperCell_094],colorBYD([myBYDBox:Battery_1_VoltsperCell_094],[myBYDBox:Battery_1_BalancingCell_094]),"14",
[myBYDBox:Battery_1_VoltsperCell_095],colorBYD([myBYDBox:Battery_1_VoltsperCell_095],[myBYDBox:Battery_1_BalancingCell_095]),"15") |

cylinder_bars("BYD HVM Modul 7",floor_round([myBYDBox:Battery_1_MinmVolt]),ceil_round([myBYDBox:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,
[myBYDBox:Battery_1_VoltsperCell_096],colorBYD([myBYDBox:Battery_1_VoltsperCell_096],[myBYDBox:Battery_1_BalancingCell_096]),"0",
[myBYDBox:Battery_1_VoltsperCell_097],colorBYD([myBYDBox:Battery_1_VoltsperCell_097],[myBYDBox:Battery_1_BalancingCell_097]),"1",
[myBYDBox:Battery_1_VoltsperCell_098],colorBYD([myBYDBox:Battery_1_VoltsperCell_098],[myBYDBox:Battery_1_BalancingCell_098]),"2",
[myBYDBox:Battery_1_VoltsperCell_099],colorBYD([myBYDBox:Battery_1_VoltsperCell_099],[myBYDBox:Battery_1_BalancingCell_099]),"3",
[myBYDBox:Battery_1_VoltsperCell_100],colorBYD([myBYDBox:Battery_1_VoltsperCell_100],[myBYDBox:Battery_1_BalancingCell_100]),"4",
[myBYDBox:Battery_1_VoltsperCell_101],colorBYD([myBYDBox:Battery_1_VoltsperCell_101],[myBYDBox:Battery_1_BalancingCell_101]),"5",
[myBYDBox:Battery_1_VoltsperCell_102],colorBYD([myBYDBox:Battery_1_VoltsperCell_102],[myBYDBox:Battery_1_BalancingCell_102]),"6",
[myBYDBox:Battery_1_VoltsperCell_103],colorBYD([myBYDBox:Battery_1_VoltsperCell_103],[myBYDBox:Battery_1_BalancingCell_103]),"7",
[myBYDBox:Battery_1_VoltsperCell_104],colorBYD([myBYDBox:Battery_1_VoltsperCell_104],[myBYDBox:Battery_1_BalancingCell_104]),"8",
[myBYDBox:Battery_1_VoltsperCell_105],colorBYD([myBYDBox:Battery_1_VoltsperCell_105],[myBYDBox:Battery_1_BalancingCell_105]),"9",
[myBYDBox:Battery_1_VoltsperCell_106],colorBYD([myBYDBox:Battery_1_VoltsperCell_106],[myBYDBox:Battery_1_BalancingCell_106]),"10",
[myBYDBox:Battery_1_VoltsperCell_107],colorBYD([myBYDBox:Battery_1_VoltsperCell_107],[myBYDBox:Battery_1_BalancingCell_107]),"11",
[myBYDBox:Battery_1_VoltsperCell_108],colorBYD([myBYDBox:Battery_1_VoltsperCell_108],[myBYDBox:Battery_1_BalancingCell_108]),"12",
[myBYDBox:Battery_1_VoltsperCell_109],colorBYD([myBYDBox:Battery_1_VoltsperCell_109],[myBYDBox:Battery_1_BalancingCell_109]),"13",
[myBYDBox:Battery_1_VoltsperCell_110],colorBYD([myBYDBox:Battery_1_VoltsperCell_110],[myBYDBox:Battery_1_BalancingCell_110]),"14",
[myBYDBox:Battery_1_VoltsperCell_111],colorBYD([myBYDBox:Battery_1_VoltsperCell_111],[myBYDBox:Battery_1_BalancingCell_111]),"15")



cylinder_bars("BYD HVS Modul 1.1",floor_round([myBYDBox_HVS:Battery_1_MinmVolt]),ceil_round([myBYDBox_HVS:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,
[myBYDBox_HVS:Battery_1_VoltsperCell_000],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_000],[myBYDBox_HVS:Battery_1_BalancingCell_000]),"0",
[myBYDBox_HVS:Battery_1_VoltsperCell_001],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_001],[myBYDBox_HVS:Battery_1_BalancingCell_001]),"1",
[myBYDBox_HVS:Battery_1_VoltsperCell_002],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_002],[myBYDBox_HVS:Battery_1_BalancingCell_002]),"2",
[myBYDBox_HVS:Battery_1_VoltsperCell_003],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_003],[myBYDBox_HVS:Battery_1_BalancingCell_003]),"3",
[myBYDBox_HVS:Battery_1_VoltsperCell_004],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_004],[myBYDBox_HVS:Battery_1_BalancingCell_004]),"4",
[myBYDBox_HVS:Battery_1_VoltsperCell_005],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_005],[myBYDBox_HVS:Battery_1_BalancingCell_005]),"5",
[myBYDBox_HVS:Battery_1_VoltsperCell_006],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_006],[myBYDBox_HVS:Battery_1_BalancingCell_006]),"6",
[myBYDBox_HVS:Battery_1_VoltsperCell_007],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_007],[myBYDBox_HVS:Battery_1_BalancingCell_007]),"7",
[myBYDBox_HVS:Battery_1_VoltsperCell_008],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_008],[myBYDBox_HVS:Battery_1_BalancingCell_008]),"8",
[myBYDBox_HVS:Battery_1_VoltsperCell_009],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_009],[myBYDBox_HVS:Battery_1_BalancingCell_009]),"9",
[myBYDBox_HVS:Battery_1_VoltsperCell_010],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_010],[myBYDBox_HVS:Battery_1_BalancingCell_010]),"10",
[myBYDBox_HVS:Battery_1_VoltsperCell_011],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_011],[myBYDBox_HVS:Battery_1_BalancingCell_011]),"11",
[myBYDBox_HVS:Battery_1_VoltsperCell_012],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_012],[myBYDBox_HVS:Battery_1_BalancingCell_012]),"12",
[myBYDBox_HVS:Battery_1_VoltsperCell_013],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_013],[myBYDBox_HVS:Battery_1_BalancingCell_013]),"13",
[myBYDBox_HVS:Battery_1_VoltsperCell_014],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_014],[myBYDBox_HVS:Battery_1_BalancingCell_014]),"14",
[myBYDBox_HVS:Battery_1_VoltsperCell_015],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_015],[myBYDBox_HVS:Battery_1_BalancingCell_015]),"15") |

cylinder_bars("BYD HVS Modul 1.2",floor_round([myBYDBox_HVS:Battery_1_MinmVolt]),ceil_round([myBYDBox_HVS:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,
[myBYDBox_HVS:Battery_1_VoltsperCell_016],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_016],[myBYDBox_HVS:Battery_1_BalancingCell_016]),"0",
[myBYDBox_HVS:Battery_1_VoltsperCell_017],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_017],[myBYDBox_HVS:Battery_1_BalancingCell_017]),"1",
[myBYDBox_HVS:Battery_1_VoltsperCell_018],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_018],[myBYDBox_HVS:Battery_1_BalancingCell_018]),"2",
[myBYDBox_HVS:Battery_1_VoltsperCell_019],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_019],[myBYDBox_HVS:Battery_1_BalancingCell_019]),"3",
[myBYDBox_HVS:Battery_1_VoltsperCell_020],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_020],[myBYDBox_HVS:Battery_1_BalancingCell_020]),"4",
[myBYDBox_HVS:Battery_1_VoltsperCell_021],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_021],[myBYDBox_HVS:Battery_1_BalancingCell_021]),"5",
[myBYDBox_HVS:Battery_1_VoltsperCell_022],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_022],[myBYDBox_HVS:Battery_1_BalancingCell_022]),"6",
[myBYDBox_HVS:Battery_1_VoltsperCell_023],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_023],[myBYDBox_HVS:Battery_1_BalancingCell_023]),"7",
[myBYDBox_HVS:Battery_1_VoltsperCell_024],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_024],[myBYDBox_HVS:Battery_1_BalancingCell_024]),"8",
[myBYDBox_HVS:Battery_1_VoltsperCell_025],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_025],[myBYDBox_HVS:Battery_1_BalancingCell_025]),"9",
[myBYDBox_HVS:Battery_1_VoltsperCell_026],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_026],[myBYDBox_HVS:Battery_1_BalancingCell_026]),"10",
[myBYDBox_HVS:Battery_1_VoltsperCell_027],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_027],[myBYDBox_HVS:Battery_1_BalancingCell_027]),"11",
[myBYDBox_HVS:Battery_1_VoltsperCell_028],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_028],[myBYDBox_HVS:Battery_1_BalancingCell_028]),"12",
[myBYDBox_HVS:Battery_1_VoltsperCell_029],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_029],[myBYDBox_HVS:Battery_1_BalancingCell_029]),"13",
[myBYDBox_HVS:Battery_1_VoltsperCell_030],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_030],[myBYDBox_HVS:Battery_1_BalancingCell_030]),"14",
[myBYDBox_HVS:Battery_1_VoltsperCell_031],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_031],[myBYDBox_HVS:Battery_1_BalancingCell_031]),"15") |

cylinder_bars("BYD HVS Modul 2.1",floor_round([myBYDBox_HVS:Battery_1_MinmVolt]),ceil_round([myBYDBox_HVS:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,
[myBYDBox_HVS:Battery_1_VoltsperCell_032],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_032],[myBYDBox_HVS:Battery_1_BalancingCell_032]),"0",
[myBYDBox_HVS:Battery_1_VoltsperCell_033],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_033],[myBYDBox_HVS:Battery_1_BalancingCell_033]),"1",
[myBYDBox_HVS:Battery_1_VoltsperCell_034],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_034],[myBYDBox_HVS:Battery_1_BalancingCell_034]),"2",
[myBYDBox_HVS:Battery_1_VoltsperCell_035],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_035],[myBYDBox_HVS:Battery_1_BalancingCell_035]),"3",
[myBYDBox_HVS:Battery_1_VoltsperCell_036],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_036],[myBYDBox_HVS:Battery_1_BalancingCell_036]),"4",
[myBYDBox_HVS:Battery_1_VoltsperCell_037],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_037],[myBYDBox_HVS:Battery_1_BalancingCell_037]),"5",
[myBYDBox_HVS:Battery_1_VoltsperCell_038],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_038],[myBYDBox_HVS:Battery_1_BalancingCell_038]),"6",
[myBYDBox_HVS:Battery_1_VoltsperCell_039],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_039],[myBYDBox_HVS:Battery_1_BalancingCell_039]),"7",
[myBYDBox_HVS:Battery_1_VoltsperCell_040],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_040],[myBYDBox_HVS:Battery_1_BalancingCell_040]),"8",
[myBYDBox_HVS:Battery_1_VoltsperCell_041],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_041],[myBYDBox_HVS:Battery_1_BalancingCell_041]),"9",
[myBYDBox_HVS:Battery_1_VoltsperCell_042],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_042],[myBYDBox_HVS:Battery_1_BalancingCell_042]),"10",
[myBYDBox_HVS:Battery_1_VoltsperCell_043],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_043],[myBYDBox_HVS:Battery_1_BalancingCell_043]),"11",
[myBYDBox_HVS:Battery_1_VoltsperCell_044],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_044],[myBYDBox_HVS:Battery_1_BalancingCell_044]),"12",
[myBYDBox_HVS:Battery_1_VoltsperCell_045],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_045],[myBYDBox_HVS:Battery_1_BalancingCell_045]),"13",
[myBYDBox_HVS:Battery_1_VoltsperCell_046],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_046],[myBYDBox_HVS:Battery_1_BalancingCell_046]),"14",
[myBYDBox_HVS:Battery_1_VoltsperCell_047],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_047],[myBYDBox_HVS:Battery_1_BalancingCell_047]),"15") |

cylinder_bars("BYD HVS Modul 2.2",floor_round([myBYDBox_HVS:Battery_1_MinmVolt]),ceil_round([myBYDBox_HVS:Battery_1_MaxmVolt]),"mV",250,undef,undef,0,
[myBYDBox_HVS:Battery_1_VoltsperCell_048],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_048],[myBYDBox_HVS:Battery_1_BalancingCell_048]),"0",
[myBYDBox_HVS:Battery_1_VoltsperCell_049],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_049],[myBYDBox_HVS:Battery_1_BalancingCell_049]),"1",
[myBYDBox_HVS:Battery_1_VoltsperCell_050],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_050],[myBYDBox_HVS:Battery_1_BalancingCell_050]),"2",
[myBYDBox_HVS:Battery_1_VoltsperCell_051],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_051],[myBYDBox_HVS:Battery_1_BalancingCell_051]),"3",
[myBYDBox_HVS:Battery_1_VoltsperCell_052],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_052],[myBYDBox_HVS:Battery_1_BalancingCell_052]),"4",
[myBYDBox_HVS:Battery_1_VoltsperCell_053],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_053],[myBYDBox_HVS:Battery_1_BalancingCell_053]),"5",
[myBYDBox_HVS:Battery_1_VoltsperCell_054],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_054],[myBYDBox_HVS:Battery_1_BalancingCell_054]),"6",
[myBYDBox_HVS:Battery_1_VoltsperCell_055],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_055],[myBYDBox_HVS:Battery_1_BalancingCell_055]),"7",
[myBYDBox_HVS:Battery_1_VoltsperCell_056],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_056],[myBYDBox_HVS:Battery_1_BalancingCell_056]),"8",
[myBYDBox_HVS:Battery_1_VoltsperCell_057],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_057],[myBYDBox_HVS:Battery_1_BalancingCell_057]),"9",
[myBYDBox_HVS:Battery_1_VoltsperCell_058],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_058],[myBYDBox_HVS:Battery_1_BalancingCell_058]),"10",
[myBYDBox_HVS:Battery_1_VoltsperCell_059],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_059],[myBYDBox_HVS:Battery_1_BalancingCell_059]),"11",
[myBYDBox_HVS:Battery_1_VoltsperCell_060],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_060],[myBYDBox_HVS:Battery_1_BalancingCell_060]),"12",
[myBYDBox_HVS:Battery_1_VoltsperCell_061],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_061],[myBYDBox_HVS:Battery_1_BalancingCell_061]),"13",
[myBYDBox_HVS:Battery_1_VoltsperCell_062],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_062],[myBYDBox_HVS:Battery_1_BalancingCell_062]),"14",
[myBYDBox_HVS:Battery_1_VoltsperCell_063],colorBYD([myBYDBox_HVS:Battery_1_VoltsperCell_063],[myBYDBox_HVS:Battery_1_BalancingCell_063]),"15") |

{package ui_Table;

sub  BYD_Temps_floor_round {
my ($zahl)=@_;
return($zahl- 1);
}

sub BYD_Temps_ceil_round {
my ($zahl)=@_;
return($zahl + 1);
}

sub BYD_Temps_color {
my ($zahl)=@_;
my $min = 10;
my $max = 40;
my $mid = 12;
my $mid2 = 30;
my $color_green = 120;

my $num = 0;

if($zahl >= $mid2)
{
    $num = $color_green - (($zahl-$mid2)/($max-$mid2) * $color_green);
}
elsif($zahl < $mid)
{
    $num = (($zahl-$min)/($mid-$min) * $color_green);
}
elsif($zahl >= $mid)
{
    $num = $color_green;
}

return(POSIX::ceil($num));
}
}

cylinder_bars("BYD HVM Modul 1",BYD_Temps_floor_round([myBYDBox:Battery_1_MinTempCell]),BYD_Temps_ceil_round([myBYDBox:Battery_1_MaxTempCell]),"°C",250,undef,undef,0,
[myBYDBox:Battery_1_TempCell_00],BYD_Temps_color([myBYDBox:Battery_1_TempCell_00]),"0",
[myBYDBox:Battery_1_TempCell_01],BYD_Temps_color([myBYDBox:Battery_1_TempCell_01]),"1",
[myBYDBox:Battery_1_TempCell_02],BYD_Temps_color([myBYDBox:Battery_1_TempCell_02]),"2",
[myBYDBox:Battery_1_TempCell_03],BYD_Temps_color([myBYDBox:Battery_1_TempCell_03]),"3",
[myBYDBox:Battery_1_TempCell_04],BYD_Temps_color([myBYDBox:Battery_1_TempCell_04]),"4",
[myBYDBox:Battery_1_TempCell_05],BYD_Temps_color([myBYDBox:Battery_1_TempCell_05]),"5",
[myBYDBox:Battery_1_TempCell_06],BYD_Temps_color([myBYDBox:Battery_1_TempCell_06]),"6",
[myBYDBox:Battery_1_TempCell_07],BYD_Temps_color([myBYDBox:Battery_1_TempCell_07]),"7") |

cylinder_bars("BYD HVM Modul 2",BYD_Temps_floor_round([myBYDBox:Battery_1_MinTempCell]),BYD_Temps_ceil_round([myBYDBox:Battery_1_MaxTempCell]),"°C",250,undef,undef,0,
[myBYDBox:Battery_1_TempCell_08],BYD_Temps_color([myBYDBox:Battery_1_TempCell_08]),"0",
[myBYDBox:Battery_1_TempCell_09],BYD_Temps_color([myBYDBox:Battery_1_TempCell_09]),"1",
[myBYDBox:Battery_1_TempCell_10],BYD_Temps_color([myBYDBox:Battery_1_TempCell_10]),"2",
[myBYDBox:Battery_1_TempCell_11],BYD_Temps_color([myBYDBox:Battery_1_TempCell_11]),"3",
[myBYDBox:Battery_1_TempCell_12],BYD_Temps_color([myBYDBox:Battery_1_TempCell_12]),"4",
[myBYDBox:Battery_1_TempCell_13],BYD_Temps_color([myBYDBox:Battery_1_TempCell_13]),"5",
[myBYDBox:Battery_1_TempCell_14],BYD_Temps_color([myBYDBox:Battery_1_TempCell_14]),"6",
[myBYDBox:Battery_1_TempCell_15],BYD_Temps_color([myBYDBox:Battery_1_TempCell_15]),"7") |

cylinder_bars("BYD HVM Modul 3",BYD_Temps_floor_round([myBYDBox:Battery_1_MinTempCell]),BYD_Temps_ceil_round([myBYDBox:Battery_1_MaxTempCell]),"°C",250,undef,undef,0,
[myBYDBox:Battery_1_TempCell_16],BYD_Temps_color([myBYDBox:Battery_1_TempCell_16]),"0",
[myBYDBox:Battery_1_TempCell_17],BYD_Temps_color([myBYDBox:Battery_1_TempCell_17]),"1",
[myBYDBox:Battery_1_TempCell_18],BYD_Temps_color([myBYDBox:Battery_1_TempCell_18]),"2",
[myBYDBox:Battery_1_TempCell_19],BYD_Temps_color([myBYDBox:Battery_1_TempCell_19]),"3",
[myBYDBox:Battery_1_TempCell_20],BYD_Temps_color([myBYDBox:Battery_1_TempCell_20]),"4",
[myBYDBox:Battery_1_TempCell_21],BYD_Temps_color([myBYDBox:Battery_1_TempCell_21]),"5",
[myBYDBox:Battery_1_TempCell_22],BYD_Temps_color([myBYDBox:Battery_1_TempCell_22]),"6",
[myBYDBox:Battery_1_TempCell_23],BYD_Temps_color([myBYDBox:Battery_1_TempCell_23]),"7") |

cylinder_bars("BYD HVM Modul 4",BYD_Temps_floor_round([myBYDBox:Battery_1_MinTempCell]),BYD_Temps_ceil_round([myBYDBox:Battery_1_MaxTempCell]),"°C",250,undef,undef,0,
[myBYDBox:Battery_1_TempCell_24],BYD_Temps_color([myBYDBox:Battery_1_TempCell_24]),"0",
[myBYDBox:Battery_1_TempCell_25],BYD_Temps_color([myBYDBox:Battery_1_TempCell_25]),"1",
[myBYDBox:Battery_1_TempCell_26],BYD_Temps_color([myBYDBox:Battery_1_TempCell_26]),"2",
[myBYDBox:Battery_1_TempCell_27],BYD_Temps_color([myBYDBox:Battery_1_TempCell_27]),"3",
[myBYDBox:Battery_1_TempCell_28],BYD_Temps_color([myBYDBox:Battery_1_TempCell_28]),"4",
[myBYDBox:Battery_1_TempCell_29],BYD_Temps_color([myBYDBox:Battery_1_TempCell_29]),"5",
[myBYDBox:Battery_1_TempCell_30],BYD_Temps_color([myBYDBox:Battery_1_TempCell_30]),"6",
[myBYDBox:Battery_1_TempCell_31],BYD_Temps_color([myBYDBox:Battery_1_TempCell_31]),"7") |

cylinder_bars("BYD HVM Modul 5",BYD_Temps_floor_round([myBYDBox:Battery_1_MinTempCell]),BYD_Temps_ceil_round([myBYDBox:Battery_1_MaxTempCell]),"°C",250,undef,undef,0,
[myBYDBox:Battery_1_TempCell_32],BYD_Temps_color([myBYDBox:Battery_1_TempCell_32]),"0",
[myBYDBox:Battery_1_TempCell_33],BYD_Temps_color([myBYDBox:Battery_1_TempCell_33]),"1",
[myBYDBox:Battery_1_TempCell_34],BYD_Temps_color([myBYDBox:Battery_1_TempCell_34]),"2",
[myBYDBox:Battery_1_TempCell_35],BYD_Temps_color([myBYDBox:Battery_1_TempCell_35]),"3",
[myBYDBox:Battery_1_TempCell_36],BYD_Temps_color([myBYDBox:Battery_1_TempCell_36]),"4",
[myBYDBox:Battery_1_TempCell_37],BYD_Temps_color([myBYDBox:Battery_1_TempCell_37]),"5",
[myBYDBox:Battery_1_TempCell_38],BYD_Temps_color([myBYDBox:Battery_1_TempCell_38]),"6",
[myBYDBox:Battery_1_TempCell_39],BYD_Temps_color([myBYDBox:Battery_1_TempCell_39]),"7") |

cylinder_bars("BYD HVM Modul 6",BYD_Temps_floor_round([myBYDBox:Battery_1_MinTempCell]),BYD_Temps_ceil_round([myBYDBox:Battery_1_MaxTempCell]),"°C",250,undef,undef,0,
[myBYDBox:Battery_1_TempCell_40],BYD_Temps_color([myBYDBox:Battery_1_TempCell_40]),"0",
[myBYDBox:Battery_1_TempCell_41],BYD_Temps_color([myBYDBox:Battery_1_TempCell_41]),"1",
[myBYDBox:Battery_1_TempCell_42],BYD_Temps_color([myBYDBox:Battery_1_TempCell_42]),"2",
[myBYDBox:Battery_1_TempCell_43],BYD_Temps_color([myBYDBox:Battery_1_TempCell_43]),"3",
[myBYDBox:Battery_1_TempCell_44],BYD_Temps_color([myBYDBox:Battery_1_TempCell_44]),"4",
[myBYDBox:Battery_1_TempCell_45],BYD_Temps_color([myBYDBox:Battery_1_TempCell_45]),"5",
[myBYDBox:Battery_1_TempCell_46],BYD_Temps_color([myBYDBox:Battery_1_TempCell_46]),"6",
[myBYDBox:Battery_1_TempCell_47],BYD_Temps_color([myBYDBox:Battery_1_TempCell_47]),"7") |

cylinder_bars("BYD HVM Modul 7",BYD_Temps_floor_round([myBYDBox:Battery_1_MinTempCell]),BYD_Temps_ceil_round([myBYDBox:Battery_1_MaxTempCell]),"°C",250,undef,undef,0,
[myBYDBox:Battery_1_TempCell_48],BYD_Temps_color([myBYDBox:Battery_1_TempCell_48]),"0",
[myBYDBox:Battery_1_TempCell_49],BYD_Temps_color([myBYDBox:Battery_1_TempCell_49]),"1",
[myBYDBox:Battery_1_TempCell_50],BYD_Temps_color([myBYDBox:Battery_1_TempCell_50]),"2",
[myBYDBox:Battery_1_TempCell_51],BYD_Temps_color([myBYDBox:Battery_1_TempCell_51]),"3",
[myBYDBox:Battery_1_TempCell_52],BYD_Temps_color([myBYDBox:Battery_1_TempCell_52]),"4",
[myBYDBox:Battery_1_TempCell_53],BYD_Temps_color([myBYDBox:Battery_1_TempCell_53]),"5",
[myBYDBox:Battery_1_TempCell_54],BYD_Temps_color([myBYDBox:Battery_1_TempCell_54]),"6",
[myBYDBox:Battery_1_TempCell_55],BYD_Temps_color([myBYDBox:Battery_1_TempCell_55]),"7")

cylinder_bars("BYD HVS Modul 1",BYD_Temps_floor_round([myBYDBox_HVS:Battery_1_MinTempCell]),BYD_Temps_ceil_round([myBYDBox_HVS:Battery_1_MaxTempCell]),"°C",250,undef,undef,0,
[myBYDBox_HVS:Battery_1_TempCell_00],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_00]),"0",
[myBYDBox_HVS:Battery_1_TempCell_01],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_01]),"1",
[myBYDBox_HVS:Battery_1_TempCell_02],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_02]),"2",
[myBYDBox_HVS:Battery_1_TempCell_03],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_03]),"3",
[myBYDBox_HVS:Battery_1_TempCell_04],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_04]),"4",
[myBYDBox_HVS:Battery_1_TempCell_05],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_05]),"5",
[myBYDBox_HVS:Battery_1_TempCell_06],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_06]),"6",
[myBYDBox_HVS:Battery_1_TempCell_07],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_07]),"7",
[myBYDBox_HVS:Battery_1_TempCell_08],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_08]),"8",
[myBYDBox_HVS:Battery_1_TempCell_09],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_09]),"9",
[myBYDBox_HVS:Battery_1_TempCell_10],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_10]),"10",
[myBYDBox_HVS:Battery_1_TempCell_11],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_11]),"11") |

cylinder_bars("BYD HVS Modul 2",BYD_Temps_floor_round([myBYDBox_HVS:Battery_1_MinTempCell]),BYD_Temps_ceil_round([myBYDBox_HVS:Battery_1_MaxTempCell]),"°C",250,undef,undef,0,
[myBYDBox_HVS:Battery_1_TempCell_12],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_12]),"0",
[myBYDBox_HVS:Battery_1_TempCell_13],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_13]),"1",
[myBYDBox_HVS:Battery_1_TempCell_14],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_14]),"2",
[myBYDBox_HVS:Battery_1_TempCell_15],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_15]),"3",
[myBYDBox_HVS:Battery_1_TempCell_16],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_16]),"4",
[myBYDBox_HVS:Battery_1_TempCell_17],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_17]),"5",
[myBYDBox_HVS:Battery_1_TempCell_18],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_18]),"6",
[myBYDBox_HVS:Battery_1_TempCell_19],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_19]),"7",
[myBYDBox_HVS:Battery_1_TempCell_20],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_20]),"8",
[myBYDBox_HVS:Battery_1_TempCell_21],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_21]),"9",
[myBYDBox_HVS:Battery_1_TempCell_22],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_22]),"10",
[myBYDBox_HVS:Battery_1_TempCell_23],BYD_Temps_color([myBYDBox_HVS:Battery_1_TempCell_23]),"11") |

Gruß
Max

Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax