aiohomematic 2025.8.10__py3-none-any.whl → 2025.9.1__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.

@@ -166,7 +166,7 @@ from aiohomematic.support import check_config, extract_exc_args, get_channel_no,
166
166
  __all__ = ["CentralConfig", "CentralUnit", "INTERFACE_EVENT_SCHEMA"]
167
167
 
168
168
  _LOGGER: Final = logging.getLogger(__name__)
169
- _LOGGER_EVENT: Final = logging.getLogger(f"{__name__}_event")
169
+ _LOGGER_EVENT: Final = logging.getLogger(f"{__package__}.event")
170
170
 
171
171
  # {central_name, central}
172
172
  CENTRAL_INSTANCES: Final[dict[str, CentralUnit]] = {}
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.8.10"
22
+ VERSION: Final = "2025.9.1"
23
23
 
24
24
  # Detect test speedup mode via environment
25
25
  _TEST_SPEEDUP: Final = (
@@ -23,7 +23,7 @@ from aiohomematic.support import build_log_context_from_obj, extract_exc_args
23
23
  P = ParamSpec("P")
24
24
  R = TypeVar("R")
25
25
 
26
- _LOGGER: Final = logging.getLogger(__name__)
26
+ _LOGGER_PERFORMANCE: Final = logging.getLogger(f"{__package__}.performance")
27
27
 
28
28
  # Cache for per-class service call method names to avoid repeated scans.
29
29
  # Structure: {cls: (method_name1, method_name2, ...)}
@@ -89,7 +89,9 @@ def inspector( # noqa: C901
89
89
  def wrap_sync_function(*args: P.args, **kwargs: P.kwargs) -> R:
90
90
  """Wrap sync functions."""
91
91
 
92
- start = monotonic() if measure_performance and _LOGGER.isEnabledFor(level=logging.DEBUG) else None
92
+ start = (
93
+ monotonic() if measure_performance and _LOGGER_PERFORMANCE.isEnabledFor(level=logging.DEBUG) else None
94
+ )
93
95
  token = IN_SERVICE_VAR.set(True) if not IN_SERVICE_VAR.get() else None
94
96
  try:
95
97
  return_value: R = func(*args, **kwargs)
@@ -125,7 +127,9 @@ def inspector( # noqa: C901
125
127
  async def wrap_async_function(*args: P.args, **kwargs: P.kwargs) -> R:
126
128
  """Wrap async functions."""
127
129
 
128
- start = monotonic() if measure_performance and _LOGGER.isEnabledFor(level=logging.DEBUG) else None
130
+ start = (
131
+ monotonic() if measure_performance and _LOGGER_PERFORMANCE.isEnabledFor(level=logging.DEBUG) else None
132
+ )
129
133
  token = IN_SERVICE_VAR.set(True) if not IN_SERVICE_VAR.get() else None
130
134
  try:
131
135
  return_value = await func(*args, **kwargs) # type: ignore[misc] # Await the async call
@@ -181,7 +185,7 @@ def _log_performance_message(func: Callable, start: float, *args: P.args, **kwar
181
185
  if iface:
182
186
  message += f"/{iface}"
183
187
 
184
- _LOGGER.info(message)
188
+ _LOGGER_PERFORMANCE.info(message)
185
189
 
186
190
 
187
191
  def get_service_calls(obj: object) -> dict[str, Callable]:
@@ -222,7 +226,7 @@ def measure_execution_time[CallableT: Callable[..., Any]](func: CallableT) -> Ca
222
226
  async def async_measure_wrapper(*args: Any, **kwargs: Any) -> Any:
223
227
  """Wrap method."""
224
228
 
225
- start = monotonic() if _LOGGER.isEnabledFor(level=logging.DEBUG) else None
229
+ start = monotonic() if _LOGGER_PERFORMANCE.isEnabledFor(level=logging.DEBUG) else None
226
230
  try:
227
231
  return await func(*args, **kwargs)
228
232
  finally:
@@ -233,7 +237,7 @@ def measure_execution_time[CallableT: Callable[..., Any]](func: CallableT) -> Ca
233
237
  def measure_wrapper(*args: Any, **kwargs: Any) -> Any:
234
238
  """Wrap method."""
235
239
 
236
- start = monotonic() if _LOGGER.isEnabledFor(level=logging.DEBUG) else None
240
+ start = monotonic() if _LOGGER_PERFORMANCE.isEnabledFor(level=logging.DEBUG) else None
237
241
  try:
238
242
  return func(*args, **kwargs)
239
243
  finally:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiohomematic
3
- Version: 2025.8.10
3
+ Version: 2025.9.1
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>
@@ -109,6 +109,7 @@ Example:
109
109
 
110
110
  - Changelog: [see](changelog.md) for release history and latest changes.
111
111
  - Definition of calculated data points: [see](docs/calculated_data_points.md)
112
+ - Naming: [see](docs/naming.md) for how device, channel and data point names are created.
112
113
  - Homematic(IP) Local integration: https://github.com/sukramj/homematicip_local
113
114
  - Input select helper: [see](docs/input_select_helper.md) for an overview of how to use the input select helper.
114
115
  - Troubleshooting with Home Assistant: [see](docs/homeassistant_troubleshooting.md) for common issues and how to debug them.
@@ -1,9 +1,9 @@
1
1
  aiohomematic/__init__.py,sha256=VPESkjzeVserFI2DDVAxD782cgYRlLK0sXJzLrr3e_k,2283
2
2
  aiohomematic/async_support.py,sha256=Xc55KkIV0h8rf936QKyU4OHSZsPEZ8TwuV8gVveeRh8,6106
3
- aiohomematic/const.py,sha256=EdtEgzd6a_XYytFHPLj0hHNxxTxLHuC5j5wcfQbJ2-o,25408
3
+ aiohomematic/const.py,sha256=1a7G-J_JY45Ta7qAPcfp5XLOHI0Ubw7Y6yJrz3FB0aI,25407
4
4
  aiohomematic/context.py,sha256=M7gkA7KFT0dp35gzGz2dzKVXu1PP0sAnepgLlmjyRS4,451
5
5
  aiohomematic/converter.py,sha256=QTOL8_B6SoCoqLuRSkjtOlfa7BVFSvOfnSBrDngiinA,3558
6
- aiohomematic/decorators.py,sha256=Iaq172N68w_RL-isiyJ3_suGM1kj1NaVbDWmlgOmTH8,9569
6
+ aiohomematic/decorators.py,sha256=piayP-1t9PQe0pR8IGc_85so5XSiFLi-sIwtgkf3eWU,9725
7
7
  aiohomematic/exceptions.py,sha256=o_H3Z0A2TQ0irNxUM9u8bmivq0L_mwPCB7nhxEawDxE,5018
8
8
  aiohomematic/hmcli.py,sha256=wHOLq4IJRSY9RJux_ZfDH1gQ1ZqD0k68ua5agyBkkE8,4933
9
9
  aiohomematic/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -13,7 +13,7 @@ aiohomematic/caches/__init__.py,sha256=_gI30tbsWgPRaHvP6cRxOQr6n9bYZzU-jp1WbHhWg
13
13
  aiohomematic/caches/dynamic.py,sha256=ZrAQqXlzhoCvzjZ9cTEtlWqygvkn5xTzOJ987WcrPBc,21539
14
14
  aiohomematic/caches/persistent.py,sha256=YBThIByt0mLQCgcZwBBmqanI8obAhHNcFULz_H-de8o,19932
15
15
  aiohomematic/caches/visibility.py,sha256=uZ1sSCfmEQURllPvSbJ3EzFVFE7TU8XcxMDSHRpNmMs,31481
16
- aiohomematic/central/__init__.py,sha256=vr4JVYbCO0bdgmVw8lHL7DrPjLlAnYtjXNcThuRH5dA,85733
16
+ aiohomematic/central/__init__.py,sha256=uZ_Ns5upjTcz4AaA6cN1WNWYkpxtZZebDRvag0g7bwM,85736
17
17
  aiohomematic/central/decorators.py,sha256=Sl-cMDhreiAOKkIHiei-QbIOcvbWGVX-QwB5bLeohak,6904
18
18
  aiohomematic/central/xml_rpc_server.py,sha256=dM-gbAS1NpRy4wJKUZTsMI2LJfv_vjd4kvyv3pl86yw,10545
19
19
  aiohomematic/client/__init__.py,sha256=hGpdDb518VdMYMHxrBBj2PBpUBN2Ah8ID5vjokd9PAU,69832
@@ -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.8.10.dist-info/licenses/LICENSE,sha256=q-B0xpREuZuvKsmk3_iyVZqvZ-vJcWmzMZpeAd0RqtQ,1083
72
+ aiohomematic-2025.9.1.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=cvkO3tcxSJKy5ZLVdeqDbvSmeottxqZJNI4ccdxIVD4,12524
75
- aiohomematic-2025.8.10.dist-info/METADATA,sha256=Srm8S5cBMy77q-GowiujO6AupVIou9CwZ15HZOHODGU,6871
76
- aiohomematic-2025.8.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
77
- aiohomematic-2025.8.10.dist-info/top_level.txt,sha256=5TDRlUWQPThIUwQjOj--aUo4UA-ow4m0sNhnoCBi5n8,34
78
- aiohomematic-2025.8.10.dist-info/RECORD,,
75
+ aiohomematic-2025.9.1.dist-info/METADATA,sha256=qsC9QfkxhshJIvpgktrIYwKsmoTrBtnsPtpcl2HbgE4,6960
76
+ aiohomematic-2025.9.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
77
+ aiohomematic-2025.9.1.dist-info/top_level.txt,sha256=5TDRlUWQPThIUwQjOj--aUo4UA-ow4m0sNhnoCBi5n8,34
78
+ aiohomematic-2025.9.1.dist-info/RECORD,,