[Modul] RCT-Power Inverter

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.

1 „Gefällt mir“

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