aiohomematic 2025.8.6__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.

Files changed (77) hide show
  1. aiohomematic/__init__.py +47 -0
  2. aiohomematic/async_support.py +146 -0
  3. aiohomematic/caches/__init__.py +10 -0
  4. aiohomematic/caches/dynamic.py +554 -0
  5. aiohomematic/caches/persistent.py +459 -0
  6. aiohomematic/caches/visibility.py +774 -0
  7. aiohomematic/central/__init__.py +2034 -0
  8. aiohomematic/central/decorators.py +110 -0
  9. aiohomematic/central/xml_rpc_server.py +267 -0
  10. aiohomematic/client/__init__.py +1746 -0
  11. aiohomematic/client/json_rpc.py +1193 -0
  12. aiohomematic/client/xml_rpc.py +222 -0
  13. aiohomematic/const.py +795 -0
  14. aiohomematic/context.py +8 -0
  15. aiohomematic/converter.py +82 -0
  16. aiohomematic/decorators.py +188 -0
  17. aiohomematic/exceptions.py +145 -0
  18. aiohomematic/hmcli.py +159 -0
  19. aiohomematic/model/__init__.py +137 -0
  20. aiohomematic/model/calculated/__init__.py +65 -0
  21. aiohomematic/model/calculated/climate.py +230 -0
  22. aiohomematic/model/calculated/data_point.py +319 -0
  23. aiohomematic/model/calculated/operating_voltage_level.py +311 -0
  24. aiohomematic/model/calculated/support.py +174 -0
  25. aiohomematic/model/custom/__init__.py +175 -0
  26. aiohomematic/model/custom/climate.py +1334 -0
  27. aiohomematic/model/custom/const.py +146 -0
  28. aiohomematic/model/custom/cover.py +741 -0
  29. aiohomematic/model/custom/data_point.py +318 -0
  30. aiohomematic/model/custom/definition.py +861 -0
  31. aiohomematic/model/custom/light.py +1092 -0
  32. aiohomematic/model/custom/lock.py +389 -0
  33. aiohomematic/model/custom/siren.py +268 -0
  34. aiohomematic/model/custom/support.py +40 -0
  35. aiohomematic/model/custom/switch.py +172 -0
  36. aiohomematic/model/custom/valve.py +112 -0
  37. aiohomematic/model/data_point.py +1109 -0
  38. aiohomematic/model/decorators.py +173 -0
  39. aiohomematic/model/device.py +1347 -0
  40. aiohomematic/model/event.py +210 -0
  41. aiohomematic/model/generic/__init__.py +211 -0
  42. aiohomematic/model/generic/action.py +32 -0
  43. aiohomematic/model/generic/binary_sensor.py +28 -0
  44. aiohomematic/model/generic/button.py +25 -0
  45. aiohomematic/model/generic/data_point.py +162 -0
  46. aiohomematic/model/generic/number.py +73 -0
  47. aiohomematic/model/generic/select.py +36 -0
  48. aiohomematic/model/generic/sensor.py +72 -0
  49. aiohomematic/model/generic/switch.py +52 -0
  50. aiohomematic/model/generic/text.py +27 -0
  51. aiohomematic/model/hub/__init__.py +334 -0
  52. aiohomematic/model/hub/binary_sensor.py +22 -0
  53. aiohomematic/model/hub/button.py +26 -0
  54. aiohomematic/model/hub/data_point.py +332 -0
  55. aiohomematic/model/hub/number.py +37 -0
  56. aiohomematic/model/hub/select.py +47 -0
  57. aiohomematic/model/hub/sensor.py +35 -0
  58. aiohomematic/model/hub/switch.py +42 -0
  59. aiohomematic/model/hub/text.py +28 -0
  60. aiohomematic/model/support.py +599 -0
  61. aiohomematic/model/update.py +136 -0
  62. aiohomematic/py.typed +0 -0
  63. aiohomematic/rega_scripts/fetch_all_device_data.fn +75 -0
  64. aiohomematic/rega_scripts/get_program_descriptions.fn +30 -0
  65. aiohomematic/rega_scripts/get_serial.fn +44 -0
  66. aiohomematic/rega_scripts/get_system_variable_descriptions.fn +30 -0
  67. aiohomematic/rega_scripts/set_program_state.fn +12 -0
  68. aiohomematic/rega_scripts/set_system_variable.fn +15 -0
  69. aiohomematic/support.py +482 -0
  70. aiohomematic/validator.py +65 -0
  71. aiohomematic-2025.8.6.dist-info/METADATA +69 -0
  72. aiohomematic-2025.8.6.dist-info/RECORD +77 -0
  73. aiohomematic-2025.8.6.dist-info/WHEEL +5 -0
  74. aiohomematic-2025.8.6.dist-info/licenses/LICENSE +21 -0
  75. aiohomematic-2025.8.6.dist-info/top_level.txt +2 -0
  76. aiohomematic_support/__init__.py +1 -0
  77. aiohomematic_support/client_local.py +349 -0
