aiohomematic 2025.10.0__tar.gz → 2025.10.1__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 (106) hide show
  1. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/PKG-INFO +1 -1
  2. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/central/__init__.py +3 -0
  3. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/const.py +2 -1
  4. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/custom/cover.py +12 -2
  5. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic.egg-info/PKG-INFO +1 -1
  6. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/LICENSE +0 -0
  7. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/README.md +0 -0
  8. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/__init__.py +0 -0
  9. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/async_support.py +0 -0
  10. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/caches/__init__.py +0 -0
  11. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/caches/dynamic.py +0 -0
  12. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/caches/persistent.py +0 -0
  13. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/caches/visibility.py +0 -0
  14. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/central/decorators.py +0 -0
  15. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/central/xml_rpc_server.py +0 -0
  16. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/client/__init__.py +0 -0
  17. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/client/_rpc_errors.py +0 -0
  18. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/client/json_rpc.py +0 -0
  19. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/client/xml_rpc.py +0 -0
  20. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/context.py +0 -0
  21. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/converter.py +0 -0
  22. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/decorators.py +0 -0
  23. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/exceptions.py +0 -0
  24. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/hmcli.py +0 -0
  25. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/__init__.py +0 -0
  26. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/calculated/__init__.py +0 -0
  27. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/calculated/climate.py +0 -0
  28. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/calculated/data_point.py +0 -0
  29. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/calculated/operating_voltage_level.py +0 -0
  30. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/calculated/support.py +0 -0
  31. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/custom/__init__.py +0 -0
  32. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/custom/climate.py +0 -0
  33. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/custom/const.py +0 -0
  34. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/custom/data_point.py +0 -0
  35. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/custom/definition.py +0 -0
  36. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/custom/light.py +0 -0
  37. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/custom/lock.py +0 -0
  38. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/custom/siren.py +0 -0
  39. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/custom/support.py +0 -0
  40. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/custom/switch.py +0 -0
  41. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/custom/valve.py +0 -0
  42. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/data_point.py +0 -0
  43. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/device.py +0 -0
  44. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/event.py +0 -0
  45. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/generic/__init__.py +0 -0
  46. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/generic/action.py +0 -0
  47. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/generic/binary_sensor.py +0 -0
  48. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/generic/button.py +0 -0
  49. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/generic/data_point.py +0 -0
  50. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/generic/number.py +0 -0
  51. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/generic/select.py +0 -0
  52. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/generic/sensor.py +0 -0
  53. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/generic/switch.py +0 -0
  54. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/generic/text.py +0 -0
  55. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/hub/__init__.py +0 -0
  56. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/hub/binary_sensor.py +0 -0
  57. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/hub/button.py +0 -0
  58. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/hub/data_point.py +0 -0
  59. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/hub/number.py +0 -0
  60. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/hub/select.py +0 -0
  61. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/hub/sensor.py +0 -0
  62. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/hub/switch.py +0 -0
  63. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/hub/text.py +0 -0
  64. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/support.py +0 -0
  65. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/model/update.py +0 -0
  66. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/property_decorators.py +0 -0
  67. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/py.typed +0 -0
  68. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/rega_scripts/fetch_all_device_data.fn +0 -0
  69. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/rega_scripts/get_program_descriptions.fn +0 -0
  70. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/rega_scripts/get_serial.fn +0 -0
  71. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/rega_scripts/get_system_variable_descriptions.fn +0 -0
  72. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/rega_scripts/set_program_state.fn +0 -0
  73. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/rega_scripts/set_system_variable.fn +0 -0
  74. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/support.py +0 -0
  75. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic/validator.py +0 -0
  76. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic.egg-info/SOURCES.txt +0 -0
  77. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic.egg-info/dependency_links.txt +0 -0
  78. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic.egg-info/requires.txt +0 -0
  79. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic.egg-info/top_level.txt +0 -0
  80. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic_support/__init__.py +0 -0
  81. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/aiohomematic_support/client_local.py +0 -0
  82. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/pyproject.toml +0 -0
  83. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/setup.cfg +0 -0
  84. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_action.py +0 -0
  85. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_binary_sensor.py +0 -0
  86. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_button.py +0 -0
  87. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_calculated_support.py +0 -0
  88. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_central.py +0 -0
  89. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_central_pydevccu.py +0 -0
  90. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_climate.py +0 -0
  91. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_cover.py +0 -0
  92. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_decorator.py +0 -0
  93. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_device.py +0 -0
  94. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_entity.py +0 -0
  95. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_event.py +0 -0
  96. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_json_rpc.py +0 -0
  97. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_light.py +0 -0
  98. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_lock.py +0 -0
  99. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_number.py +0 -0
  100. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_select.py +0 -0
  101. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_sensor.py +0 -0
  102. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_siren.py +0 -0
  103. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_support.py +0 -0
  104. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_switch.py +0 -0
  105. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_text.py +0 -0
  106. {aiohomematic-2025.10.0 → aiohomematic-2025.10.1}/tests/test_valve.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiohomematic
