aioWiserHeatAPI 1.5.17__tar.gz → 1.5.18__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.
Files changed (56) hide show
  1. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/PKG-INFO +6 -2
  2. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/README.md +5 -1
  3. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/__init__.py +1 -1
  4. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/rest_controller.py +19 -7
  5. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI.egg-info/PKG-INFO +6 -2
  6. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/LICENSE +0 -0
  7. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/automation.py +0 -0
  8. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/binary_sensor.py +0 -0
  9. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/boiler_interface.py +0 -0
  10. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/cli.py +0 -0
  11. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/const.py +0 -0
  12. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/devices.py +0 -0
  13. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/discovery.py +0 -0
  14. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/exceptions.py +0 -0
  15. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/heating.py +0 -0
  16. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/heating_actuator.py +0 -0
  17. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/__init__.py +0 -0
  18. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/automations.py +0 -0
  19. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/battery.py +0 -0
  20. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/capabilities.py +0 -0
  21. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/cloud.py +0 -0
  22. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/device.py +0 -0
  23. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/equipment.py +0 -0
  24. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/extra_config.py +0 -0
  25. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/firmware.py +0 -0
  26. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/gps.py +0 -0
  27. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/misc.py +0 -0
  28. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/network.py +0 -0
  29. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/opentherm.py +0 -0
  30. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/signal.py +0 -0
  31. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/special_times.py +0 -0
  32. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/status.py +0 -0
  33. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/temp.py +0 -0
  34. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/version.py +0 -0
  35. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/helpers/zigbee.py +0 -0
  36. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/hot_water.py +0 -0
  37. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/light.py +0 -0
  38. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/moments.py +0 -0
  39. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/pte.py +0 -0
  40. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/room.py +0 -0
  41. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/roomstat.py +0 -0
  42. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/schedule.py +0 -0
  43. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/shutter.py +0 -0
  44. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/smartplug.py +0 -0
  45. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/smartvalve.py +0 -0
  46. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/smokealarm.py +0 -0
  47. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/system.py +0 -0
  48. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/ufh.py +0 -0
  49. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI/wiserhub.py +0 -0
  50. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI.egg-info/SOURCES.txt +0 -0
  51. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI.egg-info/dependency_links.txt +0 -0
  52. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI.egg-info/entry_points.txt +0 -0
  53. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI.egg-info/requires.txt +0 -0
  54. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/aioWiserHeatAPI.egg-info/top_level.txt +0 -0
  55. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/setup.cfg +0 -0
  56. {aiowiserheatapi-1.5.17 → aiowiserheatapi-1.5.18}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aioWiserHeatAPI
