Skip to content

Commit 29ea96e

Browse files
authored
Merge pull request wills106#1979 from gec75/main
Solinteg improvements
2 parents 6bf2680 + 46b8b67 commit 29ea96e

1 file changed

Lines changed: 36 additions & 34 deletions

File tree

custom_components/solax_modbus/plugin_solinteg.py

Lines changed: 36 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
REG_HOLDING,
2424
REGISTER_S16,
2525
REGISTER_S32,
26+
REGISTER_STR,
2627
REGISTER_U16,
2728
REGISTER_U32,
2829
REGISTER_WORDS,
@@ -347,7 +348,8 @@ class SolintegModbusSensorEntityDescription(BaseModbusSensorEntityDescription):
347348
key="ems_acctrl_total_power",
348349
register=50203,
349350
register_data_type=REGISTER_S16,
350-
native_unit_of_measurement="x0.01 kW",
351+
scale=0.01,
352+
native_unit_of_measurement=UnitOfPower.KILO_WATT,
351353
device_class=NumberDeviceClass.POWER,
352354
native_min_value=-20000,
353355
native_max_value=20000,
@@ -362,13 +364,15 @@ class SolintegModbusSensorEntityDescription(BaseModbusSensorEntityDescription):
362364
key="ems_acctrl_phase_a_power",
363365
register=50204,
364366
register_data_type=REGISTER_S16,
365-
native_unit_of_measurement="x0.01 kW",
367+
scale=0.01,
368+
native_unit_of_measurement=UnitOfPower.KILO_WATT,
366369
device_class=NumberDeviceClass.POWER,
367370
native_min_value=-20000,
368371
native_max_value=20000,
369372
native_step=1,
370373
mode=NumberMode.BOX,
371374
entity_category=EntityCategory.CONFIG,
375+
entity_registry_enabled_default=False,
372376
allowedtypes=HYBRID,
373377
icon="mdi:transmission-tower",
374378
),
@@ -377,13 +381,15 @@ class SolintegModbusSensorEntityDescription(BaseModbusSensorEntityDescription):
377381
key="ems_acctrl_phase_b_power",
378382
register=50205,
379383
register_data_type=REGISTER_S16,
380-
native_unit_of_measurement="x0.01 kW",
384+
scale=0.01,
385+
native_unit_of_measurement=UnitOfPower.KILO_WATT,
381386
device_class=NumberDeviceClass.POWER,
382387
native_min_value=-20000,
383388
native_max_value=20000,
384389
native_step=1,
385390
mode=NumberMode.BOX,
386391
entity_category=EntityCategory.CONFIG,
392+
entity_registry_enabled_default=False,
387393
allowedtypes=HYBRID,
388394
icon="mdi:transmission-tower",
389395
),
@@ -392,13 +398,15 @@ class SolintegModbusSensorEntityDescription(BaseModbusSensorEntityDescription):
392398
key="ems_acctrl_phase_c_power",
393399
register=50206,
394400
register_data_type=REGISTER_S16,
395-
native_unit_of_measurement="x0.01 kW",
401+
scale=0.01,
402+
native_unit_of_measurement=UnitOfPower.KILO_WATT,
396403
device_class=NumberDeviceClass.POWER,
397404
native_min_value=-20000,
398405
native_max_value=20000,
399406
native_step=1,
400407
mode=NumberMode.BOX,
401408
entity_category=EntityCategory.CONFIG,
409+
entity_registry_enabled_default=False,
402410
allowedtypes=HYBRID,
403411
icon="mdi:transmission-tower",
404412
),
@@ -407,7 +415,8 @@ class SolintegModbusSensorEntityDescription(BaseModbusSensorEntityDescription):
407415
key="battery_charge_discharge_power_target",
408416
register=50207,
409417
register_data_type=REGISTER_S16,
410-
native_unit_of_measurement="x0.01 kW",
418+
scale=0.01,
419+
native_unit_of_measurement=UnitOfPower.KILO_WATT,
411420
device_class=NumberDeviceClass.POWER,
412421
native_min_value=-20000,
413422
native_max_value=20000,
@@ -422,7 +431,8 @@ class SolintegModbusSensorEntityDescription(BaseModbusSensorEntityDescription):
422431
key="ems_battctrl_max_ac_power_limit",
423432
register=50208,
424433
register_data_type=REGISTER_S16,
425-
native_unit_of_measurement="x0.01 kW",
434+
scale=0.01,
435+
native_unit_of_measurement=UnitOfPower.KILO_WATT,
426436
device_class=NumberDeviceClass.POWER,
427437
native_min_value=0,
428438
native_max_value=20000,
@@ -437,7 +447,8 @@ class SolintegModbusSensorEntityDescription(BaseModbusSensorEntityDescription):
437447
key="ems_battctrl_min_ac_power_limit",
438448
register=50209,
439449
register_data_type=REGISTER_S16,
440-
native_unit_of_measurement="x0.01 kW",
450+
scale=0.01,
451+
native_unit_of_measurement=UnitOfPower.KILO_WATT,
441452
device_class=NumberDeviceClass.POWER,
442453
native_min_value=-20000,
443454
native_max_value=0,
@@ -1216,6 +1227,17 @@ class SolintegModbusSensorEntityDescription(BaseModbusSensorEntityDescription):
12161227
icon="mdi:battery",
12171228
entity_category=EntityCategory.DIAGNOSTIC,
12181229
),
1230+
SolintegModbusSensorEntityDescription(
1231+
name="Battery Manufacturer",
1232+
key="battery_manufacturer",
1233+
register=32020, # working, from fw V10.53...
1234+
wordcount=8,
1235+
register_data_type=REGISTER_STR,
1236+
allowedtypes=HYBRID,
1237+
icon="mdi:battery",
1238+
entity_registry_enabled_default=False,
1239+
entity_category=EntityCategory.DIAGNOSTIC,
1240+
),
12191241
SolintegModbusSensorEntityDescription(
12201242
name="Bat. Min Cell Voltage",
12211243
key="battery_min_cell_voltage",
@@ -1577,38 +1599,26 @@ class SolintegModbusSensorEntityDescription(BaseModbusSensorEntityDescription):
15771599
SolintegModbusSensorEntityDescription(
15781600
key="battery_charge_discharge_power_target",
15791601
register=50207,
1580-
scale=1,
1602+
scale=0.01,
15811603
register_data_type=REGISTER_S16,
1582-
native_unit_of_measurement="x0.01 kW",
1583-
device_class=SensorDeviceClass.POWER,
1584-
state_class=SensorStateClass.MEASUREMENT,
15851604
internal=True,
15861605
allowedtypes=HYBRID,
1587-
icon="mdi:battery-arrow-up-down",
15881606
),
15891607
SolintegModbusSensorEntityDescription(
15901608
key="ems_battctrl_max_ac_power_limit",
15911609
register=50208,
1592-
scale=1,
1610+
scale=0.01,
15931611
register_data_type=REGISTER_S16,
1594-
native_unit_of_measurement="x0.01 kW",
1595-
device_class=SensorDeviceClass.POWER,
1596-
state_class=SensorStateClass.MEASUREMENT,
15971612
internal=True,
15981613
allowedtypes=HYBRID,
1599-
icon="mdi:current-ac",
16001614
),
16011615
SolintegModbusSensorEntityDescription(
16021616
key="ems_battctrl_min_ac_power_limit",
16031617
register=50209,
1604-
scale=1,
1618+
scale=0.01,
16051619
register_data_type=REGISTER_S16,
1606-
native_unit_of_measurement="x0.01 kW",
1607-
device_class=SensorDeviceClass.POWER,
1608-
state_class=SensorStateClass.MEASUREMENT,
16091620
internal=True,
16101621
allowedtypes=HYBRID,
1611-
icon="mdi:current-ac",
16121622
),
16131623
SolintegModbusSensorEntityDescription(
16141624
key="ems_battctrl_priority_power_output",
@@ -1635,39 +1645,31 @@ class SolintegModbusSensorEntityDescription(BaseModbusSensorEntityDescription):
16351645
key="ems_acctrl_total_power",
16361646
register=50203,
16371647
register_data_type=REGISTER_S16,
1638-
native_unit_of_measurement="x0.01 kW",
1639-
device_class=SensorDeviceClass.POWER,
1640-
state_class=SensorStateClass.MEASUREMENT,
1648+
scale=0.01,
16411649
internal=True,
16421650
allowedtypes=HYBRID,
16431651
),
16441652
SolintegModbusSensorEntityDescription(
16451653
key="ems_acctrl_phase_a_power",
16461654
register=50204,
16471655
register_data_type=REGISTER_S16,
1648-
native_unit_of_measurement="x0.01 kW",
1649-
device_class=SensorDeviceClass.POWER,
1650-
state_class=SensorStateClass.MEASUREMENT,
1656+
scale=0.01,
16511657
internal=True,
16521658
allowedtypes=HYBRID,
16531659
),
16541660
SolintegModbusSensorEntityDescription(
16551661
key="ems_acctrl_phase_b_power",
16561662
register=50205,
16571663
register_data_type=REGISTER_S16,
1658-
native_unit_of_measurement="x0.01 kW",
1659-
device_class=SensorDeviceClass.POWER,
1660-
state_class=SensorStateClass.MEASUREMENT,
1664+
scale=0.01,
16611665
internal=True,
16621666
allowedtypes=HYBRID,
16631667
),
16641668
SolintegModbusSensorEntityDescription(
16651669
key="ems_acctrl_phase_c_power",
16661670
register=50206,
16671671
register_data_type=REGISTER_S16,
1668-
native_unit_of_measurement="x0.01 kW",
1669-
device_class=SensorDeviceClass.POWER,
1670-
state_class=SensorStateClass.MEASUREMENT,
1672+
scale=0.01,
16711673
internal=True,
16721674
allowedtypes=HYBRID,
16731675
),

0 commit comments

Comments
 (0)