Skip to content

Commit b490536

Browse files
authored
Merge pull request #1494 from infradom/main
quick temp fix for #1490 and correct solis plugin: remove entity_registry_enabled_default declarations
2 parents d8d1b49 + f2e36df commit b490536

2 files changed

Lines changed: 49 additions & 49 deletions

File tree

custom_components/solax_modbus/__init__.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -260,15 +260,16 @@ def Gen4Timestring(numb):
260260
m = numb >> 8
261261
return f"{h:02d}:{m:02d}"
262262

263-
def is_entity_enabled(hass, entity_id): # Check if the entity is enabled in Home Assistant
264-
state = hass.states.get(entity_id)
265-
if state is None:
266-
_LOGGER.debug(f"Entity {entity_id} not found in state manager, assuming disabled. Not added to read block")
267-
return False
268-
if state.state in ['unavailable', 'unknown']: # Check if the entity state is 'unavailable' or 'unknown'
269-
return True
270-
# If none of the above conditions are met, assume the entity is enabled
271-
return True
263+
def is_entity_enabled(hass, hubname, key): # Check if the entity is enabled in Home Assistant
264+
"""
265+
for platform in ("sensor", "number", "select", "switch",):
266+
state = hass.states.get(f"{platform}.{hubname}_{key}")
267+
if state is not None:
268+
return True
269+
_LOGGER.debug(f"Entity sensor.{hubname}_{key} not found in state manager, assuming disabled - skipping unless declared internal")
270+
return False
271+
"""
272+
return True # temporary solution for issue #1490
272273

273274
@dataclass
274275
class block():
@@ -1073,16 +1074,15 @@ def splitInBlocks( self, descriptions):
10731074
d_newblock = False
10741075
d_enabled = False
10751076
for sub, d in descr.items():
1076-
entity_id = f"sensor.{self._name}_{d.key}"
1077-
d_enabled = d_enabled or is_entity_enabled(self._hass, entity_id) or d.internal
1077+
d_enabled = d_enabled or d.internal or is_entity_enabled(self._hass, self._name, d.key)
10781078
d_newblock = d_newblock or d.newblock
10791079
d_unit = d.unit
10801080
d_wordcount = 1 # not used here
10811081
d_key = d.key # does not matter which key we use here
10821082
d_regtype = d.register_type
10831083
else: # normal entity
10841084
entity_id = f"sensor.{self._name}_{descr.key}"
1085-
d_enabled = is_entity_enabled(self._hass, entity_id) or descr.internal
1085+
d_enabled = descr.internal or is_entity_enabled(self._hass, self._name, descr.key)
10861086
d_newblock = descr.newblock
10871087
d_unit = descr.unit
10881088
d_wordcount = descr.wordcount

