Ja genau, bei der Installation. Wenn ich in der RCT App mich als Installateur anmelde, kann man das mauell ändern. Wie gesagt ist nirgends beschrieben.
Wäre Super wenn du das nachfragen könntest.
Ja genau, bei der Installation. Wenn ich in der RCT App mich als Installateur anmelde, kann man das mauell ändern. Wie gesagt ist nirgends beschrieben.
Wäre Super wenn du das nachfragen könntest.
Danke für die Rückmeldung.
Hallo Coyote,
ich habe die zweite Batterie installiert und es sieht sehr gut aus, nochmals Danke dafür.
Wärst du bereit noch ein paar Variablen hinzu zufügen für z.b. die Temperatur des 2ten Turmes?
Kennst du diese Liste?
Hier wäre die Wunschliste:
Alle folgenden OIDs wurden am 06.10.2026 an einer RCT Power Storage DC 8.0 mit 2 × Power Battery 9,6 kWh / 2 × BMS Master+ live ausgelesen.
| OID | RCT-Objekt | Typ | Testwert |
|---|---|---|---|
55DDF7BA |
battery.max_cell_temperature |
Float °C | 30,002 |
A10D9A4B |
battery.min_cell_temperature |
Float °C | 25,001 |
C66665E8 |
battery_placeholder[0].temperature |
Float °C | 25,475 |
073C7E5D |
battery_placeholder[0].max_cell_temperature |
Float °C | 27,002 |
241CFA0A |
battery_placeholder[0].min_cell_temperature |
Float °C | 23,002 |
16A1F844 |
battery.bms_sn |
String | 0180B714017004 |
9D785E8C |
battery.bms_software_version |
UInt32 | 5617 |
1B39A3A3 |
battery.bms_power_version |
UInt32 | 5617 |
EB7BCB93 |
battery_placeholder[0].bms_sn |
String | 0180B714017011 |
C04A5F3A |
battery_placeholder[0].bms_software_version |
UInt32 | 5617 |
6C03F5ED |
battery_placeholder[0].bms_power_version |
UInt32 | 5617 |
// Battery Tower 1 temperatures
case "55DDF7BA": // battery.max_cell_temperature
$this->SetValue("BatteryMaxCellTemperature", round($float, 1));
break;
case "A10D9A4B": // battery.min_cell_temperature
$this->SetValue("BatteryMinCellTemperature", round($float, 1));
break;
// Battery Tower 2 temperatures
case "C66665E8": // battery_placeholder[0].temperature
$this->SetValue("BatteryTemperatureStack2", round($float, 1));
break;
case "073C7E5D": // battery_placeholder[0].max_cell_temperature
$this->SetValue("BatteryMaxCellTemperatureStack2", round($float, 1));
break;
case "241CFA0A": // battery_placeholder[0].min_cell_temperature
$this->SetValue("BatteryMinCellTemperatureStack2", round($float, 1));
break;
// Battery Tower 1 BMS
case "16A1F844": // battery.bms_sn
$this->SetValue("BatteryBMSSerialNumber", $this->hexToString($DataHexString));
break;
case "9D785E8C": // battery.bms_software_version
$this->SetValue("BatteryBMSSoftwareVersion", $int);
break;
case "1B39A3A3": // battery.bms_power_version
$this->SetValue("BatteryBMSPowerVersion", $int);
break;
// Battery Tower 2 BMS
case "EB7BCB93": // battery_placeholder[0].bms_sn
$this->SetValue("BatteryBMSSerialNumberStack2", $this->hexToString($DataHexString));
break;
case "C04A5F3A": // battery_placeholder[0].bms_software_version
$this->SetValue("BatteryBMSSoftwareVersionStack2", $int);
break;
case "6C03F5ED": // battery_placeholder[0].bms_power_version
$this->SetValue("BatteryBMSPowerVersionStack2", $int);
break;
// Battery Stack 1 - additional diagnostic values
$this->RegisterVariableFloat(
"BatteryMaxCellTemperature",
"Batterie max. Zelltemperatur Stack 1",
"~Temperature",
206
);
$this->RegisterVariableFloat(
"BatteryMinCellTemperature",
"Batterie min. Zelltemperatur Stack 1",
"~Temperature",
207
);
$this->RegisterVariableString(
"BatteryBMSSerialNumber",
"BMS Seriennummer Stack 1",
"",
208
);
$this->RegisterVariableInteger(
"BatteryBMSSoftwareVersion",
"BMS Softwareversion Stack 1",
"",
209
);
$this->RegisterVariableInteger(
"BatteryBMSPowerVersion",
"BMS Power-Version Stack 1",
"",
210
);
// Battery Stack 2 - additional diagnostic values
$this->RegisterVariableFloat(
"BatteryTemperatureStack2",
"Batterie Temperatur Stack 2",
"~Temperature",
215
);
$this->RegisterVariableFloat(
"BatteryMaxCellTemperatureStack2",
"Batterie max. Zelltemperatur Stack 2",
"~Temperature",
216
);
$this->RegisterVariableFloat(
"BatteryMinCellTemperatureStack2",
"Batterie min. Zelltemperatur Stack 2",
"~Temperature",
217
);
$this->RegisterVariableString(
"BatteryBMSSerialNumberStack2",
"BMS Seriennummer Stack 2",
"",
218
);
$this->RegisterVariableInteger(
"BatteryBMSSoftwareVersionStack2",
"BMS Softwareversion Stack 2",
"",
219
);
$this->RegisterVariableInteger(
"BatteryBMSPowerVersionStack2",
"BMS Power-Version Stack 2",
"",
220
);
Die Seriennummern kommen als ASCII mit Null-Padding zurück. Beide BMS zeigen auch in der RCT-App Softwarestand 5617 . Die ausgelesenen Werte passen damit.
Zusätzlich habe ich noch einige OIDs aus dem Bereich Power-Management und
Batteriekalibrierung getestet. Vielleicht sind davon ebenfalls welche für das
Modul interessant. Bei mir wären sie interessant für die spätere Berücksichtigung des Stromtarifes. Dann könnte ich gezielt an dem Tag wenn die Kalibrierung angekündigt ist, darauf reagieren.
Alle folgenden Werte wurden nach abgeschlossener Batteriekalibrierung am
07.10.2026 live und ausschließlich lesend abgefragt.
| OID | RCT-Objekt | Typ | Testwert |
|---|---|---|---|
70A2AF4F |
battery.bat_status |
UInt32 | 0 |
DC667958 |
power_mng.state |
UInt8 | 3 |
315D1490 |
power_mng.bat_empty_full |
UInt8 | 1 |
CE266F0F |
power_mng.soc_min |
Float | 0,07 |
BD3A23C3 |
power_mng.soc_charge |
Float | 0,05 |
1D2994EA |
power_mng.soc_charge_power |
Float | 100 W |
36A9E9A6 |
power_mng.use_grid_power_enable |
Bool | false |
BD008E29 |
power_mng.battery_power_extern |
Float | 0 W |
1156DFD0 |
power_mng.battery_power |
Float | 0 W |
B6623608 |
power_mng.bat_next_calib_date |
UInt32 | 1793988642 |
93C0C2E2 |
power_mng.bat_calib_reqularity |
UInt32 | 30 Tage |
672552DC |
power_mng.bat_calib_days_in_advance |
UInt8 | 3 Tage |
Bei soc_min und soc_charge werden die Werte normiert geliefert:
0,07 entspricht 7 % und 0,05 entspricht 5 %.
Besonders interessant finde ich die drei Kalibrierungswerte. Damit ließen sich
in Symcon das Kalibrierungsintervall und die nächste anstehende
Batteriekalibrierung darstellen.
power_mng.bat_next_calib_date liefert einen Unix-Timestamp. Nach der
abgeschlossenen Kalibrierung wurde bei mir 1793988642 ausgelesen.
// Battery / Power Management status
case "70A2AF4F": // battery.bat_status
$this->SetValue("BatteryStatus", $int);
break;
case "DC667958": // power_mng.state
$this->SetValue("BatteryPowerManagementState", $int);
break;
case "315D1490": // power_mng.bat_empty_full
$this->SetValue("BatteryEmptyFullStatus", $int);
break;
// Battery / Power Management SOC
case "CE266F0F": // power_mng.soc_min
$this->SetValue("BatterySoCMin", round($float * 100, 1));
break;
case "BD3A23C3": // power_mng.soc_charge
$this->SetValue("BatterySoCCharge", round($float * 100, 1));
break;
case "1D2994EA": // power_mng.soc_charge_power
$this->SetValue("BatterySoCChargePower", round($float, 0));
break;
// Battery / external power management
case "36A9E9A6": // power_mng.use_grid_power_enable
$this->SetValue("BatteryUseGridPowerEnable", (bool) $int);
break;
case "BD008E29": // power_mng.battery_power_extern
$this->SetValue("BatteryPowerExtern", round($float, 0));
break;
case "1156DFD0": // power_mng.battery_power
$this->SetValue("BatteryPowerManagement", round($float, 0));
break;
// Battery calibration
case "B6623608": // power_mng.bat_next_calib_date
$this->SetValue("BatteryNextCalibration", $int);
break;
case "93C0C2E2": // power_mng.bat_calib_reqularity
$this->SetValue("BatteryCalibrationInterval", $int);
break;
case "672552DC": // power_mng.bat_calib_days_in_advance
$this->SetValue("BatteryCalibrationDaysInAdvance", $int);
break;
// Battery - Power Management / Status
$this->RegisterVariableInteger(
"BatteryStatus",
"Batterie Status",
"",
225
);
$this->RegisterVariableInteger(
"BatteryPowerManagementState",
"Batterie Power Management Status",
"",
226
);
$this->RegisterVariableInteger(
"BatteryEmptyFullStatus",
"Batterie Leer/Voll Status",
"",
227
);
// Battery - Power Management SOC
$this->RegisterVariableFloat(
"BatterySoCMin",
"Batterie min. SOC",
"~Intensity.1",
228
);
$this->RegisterVariableFloat(
"BatterySoCCharge",
"Batterie SOC Erhaltungsladung",
"~Intensity.1",
229
);
$this->RegisterVariableFloat(
"BatterySoCChargePower",
"Batterie Erhaltungsladeleistung",
"~Watt",
230
);
// Battery - external Power Management
$this->RegisterVariableBoolean(
"BatteryUseGridPowerEnable",
"Batterie Netzladung freigegeben",
"~Switch",
231
);
$this->RegisterVariableFloat(
"BatteryPowerExtern",
"Batterie externe Sollleistung",
"~Watt",
232
);
$this->RegisterVariableFloat(
"BatteryPowerManagement",
"Batterie Power Management Leistung",
"~Watt",
233
);
// Battery - calibration
$this->RegisterVariableInteger(
"BatteryNextCalibration",
"Batterie nächste Kalibrierung",
"~UnixTimestamp",
235
);
$this->RegisterVariableInteger(
"BatteryCalibrationInterval",
"Batterie Kalibrierungsintervall",
"",
236
);
$this->RegisterVariableInteger(
"BatteryCalibrationDaysInAdvance",
"Batterie Kalibrierung Tage im Voraus",
"",
237
);
Falls davon etwas für das Modul sinnvoll ist, kann ich gerne weitere Zustände
bzw. Werte testen.
Edit: Habe dir mal zwei Dateien per PN geschrieben.
Danke und Viele Grüße
Stefan