3
- Version: 2025.10.0
3
+ Version: 2025.10.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>
@@ -105,6 +105,7 @@ from aiohomematic.const import (
105
105
  DEFAULT_SYSVAR_MARKERS,
106
106
  DEFAULT_TLS,
107
107
  DEFAULT_UN_IGNORES,
108
+ DEFAULT_USE_GROUP_CHANNEL_FOR_COVER_STATE,
108
109
  DEFAULT_VERIFY_TLS,
109
110
  DEVICE_FIRMWARE_CHECK_INTERVAL,
110
111
  DEVICE_FIRMWARE_DELIVERING_CHECK_INTERVAL,
@@ -1854,6 +1855,7 @@ class CentralConfig:
1854
1855
  sysvar_markers: tuple[DescriptionMarker | str, ...] = DEFAULT_SYSVAR_MARKERS,
1855
1856
  tls: bool = DEFAULT_TLS,
1856
1857
  un_ignore_list: frozenset[str] = DEFAULT_UN_IGNORES,
1858
+ use_group_channel_for_cover_state: bool = DEFAULT_USE_GROUP_CHANNEL_FOR_COVER_STATE,
1857
1859
  verify_tls: bool = DEFAULT_VERIFY_TLS,
1858
1860
  ) -> None:
1859
1861
  """Init the client config."""
@@ -1884,6 +1886,7 @@ class CentralConfig:
1884
1886
  self.sysvar_markers: Final = sysvar_markers
1885
1887
  self.tls: Final = tls
1886
1888
  self.un_ignore_list: Final = un_ignore_list
1889
+ self.use_group_channel_for_cover_state: Final = use_group_channel_for_cover_state
1887
1890
  self.username: Final = username
1888
1891
  self.verify_tls: Final = verify_tls
1889
1892
 
@@ -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.0"
22
+ VERSION: Final = "2025.10.1"
23
23
 
24
24
  # Detect test speedup mode via environment
25
25
  _TEST_SPEEDUP: Final = (
@@ -45,6 +45,7 @@ DEFAULT_SYSVAR_MARKERS: Final[tuple[DescriptionMarker | str, ...]] = ()
45
45
  DEFAULT_SYS_SCAN_INTERVAL: Final = 30
46
46
  DEFAULT_TLS: Final = False
47
47
  DEFAULT_UN_IGNORES: Final[frozenset[str]] = frozenset()
48
+ DEFAULT_USE_GROUP_CHANNEL_FOR_COVER_STATE: Final = True
48
49
  DEFAULT_VERIFY_TLS: Final = False
49
50
 
50
51
  # Default encoding for json service calls, persistent cache
@@ -100,6 +100,7 @@ class CustomDpCover(CustomDataPoint):
100
100
  "_dp_group_level",
101
101
  "_dp_level",
102
102
  "_dp_stop",
103
+ "_use_group_channel_for_cover_state",
103
104
  )
104
105
  _category = DataPointCategory.COVER
105
106
  _closed_level: float = _CLOSED_LEVEL
@@ -118,11 +119,16 @@ class CustomDpCover(CustomDataPoint):
118
119
  self._dp_group_level: DpSensor[float | None] = self._get_data_point(
119
120
  field=Field.GROUP_LEVEL, data_point_type=DpSensor[float | None]
120
121
  )
122
+ self._use_group_channel_for_cover_state = self.central.config.use_group_channel_for_cover_state
121
123
 
122
124
  @property
123
125
  def _group_level(self) -> float:
124
126
  """Return the channel level of the cover."""
125
- if self._dp_group_level.value is not None and self.usage == DataPointUsage.CDP_PRIMARY:
127
+ if (
128
+ self._use_group_channel_for_cover_state
129
+ and self._dp_group_level.value is not None
130
+ and self.usage == DataPointUsage.CDP_PRIMARY
131
+ ):
126
132
  return float(self._dp_group_level.value)
127
133
  return self._dp_level.value if self._dp_level.value is not None else self._closed_level
128
134
 
@@ -276,7 +282,11 @@ class CustomDpBlind(CustomDpCover):
276
282
  @property
277
283
  def _group_tilt_level(self) -> float:
278
284
  """Return the group level of the tilt."""
279
- if self._dp_group_level_2.value is not None and self.usage == DataPointUsage.CDP_PRIMARY:
285
+ if (
286
+ self._use_group_channel_for_cover_state
287
+ and self._dp_group_level_2.value is not None
288
+ and self.usage == DataPointUsage.CDP_PRIMARY
289
+ ):
280
290
  return float(self._dp_group_level_2.value)
281
291
  return self._dp_level_2.value if self._dp_level_2.value is not None else self._closed_level
282
292
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiohomematic
3
- Version: 2025.10.0
3
+ Version: 2025.10.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>