3
- Version: 1.5.17
3
+ Version: 1.5.18
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.17
21
+ # Drayton Wiser Hub API Async v1.5.18
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,10 @@ Documentation available in [info.md](https://github.com/msp1974/wiserHeatAPIv2/b
72
72
 
73
73
  ## Changelog
74
74
 
75
+ ### v1.5.18
76
+
77
+ * Better handle client response exeption and fit into retry routing
78
+
75
79
  ### v1.5.17
76
80
 
77
81
  * Fixed error setting opentherm endpoint for fw above 4.32.46
@@ -1,4 +1,4 @@
1
- # Drayton Wiser Hub API Async v1.5.17
1
+ # Drayton Wiser Hub API Async v1.5.18
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,10 @@ Documentation available in [info.md](https://github.com/msp1974/wiserHeatAPIv2/b
52
52
 
53
53
  ## Changelog
54
54
 
55
+ ### v1.5.18
56
+
57
+ * Better handle client response exeption and fit into retry routing
58
+
55
59
  ### v1.5.17
56
60
 
57
61
  * Fixed error setting opentherm endpoint for fw above 4.32.46
@@ -3,6 +3,6 @@ import logging
3
3
  name = "aioWiserHeatAPI"
4
4
  __all__ = ["wiserAPI", "wiserDiscovery"]
5
5
 
6
- __VERSION__ = "1.5.17"
6
+ __VERSION__ = "1.5.18"
7
7
 
8
8
  _LOGGER = logging.getLogger(__name__)
@@ -9,6 +9,7 @@ from datetime import datetime
9
9
  from typing import Optional
10
10
 
11
11
  import aiohttp
12
+ import aiohttp.client_exceptions
12
13
  import aiohttp.http_exceptions
13
14
 
14
15
  from . import _LOGGER
@@ -95,7 +96,7 @@ class _WiserRestController(object):
95
96
  http_version = aiohttp.HttpVersion11
96
97
  self._last_exception = None
97
98
 
98
- for i in range(0, 5):
99
+ for i in range(5):
99
100
  if i > 0:
100
101
  await asyncio.sleep(REST_RETRY_BACKOFF[i])
101
102
  try:
@@ -120,7 +121,7 @@ class _WiserRestController(object):
120
121
  "Request successful and took %ss",
121
122
  (datetime.now() - start_time).total_seconds(),
122
123
  )
123
- return response
124
+
124
125
  except WiserHubRESTError as ex:
125
126
  # if json error try http1.1
126
127
  _LOGGER.debug("%s. Retrying in %.1fs", ex, REST_RETRY_BACKOFF[i])
@@ -135,19 +136,25 @@ class _WiserRestController(object):
135
136
  # Connection timed out or failed. Try it again
136
137
  _LOGGER.debug("%s. Retrying in %.1fs", ex, REST_RETRY_BACKOFF[i])
137
138
  self._last_exception = ex
139
+ except Exception as ex:
140
+ # Unknown error
141
+ _LOGGER.debug("%s. Retrying in %.1fs", ex, REST_RETRY_BACKOFF[i])
142
+ self._last_exception = ex
143
+ else:
144
+ return response
138
145
 
139
146
  raise WiserHubConnectionError(self._last_exception)
140
147
 
141
- async def _execute_request( # noqa
148
+ async def _execute_request(
142
149
  self,
143
150
  action: WiserRestActionEnum,
144
151
  url: str,
145
- data: dict = None,
152
+ data: dict | None = None,
146
153
  raise_for_endpoint_error: bool = True,
147
154
  http_version=aiohttp.HttpVersion11,
148
155
  ):
149
- """
150
- Send request to hub and raise errors if fails
156
+ """Send request to hub and raise errors if fails.
157
+
151
158
  param url: url of hub rest api endpoint
152
159
  param patchData: json object containing command and values to set
153
160
  return: boolean
@@ -224,7 +231,10 @@ class _WiserRestController(object):
224
231
  f"Connection error trying to communicate with Wiser Hub "
225
232
  f"{self._wiser_connection_info.host} for url {url}. Error is {ex}"
226
233
  ) from ex
227
- except aiohttp.http_exceptions.TransferEncodingError as ex:
234
+ except (
235
+ aiohttp.client_exceptions.ClientPayloadError,
236
+ aiohttp.http_exceptions.TransferEncodingError,
237
+ ) as ex:
228
238
  raise WiserHubConnectionError(
229
239
  f"Response payload incomplete error trying to communicate with Wiser Hub "
230
240
  f"{self._wiser_connection_info.host} for url {url}. Error is {ex}"
@@ -363,4 +373,6 @@ class _WiserRestController(object):
363
373
  f"{schedule_type}/{schedule_id}",
364
374
  schedule_data,
365
375
  )
376
+ else:
377
+ result = None
366
378
  return result
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aioWiserHeatAPI
3
- Version: 1.5.17
3
+ Version: 1.5.18
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.17
21
+ # Drayton Wiser Hub API Async v1.5.18
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,10 @@ Documentation available in [info.md](https://github.com/msp1974/wiserHeatAPIv2/b
72
72
 
73
73
  ## Changelog
74
74
 
75
+ ### v1.5.18
76
+
77
+ * Better handle client response exeption and fit into retry routing
78
+
75
79
  ### v1.5.17
76
80
 
77
81
  * Fixed error setting opentherm endpoint for fw above 4.32.46