@@ -61,15 +61,18 @@ async def async_setup_entry(
6161 for slave , registerLedger in register_set .items ():
6262 for name in registerLedger :
6363 for register_name , registerInfo in register_info_dict [name ].items ():
64- # _LOGGER.debug("unit == " + str(slave) + " registerLedger == " + str(registerLedger) + " registerInfo ")
65- # _LOGGER.debug(str(registerInfo.slave))
66- # _LOGGER.debug("register_name")
67- # _LOGGER.debug(register_name)
64+ _LOGGER .debug ("unit == " + str (slave ) + " registerLedger == " + str (registerLedger ) + " registerInfo " )
65+
66+ if slave == 100 and not register_name .startswith (("settings" , "system" )) :
67+ actual_id = 0
68+ else :
69+ actual_id = slave
70+
6871 if isinstance (registerInfo .entityType , SliderWriteType ):
6972 descriptions .append (VictronEntityDescription (
7073 key = register_name ,
7174 name = register_name .replace ('_' , ' ' ),
72- slave = slave ,
75+ slave = actual_id ,
7376 native_unit_of_measurement = registerInfo .unit ,
7477 mode = NumberMode .SLIDER if config_entry .options [CONF_USE_SLIDERS ] else NumberMode .BOX ,
7578 native_min_value = determine_min_value (registerInfo .unit , config_entry .options , registerInfo .entityType .powerType , registerInfo .entityType .negative ),
@@ -79,6 +82,7 @@ async def async_setup_entry(
7982 scale = registerInfo .scale ,
8083 native_step = registerInfo .step
8184 ))
85+ _LOGGER .debug ("composed description == " + str (descriptions ))
8286
8387 entities = []
8488 entity = {}
@@ -169,17 +173,11 @@ def __init__(self, coordinator: victronEnergyDeviceUpdateCoordinator, descriptio
169173
170174 self .data_key = str (self .description .slave ) + "." + str (self .description .key )
171175
172- #VE.CAN device zero is present under unit 100. This seperates non system / settings entities into the seperate can device
173- if description .slave == 100 and not description .key .startswith (("settings" , "system" )) :
174- actual_id = 0
175- else :
176- actual_id = description .slave
177-
178176 self ._attr_native_value = self .description .value_fn (self .coordinator .processed_data (), self .description .slave , self .description .key )
179177
180- self ._attr_unique_id = f"{ actual_id } _{ self .description .key } "
181- if actual_id not in (100 , 225 ):
182- self .entity_id = f"{ NUMBER_DOMAIN } .{ DOMAIN } _{ self .description .key } _{ actual_id } "
178+ self ._attr_unique_id = f"{ self . description . slave } _{ self .description .key } "
179+ if self . description . slave not in (100 , 225 ):
180+ self .entity_id = f"{ NUMBER_DOMAIN } .{ DOMAIN } _{ self .description .key } _{ self . description . slave } "
183181 else :
184182 self .entity_id = f"{ NUMBER_DOMAIN } .{ DOMAIN } _{ self .description .key } "
185183
0 commit comments