weheat 2025.2.22__tar.gz → 2025.2.27__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.

Potentially problematic release.


This version of weheat might be problematic. Click here for more details.

Files changed (43) hide show
  1. {weheat-2025.2.22 → weheat-2025.2.27}/PKG-INFO +1 -1
  2. {weheat-2025.2.22 → weheat-2025.2.27}/pyproject.toml +1 -1
  3. {weheat-2025.2.22 → weheat-2025.2.27}/setup.py +1 -1
  4. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/abstractions/discovery.py +2 -2
  5. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/abstractions/heat_pump.py +33 -0
  6. {weheat-2025.2.22 → weheat-2025.2.27}/weheat.egg-info/PKG-INFO +1 -1
  7. {weheat-2025.2.22 → weheat-2025.2.27}/LICENSE +0 -0
  8. {weheat-2025.2.22 → weheat-2025.2.27}/README.md +0 -0
  9. {weheat-2025.2.22 → weheat-2025.2.27}/setup.cfg +0 -0
  10. {weheat-2025.2.22 → weheat-2025.2.27}/tests/test_ha_api.py +0 -0
  11. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/__init__.py +0 -0
  12. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/abstractions/__init__.py +0 -0
  13. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/abstractions/user.py +0 -0
  14. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/api/__init__.py +0 -0
  15. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/api/energy_log_api.py +0 -0
  16. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/api/heat_pump_api.py +0 -0
  17. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/api/heat_pump_log_api.py +0 -0
  18. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/api/user_api.py +0 -0
  19. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/api_client.py +0 -0
  20. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/api_response.py +0 -0
  21. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/configuration.py +0 -0
  22. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/exceptions.py +0 -0
  23. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/models/__init__.py +0 -0
  24. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/models/boiler_type.py +0 -0
  25. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/models/device_state.py +0 -0
  26. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/models/dhw_type.py +0 -0
  27. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/models/energy_view_dto.py +0 -0
  28. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/models/heat_pump_log_view_dto.py +0 -0
  29. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/models/heat_pump_model.py +0 -0
  30. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/models/heat_pump_status_enum.py +0 -0
  31. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/models/heat_pump_type.py +0 -0
  32. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/models/raw_heat_pump_log_dto.py +0 -0
  33. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/models/read_all_heat_pump_dto.py +0 -0
  34. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/models/read_heat_pump_dto.py +0 -0
  35. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/models/read_user_dto.py +0 -0
  36. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/models/read_user_me_dto.py +0 -0
  37. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/models/role.py +0 -0
  38. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/py.typed +0 -0
  39. {weheat-2025.2.22 → weheat-2025.2.27}/weheat/rest.py +0 -0
  40. {weheat-2025.2.22 → weheat-2025.2.27}/weheat.egg-info/SOURCES.txt +0 -0
  41. {weheat-2025.2.22 → weheat-2025.2.27}/weheat.egg-info/dependency_links.txt +0 -0
  42. {weheat-2025.2.22 → weheat-2025.2.27}/weheat.egg-info/requires.txt +0 -0
  43. {weheat-2025.2.22 → weheat-2025.2.27}/weheat.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: weheat
3
- Version: 2025.2.22
3
+ Version: 2025.2.27
4
4
  Summary: Weheat Backend client
5
5
  Home-page: https://github.com/wefabricate/wh-python
6
6
  Author: Jesper Raemaekers
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "weheat"
3
- version = "2025.2.22"
3
+ version = "2025.2.27"
4
4
  description = "Weheat Backend"
5
5
  authors = ["Jesper Raemaekers <jesper.raemaekers@wefabricate.com>", "Kjell van Straaten <kjell.van.straaten@wefabricate.com>"]
6
6
  license = "MIT"
@@ -21,7 +21,7 @@ from setuptools import setup, find_packages # noqa: H301
21
21
  # prerequisite: setuptools
22
22
  # http://pypi.python.org/pypi/setuptools
23
23
  NAME = "weheat"
24
- VERSION = "2025.2.22"
24
+ VERSION = "2025.2.27"
25
25
  PYTHON_REQUIRES = ">=3.7"
26
26
  REQUIRES = [
27
27
  "urllib3 >= 1.25.3, < 2.1.0",
@@ -13,7 +13,7 @@ class HeatPumpDiscovery:
13
13
  @dataclass
14
14
  class HeatPumpInfo:
15
15
  uuid: str
16
- name: str
16
+ device_name: str
17
17
  model: str
18
18
  sn : str
19
19
  has_dhw: bool = False
@@ -53,7 +53,7 @@ class HeatPumpDiscovery:
53
53
  discovered_pumps.append(
54
54
  HeatPumpDiscovery.HeatPumpInfo(
55
55
  uuid=pump.id,
56
- name=pump.name,
56
+ device_name=pump.name,
57
57
  model=model_string,
58
58
  sn=pump.serial_number,
59
59
  has_dhw=dhw,
@@ -285,6 +285,39 @@ class HeatPump:
285
285
  return self.State.DEFROSTING
286
286
  return None
287
287
 
288
+ @staticmethod
289
+ def _pwm_to_volume(pwm: float, max: float) -> Union[float, None]:
290
+ """Calculate PWM to Volume in m3/h based on the max available volume"""
291
+
292
+ # 0 or > 75 are abnormal states. 255 = Off
293
+ if pwm < 1 or pwm > 75:
294
+ return None
295
+
296
+ # 2 = standby
297
+ if pwm <= 5:
298
+ return 0
299
+
300
+ # 5-75 is linear from 0 to max
301
+ return ((pwm - 5) / 70) * max
302
+
303
+ @property
304
+ def dhw_flow_volume(self) -> Union[float, None]:
305
+ """The DHW Flow in m3/h."""
306
+ pwm = pwm=self._if_available("dhw_flow")
307
+ if pwm is None:
308
+ return None
309
+
310
+ return self._pwm_to_volume(pwm, max=2.1)
311
+
312
+ @property
313
+ def central_heating_flow_volume(self) -> Union[float, None]:
314
+ """The Central Heating Flow in m3/h."""
315
+ pwm = pwm=self._if_available("central_heating_flow")
316
+ if pwm is None:
317
+ return None
318
+
319
+ return self._pwm_to_volume(pwm, max=2.1)
320
+
288
321
  @property
289
322
  def energy_total(self) -> Union[float, None]:
290
323
  """The total used energy in kWh from 2023 to now."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: weheat
3
- Version: 2025.2.22
3
+ Version: 2025.2.27
4
4
  Summary: Weheat Backend client
5
5
  Home-page: https://github.com/wefabricate/wh-python
6
6
  Author: Jesper Raemaekers
File without changes
File without changes
File without changes
File without changes
File without changes