aiohomematic 2025.9.3__py3-none-any.whl → 2025.9.5__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.
- aiohomematic/caches/dynamic.py +2 -2
- aiohomematic/central/__init__.py +13 -13
- aiohomematic/central/xml_rpc_server.py +9 -14
- aiohomematic/client/__init__.py +44 -44
- aiohomematic/client/_rpc_errors.py +1 -1
- aiohomematic/client/json_rpc.py +27 -27
- aiohomematic/client/xml_rpc.py +5 -14
- aiohomematic/const.py +1 -1
- aiohomematic/model/__init__.py +1 -1
- aiohomematic/model/calculated/data_point.py +2 -2
- aiohomematic/model/custom/definition.py +1 -1
- aiohomematic/model/data_point.py +10 -10
- aiohomematic/model/device.py +6 -6
- aiohomematic/model/generic/data_point.py +3 -3
- aiohomematic/model/hub/__init__.py +3 -3
- aiohomematic/model/hub/data_point.py +3 -3
- aiohomematic/property_decorators.py +2 -44
- aiohomematic/support.py +2 -7
- {aiohomematic-2025.9.3.dist-info → aiohomematic-2025.9.5.dist-info}/METADATA +4 -4
- {aiohomematic-2025.9.3.dist-info → aiohomematic-2025.9.5.dist-info}/RECORD +24 -24
- aiohomematic_support/client_local.py +15 -15
- {aiohomematic-2025.9.3.dist-info → aiohomematic-2025.9.5.dist-info}/WHEEL +0 -0
- {aiohomematic-2025.9.3.dist-info → aiohomematic-2025.9.5.dist-info}/licenses/LICENSE +0 -0
- {aiohomematic-2025.9.3.dist-info → aiohomematic-2025.9.5.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aiohomematic
|
|
3
|
-
Version: 2025.9.
|
|
3
|
+
Version: 2025.9.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>
|
|
@@ -53,7 +53,7 @@ Use the Home Assistant custom integration "Homematic(IP) Local", which is powere
|
|
|
53
53
|
|
|
54
54
|
1. Prerequisites
|
|
55
55
|
- Use latest version of Home Assistant.
|
|
56
|
-
- A CCU3, RaspberryMatic, or Homegear instance reachable from Home Assistant.
|
|
56
|
+
- A CCU3, OpenCCU/RaspberryMatic, or Homegear instance reachable from Home Assistant.
|
|
57
57
|
- For HomematicIP devices, ensure CCU firmware meets the minimum versions listed below.
|
|
58
58
|
2. Install the integration
|
|
59
59
|
- Add the custom repository and install: https://github.com/sukramj/homematicip_local
|
|
@@ -64,7 +64,7 @@ Use the Home Assistant custom integration "Homematic(IP) Local", which is powere
|
|
|
64
64
|
- Always enter credentials.
|
|
65
65
|
- Choose which interfaces to enable (HM, HmIP, Virtual). Default ports are typically 2001 (HM), 2010 (HmIP), 9292 (Virtual).
|
|
66
66
|
4. Network callbacks
|
|
67
|
-
- The integration needs to receive XML‑RPC callbacks from the CCU. Make sure Home Assistant is reachable from the CCU (no NAT/firewall blocking). Callbacks
|
|
67
|
+
- The integration needs to receive XML‑RPC callbacks from the CCU. Make sure Home Assistant is reachable from the CCU (no NAT/firewall blocking). Callbacks are only required for special network setups.
|
|
68
68
|
5. Verify
|
|
69
69
|
- After setup, devices should appear under Devices & Services → Homematic(IP) Local. Discovery may take a few seconds after the first connection while paramsets are fetched and cached for faster restarts.
|
|
70
70
|
|
|
@@ -77,7 +77,7 @@ Due to a bug in earlier CCU2/CCU3 firmware, aiohomematic requires at least the f
|
|
|
77
77
|
- CCU2: 2.53.27
|
|
78
78
|
- CCU3: 3.53.26
|
|
79
79
|
|
|
80
|
-
See details here: https://github.com/
|
|
80
|
+
See details here: https://github.com/OpenCCU/OpenCCU/issues/843. Other CCU‑like platforms using the buggy HmIPServer version are not supported.
|
|
81
81
|
|
|
82
82
|
## Public API and imports
|
|
83
83
|
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
aiohomematic/__init__.py,sha256=VPESkjzeVserFI2DDVAxD782cgYRlLK0sXJzLrr3e_k,2283
|
|
2
2
|
aiohomematic/async_support.py,sha256=Xc55KkIV0h8rf936QKyU4OHSZsPEZ8TwuV8gVveeRh8,6106
|
|
3
|
-
aiohomematic/const.py,sha256=
|
|
3
|
+
aiohomematic/const.py,sha256=xNQ_iXUztJ7ttNLz_rM1wEN5QCu87GKI8LGIs6utxac,25411
|
|
4
4
|
aiohomematic/context.py,sha256=M7gkA7KFT0dp35gzGz2dzKVXu1PP0sAnepgLlmjyRS4,451
|
|
5
5
|
aiohomematic/converter.py,sha256=QTOL8_B6SoCoqLuRSkjtOlfa7BVFSvOfnSBrDngiinA,3558
|
|
6
6
|
aiohomematic/decorators.py,sha256=oHEFSJoJVd-h9RYb6NLTJ60erkpRHPYv7EEipKn1a9Q,10636
|
|
7
7
|
aiohomematic/exceptions.py,sha256=o_H3Z0A2TQ0irNxUM9u8bmivq0L_mwPCB7nhxEawDxE,5018
|
|
8
8
|
aiohomematic/hmcli.py,sha256=wHOLq4IJRSY9RJux_ZfDH1gQ1ZqD0k68ua5agyBkkE8,4933
|
|
9
|
-
aiohomematic/property_decorators.py,sha256=
|
|
9
|
+
aiohomematic/property_decorators.py,sha256=TN07L9uAos2hB7aqaSIRPziYowWWJXSDFnZqxg0WFhs,16201
|
|
10
10
|
aiohomematic/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
aiohomematic/support.py,sha256=
|
|
11
|
+
aiohomematic/support.py,sha256=EKTkzx4Dd-NT5OdN-Cfg75pECYWQ9l-Me5t_2Bl5PPM,20315
|
|
12
12
|
aiohomematic/validator.py,sha256=vChkYQ9dGKCQEigiBMnoeyPkCJDJlIm6DSgR1gmeHH0,3545
|
|
13
13
|
aiohomematic/caches/__init__.py,sha256=_gI30tbsWgPRaHvP6cRxOQr6n9bYZzU-jp1WbHhWg-A,470
|
|
14
|
-
aiohomematic/caches/dynamic.py,sha256=
|
|
14
|
+
aiohomematic/caches/dynamic.py,sha256=dibvXK07_kkqhzd54sAQhKRjGwmsnaX8_BUm2_CDS68,21334
|
|
15
15
|
aiohomematic/caches/persistent.py,sha256=YBThIByt0mLQCgcZwBBmqanI8obAhHNcFULz_H-de8o,19932
|
|
16
16
|
aiohomematic/caches/visibility.py,sha256=uZ1sSCfmEQURllPvSbJ3EzFVFE7TU8XcxMDSHRpNmMs,31481
|
|
17
|
-
aiohomematic/central/__init__.py,sha256=
|
|
17
|
+
aiohomematic/central/__init__.py,sha256=avD1CsupPPTaqcMcQHDYQR4A9XGY2BE2RGIA6O79CP4,86167
|
|
18
18
|
aiohomematic/central/decorators.py,sha256=Sl-cMDhreiAOKkIHiei-QbIOcvbWGVX-QwB5bLeohak,6904
|
|
19
|
-
aiohomematic/central/xml_rpc_server.py,sha256=
|
|
20
|
-
aiohomematic/client/__init__.py,sha256=
|
|
21
|
-
aiohomematic/client/_rpc_errors.py,sha256=
|
|
22
|
-
aiohomematic/client/json_rpc.py,sha256=
|
|
23
|
-
aiohomematic/client/xml_rpc.py,sha256=
|
|
24
|
-
aiohomematic/model/__init__.py,sha256=
|
|
25
|
-
aiohomematic/model/data_point.py,sha256=
|
|
26
|
-
aiohomematic/model/device.py,sha256=
|
|
19
|
+
aiohomematic/central/xml_rpc_server.py,sha256=pOqOuTp1Yy5Wlqs5E-L9f_UNW8j9HSE5XMAPCdXJchI,10407
|
|
20
|
+
aiohomematic/client/__init__.py,sha256=3Lxji6TbShZ3_9-4OGwmuoPh82qtW46vA2xjHOqxYaQ,70106
|
|
21
|
+
aiohomematic/client/_rpc_errors.py,sha256=ZPFZJ4t0tE4RVAae4L7hE9earutMwB5BFfB2NArLp9E,2975
|
|
22
|
+
aiohomematic/client/json_rpc.py,sha256=o-lMKlVQBUBtYD71p4wpXfWrz-b6dOL363ap0JoELUM,49393
|
|
23
|
+
aiohomematic/client/xml_rpc.py,sha256=gQBdZdqADNaUIX-x6VRGA0K_dFfN3gCPCYtxGcz2Ilw,9475
|
|
24
|
+
aiohomematic/model/__init__.py,sha256=cqL5v5HNxlzrgLziAPf8sGU72fDneiaLTioIGcLfhTU,5442
|
|
25
|
+
aiohomematic/model/data_point.py,sha256=6Z_HlNXMseBgmwgZSSuCBzZvh5u0hESHuQDI7DpfHhE,40894
|
|
26
|
+
aiohomematic/model/device.py,sha256=WCQ9zrc9sbyYrYKDF1aDAjtPWgkKU_dRdjImQQf-cbE,52160
|
|
27
27
|
aiohomematic/model/event.py,sha256=EMoKjbOZRXD3jumRrSlSoUr3nZ2QM3GDKKFfhlf-D50,6837
|
|
28
28
|
aiohomematic/model/support.py,sha256=4VQsOlkJuPhq0hLHKt5LB43YgbITjnyJMwucUYGghzM,19616
|
|
29
29
|
aiohomematic/model/update.py,sha256=QVYFhaEqtHZhZ8yGPXEx2hPMne8WAc_SkVaQ0J20oQw,5138
|
|
30
30
|
aiohomematic/model/calculated/__init__.py,sha256=pk56FYa0MNyN0MTsejSy6RdQjOUCKAqzwWSzN6_ENmk,2808
|
|
31
31
|
aiohomematic/model/calculated/climate.py,sha256=0BhrsiVS74_6jo24I8Cg9WzVAD5od3IqgiwTM0ao2n0,8518
|
|
32
|
-
aiohomematic/model/calculated/data_point.py,sha256=
|
|
32
|
+
aiohomematic/model/calculated/data_point.py,sha256=s-FEMtMyPwArIwobrUPxqiio8pq_Dccbnsfwa6ohDuU,11530
|
|
33
33
|
aiohomematic/model/calculated/operating_voltage_level.py,sha256=urlCkHjisCJ-DO6tUE0evfp45tPwsYcb81_2uoHYxS0,13521
|
|
34
34
|
aiohomematic/model/calculated/support.py,sha256=K-oUSSH6k6_J7zZ9cwxt6qIfArWd-SBWo93LuZUs1_s,6674
|
|
35
35
|
aiohomematic/model/custom/__init__.py,sha256=1sWRrAjHnHSakdrrlNW4_SZ2rg5g2WjGdI4X2PUg_h0,6064
|
|
@@ -37,7 +37,7 @@ aiohomematic/model/custom/climate.py,sha256=utcyx2cWOK-jYz-EWQlCD9tjBsl_uDk77Fzt
|
|
|
37
37
|
aiohomematic/model/custom/const.py,sha256=Kh1pnab6nmwbaY43CfXQy3yrWpPwsrQdl1Ea2aZ6aw0,4961
|
|
38
38
|
aiohomematic/model/custom/cover.py,sha256=xaU-MfgpnG3Zkdb20BIDUezbvh3rI3HpM0sBg6IcX90,28555
|
|
39
39
|
aiohomematic/model/custom/data_point.py,sha256=d7B8gfyDDZf8HW3f0ofeHYF32GE8kgnQ0DZYSUbLHxY,14112
|
|
40
|
-
aiohomematic/model/custom/definition.py,sha256=
|
|
40
|
+
aiohomematic/model/custom/definition.py,sha256=qDUijmDLuu9Oe837WBdpEPrfVwVZW98H7eVbD2kerW4,35487
|
|
41
41
|
aiohomematic/model/custom/light.py,sha256=8ourpK9U89a3nVp0_WZBTPl3TK9km9fir7W23Q9c4Ns,44173
|
|
42
42
|
aiohomematic/model/custom/lock.py,sha256=5G5BsQFHbYul-_FQwFWDq9E3o8RL54FjJm0yfnIMejc,11940
|
|
43
43
|
aiohomematic/model/custom/siren.py,sha256=O9SnAsR8E04d46O-Ahx_xRK4XwYQ_pk5BLpufCQ9BTc,9729
|
|
@@ -48,16 +48,16 @@ aiohomematic/model/generic/__init__.py,sha256=goR2uBBGizm-A5Vvd7ii9Ai3OihBl3hIzt
|
|
|
48
48
|
aiohomematic/model/generic/action.py,sha256=5SPWVliRqXlPgtb2bI6le0-V6JR5krzw8z_0FaOXu5U,994
|
|
49
49
|
aiohomematic/model/generic/binary_sensor.py,sha256=U5GvfRYbhwe0jRmaedD4LVZ_24SyyPbVr74HEfZXoxE,887
|
|
50
50
|
aiohomematic/model/generic/button.py,sha256=6jZ49woI9gYJEx__PjguDNbc5vdE1P-YcLMZZFkYRCg,740
|
|
51
|
-
aiohomematic/model/generic/data_point.py,sha256=
|
|
51
|
+
aiohomematic/model/generic/data_point.py,sha256=2rxtoHxU3-hsY9ufisqX7XvQIO2og7q_TTJ4I1z-uho,5932
|
|
52
52
|
aiohomematic/model/generic/number.py,sha256=wHNIIVr41IOoROPOnBXuMRsANG6doguIEWXYnQHJbBk,2669
|
|
53
53
|
aiohomematic/model/generic/select.py,sha256=kxN5BR85Yli7kQF2DYkGiLnTgcY9LBJWI7MMwWpH1mo,1535
|
|
54
54
|
aiohomematic/model/generic/sensor.py,sha256=dWff7yBJfJSjoD4rcYdmH5HhaRCUEKfPFfOu4T1LrPo,2253
|
|
55
55
|
aiohomematic/model/generic/switch.py,sha256=oaXhECjSPT1WUdItEFTEbOLNCFZlaaqYByEHtL3GpTY,1833
|
|
56
56
|
aiohomematic/model/generic/text.py,sha256=vtNV7YxZuxF6LzNRKRAeOtSQtPQxPaEd560OFaVR13U,854
|
|
57
|
-
aiohomematic/model/hub/__init__.py,sha256=
|
|
57
|
+
aiohomematic/model/hub/__init__.py,sha256=s5fimIpfIZ3ujhrX5SWNZqPI36kaXJVfEfukOJNKcI8,13462
|
|
58
58
|
aiohomematic/model/hub/binary_sensor.py,sha256=Z4o-zghHSc83ZHUUCtHqWEGueD9K1Fe0JEt_xJNdx_Y,752
|
|
59
59
|
aiohomematic/model/hub/button.py,sha256=XO4ied740BDOXBfTxFW30ROdZiOOxxu05Rmt4b_h06k,890
|
|
60
|
-
aiohomematic/model/hub/data_point.py,sha256
|
|
60
|
+
aiohomematic/model/hub/data_point.py,sha256=-bRnZVoHy0Hxov5Mu094lzzygVQNb6ygHq_KFkV5tU0,10552
|
|
61
61
|
aiohomematic/model/hub/number.py,sha256=O5KrBU4nfZaxw2Pi2AmWAwQo8V_x79xrdt8ukoPme5Q,1222
|
|
62
62
|
aiohomematic/model/hub/select.py,sha256=My6flvM7Lmt5hF-Szx4a4X1KZZPkQ5lCVPCXTLuqBbQ,1659
|
|
63
63
|
aiohomematic/model/hub/sensor.py,sha256=cIr-7bsbOLBxnH33EHQ6D42vc61abO4QYLWLzkm1T10,1192
|
|
@@ -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.9.
|
|
72
|
+
aiohomematic-2025.9.5.dist-info/licenses/LICENSE,sha256=q-B0xpREuZuvKsmk3_iyVZqvZ-vJcWmzMZpeAd0RqtQ,1083
|
|
73
73
|
aiohomematic_support/__init__.py,sha256=_0YtF4lTdC_k6-zrM2IefI0u0LMr_WA61gXAyeGLgbY,66
|
|
74
|
-
aiohomematic_support/client_local.py,sha256=
|
|
75
|
-
aiohomematic-2025.9.
|
|
76
|
-
aiohomematic-2025.9.
|
|
77
|
-
aiohomematic-2025.9.
|
|
78
|
-
aiohomematic-2025.9.
|
|
74
|
+
aiohomematic_support/client_local.py,sha256=kWzrIeyrvSQx1qVX9_L1bgaFr9aPRDm3E3p82eqkFvo,12538
|
|
75
|
+
aiohomematic-2025.9.5.dist-info/METADATA,sha256=xG4AMlnNvAoZGXGixQfjL9ZouHFew-vM1i3a7YBpcy0,7075
|
|
76
|
+
aiohomematic-2025.9.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
77
|
+
aiohomematic-2025.9.5.dist-info/top_level.txt,sha256=5TDRlUWQPThIUwQjOj--aUo4UA-ow4m0sNhnoCBi5n8,34
|
|
78
|
+
aiohomematic-2025.9.5.dist-info/RECORD,,
|
|
@@ -87,11 +87,11 @@ class ClientLocal(Client): # pragma: no cover
|
|
|
87
87
|
return True
|
|
88
88
|
|
|
89
89
|
async def initialize_proxy(self) -> ProxyInitState:
|
|
90
|
-
"""Init the proxy has to tell the
|
|
90
|
+
"""Init the proxy has to tell the backend where to send the events."""
|
|
91
91
|
return ProxyInitState.INIT_SUCCESS
|
|
92
92
|
|
|
93
93
|
async def deinitialize_proxy(self) -> ProxyInitState:
|
|
94
|
-
"""De-init to stop
|
|
94
|
+
"""De-init to stop the backend from sending events for this remote."""
|
|
95
95
|
return ProxyInitState.DE_INIT_SUCCESS
|
|
96
96
|
|
|
97
97
|
async def stop(self) -> None:
|
|
@@ -99,11 +99,11 @@ class ClientLocal(Client): # pragma: no cover
|
|
|
99
99
|
|
|
100
100
|
@inspector(re_raise=False, measure_performance=True)
|
|
101
101
|
async def fetch_all_device_data(self) -> None:
|
|
102
|
-
"""Fetch all device data from
|
|
102
|
+
"""Fetch all device data from the backend."""
|
|
103
103
|
|
|
104
104
|
@inspector(re_raise=False, measure_performance=True)
|
|
105
105
|
async def fetch_device_details(self) -> None:
|
|
106
|
-
"""Fetch names from backend."""
|
|
106
|
+
"""Fetch names from the backend."""
|
|
107
107
|
|
|
108
108
|
@inspector(re_raise=False, no_raise_return=False)
|
|
109
109
|
async def is_connected(self) -> bool:
|
|
@@ -121,41 +121,41 @@ class ClientLocal(Client): # pragma: no cover
|
|
|
121
121
|
|
|
122
122
|
@inspector(re_raise=False, no_raise_return=False)
|
|
123
123
|
async def check_connection_availability(self, handle_ping_pong: bool) -> bool:
|
|
124
|
-
"""Send ping to
|
|
124
|
+
"""Send ping to the backend to generate PONG event."""
|
|
125
125
|
if handle_ping_pong and self.supports_ping_pong:
|
|
126
126
|
self._ping_pong_cache.handle_send_ping(ping_ts=datetime.now())
|
|
127
127
|
return True
|
|
128
128
|
|
|
129
129
|
@inspector
|
|
130
130
|
async def execute_program(self, pid: str) -> bool:
|
|
131
|
-
"""Execute a program on
|
|
131
|
+
"""Execute a program on the backend."""
|
|
132
132
|
return True
|
|
133
133
|
|
|
134
134
|
@inspector
|
|
135
135
|
async def set_program_state(self, pid: str, state: bool) -> bool:
|
|
136
|
-
"""Set the program state on
|
|
136
|
+
"""Set the program state on the backend."""
|
|
137
137
|
return True
|
|
138
138
|
|
|
139
139
|
@inspector(measure_performance=True)
|
|
140
140
|
async def set_system_variable(self, legacy_name: str, value: Any) -> bool:
|
|
141
|
-
"""Set a system variable on
|
|
141
|
+
"""Set a system variable on the backend."""
|
|
142
142
|
return True
|
|
143
143
|
|
|
144
144
|
@inspector
|
|
145
145
|
async def delete_system_variable(self, name: str) -> bool:
|
|
146
|
-
"""Delete a system variable from
|
|
146
|
+
"""Delete a system variable from the backend."""
|
|
147
147
|
return True
|
|
148
148
|
|
|
149
149
|
@inspector
|
|
150
150
|
async def get_system_variable(self, name: str) -> str:
|
|
151
|
-
"""Get single system variable from
|
|
151
|
+
"""Get single system variable from the backend."""
|
|
152
152
|
return "Empty"
|
|
153
153
|
|
|
154
154
|
@inspector(re_raise=False)
|
|
155
155
|
async def get_all_system_variables(
|
|
156
156
|
self, markers: tuple[DescriptionMarker | str, ...]
|
|
157
157
|
) -> tuple[SystemVariableData, ...]:
|
|
158
|
-
"""Get all system variables from
|
|
158
|
+
"""Get all system variables from the backend."""
|
|
159
159
|
return ()
|
|
160
160
|
|
|
161
161
|
@inspector(re_raise=False)
|
|
@@ -179,7 +179,7 @@ class ClientLocal(Client): # pragma: no cover
|
|
|
179
179
|
|
|
180
180
|
@inspector(re_raise=False, measure_performance=True)
|
|
181
181
|
async def list_devices(self) -> tuple[DeviceDescription, ...] | None:
|
|
182
|
-
"""Get device descriptions from
|
|
182
|
+
"""Get device descriptions from the backend."""
|
|
183
183
|
if not self._local_resources:
|
|
184
184
|
_LOGGER.warning(
|
|
185
185
|
"LIST_DEVICES: missing local_resources in config for %s",
|
|
@@ -208,7 +208,7 @@ class ClientLocal(Client): # pragma: no cover
|
|
|
208
208
|
parameter: str,
|
|
209
209
|
call_source: CallSource = CallSource.MANUAL_OR_SCHEDULED,
|
|
210
210
|
) -> Any:
|
|
211
|
-
"""Return a value from
|
|
211
|
+
"""Return a value from the backend."""
|
|
212
212
|
return
|
|
213
213
|
|
|
214
214
|
@inspector(re_raise=False, no_raise_return=set())
|
|
@@ -239,7 +239,7 @@ class ClientLocal(Client): # pragma: no cover
|
|
|
239
239
|
call_source: CallSource = CallSource.MANUAL_OR_SCHEDULED,
|
|
240
240
|
) -> Any:
|
|
241
241
|
"""
|
|
242
|
-
Return a paramset from
|
|
242
|
+
Return a paramset from the backend.
|
|
243
243
|
|
|
244
244
|
Address is usually the channel_address,
|
|
245
245
|
but for bidcos devices there is a master paramset at the device.
|
|
@@ -249,7 +249,7 @@ class ClientLocal(Client): # pragma: no cover
|
|
|
249
249
|
async def _get_paramset_description(
|
|
250
250
|
self, address: str, paramset_key: ParamsetKey
|
|
251
251
|
) -> dict[str, ParameterData] | None:
|
|
252
|
-
"""Get paramset description from
|
|
252
|
+
"""Get paramset description from the backend."""
|
|
253
253
|
if not self._local_resources:
|
|
254
254
|
_LOGGER.warning(
|
|
255
255
|
"GET_PARAMSET_DESCRIPTION: missing local_resources in config for %s",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|