Skip to content

Enhancement: Add Solax Gen2 Hybrid (SK-SU5000e) inverter type #4501

Description

@MJP-76

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:

  1. Set charger_use_mode to "Force Time Use" via select.solax_*_charger_use_mode
  2. Set charge/discharge time windows via time.solax_*_charge_start_1, charge_end_1, discharge_start_1, discharge_end_1
  3. Set charge/discharge current limits via number.solax_*_battery_charge_max_current / battery_discharge_max_current (0-50A, step 0.1)
  4. 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

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationsolax

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions