aiohomematic 2025.10.24__tar.gz → 2025.10.26__tar.gz

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.

Files changed (83) hide show
  1. {aiohomematic-2025.10.24/aiohomematic.egg-info → aiohomematic-2025.10.26}/PKG-INFO +1 -1
  2. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/const.py +1 -1
  3. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/store/persistent.py +5 -3
  4. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26/aiohomematic.egg-info}/PKG-INFO +1 -1
  5. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/LICENSE +0 -0
  6. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/MANIFEST.in +0 -0
  7. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/README.md +0 -0
  8. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/__init__.py +0 -0
  9. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/async_support.py +0 -0
  10. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/central/__init__.py +0 -0
  11. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/central/decorators.py +0 -0
  12. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/central/rpc_server.py +0 -0
  13. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/client/__init__.py +1 -1
  14. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/client/_rpc_errors.py +0 -0
  15. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/client/json_rpc.py +0 -0
  16. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/client/rpc_proxy.py +0 -0
  17. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/context.py +0 -0
  18. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/converter.py +0 -0
  19. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/decorators.py +0 -0
  20. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/exceptions.py +0 -0
  21. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/hmcli.py +0 -0
  22. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/__init__.py +0 -0
  23. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/calculated/__init__.py +0 -0
  24. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/calculated/climate.py +0 -0
  25. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/calculated/data_point.py +0 -0
  26. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/calculated/operating_voltage_level.py +0 -0
  27. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/calculated/support.py +0 -0
  28. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/custom/__init__.py +0 -0
  29. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/custom/climate.py +0 -0
  30. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/custom/const.py +0 -0
  31. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/custom/cover.py +0 -0
  32. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/custom/data_point.py +0 -0
  33. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/custom/definition.py +0 -0
  34. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/custom/light.py +0 -0
  35. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/custom/lock.py +0 -0
  36. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/custom/siren.py +0 -0
  37. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/custom/support.py +0 -0
  38. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/custom/switch.py +0 -0
  39. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/custom/valve.py +0 -0
  40. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/data_point.py +0 -0
  41. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/device.py +0 -0
  42. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/event.py +0 -0
  43. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/generic/__init__.py +0 -0
  44. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/generic/action.py +0 -0
  45. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/generic/binary_sensor.py +0 -0
  46. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/generic/button.py +0 -0
  47. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/generic/data_point.py +0 -0
  48. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/generic/number.py +0 -0
  49. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/generic/select.py +0 -0
  50. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/generic/sensor.py +0 -0
  51. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/generic/switch.py +0 -0
  52. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/generic/text.py +0 -0
  53. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/hub/__init__.py +0 -0
  54. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/hub/binary_sensor.py +0 -0
  55. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/hub/button.py +0 -0
  56. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/hub/data_point.py +0 -0
  57. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/hub/number.py +0 -0
  58. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/hub/select.py +0 -0
  59. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/hub/sensor.py +0 -0
  60. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/hub/switch.py +0 -0
  61. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/hub/text.py +0 -0
  62. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/support.py +0 -0
  63. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/model/update.py +0 -0
  64. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/property_decorators.py +0 -0
  65. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/py.typed +0 -0
  66. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/rega_scripts/fetch_all_device_data.fn +0 -0
  67. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/rega_scripts/get_program_descriptions.fn +0 -0
  68. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/rega_scripts/get_serial.fn +0 -0
  69. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/rega_scripts/get_system_variable_descriptions.fn +0 -0
  70. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/rega_scripts/set_program_state.fn +0 -0
  71. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/rega_scripts/set_system_variable.fn +0 -0
  72. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/store/__init__.py +0 -0
  73. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/store/dynamic.py +0 -0
  74. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/store/visibility.py +0 -0
  75. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/support.py +0 -0
  76. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic/validator.py +0 -0
  77. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic.egg-info/SOURCES.txt +0 -0
  78. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic.egg-info/dependency_links.txt +0 -0
  79. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic.egg-info/entry_points.txt +0 -0
  80. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic.egg-info/requires.txt +0 -0
  81. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/aiohomematic.egg-info/top_level.txt +0 -0
  82. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/pyproject.toml +0 -0
  83. {aiohomematic-2025.10.24 → aiohomematic-2025.10.26}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiohomematic
3
- Version: 2025.10.24
3
+ Version: 2025.10.26
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>
@@ -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.10.24"
22
+ VERSION: Final = "2025.10.26"
23
23
 
24
24
  # Detect test speedup mode via environment
25
25
  _TEST_SPEEDUP: Final = (
@@ -49,6 +49,7 @@ import orjson
49
49
  from slugify import slugify
50
50
 
51
51
  from aiohomematic import central as hmcu
52
+ from aiohomematic.async_support import loop_check
52
53
  from aiohomematic.const import (
53
54
  ADDRESS_SEPARATOR,
54
55
  FILE_DEVICES,
@@ -977,10 +978,11 @@ def _now() -> int:
977
978
  return int(datetime.now(tz=UTC).timestamp())
978
979
 
979
980
 
980
- async def cleanup_files(*, central_name: str, storage_directory: str) -> None:
981
+ @loop_check
982
+ def cleanup_files(*, central_name: str, storage_directory: str) -> None:
981
983
  """Clean up the used files."""
982
984
  loop = asyncio.get_running_loop()
983
985
  cache_dir = _get_file_path(storage_directory=storage_directory, sub_directory=SUB_DIRECTORY_CACHE)
984
- loop.call_soon_threadsafe(delete_file, cache_dir, f"{central_name}*.json".lower())
986
+ loop.run_in_executor(None, delete_file, cache_dir, f"{central_name}*.json".lower())
985
987
  session_dir = _get_file_path(storage_directory=storage_directory, sub_directory=SUB_DIRECTORY_SESSION)
986
- loop.call_soon_threadsafe(delete_file, session_dir, f"{central_name}*.json".lower())
988
+ loop.run_in_executor(None, delete_file, session_dir, f"{central_name}*.json".lower())
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiohomematic
3
- Version: 2025.10.24
3
+ Version: 2025.10.26
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>
@@ -1170,8 +1170,8 @@ class ClientCCU(Client):
1170
1170
  if handle_ping_pong
1171
1171
  else self.interface_id
1172
1172
  )
1173
- self._ping_pong_cache.handle_send_ping(ping_ts=dt_now)
1174
1173
  await self._proxy.ping(callerId)
1174
+ self._ping_pong_cache.handle_send_ping(ping_ts=dt_now)
1175
1175
  elif not self._is_initialized:
1176
1176
  await self._proxy.ping(self.interface_id)
1177
1177
  self.modified_at = dt_now