diff --git a/changelog.md b/changelog.md index 0299a44a..66b32dda 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,7 @@ # Version 2025.1.2 (2025-01-06) +- Add legacy name for hub entities +- Cleanup hub entity name if channel exists - Identify channel of a system variable: - name ends with channel address - name contains channel/device id diff --git a/hahomematic/central/__init__.py b/hahomematic/central/__init__.py index 02efd4af..089e3baa 100644 --- a/hahomematic/central/__init__.py +++ b/hahomematic/central/__init__.py @@ -349,16 +349,16 @@ def version(self) -> str | None: def add_sysvar_data_point(self, sysvar_data_point: GenericSysvarDataPoint) -> None: """Add new program button.""" - if (name := sysvar_data_point.name) is not None: - self._sysvar_data_points[name] = sysvar_data_point + if (vid := sysvar_data_point.vid) is not None: + self._sysvar_data_points[vid] = sysvar_data_point if sysvar_data_point.state_path not in self._sysvar_data_point_event_subscriptions: self._sysvar_data_point_event_subscriptions[sysvar_data_point.state_path] = sysvar_data_point.event - def remove_sysvar_data_point(self, name: str) -> None: + def remove_sysvar_data_point(self, vid: str) -> None: """Remove a sysvar data_point.""" - if (sysvar_dp := self.get_sysvar_data_point(name=name)) is not None: + if (sysvar_dp := self.get_sysvar_data_point(vid=vid)) is not None: sysvar_dp.fire_device_removed_callback() - del self._sysvar_data_points[name] + del self._sysvar_data_points[vid] if sysvar_dp.state_path in self._sysvar_data_point_event_subscriptions: del self._sysvar_data_point_event_subscriptions[sysvar_dp.state_path] @@ -1207,18 +1207,18 @@ async def load_and_refresh_data_point_data( paramset_key=paramset_key, interface=interface, direct_call=direct_call ) - async def get_system_variable(self, name: str) -> Any | None: + async def get_system_variable(self, legacy_name: str) -> Any | None: """Get system variable from CCU / Homegear.""" if client := self.primary_client: - return await client.get_system_variable(name) + return await client.get_system_variable(legacy_name) return None - async def set_system_variable(self, name: str, value: Any) -> None: + async def set_system_variable(self, legacy_name: str, value: Any) -> None: """Set variable value on CCU/Homegear.""" - if dp := self.get_sysvar_data_point(name=name): + if dp := self.get_sysvar_data_point(legacy_name=legacy_name): await dp.send_variable(value=value) else: - _LOGGER.warning("Variable %s not found on %s", name, self.name) + _LOGGER.warning("Variable %s not found on %s", legacy_name, self.name) def get_parameters( self, @@ -1300,18 +1300,27 @@ def get_custom_data_point(self, address: str, channel_no: int) -> CustomDataPoin return device.get_custom_data_point(channel_no=channel_no) return None - def get_sysvar_data_point(self, name: str) -> GenericSysvarDataPoint | None: + def get_sysvar_data_point( + self, vid: str | None = None, legacy_name: str | None = None + ) -> GenericSysvarDataPoint | None: """Return the sysvar data_point.""" - if sysvar := self._sysvar_data_points.get(name): + if vid and (sysvar := self._sysvar_data_points.get(vid)): return sysvar - for sysvar in self._sysvar_data_points.values(): - if sysvar.name == name: - return sysvar + if legacy_name: + for sysvar in self._sysvar_data_points.values(): + if sysvar.legacy_name == legacy_name: + return sysvar return None - def get_program_data_point(self, pid: str) -> ProgramDpType | None: + def get_program_data_point(self, pid: str | None = None, legacy_name: str | None = None) -> ProgramDpType | None: """Return the program data points.""" - return self._program_data_points.get(pid) + if pid and (program := self._program_data_points.get(pid)): + return program + if legacy_name: + for program in self._program_data_points.values(): + if legacy_name in (program.button.legacy_name, program.switch.legacy_name): + return program + return None def get_data_point_path(self) -> tuple[str, ...]: """Return the registered state path.""" diff --git a/hahomematic/client/__init__.py b/hahomematic/client/__init__.py index ca5a4780..0322deb2 100644 --- a/hahomematic/client/__init__.py +++ b/hahomematic/client/__init__.py @@ -363,7 +363,7 @@ async def set_program_state(self, pid: str, state: bool) -> bool: """Set the program state on CCU / Homegear.""" @abstractmethod - async def set_system_variable(self, name: str, value: Any) -> bool: + async def set_system_variable(self, legacy_name: str, value: Any) -> bool: """Set a system variable on CCU / Homegear.""" @abstractmethod @@ -1068,9 +1068,9 @@ async def report_value_usage(self, address: str, value_id: str, ref_counter: int ) from ex @service(measure_performance=True) - async def set_system_variable(self, name: str, value: Any) -> bool: + async def set_system_variable(self, legacy_name: str, value: Any) -> bool: """Set a system variable on CCU / Homegear.""" - return await self._json_rpc_client.set_system_variable(name=name, value=value) + return await self._json_rpc_client.set_system_variable(legacy_name=legacy_name, value=value) @service() async def delete_system_variable(self, name: str) -> bool: @@ -1391,9 +1391,9 @@ async def set_program_state(self, pid: str, state: bool) -> bool: return True @service(measure_performance=True) - async def set_system_variable(self, name: str, value: Any) -> bool: + async def set_system_variable(self, legacy_name: str, value: Any) -> bool: """Set a system variable on CCU / Homegear.""" - await self._proxy.setSystemVariable(name, value) + await self._proxy.setSystemVariable(legacy_name, value) return True @service() @@ -1415,7 +1415,7 @@ async def get_all_system_variables( variables: list[SystemVariableData] = [] if hg_variables := await self._proxy.getAllSystemVariables(): for name, value in hg_variables.items(): - variables.append(SystemVariableData(vid=name, name=name, value=value)) + variables.append(SystemVariableData(vid=name, legacy_name=name, value=value)) return tuple(variables) @service(re_raise=False, no_raise_return=()) diff --git a/hahomematic/client/json_rpc.py b/hahomematic/client/json_rpc.py index 33f51eb9..fa3e4f5a 100644 --- a/hahomematic/client/json_rpc.py +++ b/hahomematic/client/json_rpc.py @@ -510,9 +510,9 @@ async def set_program_state(self, pid: str, state: bool) -> bool: return True - async def set_system_variable(self, name: str, value: Any) -> bool: + async def set_system_variable(self, legacy_name: str, value: Any) -> bool: """Set a system variable on CCU / Homegear.""" - params = {_JsonKey.NAME: name, _JsonKey.VALUE: value} + params = {_JsonKey.NAME: legacy_name, _JsonKey.VALUE: value} if isinstance(value, bool): params[_JsonKey.VALUE] = int(value) response = await self._post(method=_JsonRpcMethod.SYSVAR_SET_BOOL, extra_params=params) @@ -579,10 +579,10 @@ async def get_all_system_variables( enabled_default = False extended_sysvar = False var_id = var[_JsonKey.ID] - name = var[_JsonKey.NAME] + legacy_name = var[_JsonKey.NAME] is_internal = var[_JsonKey.IS_INTERNAL] - if new_name := RENAME_SYSVAR_BY_NAME.get(name): - name = new_name + if new_name := RENAME_SYSVAR_BY_NAME.get(legacy_name): + legacy_name = new_name if var_id in ALWAYS_ENABLE_SYSVARS_BY_ID: enabled_default = True @@ -634,7 +634,7 @@ async def get_all_system_variables( variables.append( SystemVariableData( vid=var_id, - name=name, + legacy_name=legacy_name, data_type=data_type, description=description, unit=unit, @@ -651,7 +651,7 @@ async def get_all_system_variables( "GET_ALL_SYSTEM_VARIABLES failed: %s [%s] Failed to parse SysVar %s ", vterr.__class__.__name__, reduce_args(args=vterr.args), - name, + legacy_name, ) return tuple(variables) @@ -999,7 +999,7 @@ async def get_all_programs(self, markers: tuple[DescriptionMarker | str, ...]) - all_programs.append( ProgramData( pid=pid, - name=name, + legacy_name=name, description=description, is_active=is_active, is_internal=is_internal, diff --git a/hahomematic/const.py b/hahomematic/const.py index 2181648d..2905e59e 100644 --- a/hahomematic/const.py +++ b/hahomematic/const.py @@ -633,7 +633,7 @@ class DataPointKey(NamedTuple): class HubData: """Dataclass for hub data points.""" - name: str + legacy_name: str enabled_default: bool = False description: str | None = None diff --git a/hahomematic/model/hub/__init__.py b/hahomematic/model/hub/__init__.py index 156d26b4..bd1928a7 100644 --- a/hahomematic/model/hub/__init__.py +++ b/hahomematic/model/hub/__init__.py @@ -145,17 +145,14 @@ async def _update_sysvar_data_points(self) -> None: if self._central.model is Backend.CCU: variables = _clean_variables(variables) - if missing_variable_names := self._identify_missing_variable_names(variables=variables): - self._remove_sysvar_data_point(del_data_points=missing_variable_names) + if missing_variable_ids := self._identify_missing_variable_ids(variables=variables): + self._remove_sysvar_data_point(del_data_point_ids=missing_variable_ids) new_sysvars: list[GenericSysvarDataPoint] = [] for sysvar in variables: - name = sysvar.name - value = sysvar.value - - if dp := self._central.get_sysvar_data_point(name=name): - dp.write_value(value) + if dp := self._central.get_sysvar_data_point(vid=sysvar.vid): + dp.write_value(sysvar.value) else: new_sysvars.append(self._create_system_variable(data=sysvar)) @@ -204,10 +201,10 @@ def _remove_program_data_point(self, ids: set[str]) -> None: for pid in ids: self._central.remove_program_button(pid=pid) - def _remove_sysvar_data_point(self, del_data_points: set[str]) -> None: + def _remove_sysvar_data_point(self, del_data_point_ids: set[str]) -> None: """Remove sysvar data_point from hub.""" - for name in del_data_points: - self._central.remove_sysvar_data_point(name=name) + for vid in del_data_point_ids: + self._central.remove_sysvar_data_point(vid=vid) def _identify_missing_program_ids(self, programs: tuple[ProgramData, ...]) -> set[str]: """Identify missing programs.""" @@ -217,18 +214,18 @@ def _identify_missing_program_ids(self, programs: tuple[ProgramData, ...]) -> se if program_dp.pid not in [x.pid for x in programs] } - def _identify_missing_variable_names(self, variables: tuple[SystemVariableData, ...]) -> set[str]: + def _identify_missing_variable_ids(self, variables: tuple[SystemVariableData, ...]) -> set[str]: """Identify missing variables.""" - variable_names: dict[str, bool] = {x.name: x.extended_sysvar for x in variables} - missing_variables: list[str] = [] + variable_ids: dict[str, bool] = {x.vid: x.extended_sysvar for x in variables} + missing_variable_ids: list[str] = [] for sysvar_data_point in self._central.sysvar_data_points: if sysvar_data_point.data_type == SysvarType.STRING: continue - if (name := sysvar_data_point.name) is not None and ( - name not in variable_names or (sysvar_data_point.is_extended is not variable_names.get(name)) + if (vid := sysvar_data_point.vid) is not None and ( + vid not in variable_ids or (sysvar_data_point.is_extended is not variable_ids.get(vid)) ): - missing_variables.append(name) - return set(missing_variables) + missing_variable_ids.append(vid) + return set(missing_variable_ids) def _is_excluded(variable: str, excludes: list[str]) -> bool: @@ -238,7 +235,7 @@ def _is_excluded(variable: str, excludes: list[str]) -> bool: def _clean_variables(variables: tuple[SystemVariableData, ...]) -> tuple[SystemVariableData, ...]: """Clean variables by removing excluded.""" - return tuple(sv for sv in variables if not _is_excluded(sv.name, _EXCLUDED)) + return tuple(sv for sv in variables if not _is_excluded(sv.legacy_name, _EXCLUDED)) def _get_new_hub_data_points( diff --git a/hahomematic/model/hub/data_point.py b/hahomematic/model/hub/data_point.py index 891285f8..def8af3b 100644 --- a/hahomematic/model/hub/data_point.py +++ b/hahomematic/model/hub/data_point.py @@ -20,7 +20,14 @@ from hahomematic.model.data_point import CallbackDataPoint from hahomematic.model.decorators import config_property, state_property from hahomematic.model.device import Channel -from hahomematic.model.support import PathData, PayloadMixin, ProgramPathData, SysvarPathData, generate_unique_id +from hahomematic.model.support import ( + PathData, + PayloadMixin, + ProgramPathData, + SysvarPathData, + generate_unique_id, + get_hub_data_point_name_data, +) from hahomematic.support import parse_sys_var @@ -38,14 +45,16 @@ def __init__( unique_id: Final = generate_unique_id( central=central, address=address, - parameter=slugify(data.name), + parameter=slugify(data.legacy_name), + ) + self._legacy_name = data.legacy_name + self._channel = central.identify_channel(text=data.legacy_name) + self._name_data: Final = get_hub_data_point_name_data( + channel=self._channel, legacy_name=data.legacy_name, central_name=central.name ) - self._name: Final = data.name self._description = data.description super().__init__(central=central, unique_id=unique_id) - self._full_name: Final = f"{self._central.name}_{self._name}" self._enabled_default: Final = data.enabled_default - self._channel = self._central.identify_channel(text=data.name) self._state_uncertain: bool = True @state_property @@ -53,6 +62,11 @@ def available(self) -> bool: """Return the availability of the device.""" return self.central.available + @property + def legacy_name(self) -> str | None: + """Return the original sysvar name.""" + return self._legacy_name + @property def channel(self) -> Channel | None: """Return the identified channel.""" @@ -66,7 +80,7 @@ def description(self) -> str | None: @property def full_name(self) -> str: """Return the fullname of the data_point.""" - return self._full_name + return self._name_data.full_name @property def enabled_default(self) -> bool: @@ -76,7 +90,7 @@ def enabled_default(self) -> bool: @config_property def name(self) -> str: """Return the name of the data_point.""" - return self._name + return self._name_data.name @property def state_uncertain(self) -> bool: @@ -226,7 +240,7 @@ def _convert_value(self, old_value: Any, new_value: Any) -> Any: async def send_variable(self, value: Any) -> None: """Set variable value on CCU/Homegear.""" if client := self.central.primary_client: - await client.set_system_variable(name=self._name, value=parse_sys_var(self._data_type, value)) + await client.set_system_variable(legacy_name=self._legacy_name, value=parse_sys_var(self._data_type, value)) self._write_temporary_value(value=value) diff --git a/hahomematic/model/hub/sensor.py b/hahomematic/model/hub/sensor.py index ae2e4365..06ded760 100644 --- a/hahomematic/model/hub/sensor.py +++ b/hahomematic/model/hub/sensor.py @@ -26,7 +26,7 @@ def value(self) -> Any | None: and (value := get_value_from_value_list(value=self._value, value_list=self.values)) is not None ): return value - return _check_length_and_log(name=self._name, value=self._value) + return _check_length_and_log(name=self._legacy_name, value=self._value) def _check_length_and_log(name: str | None, value: Any) -> Any: diff --git a/hahomematic/model/support.py b/hahomematic/model/support.py index 381f46e9..19a088fb 100644 --- a/hahomematic/model/support.py +++ b/hahomematic/model/support.py @@ -203,6 +203,22 @@ def _get_data_point_name(self, device_name: str, channel_name: str, parameter_na return channel_parameter_name +class HubNameData: + """Class for hub data_point name parts.""" + + def __init__(self, name: str, central_name: str | None = None, channel_name: str | None = None) -> None: + """Init the DataPointNameData class.""" + self.name: Final = name + self.full_name = ( + f"{channel_name} {self.name}".strip() if channel_name else f"{central_name} {self.name}".strip() + ) + + @staticmethod + def empty() -> HubNameData: + """Return an empty HubNameData.""" + return HubNameData(name="") + + def get_device_name(central: hmcu.CentralUnit, device_address: str, model: str) -> str: """Return the cached name for a device, or an auto-generated.""" if name := central.device_details.get_name(address=device_address): @@ -357,6 +373,40 @@ def get_data_point_name_data( return DataPointNameData.empty() +def get_hub_data_point_name_data( + channel: hmd.Channel | None, + legacy_name: str, + central_name: str, +) -> HubNameData: + """Get name for hub data_point.""" + if not channel: + return HubNameData( + central_name=central_name, + name=legacy_name, + ) + if channel_name := _get_base_name_from_channel_or_device(channel=channel): + p_name = ( + legacy_name.replace("_", " ") + .replace(channel.address, "") + .replace(channel.id, "") + .replace(channel.device.id, "") + .strip() + ) + + if _check_channel_name_with_channel_no(name=channel_name): + channel_name = channel_name.split(":")[0] + + return HubNameData(channel_name=channel_name, name=p_name) + + _LOGGER.debug( + "GET_DATA_POINT_NAME: Using unique_id for %s %s %s", + channel.device.model, + channel.address, + legacy_name, + ) + return HubNameData.empty() + + def get_event_name( channel: hmd.Channel, parameter: str, diff --git a/hahomematic_support/client_local.py b/hahomematic_support/client_local.py index e49bd462..1e888247 100644 --- a/hahomematic_support/client_local.py +++ b/hahomematic_support/client_local.py @@ -126,7 +126,7 @@ async def set_program_state(self, pid: str, state: bool) -> bool: """Set the program state on CCU / Homegear.""" return True - async def set_system_variable(self, name: str, value: Any) -> bool: + async def set_system_variable(self, legacy_name: str, value: Any) -> bool: """Set a system variable on CCU / Homegear.""" return True diff --git a/tests/const.py b/tests/const.py index 1aa2eb94..64eb6785 100644 --- a/tests/const.py +++ b/tests/const.py @@ -15,7 +15,7 @@ SYSVAR_DATA: list[SystemVariableData] = [ SystemVariableData( vid="1", - name="alarm", + legacy_name="alarm", description="", data_type=SysvarType.ALARM, unit=None, @@ -27,7 +27,7 @@ ), SystemVariableData( vid="2", - name="alarm_ext", + legacy_name="alarm_ext", description="", data_type=SysvarType.ALARM, unit=None, @@ -39,7 +39,7 @@ ), SystemVariableData( vid="3", - name="logic", + legacy_name="logic", description="", data_type=SysvarType.LOGIC, unit=None, @@ -51,7 +51,7 @@ ), SystemVariableData( vid="4", - name="logic_ext", + legacy_name="logic_ext", description="", data_type=SysvarType.LOGIC, unit=None, @@ -63,7 +63,7 @@ ), SystemVariableData( vid="5", - name="list", + legacy_name="list", description="", data_type=SysvarType.LIST, unit=None, @@ -75,7 +75,7 @@ ), SystemVariableData( vid="6", - name="list_ext", + legacy_name="list_ext", description="", data_type=SysvarType.LIST, unit=None, @@ -87,7 +87,7 @@ ), SystemVariableData( vid="7", - name="string", + legacy_name="string", description="", data_type=SysvarType.STRING, unit=None, @@ -99,7 +99,7 @@ ), SystemVariableData( vid="8", - name="string_ext", + legacy_name="string_ext", description="", data_type=SysvarType.STRING, unit=None, @@ -111,7 +111,7 @@ ), SystemVariableData( vid="9", - name="float", + legacy_name="float", description="", data_type=SysvarType.FLOAT, unit=None, @@ -123,7 +123,7 @@ ), SystemVariableData( vid="10", - name="float_ext", + legacy_name="float_ext", description="", data_type=SysvarType.FLOAT, unit="°C", @@ -135,7 +135,7 @@ ), SystemVariableData( vid="11", - name="integer", + legacy_name="integer", description="", data_type=SysvarType.INTEGER, unit=None, @@ -147,7 +147,7 @@ ), SystemVariableData( vid="12", - name="integer_ext", + legacy_name="integer_ext", description="", data_type=SysvarType.INTEGER, unit=None, @@ -161,7 +161,7 @@ PROGRAM_DATA: list[ProgramData] = [ ProgramData( - name="p1", + legacy_name="p1", pid="pid1", description="1", is_active=True, @@ -169,7 +169,7 @@ last_execute_time="", ), ProgramData( - name="p_2", + legacy_name="p_2", pid="pid2", description="2", is_active=False, diff --git a/tests/test_binary_sensor.py b/tests/test_binary_sensor.py index c82ca61e..6be43d1e 100644 --- a/tests/test_binary_sensor.py +++ b/tests/test_binary_sensor.py @@ -82,10 +82,10 @@ async def test_hmsysvarbinarysensor( central, _, _ = central_client_factory binary_sensor: SysvarDpBinarySensor = cast( SysvarDpBinarySensor, - central.get_sysvar_data_point("logic"), + central.get_sysvar_data_point(legacy_name="logic"), ) assert binary_sensor.name == "logic" - assert binary_sensor.full_name == "CentralTest_logic" + assert binary_sensor.full_name == "CentralTest logic" assert binary_sensor.value is False assert binary_sensor.is_extended is False assert binary_sensor._data_type == "LOGIC" diff --git a/tests/test_button.py b/tests/test_button.py index 6b291194..850e9eda 100644 --- a/tests/test_button.py +++ b/tests/test_button.py @@ -92,7 +92,7 @@ async def test_hmprogrambutton( await button.press() assert mock_client.method_calls[-1] == call.execute_program(pid="pid1") updated_program = ProgramData( - name="p1", + legacy_name="p1", description="", pid="pid1", is_active=False, diff --git a/tests/test_central.py b/tests/test_central.py index 2507ca31..c2c9412f 100644 --- a/tests/test_central.py +++ b/tests/test_central.py @@ -741,14 +741,14 @@ async def test_central_services( await central.load_and_refresh_data_point_data(interface=Interface.BIDCOS_RF, paramset_key=ParamsetKey.VALUES) assert len(mock_client.method_calls) == 60 - await central.get_system_variable(name="SysVar_Name") + await central.get_system_variable(legacy_name="SysVar_Name") assert mock_client.method_calls[-1] == call.get_system_variable("SysVar_Name") assert len(mock_client.method_calls) == 61 - await central.set_system_variable(name="alarm", value=True) - assert mock_client.method_calls[-1] == call.set_system_variable(name="alarm", value=True) + await central.set_system_variable(legacy_name="alarm", value=True) + assert mock_client.method_calls[-1] == call.set_system_variable(legacy_name="alarm", value=True) assert len(mock_client.method_calls) == 62 - await central.set_system_variable(name="SysVar_Name", value=True) + await central.set_system_variable(legacy_name="SysVar_Name", value=True) assert len(mock_client.method_calls) == 62 await central.get_client(interface_id=const.INTERFACE_ID).set_value( @@ -840,7 +840,7 @@ async def test_central_without_interface_config(factory: helper.Factory) -> None assert len(central._devices) == 0 assert len(central.get_data_points()) == 0 - assert await central.get_system_variable(name="SysVar_Name") is None + assert await central.get_system_variable(legacy_name="SysVar_Name") is None assert central._get_virtual_remote("VCU4264293") is None finally: await central.stop() @@ -1001,4 +1001,4 @@ async def test_central_getter( assert central.get_generic_data_point("123", 1) is None assert central.get_event("123", 1) is None assert central.get_program_data_point("123") is None - assert central.get_sysvar_data_point("123") is None + assert central.get_sysvar_data_point(legacy_name="123") is None diff --git a/tests/test_number.py b/tests/test_number.py index 4f776ff3..1695ff89 100644 --- a/tests/test_number.py +++ b/tests/test_number.py @@ -201,7 +201,7 @@ async def test_hmsysvarnumber( central, mock_client, _ = central_client_factory enumber: SysvarDpNumber = cast( SysvarDpNumber, - central.get_sysvar_data_point("float_ext"), + central.get_sysvar_data_point(legacy_name="float_ext"), ) assert enumber.usage == DataPointUsage.DATA_POINT assert enumber.unit == "°C" @@ -211,7 +211,7 @@ async def test_hmsysvarnumber( assert enumber.value == 23.2 await enumber.send_variable(23.0) - assert mock_client.method_calls[-1] == call.set_system_variable(name="float_ext", value=23.0) + assert mock_client.method_calls[-1] == call.set_system_variable(legacy_name="float_ext", value=23.0) assert enumber.value == 23.0 await enumber.send_variable(35.0) diff --git a/tests/test_select.py b/tests/test_select.py index 82b7f790..9b69548a 100644 --- a/tests/test_select.py +++ b/tests/test_select.py @@ -100,7 +100,7 @@ async def test_hmsysvarselect( ) -> None: """Test HmSysvarSelect.""" central, mock_client, _ = central_client_factory - select: SysvarDpSelect = cast(SysvarDpSelect, central.get_sysvar_data_point("list_ext")) + select: SysvarDpSelect = cast(SysvarDpSelect, central.get_sysvar_data_point(legacy_name="list_ext")) assert select.usage == DataPointUsage.DATA_POINT assert select.unit is None assert select.min is None @@ -108,7 +108,7 @@ async def test_hmsysvarselect( assert select.values == ("v1", "v2", "v3") assert select.value == "v1" await select.send_variable("v2") - assert mock_client.method_calls[-1] == call.set_system_variable(name="list_ext", value=1) + assert mock_client.method_calls[-1] == call.set_system_variable(legacy_name="list_ext", value=1) assert select.value == "v2" await select.send_variable(3) # do not write. value above max diff --git a/tests/test_sensor.py b/tests/test_sensor.py index 1c18681b..fd8ffea1 100644 --- a/tests/test_sensor.py +++ b/tests/test_sensor.py @@ -131,14 +131,14 @@ async def test_hmsysvarsensor( ) -> None: """Test HmSysvarSensor.""" central, _, _ = central_client_factory - sensor: SysvarDpSensor = cast(SysvarDpSensor, central.get_sysvar_data_point("list")) + sensor: SysvarDpSensor = cast(SysvarDpSensor, central.get_sysvar_data_point(legacy_name="list")) assert sensor.usage == DataPointUsage.DATA_POINT assert sensor.available is True assert sensor.unit is None assert sensor.values == ("v1", "v2", "v3") assert sensor.value == "v1" - sensor2: SysvarDpSensor = cast(SysvarDpSensor, central.get_sysvar_data_point("float")) + sensor2: SysvarDpSensor = cast(SysvarDpSensor, central.get_sysvar_data_point(legacy_name="float")) assert sensor2.usage == DataPointUsage.DATA_POINT assert sensor2.unit is None assert sensor2.values is None diff --git a/tests/test_switch.py b/tests/test_switch.py index 16ef0fe5..356626f4 100644 --- a/tests/test_switch.py +++ b/tests/test_switch.py @@ -194,9 +194,9 @@ async def test_hmsysvarswitch( ) -> None: """Test HmSysvarSwitch.""" central, mock_client, _ = central_client_factory - switch: SysvarDpSwitch = cast(SysvarDpSwitch, central.get_sysvar_data_point("alarm_ext")) + switch: SysvarDpSwitch = cast(SysvarDpSwitch, central.get_sysvar_data_point(legacy_name="alarm_ext")) assert switch.usage == DataPointUsage.DATA_POINT assert switch.value is False await switch.send_variable(True) - assert mock_client.method_calls[-1] == call.set_system_variable(name="alarm_ext", value=True) + assert mock_client.method_calls[-1] == call.set_system_variable(legacy_name="alarm_ext", value=True) diff --git a/tests/test_text.py b/tests/test_text.py index 43ed0b8f..e71da042 100644 --- a/tests/test_text.py +++ b/tests/test_text.py @@ -60,12 +60,12 @@ async def test_sysvardptext( ) -> None: """Test SysvarDpText. There are currently no text data points.""" central, mock_client, _ = central_client_factory - text: SysvarDpText = cast(SysvarDpText, central.get_sysvar_data_point("string_ext")) + text: SysvarDpText = cast(SysvarDpText, central.get_sysvar_data_point(legacy_name="string_ext")) assert text.usage == DataPointUsage.DATA_POINT assert text.unit is None assert text.values is None assert text.value == "test1" await text.send_variable("test23") - assert mock_client.method_calls[-1] == call.set_system_variable(name="string_ext", value="test23") + assert mock_client.method_calls[-1] == call.set_system_variable(legacy_name="string_ext", value="test23") assert text.value == "test23"