Inverter Details
- Model: Solax SK-SU5000e (Gen2 Hybrid)
- Integration: homeassistant-solax-modbus
- Generation: Gen2 (not Gen4/SX4)
- Setup: Dual inverter (2x SK-SU5000e)
Key Differences from Gen4 (SX4)
| Feature |
Gen2 (SK-SU5000e) |
Gen4 (SX4) |
| Remote control (Mode 8) |
Not available |
remotecontrol_power_control |
manual_mode_select (Force Charge/Discharge) |
Not available (Gen4+ only) |
Available |
charger_use_mode options |
Self Use / Force Time Use / Back Up Mode |
+ Manual Mode, PeakShaving, Smart Schedule |
| Charge/discharge control |
Current (amps) via battery_charge_max_current (reg 0x24) / battery_discharge_max_current (reg 0x25) |
Power (W) |
| Time windows |
charge_start_1 (0x92), charge_end_1 (0x94), discharge_start_1 (0x96), discharge_end_1 (0x98) |
Different register layout |
| Reserve SoC |
battery_minimum_capacity (reg 0x20, 10-99%) |
selfuse_discharge_min_soc |
| SoC sensor |
battery_capacity (reg 0x1C, reported as %) |
Same register, different handling |
Control Model
Gen2 uses time-window + current control, similar to GivEnergy timed charge:
- Set
charger_use_mode to "Force Time Use" via select.solax_*_charger_use_mode
- Set charge/discharge time windows via
time.solax_*_charge_start_1, charge_end_1, discharge_start_1, discharge_end_1
- Set charge/discharge current limits via
number.solax_*_battery_charge_max_current / battery_discharge_max_current (0-50A, step 0.1)
- No "Force Charge" select entity exists on Gen2 — that is a Gen4+ feature
Working Custom Definition
inverter_type:
- SX2
- SX2
inverter:
name: "Solax Gen2 Hybrid (Modbus)"
has_rest_api: false
has_mqtt_api: false
has_service_api: false
output_charge_control: "current"
charge_control_immediate: false
current_dp: 1
charge_discharge_with_rate: false
has_charge_enable_time: true
has_discharge_enable_time: true
has_target_soc: false
target_soc_used_for_discharge: false
has_reserve_soc: true
has_timed_pause: false
time_button_press: false
support_charge_freeze: false
support_discharge_freeze: false
has_ge_inverter_mode: false
has_fox_inverter_mode: false
has_idle_time: false
has_time_window: false
charge_time_format: "HH:MM:SS"
charge_time_entity_is_option: false
can_span_midnight: true
clock_time_format: "%H:%M:%S"
num_load_entities: 1
soc_units: "%"
write_and_poll_sleep: 4
Entity Mapping
soc_percent:
- sensor.solax_*_battery_capacity # reg 0x1C, %
soc_kw:
- sensor.solax_*_battery_soc_kwh # template: soc% * capacity_kWh / 100
battery_power:
- sensor.solax_*_battery_power_charge # W, negative = discharge
battery_power_invert:
- true
- true
pv_power:
- sensor.solax_*_pv_power_total
battery_voltage:
- sensor.solax_*_battery_voltage_charge # for W->A conversion
timed_charge_current:
- number.solax_*_battery_charge_max_current # reg 0x24, 0-50A
timed_discharge_current:
- number.solax_*_battery_discharge_max_current # reg 0x25, 0-50A
charge_start_time:
- time.solax_*_charge_start_1 # reg 0x92
charge_end_time:
- time.solax_*_charge_end_1 # reg 0x94
discharge_start_time:
- time.solax_*_discharge_start_1 # reg 0x96
discharge_end_time:
- time.solax_*_discharge_end_1 # reg 0x98
Notes
num_inverters: 2 is required for dual-inverter setups
- The
charger_use_mode select has 3 options: "Self Use Mode" (0), "Force Time Use" (1), "Back Up Mode" (2)
- Gen2 does NOT have
manual_mode_select (Force Charge / Force Discharge) — introduced in Gen4
- Battery voltage is needed for PredBat W->A conversion (nominal ~52V for Pylontech US3000)
- The
battery_charge_max_current register has scale=0.01 for Gen2 (vs scale=0.1 for Gen3+)
- Both inverters share the same definition; entity IDs differ by inverter suffix
Inverter Details
Key Differences from Gen4 (SX4)
remotecontrol_power_controlmanual_mode_select(Force Charge/Discharge)charger_use_modeoptionsbattery_charge_max_current(reg 0x24) /battery_discharge_max_current(reg 0x25)charge_start_1(0x92),charge_end_1(0x94),discharge_start_1(0x96),discharge_end_1(0x98)battery_minimum_capacity(reg 0x20, 10-99%)selfuse_discharge_min_socbattery_capacity(reg 0x1C, reported as %)Control Model
Gen2 uses time-window + current control, similar to GivEnergy timed charge:
charger_use_modeto "Force Time Use" viaselect.solax_*_charger_use_modetime.solax_*_charge_start_1,charge_end_1,discharge_start_1,discharge_end_1number.solax_*_battery_charge_max_current/battery_discharge_max_current(0-50A, step 0.1)Working Custom Definition
Entity Mapping
Notes
num_inverters: 2is required for dual-inverter setupscharger_use_modeselect has 3 options: "Self Use Mode" (0), "Force Time Use" (1), "Back Up Mode" (2)manual_mode_select(Force Charge / Force Discharge) — introduced in Gen4battery_charge_max_currentregister hasscale=0.01for Gen2 (vsscale=0.1for Gen3+)