aiohomematic 2025.10.4__tar.gz → 2025.10.5__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 (113) hide show
  1. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/PKG-INFO +1 -1
  2. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/central/__init__.py +2 -1
  3. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/const.py +1 -1
  4. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/support.py +1 -1
  5. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic.egg-info/PKG-INFO +1 -1
  6. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/LICENSE +0 -0
  7. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/README.md +0 -0
  8. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/__init__.py +0 -0
  9. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/async_support.py +0 -0
  10. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/caches/__init__.py +0 -0
  11. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/caches/dynamic.py +0 -0
  12. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/caches/persistent.py +0 -0
  13. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/caches/visibility.py +0 -0
  14. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/central/decorators.py +0 -0
  15. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/central/xml_rpc_server.py +0 -0
  16. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/client/__init__.py +0 -0
  17. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/client/_rpc_errors.py +0 -0
  18. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/client/json_rpc.py +0 -0
  19. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/client/xml_rpc.py +0 -0
  20. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/context.py +0 -0
  21. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/converter.py +0 -0
  22. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/decorators.py +0 -0
  23. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/exceptions.py +0 -0
  24. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/hmcli.py +0 -0
  25. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/__init__.py +0 -0
  26. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/calculated/__init__.py +0 -0
  27. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/calculated/climate.py +0 -0
  28. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/calculated/data_point.py +0 -0
  29. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/calculated/operating_voltage_level.py +0 -0
  30. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/calculated/support.py +0 -0
  31. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/custom/__init__.py +0 -0
  32. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/custom/climate.py +0 -0
  33. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/custom/const.py +0 -0
  34. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/custom/cover.py +0 -0
  35. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/custom/data_point.py +0 -0
  36. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/custom/definition.py +0 -0
  37. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/custom/light.py +0 -0
  38. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/custom/lock.py +0 -0
  39. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/custom/siren.py +0 -0
  40. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/custom/support.py +0 -0
  41. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/custom/switch.py +0 -0
  42. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/custom/valve.py +0 -0
  43. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/data_point.py +0 -0
  44. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/device.py +0 -0
  45. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/event.py +0 -0
  46. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/generic/__init__.py +0 -0
  47. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/generic/action.py +0 -0
  48. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/generic/binary_sensor.py +0 -0
  49. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/generic/button.py +0 -0
  50. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/generic/data_point.py +0 -0
  51. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/generic/number.py +0 -0
  52. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/generic/select.py +0 -0
  53. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/generic/sensor.py +0 -0
  54. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/generic/switch.py +0 -0
  55. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/generic/text.py +0 -0
  56. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/hub/__init__.py +0 -0
  57. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/hub/binary_sensor.py +0 -0
  58. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/hub/button.py +0 -0
  59. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/hub/data_point.py +0 -0
  60. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/hub/number.py +0 -0
  61. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/hub/select.py +0 -0
  62. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/hub/sensor.py +0 -0
  63. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/hub/switch.py +0 -0
  64. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/hub/text.py +0 -0
  65. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/support.py +0 -0
  66. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/model/update.py +0 -0
  67. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/property_decorators.py +0 -0
  68. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/py.typed +0 -0
  69. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/rega_scripts/fetch_all_device_data.fn +0 -0
  70. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/rega_scripts/get_program_descriptions.fn +0 -0
  71. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/rega_scripts/get_serial.fn +0 -0
  72. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/rega_scripts/get_system_variable_descriptions.fn +0 -0
  73. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/rega_scripts/set_program_state.fn +0 -0
  74. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/rega_scripts/set_system_variable.fn +0 -0
  75. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic/validator.py +0 -0
  76. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic.egg-info/SOURCES.txt +0 -0
  77. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic.egg-info/dependency_links.txt +0 -0
  78. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic.egg-info/requires.txt +0 -0
  79. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic.egg-info/top_level.txt +0 -0
  80. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic_support/__init__.py +0 -0
  81. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/aiohomematic_support/client_local.py +0 -0
  82. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/pyproject.toml +0 -0
  83. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/setup.cfg +0 -0
  84. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_action.py +0 -0
  85. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_async_support.py +0 -0
  86. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_binary_sensor.py +0 -0
  87. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_button.py +0 -0
  88. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_calculated_support.py +0 -0
  89. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_central.py +0 -0
  90. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_central_pydevccu.py +0 -0
  91. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_climate.py +0 -0
  92. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_cover.py +0 -0
  93. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_decorator.py +0 -0
  94. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_device.py +0 -0
  95. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_dynamic_caches.py +0 -0
  96. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_entity.py +0 -0
  97. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_event.py +0 -0
  98. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_json_rpc.py +0 -0
  99. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_json_rpc_client_integration.py +0 -0
  100. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_kwonly_lint.py +0 -0
  101. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_light.py +0 -0
  102. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_lock.py +0 -0
  103. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_logging_support.py +0 -0
  104. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_number.py +0 -0
  105. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_select.py +0 -0
  106. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_sensor.py +0 -0
  107. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_siren.py +0 -0
  108. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_support.py +0 -0
  109. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_support_extra.py +0 -0
  110. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_switch.py +0 -0
  111. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_text.py +0 -0
  112. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_valve.py +0 -0
  113. {aiohomematic-2025.10.4 → aiohomematic-2025.10.5}/tests/test_xml_rpc_proxy_integration.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiohomematic
3
- Version: 2025.10.4
3
+ Version: 2025.10.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>
@@ -1166,7 +1166,8 @@ class CentralUnit(LogContextMixin, PayloadMixin):
1166
1166
  return tuple(
1167
1167
  dev_desc
1168
1168
  for dev_desc in device_descriptions
1169
- if (dev_desc["ADDRESS"] if dev_desc["PARENT"] == "" else dev_desc["PARENT"]) not in known_addresses
1169
+ if (dev_desc["ADDRESS"] if not (parent_address := dev_desc.get("PARENT")) else parent_address)
1170
+ not in known_addresses
1170
1171
  )
1171
1172
 
1172
1173
  def _check_for_new_device_addresses(self, *, interface_id: str | None = None) -> Mapping[str, set[str]]:
@@ -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.4"
22
+ VERSION: Final = "2025.10.5"
23
23
 
24
24
  # Detect test speedup mode via environment
25
25
  _TEST_SPEEDUP: Final = (
@@ -174,7 +174,7 @@ def extract_device_addresses_from_device_descriptions(
174
174
  {
175
175
  parent_address
176
176
  for dev_desc in device_descriptions
177
- if (parent_address := dev_desc["PARENT"]) is not None and (is_device_address(address=parent_address))
177
+ if (parent_address := dev_desc.get("PARENT")) and (is_device_address(address=parent_address))
178
178
  }
179
179
  )
180
180
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiohomematic
3
- Version: 2025.10.4
3
+ Version: 2025.10.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>