custom_components/solax_modbus/plugin_solis.py

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2237,30 +2237,30 @@ def value_function_pv4_power(initval, descr, datadict):
22372237
190: "On",
22382238
222: "Off",
22392239
},
2240-
entity_registry_enabled_default=False,
2240+
#entity_registry_enabled_default=False,
22412241
allowedtypes=HYBRID,
22422242
),
22432243
SolisModbusSensorEntityDescription(
22442244
name="Battery Minimum SOC",
22452245
key="battery_minimum_soc",
22462246
register=43011,
2247-
entity_registry_enabled_default=False,
2247+
#entity_registry_enabled_default=False,
22482248
allowedtypes=HYBRID,
22492249
icon="mdi:battery-sync",
22502250
),
22512251
SolisModbusSensorEntityDescription(
22522252
name="Force Charge SOC",
22532253
key="force_charge_soc",
22542254
register=43018,
2255-
entity_registry_enabled_default=False,
2255+
#entity_registry_enabled_default=False,
22562256
allowedtypes=HYBRID,
22572257
icon="mdi:battery-sync",
22582258
),
22592259
SolisModbusSensorEntityDescription(
22602260
name="Backup Mode SOC",
22612261
key="backup_mode_soc",
22622262
register=43024,
2263-
entity_registry_enabled_default=False,
2263+
#entity_registry_enabled_default=False,
22642264
allowedtypes=HYBRID,
22652265
icon="mdi:battery-sync",
22662266
),
@@ -2272,7 +2272,7 @@ def value_function_pv4_power(initval, descr, datadict):
22722272
0: "Off",
22732273
16: "On",
22742274
},
2275-
entity_registry_enabled_default=False,
2275+
#entity_registry_enabled_default=False,
22762276
allowedtypes=HYBRID | X1,
22772277
),
22782278
SolisModbusSensorEntityDescription(
@@ -2285,7 +2285,7 @@ def value_function_pv4_power(initval, descr, datadict):
22852285
64: "Off & Unbalanced output",
22862286
80: "On & Unbalanced output",
22872287
},
2288-
entity_registry_enabled_default=False,
2288+
#entity_registry_enabled_default=False,
22892289
allowedtypes=HYBRID | X3,
22902290
),
22912291
SolisModbusSensorEntityDescription(
@@ -2298,7 +2298,7 @@ def value_function_pv4_power(initval, descr, datadict):
22982298
scale=100,
22992299
rounding=0,
23002300
allowedtypes=HYBRID,
2301-
entity_registry_enabled_default=False,
2301+
#entity_registry_enabled_default=False,
23022302
),
23032303
SolisModbusSensorEntityDescription(
23042304
name="Battery ChargeDischarge Current",
@@ -2310,7 +2310,7 @@ def value_function_pv4_power(initval, descr, datadict):
23102310
scale=0.1,
23112311
rounding=1,
23122312
allowedtypes=HYBRID,
2313-
entity_registry_enabled_default=False,
2313+
#entity_registry_enabled_default=False,
23142314
entity_category=EntityCategory.CONFIG,
23152315
),
23162316
SolisModbusSensorEntityDescription(
@@ -2323,7 +2323,7 @@ def value_function_pv4_power(initval, descr, datadict):
23232323
scale=0.1,
23242324
rounding=1,
23252325
allowedtypes=HYBRID,
2326-
entity_registry_enabled_default=False,
2326+
#entity_registry_enabled_default=False,
23272327
entity_category=EntityCategory.CONFIG,
23282328
),
23292329
SolisModbusSensorEntityDescription(
@@ -2335,7 +2335,7 @@ def value_function_pv4_power(initval, descr, datadict):
23352335
register=43118,
23362336
scale=0.1,
23372337
rounding=1,
2338-
entity_registry_enabled_default=False,
2338+
#entity_registry_enabled_default=False,
23392339
allowedtypes=HYBRID,
23402340
entity_category=EntityCategory.CONFIG,
23412341
),
@@ -2348,7 +2348,7 @@ def value_function_pv4_power(initval, descr, datadict):
23482348
register=43141,
23492349
scale=0.1,
23502350
rounding=1,
2351-
entity_registry_enabled_default=False,
2351+
#entity_registry_enabled_default=False,
23522352
allowedtypes=HYBRID,
23532353
entity_category=EntityCategory.CONFIG,
23542354
),
@@ -2361,7 +2361,7 @@ def value_function_pv4_power(initval, descr, datadict):
23612361
register=43142,
23622362
scale=0.1,
23632363
rounding=1,
2364-
entity_registry_enabled_default=False,
2364+
#entity_registry_enabled_default=False,
23652365
allowedtypes=HYBRID,
23662366
entity_category=EntityCategory.CONFIG,
23672367
),
@@ -2370,7 +2370,7 @@ def value_function_pv4_power(initval, descr, datadict):
23702370
key="timed_charge_start_hours",
23712371
register=43143,
23722372
native_unit_of_measurement=UnitOfTime.HOURS,
2373-
entity_registry_enabled_default=False,
2373+
#entity_registry_enabled_default=False,
23742374
allowedtypes=HYBRID,
23752375
entity_category=EntityCategory.CONFIG,
23762376
icon="mdi:battery-clock",
@@ -2380,7 +2380,7 @@ def value_function_pv4_power(initval, descr, datadict):
23802380
key="timed_charge_start_minutes",
23812381
register=43144,
23822382
native_unit_of_measurement=UnitOfTime.MINUTES,
2383-
entity_registry_enabled_default=False,
2383+
#entity_registry_enabled_default=False,
23842384
allowedtypes=HYBRID,
23852385
entity_category=EntityCategory.CONFIG,
23862386
icon="mdi:battery-clock",
@@ -2390,7 +2390,7 @@ def value_function_pv4_power(initval, descr, datadict):
23902390
key="timed_charge_end_hours",
23912391
register=43145,
23922392
native_unit_of_measurement=UnitOfTime.HOURS,
2393-
entity_registry_enabled_default=False,
2393+
#entity_registry_enabled_default=False,
23942394
allowedtypes=HYBRID,
23952395
entity_category=EntityCategory.CONFIG,
23962396
icon="mdi:battery-clock",
@@ -2400,7 +2400,7 @@ def value_function_pv4_power(initval, descr, datadict):
24002400
key="timed_charge_end_minutes",
24012401
register=43146,
24022402
native_unit_of_measurement=UnitOfTime.MINUTES,
2403-
entity_registry_enabled_default=False,
2403+
#entity_registry_enabled_default=False,
24042404
allowedtypes=HYBRID,
24052405
entity_category=EntityCategory.CONFIG,
24062406
icon="mdi:battery-clock",
@@ -2410,7 +2410,7 @@ def value_function_pv4_power(initval, descr, datadict):
24102410
key="timed_discharge_start_hours",
24112411
register=43147,
24122412
native_unit_of_measurement=UnitOfTime.HOURS,
2413-
entity_registry_enabled_default=False,
2413+
#entity_registry_enabled_default=False,
24142414
allowedtypes=HYBRID,
24152415
entity_category=EntityCategory.CONFIG,
24162416
icon="mdi:battery-clock",
@@ -2420,7 +2420,7 @@ def value_function_pv4_power(initval, descr, datadict):
24202420
key="timed_discharge_start_minutes",
24212421
register=43148,
24222422
native_unit_of_measurement=UnitOfTime.MINUTES,
2423-
entity_registry_enabled_default=False,
2423+
#entity_registry_enabled_default=False,
24242424
allowedtypes=HYBRID,
24252425
entity_category=EntityCategory.CONFIG,
24262426
icon="mdi:battery-clock",
@@ -2429,7 +2429,7 @@ def value_function_pv4_power(initval, descr, datadict):
24292429
name="Timed Discharge End Hours",
24302430
key="timed_discharge_end_hours",
24312431
register=43149,
2432-
native_unit_of_measurement=UnitOfTime.HOURS,
2432+
#native_unit_of_measurement=UnitOfTime.HOURS,
24332433
entity_registry_enabled_default=False,
24342434
allowedtypes=HYBRID,
24352435
entity_category=EntityCategory.CONFIG,
@@ -2440,7 +2440,7 @@ def value_function_pv4_power(initval, descr, datadict):
24402440
key="timed_discharge_end_minutes",
24412441
register=43150,
24422442
native_unit_of_measurement=UnitOfTime.MINUTES,
2443-
entity_registry_enabled_default=False,
2443+
#entity_registry_enabled_default=False,
24442444
allowedtypes=HYBRID,
24452445
entity_category=EntityCategory.CONFIG,
24462446
icon="mdi:battery-clock",
@@ -2451,7 +2451,7 @@ def value_function_pv4_power(initval, descr, datadict):
24512451
key="timed_charge_start_hours_2",
24522452
register=43153,
24532453
native_unit_of_measurement=UnitOfTime.HOURS,
2454-
entity_registry_enabled_default=False,
2454+
#entity_registry_enabled_default=False,
24552455
allowedtypes=HYBRID,
24562456
entity_category=EntityCategory.CONFIG,
24572457
icon="mdi:battery-clock",
@@ -2461,7 +2461,7 @@ def value_function_pv4_power(initval, descr, datadict):
24612461
key="timed_charge_start_minutes_2",
24622462
register=43154,
24632463
native_unit_of_measurement=UnitOfTime.MINUTES,
2464-
entity_registry_enabled_default=False,
2464+
#entity_registry_enabled_default=False,
24652465
allowedtypes=HYBRID,
24662466
entity_category=EntityCategory.CONFIG,
24672467
icon="mdi:battery-clock",
@@ -2471,7 +2471,7 @@ def value_function_pv4_power(initval, descr, datadict):
24712471
key="timed_charge_end_hours_2",
24722472
register=43155,
24732473
native_unit_of_measurement=UnitOfTime.HOURS,
2474-
entity_registry_enabled_default=False,
2474+
#entity_registry_enabled_default=False,
24752475
allowedtypes=HYBRID,
24762476
entity_category=EntityCategory.CONFIG,
24772477
icon="mdi:battery-clock",
@@ -2481,7 +2481,7 @@ def value_function_pv4_power(initval, descr, datadict):
24812481
key="timed_charge_end_minutes_2",
24822482
register=43156,
24832483
native_unit_of_measurement=UnitOfTime.MINUTES,
2484-
entity_registry_enabled_default=False,
2484+
#entity_registry_enabled_default=False,
24852485
allowedtypes=HYBRID,
24862486
entity_category=EntityCategory.CONFIG,
24872487
icon="mdi:battery-clock",
@@ -2491,7 +2491,7 @@ def value_function_pv4_power(initval, descr, datadict):
24912491
key="timed_discharge_start_hours_2",
24922492
register=43157,
24932493
native_unit_of_measurement=UnitOfTime.HOURS,
2494-
entity_registry_enabled_default=False,
2494+
#entity_registry_enabled_default=False,
24952495
allowedtypes=HYBRID,
24962496
entity_category=EntityCategory.CONFIG,
24972497
icon="mdi:battery-clock",
@@ -2501,7 +2501,7 @@ def value_function_pv4_power(initval, descr, datadict):
25012501
key="timed_discharge_start_minutes_2",
25022502
register=43158,
25032503
native_unit_of_measurement=UnitOfTime.MINUTES,
2504-
entity_registry_enabled_default=False,
2504+
#entity_registry_enabled_default=False,
25052505
allowedtypes=HYBRID,
25062506
entity_category=EntityCategory.CONFIG,
25072507
icon="mdi:battery-clock",
@@ -2511,7 +2511,7 @@ def value_function_pv4_power(initval, descr, datadict):
25112511
key="timed_discharge_end_hours_2",
25122512
register=43159,
25132513
native_unit_of_measurement=UnitOfTime.HOURS,
2514-
entity_registry_enabled_default=False,
2514+
#entity_registry_enabled_default=False,
25152515
allowedtypes=HYBRID,
25162516
entity_category=EntityCategory.CONFIG,
25172517
icon="mdi:battery-clock",
@@ -2521,7 +2521,7 @@ def value_function_pv4_power(initval, descr, datadict):
25212521
key="timed_discharge_end_minutes_2",
25222522
register=43160,
25232523
native_unit_of_measurement=UnitOfTime.MINUTES,
2524-
entity_registry_enabled_default=False,
2524+
#entity_registry_enabled_default=False,
25252525
allowedtypes=HYBRID,
25262526
entity_category=EntityCategory.CONFIG,
25272527
icon="mdi:battery-clock",
@@ -2532,7 +2532,7 @@ def value_function_pv4_power(initval, descr, datadict):
25322532
key="timed_charge_start_hours_3",
25332533
register=43163,
25342534
native_unit_of_measurement=UnitOfTime.HOURS,
2535-
entity_registry_enabled_default=False,
2535+
#entity_registry_enabled_default=False,
25362536
allowedtypes=HYBRID,
25372537
entity_category=EntityCategory.CONFIG,
25382538
icon="mdi:battery-clock",
@@ -2542,7 +2542,7 @@ def value_function_pv4_power(initval, descr, datadict):
25422542
key="timed_charge_start_minutes_3",
25432543
register=43164,
25442544
native_unit_of_measurement=UnitOfTime.MINUTES,
2545-
entity_registry_enabled_default=False,
2545+
#entity_registry_enabled_default=False,
25462546
allowedtypes=HYBRID,
25472547
entity_category=EntityCategory.CONFIG,
25482548
icon="mdi:battery-clock",
@@ -2552,7 +2552,7 @@ def value_function_pv4_power(initval, descr, datadict):
25522552
key="timed_charge_end_hours_3",
25532553
register=43165,
25542554
native_unit_of_measurement=UnitOfTime.HOURS,
2555-
entity_registry_enabled_default=False,
2555+
#entity_registry_enabled_default=False,
25562556
allowedtypes=HYBRID,
25572557
entity_category=EntityCategory.CONFIG,
25582558
icon="mdi:battery-clock",
@@ -2562,7 +2562,7 @@ def value_function_pv4_power(initval, descr, datadict):
25622562
key="timed_charge_end_minutes_3",
25632563
register=43166,
25642564
native_unit_of_measurement=UnitOfTime.MINUTES,
2565-
entity_registry_enabled_default=False,
2565+
#entity_registry_enabled_default=False,
25662566
allowedtypes=HYBRID,
25672567
entity_category=EntityCategory.CONFIG,
25682568
icon="mdi:battery-clock",
@@ -2572,7 +2572,7 @@ def value_function_pv4_power(initval, descr, datadict):
25722572
key="timed_discharge_start_hours_3",
25732573
register=43167,
25742574
native_unit_of_measurement=UnitOfTime.HOURS,
2575-
entity_registry_enabled_default=False,
2575+
#entity_registry_enabled_default=False,
25762576
allowedtypes=HYBRID,
25772577
entity_category=EntityCategory.CONFIG,
25782578
icon="mdi:battery-clock",
@@ -2582,7 +2582,7 @@ def value_function_pv4_power(initval, descr, datadict):
25822582
key="timed_discharge_start_minutes_3",
25832583
register=43168,
25842584
native_unit_of_measurement=UnitOfTime.MINUTES,
2585-
entity_registry_enabled_default=False,
2585+
#entity_registry_enabled_default=False,
25862586
allowedtypes=HYBRID,
25872587
entity_category=EntityCategory.CONFIG,
25882588
icon="mdi:battery-clock",
@@ -2592,7 +2592,7 @@ def value_function_pv4_power(initval, descr, datadict):
25922592
key="timed_discharge_end_hours_3",
25932593
register=43169,
25942594
native_unit_of_measurement=UnitOfTime.HOURS,
2595-
entity_registry_enabled_default=False,
2595+
#entity_registry_enabled_default=False,
25962596
allowedtypes=HYBRID,
25972597
entity_category=EntityCategory.CONFIG,
25982598
icon="mdi:battery-clock",
@@ -2602,7 +2602,7 @@ def value_function_pv4_power(initval, descr, datadict):
26022602
key="timed_discharge_end_minutes_3",
26032603
register=43170,
26042604
native_unit_of_measurement=UnitOfTime.MINUTES,
2605-
entity_registry_enabled_default=False,
2605+
#entity_registry_enabled_default=False,
26062606
allowedtypes=HYBRID,
26072607
entity_category=EntityCategory.CONFIG,
26082608
icon="mdi:battery-clock",
@@ -2614,7 +2614,7 @@ def value_function_pv4_power(initval, descr, datadict):
26142614
icon="mdi:switch",
26152615
entity_registry_enabled_default=True,
26162616
allowedtypes=HYBRID,
2617-
entity_category=EntityCategory.CONFIG,
2617+
#entity_category=EntityCategory.CONFIG,
26182618
),
26192619
]
26202620

0 commit comments

Comments
 (0)