@@ -0,0 +1,146 @@
1
+ """Constants used by aiohomematic custom data points."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from enum import Enum, StrEnum
6
+
7
+
8
+ class DeviceProfile(StrEnum):
9
+ """Enum for device profiles."""
10
+
11
+ IP_BUTTON_LOCK = "IPButtonLock"
12
+ IP_COVER = "IPCover"
13
+ IP_DIMMER = "IPDimmer"
14
+ IP_DRG_DALI = "IPDRGDALI"
15
+ IP_FIXED_COLOR_LIGHT = "IPFixedColorLight"
16
+ IP_GARAGE = "IPGarage"
17
+ IP_HDM = "IPHdm"
18
+ IP_IRRIGATION_VALVE = "IPIrrigationValve"
19
+ IP_LOCK = "IPLock"
20
+ IP_RGBW_LIGHT = "IPRGBW"
21
+ IP_SIMPLE_FIXED_COLOR_LIGHT = "IPSimpleFixedColorLight"
22
+ IP_SIMPLE_FIXED_COLOR_LIGHT_WIRED = "IPSimpleFixedColorLightWired"
23
+ IP_SIREN = "IPSiren"
24
+ IP_SIREN_SMOKE = "IPSirenSmoke"
25
+ IP_SWITCH = "IPSwitch"
26
+ IP_THERMOSTAT = "IPThermostat"
27
+ IP_THERMOSTAT_GROUP = "IPThermostatGroup"
28
+ RF_BUTTON_LOCK = "RFButtonLock"
29
+ RF_COVER = "RfCover"
30
+ RF_DIMMER = "RfDimmer"
31
+ RF_DIMMER_COLOR = "RfDimmer_Color"
32
+ RF_DIMMER_COLOR_FIXED = "RfDimmer_Color_Fixed"
33
+ RF_DIMMER_COLOR_TEMP = "RfDimmer_Color_Temp"
34
+ RF_DIMMER_WITH_VIRT_CHANNEL = "RfDimmerWithVirtChannel"
35
+ RF_LOCK = "RfLock"
36
+ RF_SIREN = "RfSiren"
37
+ RF_SWITCH = "RfSwitch"
38
+ RF_THERMOSTAT = "RfThermostat"
39
+ RF_THERMOSTAT_GROUP = "RfThermostatGroup"
40
+ SIMPLE_RF_THERMOSTAT = "SimpleRfThermostat"
41
+
42
+
43
+ class CDPD(StrEnum):
44
+ """Enum for custom data point definitions."""
45
+
46
+ ADDITIONAL_DPS = "additional_dps"
47
+ ALLOW_UNDEFINED_GENERIC_DPS = "allow_undefined_generic_dps"
48
+ DEFAULT_DPS = "default_dps"
49
+ DEVICE_DEFINITIONS = "device_definitions"
50
+ DEVICE_GROUP = "device_group"
51
+ FIELDS = "fields"
52
+ INCLUDE_DEFAULT_DPS = "include_default_dps"
53
+ PRIMARY_CHANNEL = "primary_channel"
54
+ REPEATABLE_FIELDS = "repeatable_fields"
55
+ SECONDARY_CHANNELS = "secondary_channels"
56
+ STATE_CHANNEL = "state_channel"
57
+ VISIBLE_FIELDS = "visible_fields"
58
+ VISIBLE_REPEATABLE_FIELDS = "visible_repeatable_fields"
59
+
60
+
61
+ class Field(Enum):
62
+ """Enum for fields."""
63
+
64
+ ACOUSTIC_ALARM_ACTIVE = "acoustic_alarm_active"
65
+ ACOUSTIC_ALARM_SELECTION = "acoustic_alarm_selection"
66
+ ACTIVE_PROFILE = "active_profile"
67
+ AUTO_MODE = "auto_mode"
68
+ BOOST_MODE = "boost_mode"
69
+ BUTTON_LOCK = "button_lock"
70
+ CHANNEL_COLOR = "channel_color"
71
+ COLOR = "color"
72
+ COLOR_BEHAVIOUR = "color_behaviour"
73
+ COLOR_LEVEL = "color_temp"
74
+ COLOR_TEMPERATURE = "color_temperature"
75
+ COMBINED_PARAMETER = "combined_parameter"
76
+ COMFORT_MODE = "comfort_mode"
77
+ CONCENTRATION = "concentration"
78
+ CONTROL_MODE = "control_mode"
79
+ CURRENT = "current"
80
+ DEVICE_OPERATION_MODE = "device_operation_mode"
81
+ DIRECTION = "direction"
82
+ DOOR_COMMAND = "door_command"
83
+ DOOR_STATE = "door_state"
84
+ DURATION = "duration"
85
+ DURATION_UNIT = "duration_unit"
86
+ DUTYCYCLE = "dutycycle"
87
+ DUTY_CYCLE = "duty_cycle"
88
+ EFFECT = "effect"
89
+ ENERGY_COUNTER = "energy_counter"
90
+ ERROR = "error"
91
+ FREQUENCY = "frequency"
92
+ GROUP_LEVEL = "group_level"
93
+ GROUP_LEVEL_2 = "group_level_2"
94
+ GROUP_STATE = "group_state"
95
+ HEATING_COOLING = "heating_cooling"
96
+ HEATING_VALVE_TYPE = "heating_valve_type"
97
+ HUE = "hue"
98
+ HUMIDITY = "humidity"
99
+ INHIBIT = "inhibit"
100
+ LEVEL = "level"
101
+ LEVEL_2 = "level_2"
102
+ LEVEL_COMBINED = "level_combined"
103
+ LOCK_STATE = "lock_state"
104
+ LOCK_TARGET_LEVEL = "lock_target_level"
105
+ LOWBAT = "lowbat"
106
+ LOWERING_MODE = "lowering_mode"
107
+ LOW_BAT = "low_bat"
108
+ LOW_BAT_LIMIT = "low_bat_limit"
109
+ MANU_MODE = "manu_mode"
110
+ MIN_MAX_VALUE_NOT_RELEVANT_FOR_MANU_MODE = "min_max_value_not_relevant_for_manu_mode"
111
+ ON_TIME_UNIT = "on_time_unit"
112
+ ON_TIME_VALUE = "on_time_value"
113
+ OPEN = "open"
114
+ OPERATING_VOLTAGE = "operating_voltage"
115
+ OPERATION_MODE = "channel_operation_mode"
116
+ OPTICAL_ALARM_ACTIVE = "optical_alarm_active"
117
+ OPTICAL_ALARM_SELECTION = "optical_alarm_selection"
118
+ OPTIMUM_START_STOP = "optimum_start_stop"
119
+ PARTY_MODE = "party_mode"
120
+ POWER = "power"
121
+ PROGRAM = "program"
122
+ RAMP_TIME_TO_OFF_UNIT = "ramp_time_to_off_unit"
123
+ RAMP_TIME_TO_OFF_VALUE = "ramp_time_to_off_value"
124
+ RAMP_TIME_UNIT = "ramp_time_unit"
125
+ RAMP_TIME_VALUE = "ramp_time_value"
126
+ RSSI_DEVICE = "rssi_device"
127
+ RSSI_PEER = "rssi_peer"
128
+ SABOTAGE = "sabotage"
129
+ SATURATION = "saturation"
130
+ SECTION = "section"
131
+ SETPOINT = "setpoint"
132
+ SET_POINT_MODE = "set_point_mode"
133
+ SMOKE_DETECTOR_ALARM_STATUS = "smoke_detector_alarm_status"
134
+ SMOKE_DETECTOR_COMMAND = "smoke_detector_command"
135
+ STATE = "state"
136
+ STOP = "stop"
137
+ SWITCH_MAIN = "switch_main"
138
+ SWITCH_V1 = "vswitch_1"
139
+ SWITCH_V2 = "vswitch_2"
140
+ TEMPERATURE = "temperature"
141
+ TEMPERATURE_MAXIMUM = "temperature_maximum"
142
+ TEMPERATURE_MINIMUM = "temperature_minimum"
143
+ TEMPERATURE_OFFSET = "temperature_offset"
144
+ VALVE_STATE = "valve_state"
145
+ VOLTAGE = "voltage"
146
+ WEEK_PROGRAM_POINTER = "week_program_pointer"