dimplex-controller 0.10.0__tar.gz → 0.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dimplex-controller
3
- Version: 0.10.0
3
+ Version: 0.10.1
4
4
  Summary: Python client for Dimplex heating controllers (GDHV IoT)
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -167,6 +167,8 @@ for status in status_list:
167
167
  print(f"Comfort status: {status.ComfortStatus}")
168
168
  ```
169
169
 
170
+ > **A note on empty responses:** when every requested appliance is offline (e.g. radiators switched off at the wall) the cloud returns HTTP 200 with an empty list. `get_appliance_overview` surfaces that as `[]` — it is **not** an error. If you need a stable id → status mapping, use `get_appliance_overview_map(...)`, which fills in `None` for missing ids.
171
+
170
172
  ### Sending control commands
171
173
 
172
174
  ```python
@@ -281,6 +283,10 @@ If `parse_telemetry_points` returns an empty list, the API likely returned an un
281
283
 
282
284
  The GDHV cloud API has rate limits. If you hit them, back off for a few minutes before retrying. The library does not currently implement automatic retries with back-off.
283
285
 
286
+ ### `get_appliance_overview` returns an empty list
287
+
288
+ This is the cloud's normal response when every requested appliance is offline (e.g. radiators turned off at the wall, or a hub that has dropped off the network). It is **not** an error — `get_appliance_overview` returns `[]` and `get_appliance_overview_map` returns a dict of `None` values. Treat the call as a successful poll; the appliances will reappear in subsequent calls once they come back online. See the note in [Reading status](#reading-status) for details.
289
+
284
290
 
285
291
  ## CLI
286
292
 
@@ -139,6 +139,8 @@ for status in status_list:
139
139
  print(f"Comfort status: {status.ComfortStatus}")
140
140
  ```
141
141
 
142
+ > **A note on empty responses:** when every requested appliance is offline (e.g. radiators switched off at the wall) the cloud returns HTTP 200 with an empty list. `get_appliance_overview` surfaces that as `[]` — it is **not** an error. If you need a stable id → status mapping, use `get_appliance_overview_map(...)`, which fills in `None` for missing ids.
143
+
142
144
  ### Sending control commands
143
145
 
144
146
  ```python
@@ -253,6 +255,10 @@ If `parse_telemetry_points` returns an empty list, the API likely returned an un
253
255
 
254
256
  The GDHV cloud API has rate limits. If you hit them, back off for a few minutes before retrying. The library does not currently implement automatic retries with back-off.
255
257
 
258
+ ### `get_appliance_overview` returns an empty list
259
+
260
+ This is the cloud's normal response when every requested appliance is offline (e.g. radiators turned off at the wall, or a hub that has dropped off the network). It is **not** an error — `get_appliance_overview` returns `[]` and `get_appliance_overview_map` returns a dict of `None` values. Treat the call as a successful poll; the appliances will reappear in subsequent calls once they come back online. See the note in [Reading status](#reading-status) for details.
261
+
256
262
 
257
263
  ## CLI
258
264
 
@@ -1,4 +1,15 @@
1
- """Dimplex Controller Client."""
1
+ """Dimplex Controller Client.
2
+
3
+ Async Python client for the Glen Dimplex Heating & Ventilation (GDHV) cloud
4
+ API. See :class:`~dimplex_controller.client.DimplexControl` for the entry
5
+ point and :meth:`DimplexControl.get_appliance_overview` for the read path
6
+ used by the Home Assistant integration.
7
+
8
+ A note on the API: ``get_appliance_overview`` may return an empty list
9
+ with HTTP 200 when the requested appliances are offline. That is a
10
+ successful poll, not an error — use ``get_appliance_overview_map`` if you
11
+ need a stable id → status mapping.
12
+ """
2
13
 
3
14
  from .auth import TokenBundle
4
15
  from .capabilities import ApplianceCapabilities, capabilities_for
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "dimplex-controller"
3
- version = "0.10.0"
3
+ version = "0.10.1"
4
4
  description = "Python client for Dimplex heating controllers (GDHV IoT)"
5
5
  authors = ["Kieran Roper"]
6
6
  license = "MIT"