aioWiserHeatAPI 1.5.10__tar.gz → 1.5.11__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.
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/PKG-INFO +7 -2
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/README.md +6 -1
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/__init__.py +1 -1
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/const.py +1 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/rest_controller.py +8 -6
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/wiserhub.py +119 -90
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI.egg-info/PKG-INFO +7 -2
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/LICENSE +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/cli.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/devices.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/discovery.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/exceptions.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/heating.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/heating_actuator.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/__init__.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/automations.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/battery.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/capabilities.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/cloud.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/device.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/equipment.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/extra_config.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/firmware.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/gps.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/misc.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/network.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/opentherm.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/signal.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/special_times.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/status.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/temp.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/helpers/zigbee.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/hot_water.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/light.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/moments.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/pte.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/room.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/roomstat.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/schedule.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/shutter.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/smartplug.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/smartvalve.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/smokealarm.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/system.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI/ufh.py +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI.egg-info/SOURCES.txt +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI.egg-info/dependency_links.txt +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI.egg-info/entry_points.txt +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI.egg-info/requires.txt +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI.egg-info/top_level.txt +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/setup.cfg +0 -0
- {aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: aioWiserHeatAPI
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.11
|
|
4
4
|
Summary: An AsyncIO API for controlling the Drayton Wiser Heating system
|
|
5
5
|
Home-page: https://github.com/msp1974/aioWiserHeatAPI
|
|
6
6
|
Author: Mark Parker
|
|
@@ -18,7 +18,7 @@ Requires-Dist: aiohttp>=3.9.3
|
|
|
18
18
|
Requires-Dist: aiofiles>=23.2.1
|
|
19
19
|
Requires-Dist: pyyaml>=6.0.1
|
|
20
20
|
|
|
21
|
-
# Drayton Wiser Hub API Async v1.5.
|
|
21
|
+
# Drayton Wiser Hub API Async v1.5.11
|
|
22
22
|
|
|
23
23
|
This repository contains a simple API which queries the Drayton Wiser Heating sysystem used in the UK.
|
|
24
24
|
|
|
@@ -72,6 +72,11 @@ Documentation available in [info.md](https://github.com/msp1974/wiserHeatAPIv2/b
|
|
|
72
72
|
|
|
73
73
|
## Changelog
|
|
74
74
|
|
|
75
|
+
### v1.5.11
|
|
76
|
+
|
|
77
|
+
* Improve error management
|
|
78
|
+
* Add additional debug logging
|
|
79
|
+
|
|
75
80
|
### v1.5.10
|
|
76
81
|
|
|
77
82
|
* Add retry routine to prevent hub response errors
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Drayton Wiser Hub API Async v1.5.
|
|
1
|
+
# Drayton Wiser Hub API Async v1.5.11
|
|
2
2
|
|
|
3
3
|
This repository contains a simple API which queries the Drayton Wiser Heating sysystem used in the UK.
|
|
4
4
|
|
|
@@ -52,6 +52,11 @@ Documentation available in [info.md](https://github.com/msp1974/wiserHeatAPIv2/b
|
|
|
52
52
|
|
|
53
53
|
## Changelog
|
|
54
54
|
|
|
55
|
+
### v1.5.11
|
|
56
|
+
|
|
57
|
+
* Improve error management
|
|
58
|
+
* Add additional debug logging
|
|
59
|
+
|
|
55
60
|
### v1.5.10
|
|
56
61
|
|
|
57
62
|
* Add retry routine to prevent hub response errors
|
|
@@ -5,12 +5,14 @@ import enum
|
|
|
5
5
|
import json
|
|
6
6
|
import re
|
|
7
7
|
from dataclasses import dataclass
|
|
8
|
+
from datetime import datetime
|
|
8
9
|
from typing import Optional
|
|
9
10
|
|
|
10
11
|
import aiohttp
|
|
11
12
|
|
|
12
13
|
from . import _LOGGER
|
|
13
14
|
from .const import (
|
|
15
|
+
REST_RETRY_BACKOFF,
|
|
14
16
|
REST_TIMEOUT,
|
|
15
17
|
WISERHUBDOMAIN,
|
|
16
18
|
WISERHUBSCHEDULES,
|
|
@@ -84,7 +86,6 @@ class _WiserRestController(object):
|
|
|
84
86
|
raise_for_endpoint_error: bool = True,
|
|
85
87
|
):
|
|
86
88
|
"""Function to retry on response errors due to inconsistant isues reading from the hub."""
|
|
87
|
-
backoff = [1, 2, 3, 5, 10]
|
|
88
89
|
http_version = aiohttp.HttpVersion11
|
|
89
90
|
for i in range(0, 5):
|
|
90
91
|
if i > 2:
|
|
@@ -101,9 +102,11 @@ class _WiserRestController(object):
|
|
|
101
102
|
return response
|
|
102
103
|
except WiserHubResponseError as ex:
|
|
103
104
|
# Last 2 attempts try http 1.0
|
|
104
|
-
_LOGGER.debug(
|
|
105
|
+
_LOGGER.debug(
|
|
106
|
+
"%s. Retrying in %.1fs", ex, REST_RETRY_BACKOFF[i]
|
|
107
|
+
)
|
|
105
108
|
# Backing off pause
|
|
106
|
-
await asyncio.sleep(
|
|
109
|
+
await asyncio.sleep(REST_RETRY_BACKOFF[i])
|
|
107
110
|
|
|
108
111
|
raise WiserHubConnectionError(
|
|
109
112
|
f"Unable to get a valid response from the Wiser hub. "
|
|
@@ -134,7 +137,6 @@ class _WiserRestController(object):
|
|
|
134
137
|
kwargs = {}
|
|
135
138
|
kwargs["headers"] = {
|
|
136
139
|
"SECRET": self._wiser_connection_info.secret,
|
|
137
|
-
"Connection": "close",
|
|
138
140
|
}
|
|
139
141
|
|
|
140
142
|
# if data is not None:
|
|
@@ -232,7 +234,7 @@ class _WiserRestController(object):
|
|
|
232
234
|
f"Error code is: {response.status}"
|
|
233
235
|
)
|
|
234
236
|
|
|
235
|
-
async def
|
|
237
|
+
async def get_hub_data(
|
|
236
238
|
self, url: str, raise_for_endpoint_error: bool = True
|
|
237
239
|
):
|
|
238
240
|
"""Get data from hub"""
|
|
@@ -242,7 +244,7 @@ class _WiserRestController(object):
|
|
|
242
244
|
raise_for_endpoint_error=raise_for_endpoint_error,
|
|
243
245
|
)
|
|
244
246
|
|
|
245
|
-
async def
|
|
247
|
+
async def get_extra_config_data(self):
|
|
246
248
|
# Load extra config file
|
|
247
249
|
|
|
248
250
|
if self._extra_config_file:
|
|
@@ -12,13 +12,10 @@ https://github.com/asantaga/wiserheatingapi
|
|
|
12
12
|
This API allows you to get information from and control your wiserhub.
|
|
13
13
|
"""
|
|
14
14
|
|
|
15
|
-
# TODO: Keep objects and update instead of recreating on hub update
|
|
16
|
-
# TODO: Update entity values after commend issued to get current values
|
|
17
15
|
import pathlib
|
|
16
|
+
from datetime import datetime
|
|
18
17
|
from typing import Optional
|
|
19
18
|
|
|
20
|
-
import aiohttp
|
|
21
|
-
|
|
22
19
|
from . import __VERSION__, _LOGGER
|
|
23
20
|
from .cli import log_response_to_file
|
|
24
21
|
from .const import (
|
|
@@ -121,6 +118,7 @@ class WiserAPI:
|
|
|
121
118
|
)
|
|
122
119
|
|
|
123
120
|
async def read_hub_data(self):
|
|
121
|
+
"""Update data objects form the hub."""
|
|
124
122
|
await self._build_objects()
|
|
125
123
|
|
|
126
124
|
# Run automations
|
|
@@ -131,119 +129,150 @@ class WiserAPI:
|
|
|
131
129
|
if await automations.run_automations():
|
|
132
130
|
await self._build_objects()
|
|
133
131
|
|
|
134
|
-
async def
|
|
135
|
-
"""Read all data from hub and populate objects"""
|
|
136
|
-
|
|
137
|
-
# Read data from hub
|
|
138
|
-
self._domain_data = await self._wiser_rest_controller._get_hub_data(
|
|
139
|
-
WISERHUBDOMAIN
|
|
140
|
-
)
|
|
141
|
-
self._network_data = await self._wiser_rest_controller._get_hub_data(
|
|
142
|
-
WISERHUBNETWORK
|
|
143
|
-
)
|
|
144
|
-
self._schedule_data = await self._wiser_rest_controller._get_hub_data(
|
|
145
|
-
WISERHUBSCHEDULES
|
|
146
|
-
)
|
|
132
|
+
async def _get_hub_data(self) -> bool:
|
|
147
133
|
try:
|
|
148
|
-
|
|
149
|
-
|
|
134
|
+
start_time = datetime.now()
|
|
135
|
+
self._domain_data = await self._wiser_rest_controller.get_hub_data(
|
|
136
|
+
WISERHUBDOMAIN
|
|
150
137
|
)
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
138
|
+
self._network_data = (
|
|
139
|
+
await self._wiser_rest_controller.get_hub_data(WISERHUBNETWORK)
|
|
140
|
+
)
|
|
141
|
+
self._schedule_data = (
|
|
142
|
+
await self._wiser_rest_controller.get_hub_data(
|
|
143
|
+
WISERHUBSCHEDULES
|
|
144
|
+
)
|
|
145
|
+
)
|
|
146
|
+
try:
|
|
147
|
+
self._status_data = (
|
|
148
|
+
await self._wiser_rest_controller.get_hub_data(
|
|
149
|
+
WISERHUBSTATUS
|
|
150
|
+
)
|
|
151
|
+
)
|
|
152
|
+
except WiserHubRESTError:
|
|
153
|
+
self._status_data = {}
|
|
166
154
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
self._domain_data.get("System", {}).get(
|
|
155
|
+
# Only get opentherm data if connected
|
|
156
|
+
opentherm = self._domain_data.get("System", {}).get(
|
|
170
157
|
"OpenThermConnectionStatus", ""
|
|
171
158
|
)
|
|
172
|
-
== "Connected"
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
159
|
+
if opentherm and opentherm == "Connected":
|
|
160
|
+
self._opentherm_data = (
|
|
161
|
+
await self._wiser_rest_controller.get_hub_data(
|
|
162
|
+
WISERHUBOPENTHERM, False
|
|
163
|
+
)
|
|
177
164
|
)
|
|
165
|
+
except (
|
|
166
|
+
WiserHubConnectionError,
|
|
167
|
+
WiserHubAuthenticationError,
|
|
168
|
+
WiserHubRESTError,
|
|
169
|
+
) as ex:
|
|
170
|
+
_LOGGER.debug("Update from Wiser hub failed. %s", ex)
|
|
171
|
+
raise ex
|
|
172
|
+
else:
|
|
173
|
+
# Set hub name on rest controller
|
|
174
|
+
self._wiser_rest_controller._hub_name = (
|
|
175
|
+
self._network_data.get("Station", {})
|
|
176
|
+
.get("NetworkInterface", {})
|
|
177
|
+
.get("HostName", "")
|
|
178
178
|
)
|
|
179
179
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
self._wiser_rest_controller,
|
|
185
|
-
self._domain_data,
|
|
186
|
-
self._network_data,
|
|
187
|
-
_device_data,
|
|
188
|
-
self._opentherm_data,
|
|
180
|
+
_LOGGER.debug(
|
|
181
|
+
"Update from %s successful and took %ss",
|
|
182
|
+
self._wiser_rest_controller._hub_name,
|
|
183
|
+
(datetime.now() - start_time).total_seconds(),
|
|
189
184
|
)
|
|
185
|
+
return True
|
|
190
186
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
self._wiser_rest_controller,
|
|
194
|
-
self._schedule_data,
|
|
195
|
-
self._system.sunrise_times,
|
|
196
|
-
self._system.sunset_times,
|
|
197
|
-
)
|
|
187
|
+
async def _build_objects(self):
|
|
188
|
+
"""Read all data from hub and populate objects"""
|
|
198
189
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
)
|
|
190
|
+
# Read data from hub
|
|
191
|
+
try:
|
|
192
|
+
await self._get_hub_data()
|
|
203
193
|
|
|
204
|
-
#
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
self._wiser_rest_controller,
|
|
208
|
-
room_data,
|
|
209
|
-
self._schedules.get_by_type(WiserScheduleTypeEnum.heating),
|
|
210
|
-
self._devices,
|
|
211
|
-
self._enable_automations,
|
|
194
|
+
# load extra data
|
|
195
|
+
self._wiser_rest_controller._extra_config_file = (
|
|
196
|
+
self._extra_config_file
|
|
212
197
|
)
|
|
198
|
+
await self._wiser_rest_controller.get_extra_config_data()
|
|
213
199
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
self.
|
|
200
|
+
if self._domain_data != {} and self._network_data != {}:
|
|
201
|
+
# System Object
|
|
202
|
+
_device_data = self._domain_data.get("Device", [])
|
|
203
|
+
self._system = _WiserSystem(
|
|
204
|
+
self._wiser_rest_controller,
|
|
205
|
+
self._domain_data,
|
|
206
|
+
self._network_data,
|
|
207
|
+
_device_data,
|
|
208
|
+
self._opentherm_data,
|
|
219
209
|
)
|
|
220
|
-
|
|
210
|
+
|
|
211
|
+
# Schedules Collection
|
|
212
|
+
self._schedules = _WiserScheduleCollection(
|
|
221
213
|
self._wiser_rest_controller,
|
|
222
|
-
self.
|
|
223
|
-
|
|
214
|
+
self._schedule_data,
|
|
215
|
+
self._system.sunrise_times,
|
|
216
|
+
self._system.sunset_times,
|
|
224
217
|
)
|
|
225
218
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
self._domain_data
|
|
219
|
+
# Devices Collection
|
|
220
|
+
self._devices = _WiserDeviceCollection(
|
|
221
|
+
self._wiser_rest_controller,
|
|
222
|
+
self._domain_data,
|
|
223
|
+
self._schedules,
|
|
230
224
|
)
|
|
231
225
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
self.
|
|
226
|
+
# Rooms Collection
|
|
227
|
+
room_data = self._domain_data.get("Room", [])
|
|
228
|
+
self._rooms = _WiserRoomCollection(
|
|
235
229
|
self._wiser_rest_controller,
|
|
236
|
-
|
|
230
|
+
room_data,
|
|
231
|
+
self._schedules.get_by_type(WiserScheduleTypeEnum.heating),
|
|
232
|
+
self._devices,
|
|
233
|
+
self._enable_automations,
|
|
237
234
|
)
|
|
238
235
|
|
|
239
|
-
|
|
240
|
-
|
|
236
|
+
# Hot Water
|
|
237
|
+
if self._domain_data.get("HotWater"):
|
|
238
|
+
schedule = self._schedules.get_by_id(
|
|
239
|
+
WiserScheduleTypeEnum.onoff,
|
|
240
|
+
self._domain_data.get("HotWater")[0].get(
|
|
241
|
+
"ScheduleId", 0
|
|
242
|
+
),
|
|
243
|
+
)
|
|
244
|
+
self._hotwater = _WiserHotwater(
|
|
245
|
+
self._wiser_rest_controller,
|
|
246
|
+
self._domain_data.get("HotWater", {})[0],
|
|
247
|
+
schedule,
|
|
248
|
+
)
|
|
249
|
+
|
|
250
|
+
# Heating Channels
|
|
251
|
+
if self._domain_data.get("HeatingChannel"):
|
|
252
|
+
self._heating_channels = _WiserHeatingChannelCollection(
|
|
253
|
+
self._domain_data.get("HeatingChannel"), self._rooms
|
|
254
|
+
)
|
|
255
|
+
|
|
256
|
+
# Moments
|
|
257
|
+
if self._domain_data.get("Moment"):
|
|
258
|
+
self._moments = _WiserMomentCollection(
|
|
259
|
+
self._wiser_rest_controller,
|
|
260
|
+
self._domain_data.get("Moment"),
|
|
261
|
+
)
|
|
241
262
|
|
|
242
|
-
|
|
263
|
+
# If gets here with no exceptions then success and return true
|
|
264
|
+
return True
|
|
265
|
+
except (
|
|
266
|
+
WiserHubConnectionError,
|
|
267
|
+
WiserHubAuthenticationError,
|
|
268
|
+
WiserHubRESTError,
|
|
269
|
+
) as ex:
|
|
270
|
+
raise ex
|
|
243
271
|
|
|
244
272
|
# API properties
|
|
245
273
|
@property
|
|
246
274
|
def api_parameters(self):
|
|
275
|
+
"""Rest control api parameters."""
|
|
247
276
|
return self._wiser_rest_controller._api_parameters
|
|
248
277
|
|
|
249
278
|
@property
|
|
@@ -327,7 +356,7 @@ class WiserAPI:
|
|
|
327
356
|
|
|
328
357
|
# Get raw json data
|
|
329
358
|
if endpoint:
|
|
330
|
-
data = self._wiser_rest_controller.
|
|
359
|
+
data = self._wiser_rest_controller.get_hub_data(endpoint)
|
|
331
360
|
try:
|
|
332
361
|
if data:
|
|
333
362
|
# Write out to file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: aioWiserHeatAPI
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.11
|
|
4
4
|
Summary: An AsyncIO API for controlling the Drayton Wiser Heating system
|
|
5
5
|
Home-page: https://github.com/msp1974/aioWiserHeatAPI
|
|
6
6
|
Author: Mark Parker
|
|
@@ -18,7 +18,7 @@ Requires-Dist: aiohttp>=3.9.3
|
|
|
18
18
|
Requires-Dist: aiofiles>=23.2.1
|
|
19
19
|
Requires-Dist: pyyaml>=6.0.1
|
|
20
20
|
|
|
21
|
-
# Drayton Wiser Hub API Async v1.5.
|
|
21
|
+
# Drayton Wiser Hub API Async v1.5.11
|
|
22
22
|
|
|
23
23
|
This repository contains a simple API which queries the Drayton Wiser Heating sysystem used in the UK.
|
|
24
24
|
|
|
@@ -72,6 +72,11 @@ Documentation available in [info.md](https://github.com/msp1974/wiserHeatAPIv2/b
|
|
|
72
72
|
|
|
73
73
|
## Changelog
|
|
74
74
|
|
|
75
|
+
### v1.5.11
|
|
76
|
+
|
|
77
|
+
* Improve error management
|
|
78
|
+
* Add additional debug logging
|
|
79
|
+
|
|
75
80
|
### v1.5.10
|
|
76
81
|
|
|
77
82
|
* Add retry routine to prevent hub response errors
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aioWiserHeatAPI-1.5.10 → aioWiserHeatAPI-1.5.11}/aioWiserHeatAPI.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|