aiohomematic 2025.9.4__py3-none-any.whl → 2025.9.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aiohomematic might be problematic. Click here for more details.

@@ -42,8 +42,7 @@ from aiohomematic.exceptions import (
42
42
  NoConnectionException,
43
43
  UnsupportedException,
44
44
  )
45
- from aiohomematic.property_decorators import hm_property
46
- from aiohomematic.support import LogContextMixin, extract_exc_args, get_tls_context, log_boundary_error
45
+ from aiohomematic.support import extract_exc_args, get_tls_context, log_boundary_error
47
46
 
48
47
  _LOGGER: Final = logging.getLogger(__name__)
49
48
 
@@ -84,7 +83,7 @@ _OS_ERROR_CODES: Final[dict[int, str]] = {
84
83
 
85
84
 
86
85
  # noinspection PyProtectedMember,PyUnresolvedReferences
87
- class XmlRpcProxy(xmlrpc.client.ServerProxy, LogContextMixin):
86
+ class XmlRpcProxy(xmlrpc.client.ServerProxy):
88
87
  """ServerProxy implementation with ThreadPoolExecutor when request is executing."""
89
88
 
90
89
  def __init__(
@@ -107,6 +106,8 @@ class XmlRpcProxy(xmlrpc.client.ServerProxy, LogContextMixin):
107
106
  self._supported_methods: tuple[str, ...] = ()
108
107
  if self._tls:
109
108
  kwargs[_CONTEXT] = get_tls_context(self._verify_tls)
109
+ # Due to magic method the log_context must be defined manually.
110
+ self.log_context: Final[Mapping[str, Any]] = {"interface_id": self._interface_id, "tls": self._tls}
110
111
  xmlrpc.client.ServerProxy.__init__( # type: ignore[misc]
111
112
  self,
112
113
  encoding=ISO_8859_1,
@@ -121,21 +122,11 @@ class XmlRpcProxy(xmlrpc.client.ServerProxy, LogContextMixin):
121
122
  supported_methods.append(_XmlRpcMethod.PING)
122
123
  self._supported_methods = tuple(supported_methods)
123
124
 
124
- @hm_property(log_context=True)
125
- def interface_id(self) -> str:
126
- """Return the interface_id."""
127
- return self._interface_id
128
-
129
125
  @property
130
126
  def supported_methods(self) -> tuple[str, ...]:
131
127
  """Return the supported methods."""
132
128
  return self._supported_methods
133
129
 
134
- @hm_property(log_context=True)
135
- def tls(self) -> bool:
136
- """Return tls."""
137
- return self._tls
138
-
139
130
  async def __async_request(self, *args, **kwargs): # type: ignore[no-untyped-def]
140
131
  """Call method on server side."""
141
132
  parent = xmlrpc.client.ServerProxy
aiohomematic/const.py CHANGED
@@ -19,7 +19,7 @@ import sys
19
19
  from types import MappingProxyType
20
20
  from typing import Any, Final, NamedTuple, Required, TypeAlias, TypedDict
21
21
 
22
- VERSION: Final = "2025.9.4"
22
+ VERSION: Final = "2025.9.5"
23
23
 
24
24
  # Detect test speedup mode via environment
25
25
  _TEST_SPEEDUP: Final = (
@@ -714,7 +714,7 @@ def get_default_data_points() -> Mapping[int | tuple[int, ...], tuple[Parameter,
714
714
  def get_include_default_data_points(device_profile: DeviceProfile) -> bool:
715
715
  """Return if default data points should be included."""
716
716
  device = _get_device_definition(device_profile)
717
- return device.get(CDPD.INCLUDE_DEFAULT_DPS, DEFAULT_INCLUDE_DEFAULT_DPS)
717
+ return bool(device.get(CDPD.INCLUDE_DEFAULT_DPS, DEFAULT_INCLUDE_DEFAULT_DPS))
718
718
 
719
719
 
720
720
  def _get_device_definition(device_profile: DeviceProfile) -> Mapping[CDPD, Any]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiohomematic
3
- Version: 2025.9.4
3
+ Version: 2025.9.5
4
4
  Summary: Homematic interface for Home Assistant running on Python 3.
5
5
  Home-page: https://github.com/sukramj/aiohomematic
6
6
  Author-email: SukramJ <sukramj@icloud.com>, Daniel Perna <danielperna84@gmail.com>
@@ -64,7 +64,7 @@ Use the Home Assistant custom integration "Homematic(IP) Local", which is powere
64
64
  - Always enter credentials.
65
65
  - Choose which interfaces to enable (HM, HmIP, Virtual). Default ports are typically 2001 (HM), 2010 (HmIP), 9292 (Virtual).
66
66
  4. Network callbacks
67
- - The integration needs to receive XML‑RPC callbacks from the CCU. Make sure Home Assistant is reachable from the CCU (no NAT/firewall blocking). Callbacks ar only required for special network setups.
67
+ - The integration needs to receive XML‑RPC callbacks from the CCU. Make sure Home Assistant is reachable from the CCU (no NAT/firewall blocking). Callbacks are only required for special network setups.
68
68
  5. Verify
69
69
  - After setup, devices should appear under Devices & Services → Homematic(IP) Local. Discovery may take a few seconds after the first connection while paramsets are fetched and cached for faster restarts.
70
70
 
@@ -1,6 +1,6 @@
1
1
  aiohomematic/__init__.py,sha256=VPESkjzeVserFI2DDVAxD782cgYRlLK0sXJzLrr3e_k,2283
2
2
  aiohomematic/async_support.py,sha256=Xc55KkIV0h8rf936QKyU4OHSZsPEZ8TwuV8gVveeRh8,6106
3
- aiohomematic/const.py,sha256=MCot-HynusvTRuUZLzQnuNnFymsuiQowv9sX-4kS6fI,25411
3
+ aiohomematic/const.py,sha256=xNQ_iXUztJ7ttNLz_rM1wEN5QCu87GKI8LGIs6utxac,25411
4
4
  aiohomematic/context.py,sha256=M7gkA7KFT0dp35gzGz2dzKVXu1PP0sAnepgLlmjyRS4,451
5
5
  aiohomematic/converter.py,sha256=QTOL8_B6SoCoqLuRSkjtOlfa7BVFSvOfnSBrDngiinA,3558
6
6
  aiohomematic/decorators.py,sha256=oHEFSJoJVd-h9RYb6NLTJ60erkpRHPYv7EEipKn1a9Q,10636
@@ -20,7 +20,7 @@ aiohomematic/central/xml_rpc_server.py,sha256=pOqOuTp1Yy5Wlqs5E-L9f_UNW8j9HSE5XM
20
20
  aiohomematic/client/__init__.py,sha256=3Lxji6TbShZ3_9-4OGwmuoPh82qtW46vA2xjHOqxYaQ,70106
21
21
  aiohomematic/client/_rpc_errors.py,sha256=ZPFZJ4t0tE4RVAae4L7hE9earutMwB5BFfB2NArLp9E,2975
22
22
  aiohomematic/client/json_rpc.py,sha256=o-lMKlVQBUBtYD71p4wpXfWrz-b6dOL363ap0JoELUM,49393
23
- aiohomematic/client/xml_rpc.py,sha256=FsV6ahq2I6pfaEi33KJzgzeHrlHEpGfjh-4i_m-gHxw,9644
23
+ aiohomematic/client/xml_rpc.py,sha256=gQBdZdqADNaUIX-x6VRGA0K_dFfN3gCPCYtxGcz2Ilw,9475
24
24
  aiohomematic/model/__init__.py,sha256=cqL5v5HNxlzrgLziAPf8sGU72fDneiaLTioIGcLfhTU,5442
25
25
  aiohomematic/model/data_point.py,sha256=6Z_HlNXMseBgmwgZSSuCBzZvh5u0hESHuQDI7DpfHhE,40894
26
26
  aiohomematic/model/device.py,sha256=WCQ9zrc9sbyYrYKDF1aDAjtPWgkKU_dRdjImQQf-cbE,52160
@@ -37,7 +37,7 @@ aiohomematic/model/custom/climate.py,sha256=utcyx2cWOK-jYz-EWQlCD9tjBsl_uDk77Fzt
37
37
  aiohomematic/model/custom/const.py,sha256=Kh1pnab6nmwbaY43CfXQy3yrWpPwsrQdl1Ea2aZ6aw0,4961
38
38
  aiohomematic/model/custom/cover.py,sha256=xaU-MfgpnG3Zkdb20BIDUezbvh3rI3HpM0sBg6IcX90,28555
39
39
  aiohomematic/model/custom/data_point.py,sha256=d7B8gfyDDZf8HW3f0ofeHYF32GE8kgnQ0DZYSUbLHxY,14112
40
- aiohomematic/model/custom/definition.py,sha256=1GkUyEsmjJfAdrBCW1ZBmboYZOyb00MctUE_xn4Zyl8,35481
40
+ aiohomematic/model/custom/definition.py,sha256=qDUijmDLuu9Oe837WBdpEPrfVwVZW98H7eVbD2kerW4,35487
41
41
  aiohomematic/model/custom/light.py,sha256=8ourpK9U89a3nVp0_WZBTPl3TK9km9fir7W23Q9c4Ns,44173
42
42
  aiohomematic/model/custom/lock.py,sha256=5G5BsQFHbYul-_FQwFWDq9E3o8RL54FjJm0yfnIMejc,11940
43
43
  aiohomematic/model/custom/siren.py,sha256=O9SnAsR8E04d46O-Ahx_xRK4XwYQ_pk5BLpufCQ9BTc,9729
@@ -69,10 +69,10 @@ aiohomematic/rega_scripts/get_serial.fn,sha256=t1oeo-sB_EuVeiY24PLcxFSkdQVgEWGXz
69
69
  aiohomematic/rega_scripts/get_system_variable_descriptions.fn,sha256=UKXvC0_5lSApdQ2atJc0E5Stj5Zt3lqh0EcliokYu2c,849
70
70
  aiohomematic/rega_scripts/set_program_state.fn,sha256=0bnv7lUj8FMjDZBz325tDVP61m04cHjVj4kIOnUUgpY,279
71
71
  aiohomematic/rega_scripts/set_system_variable.fn,sha256=sTmr7vkPTPnPkor5cnLKlDvfsYRbGO1iq2z_2pMXq5E,383
72
- aiohomematic-2025.9.4.dist-info/licenses/LICENSE,sha256=q-B0xpREuZuvKsmk3_iyVZqvZ-vJcWmzMZpeAd0RqtQ,1083
72
+ aiohomematic-2025.9.5.dist-info/licenses/LICENSE,sha256=q-B0xpREuZuvKsmk3_iyVZqvZ-vJcWmzMZpeAd0RqtQ,1083
73
73
  aiohomematic_support/__init__.py,sha256=_0YtF4lTdC_k6-zrM2IefI0u0LMr_WA61gXAyeGLgbY,66
74
74
  aiohomematic_support/client_local.py,sha256=kWzrIeyrvSQx1qVX9_L1bgaFr9aPRDm3E3p82eqkFvo,12538
75
- aiohomematic-2025.9.4.dist-info/METADATA,sha256=2QcoeA_N4nZgV2-GVtyw_6bGyAONqWKqjbqzFF6-aHo,7074
76
- aiohomematic-2025.9.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
77
- aiohomematic-2025.9.4.dist-info/top_level.txt,sha256=5TDRlUWQPThIUwQjOj--aUo4UA-ow4m0sNhnoCBi5n8,34
78
- aiohomematic-2025.9.4.dist-info/RECORD,,
75
+ aiohomematic-2025.9.5.dist-info/METADATA,sha256=xG4AMlnNvAoZGXGixQfjL9ZouHFew-vM1i3a7YBpcy0,7075
76
+ aiohomematic-2025.9.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
77
+ aiohomematic-2025.9.5.dist-info/top_level.txt,sha256=5TDRlUWQPThIUwQjOj--aUo4UA-ow4m0sNhnoCBi5n8,34
78
+ aiohomematic-2025.9.5.dist-info/RECORD,,