@@ -2150,7 +2150,7 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
21502150 icon = "mdi:current-dc" ,
21512151 ),
21522152 SolaxModbusNumberEntityDescription (
2153- name = "Consume Off Power " ,
2153+ name = "Smart Save Threshold Off Consumption " ,
21542154 key = "consume_off_power" ,
21552155 register = 0xB9 ,
21562156 fmt = "i" ,
@@ -2159,7 +2159,7 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
21592159 native_step = 100 ,
21602160 native_unit_of_measurement = UnitOfPower .WATT ,
21612161 device_class = NumberDeviceClass .POWER ,
2162- allowedtypes = AC | HYBRID | GEN4 ,
2162+ allowedtypes = AC | HYBRID | GEN4 | DCB ,
21632163 ),
21642164 SolaxModbusNumberEntityDescription (
21652165 name = "Export Control User Limit" ,
@@ -2322,7 +2322,7 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
23222322 icon = "mdi:tune-variant" ,
23232323 ),
23242324 SolaxModbusNumberEntityDescription (
2325- name = "Feedin On Power" ,
2325+ name = "Smart Save Threshold On Feed-in Power" ,
23262326 key = "feedin_on_power" ,
23272327 register = 0xB7 ,
23282328 fmt = "i" ,
@@ -2331,7 +2331,7 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
23312331 native_step = 100 ,
23322332 native_unit_of_measurement = UnitOfPower .WATT ,
23332333 device_class = NumberDeviceClass .POWER ,
2334- allowedtypes = AC | HYBRID | GEN4 ,
2334+ allowedtypes = AC | HYBRID | GEN4 | DCB ,
23352335 ),
23362336 SolaxModbusNumberEntityDescription (
23372337 name = "ForceTime Period 1 Max Capacity" ,
@@ -2384,7 +2384,7 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
23842384 icon = "mdi:home-export-outline" ,
23852385 ),
23862386 SolaxModbusNumberEntityDescription (
2387- name = "Maximum Per Day On " ,
2387+ name = "Smart Save Maximum Per Day" ,
23882388 key = "maximum_per_day_on" ,
23892389 register = 0xBC ,
23902390 fmt = "i" ,
@@ -2395,7 +2395,7 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
23952395 allowedtypes = AC | HYBRID | GEN4 | DCB ,
23962396 ),
23972397 SolaxModbusNumberEntityDescription (
2398- name = "Minimum Per On Signal" ,
2398+ name = "Smart Save Minimum Per On Signal" ,
23992399 key = "minimum_per_on_signal" ,
24002400 register = 0xBB ,
24012401 fmt = "i" ,
@@ -2443,7 +2443,7 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
24432443 icon = "mdi:battery-charging-high" ,
24442444 ),
24452445 SolaxModbusNumberEntityDescription (
2446- name = "Switch Off SOC" ,
2446+ name = "Smart Save Threshold Off Battery SOC" ,
24472447 key = "switch_off_soc" ,
24482448 register = 0xBA ,
24492449 fmt = "i" ,
@@ -2453,6 +2453,9 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
24532453 native_unit_of_measurement = PERCENTAGE ,
24542454 allowedtypes = AC | HYBRID | GEN4 | DCB ,
24552455 ),
2456+ # Switch On SOC does not appear in any SolaX app screen for the dry-contact
2457+ # load-management tree and never changed during live register tracking on an
2458+ # X3-Hybrid-G4; hidden by default until SolaX documents its role.
24562459 SolaxModbusNumberEntityDescription (
24572460 name = "Switch On SOC" ,
24582461 key = "switch_on_soc" ,
@@ -2463,6 +2466,7 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
24632466 native_step = 1 ,
24642467 native_unit_of_measurement = PERCENTAGE ,
24652468 allowedtypes = AC | HYBRID | GEN4 | DCB ,
2469+ entity_registry_enabled_default = False ,
24662470 ),
24672471 SolaxModbusNumberEntityDescription (
24682472 name = "Battery Charge Upper SOC" ,
@@ -3199,12 +3203,12 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
31993203 icon = "mdi:dip-switch" ,
32003204 ),
32013205 SolaXModbusSwitchEntityDescription (
3202- name = "Manual Mode Control " ,
3206+ name = "Load Management Manual " ,
32033207 key = "manual_mode_control" ,
32043208 register = 0xB6 ,
32053209 sensor_key = "manual_mode_control" ,
32063210 value_function = value_function_enable_disable ,
3207- allowedtypes = AC | HYBRID | GEN4 ,
3211+ allowedtypes = AC | HYBRID | GEN4 | DCB ,
32083212 icon = "mdi:dip-switch" ,
32093213 ),
32103214 SolaXModbusSwitchEntityDescription (
@@ -3218,7 +3222,7 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
32183222 icon = "mdi:dip-switch" ,
32193223 ),
32203224 SolaXModbusSwitchEntityDescription (
3221- name = "Schedule" ,
3225+ name = "Smart Save Schedule" ,
32223226 key = "schedule" ,
32233227 register = 0xBD ,
32243228 sensor_key = "schedule" ,
@@ -3579,12 +3583,12 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
35793583 icon = "mdi:dip-switch" ,
35803584 ),
35813585 SolaxModbusSelectEntityDescription (
3582- name = "Work Mode " ,
3586+ name = "Load Management " ,
35833587 key = "work_mode" ,
35843588 register = 0xC2 ,
35853589 option_dict = {
35863590 0 : "Disabled" ,
3587- 1 : "Manual" ,
3591+ 1 : "Manual Mode " ,
35883592 2 : "Smart Save" ,
35893593 },
35903594 allowedtypes = AC | HYBRID | GEN4 | DCB ,
@@ -5050,7 +5054,7 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
50505054 SolaXModbusSensorEntityDescription (
50515055 key = "work_mode" ,
50525056 register = 0x12E ,
5053- scale = {0 : "Disabled" , 1 : "Manual" , 2 : "Smart Save" },
5057+ scale = {0 : "Disabled" , 1 : "Manual Mode " , 2 : "Smart Save" },
50545058 allowedtypes = AC | HYBRID | GEN4 | DCB ,
50555059 internal = True ,
50565060 ),
@@ -11287,7 +11291,7 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
1128711291 icon = "mdi:generator-stationary" ,
1128811292 ),
1128911293 SolaXModbusTimeEntityDescription (
11290- name = "Work End Time 1" ,
11294+ name = "Smart Save Work End Time 1" ,
1129111295 key = "work_end_time_1" ,
1129211296 register = 0xBF ,
1129311297 option_dict = TIME_OPTIONS_GEN4 ,
@@ -11296,7 +11300,7 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
1129611300 icon = "mdi:home-clock" ,
1129711301 ),
1129811302 SolaXModbusTimeEntityDescription (
11299- name = "Work End Time 2" ,
11303+ name = "Smart Save Work End Time 2" ,
1130011304 key = "work_end_time_2" ,
1130111305 register = 0xC1 ,
1130211306 option_dict = TIME_OPTIONS_GEN4 ,
@@ -11305,7 +11309,7 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
1130511309 icon = "mdi:home-clock" ,
1130611310 ),
1130711311 SolaXModbusTimeEntityDescription (
11308- name = "Work Start Time 1" ,
11312+ name = "Smart Save Work Start Time 1" ,
1130911313 key = "work_start_time_1" ,
1131011314 register = 0xBE ,
1131111315 option_dict = TIME_OPTIONS_GEN4 ,
@@ -11314,7 +11318,7 @@ def value_function_bms_2_max_charge(initval: int, descr: Any, datadict: dict[str
1131411318 icon = "mdi:home-clock" ,
1131511319 ),
1131611320 SolaXModbusTimeEntityDescription (
11317- name = "Work Start Time 2" ,
11321+ name = "Smart Save Work Start Time 2" ,
1131811322 key = "work_start_time_2" ,
1131911323 register = 0xC0 ,
1132011324 option_dict = TIME_OPTIONS_GEN4 ,
0 commit comments