PyViCare 2.34.0__tar.gz → 2.35.0__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.
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PKG-INFO +2 -1
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareDevice.py +6 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareDeviceConfig.py +5 -2
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareHeatingDevice.py +17 -8
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareRadiatorActuator.py +2 -2
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareService.py +1 -1
- {pyvicare-2.34.0 → pyvicare-2.35.0}/pyproject.toml +2 -2
- {pyvicare-2.34.0 → pyvicare-2.35.0}/LICENSE +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/Feature.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCare.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareAbstractOAuthManager.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareBrowserOAuthManager.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareCachedService.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareElectricalEnergySystem.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareFuelCell.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareGateway.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareGazBoiler.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareHeatCurveCalculation.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareHeatPump.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareHybrid.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareOAuthManager.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareOilBoiler.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCarePelletsBoiler.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareRoomSensor.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareUtils.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/PyViCareVentilationDevice.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/PyViCare/__init__.py +0 -0
- {pyvicare-2.34.0 → pyvicare-2.35.0}/README.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyViCare
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.35.0
|
|
4
4
|
Summary: Library to communicate with the Viessmann ViCare API.
|
|
5
5
|
Home-page: https://github.com/openviess/PyViCare
|
|
6
6
|
License: Apache-2.0
|
|
@@ -20,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
24
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
24
25
|
Requires-Dist: authlib (>1.2.0)
|
|
25
26
|
Requires-Dist: requests (>=2.31.0)
|
|
@@ -15,3 +15,9 @@ class Device:
|
|
|
15
15
|
@handleNotSupported
|
|
16
16
|
def getSerial(self):
|
|
17
17
|
return self.service.getProperty("device.serial")["properties"]["value"]["value"]
|
|
18
|
+
|
|
19
|
+
def isLegacyDevice(self) -> bool:
|
|
20
|
+
return self.service.hasRoles(["type:legacy"])
|
|
21
|
+
|
|
22
|
+
def isE3Device(self) -> bool:
|
|
23
|
+
return self.service.hasRoles(["type:E3"])
|
|
@@ -82,11 +82,14 @@ class PyViCareDeviceConfig:
|
|
|
82
82
|
(self.asHeatPump, r"Vitocal|VBC70|V200WO1A|CU401B", ["type:heatpump"]),
|
|
83
83
|
(self.asOilBoiler, r"Vitoladens|Vitoradial|Vitorondens|VPlusH|V200KW2_6", []),
|
|
84
84
|
(self.asPelletsBoiler, r"Vitoligno|Ecotronic|VBC550P", []),
|
|
85
|
+
(self.asElectricalEnergySystem, r"E3_VitoCharge_03", ["type:ees"]),
|
|
86
|
+
(self.asVentilation, r"E3_ViAir", ["type:ventilation"]),
|
|
87
|
+
(self.asVentilation, r"E3_VitoPure", ["type:ventilation;purifier"]),
|
|
85
88
|
(self.asRadiatorActuator, r"E3_RadiatorActuator", ["type:radiator"]),
|
|
86
89
|
(self.asRoomSensor, r"E3_RoomSensor", ["type:climateSensor"]),
|
|
90
|
+
(self.asGateway, r"E3_TCU41_x04", ["type:gateway;TCU100"]),
|
|
91
|
+
(self.asGateway, r"E3_TCU19_x05", ["type:gateway;TCU200"]),
|
|
87
92
|
(self.asGateway, r"E3_TCU10_x07", ["type:gateway;TCU300"]),
|
|
88
|
-
(self.asElectricalEnergySystem, r"E3_VitoCharge_03", ["type:ees"]),
|
|
89
|
-
(self.asVentilation, r"E3_ViAir", ["type:ventilation"]),
|
|
90
93
|
(self.asGateway, r"Heatbox1", ["type:gateway;VitoconnectOpto1"]),
|
|
91
94
|
(self.asGateway, r"Heatbox2", ["type:gateway;VitoconnectOpto2/OT2"])
|
|
92
95
|
]
|
|
@@ -66,16 +66,30 @@ class HeatingDevice(Device):
|
|
|
66
66
|
def getDomesticHotWaterConfiguredTemperature(self):
|
|
67
67
|
return self.service.getProperty("heating.dhw.temperature.main")["properties"]["value"]["value"]
|
|
68
68
|
|
|
69
|
+
@handleNotSupported
|
|
70
|
+
def getDomesticHotWaterStorageTemperature(self):
|
|
71
|
+
return self.service.getProperty("heating.dhw.sensors.temperature.dhwCylinder")["properties"]["value"][
|
|
72
|
+
"value"]
|
|
73
|
+
|
|
69
74
|
@handleNotSupported
|
|
70
75
|
def getHotWaterStorageTemperatureTop(self):
|
|
71
76
|
return self.service.getProperty("heating.dhw.sensors.temperature.dhwCylinder.top")["properties"]["value"][
|
|
72
77
|
"value"]
|
|
73
78
|
|
|
79
|
+
@handleNotSupported
|
|
80
|
+
def getDomesticHotWaterStorageTemperatureMiddle(self):
|
|
81
|
+
return self.service.getProperty("heating.dhw.sensors.temperature.dhwCylinder.middle")["properties"]["value"][
|
|
82
|
+
"value"]
|
|
83
|
+
|
|
84
|
+
@handleNotSupported
|
|
85
|
+
def getDomesticHotWaterStorageTemperatureMidBottom(self):
|
|
86
|
+
return self.service.getProperty("heating.dhw.sensors.temperature.dhwCylinder.midBottom")["properties"]["value"][
|
|
87
|
+
"value"]
|
|
88
|
+
|
|
74
89
|
@handleNotSupported
|
|
75
90
|
def getHotWaterStorageTemperatureBottom(self):
|
|
76
|
-
return
|
|
77
|
-
|
|
78
|
-
"value"]
|
|
91
|
+
return self.service.getProperty("heating.dhw.sensors.temperature.dhwCylinder.bottom")["properties"]["value"][
|
|
92
|
+
"value"]
|
|
79
93
|
|
|
80
94
|
@handleNotSupported
|
|
81
95
|
def getDomesticHotWaterConfiguredTemperature2(self):
|
|
@@ -113,11 +127,6 @@ class HeatingDevice(Device):
|
|
|
113
127
|
|
|
114
128
|
return None
|
|
115
129
|
|
|
116
|
-
@handleNotSupported
|
|
117
|
-
def getDomesticHotWaterStorageTemperature(self):
|
|
118
|
-
return self.service.getProperty("heating.dhw.sensors.temperature.dhwCylinder")["properties"]["value"][
|
|
119
|
-
"value"]
|
|
120
|
-
|
|
121
130
|
@handleNotSupported
|
|
122
131
|
def getDomesticHotWaterOutletTemperature(self):
|
|
123
132
|
return self.service.getProperty("heating.dhw.sensors.temperature.outlet")["properties"]["value"]["value"]
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
from PyViCare.
|
|
1
|
+
from PyViCare.PyViCareDevice import Device
|
|
2
2
|
from PyViCare.PyViCareUtils import handleAPICommandErrors, handleNotSupported
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
class RadiatorActuator(
|
|
5
|
+
class RadiatorActuator(Device):
|
|
6
6
|
|
|
7
7
|
@handleNotSupported
|
|
8
8
|
def getTemperature(self):
|
|
@@ -48,7 +48,7 @@ class ViCareService:
|
|
|
48
48
|
return hasRoles(requested_roles, self.roles)
|
|
49
49
|
|
|
50
50
|
def _isGateway(self) -> bool:
|
|
51
|
-
return self.hasRoles(["type:gateway;VitoconnectOpto1"]) or self.hasRoles(["type:gateway;VitoconnectOpto2/OT2"]) or self.hasRoles(["type:gateway;TCU300"])
|
|
51
|
+
return self.hasRoles(["type:gateway;VitoconnectOpto1"]) or self.hasRoles(["type:gateway;VitoconnectOpto2/OT2"]) or self.hasRoles(["type:gateway;TCU100"]) or self.hasRoles(["type:gateway;TCU200"]) or self.hasRoles(["type:gateway;TCU300"])
|
|
52
52
|
|
|
53
53
|
def setProperty(self, property_name: str, action: str, data: Any) -> Any:
|
|
54
54
|
url = buildSetPropertyUrl(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "PyViCare"
|
|
3
|
-
version = "2.
|
|
3
|
+
version = "2.35.0"
|
|
4
4
|
description = "Library to communicate with the Viessmann ViCare API."
|
|
5
5
|
authors = [
|
|
6
6
|
"Simon Gillet <mail+pyvicare@gillet.ninja>"
|
|
@@ -47,7 +47,7 @@ mypy = "^1.11.2"
|
|
|
47
47
|
pylint = "^3.2.6"
|
|
48
48
|
pytest = "^8.3.2"
|
|
49
49
|
pytest-cov = "^5.0.0"
|
|
50
|
-
ruff = "^0.
|
|
50
|
+
ruff = "^0.7.0"
|
|
51
51
|
types-requests = ">=2.31"
|
|
52
52
|
|
|
53
53
|
[tool.mypy]
|
|
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
|