PyViCare 2.44.0__tar.gz → 2.51.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.44.0 → pyvicare-2.51.0}/PKG-INFO +5 -5
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareAbstractOAuthManager.py +1 -1
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareBrowserOAuthManager.py +2 -2
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareGazBoiler.py +0 -4
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareHeatingDevice.py +4 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareOAuthManager.py +2 -2
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareService.py +5 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/README.md +4 -4
- {pyvicare-2.44.0 → pyvicare-2.51.0}/pyproject.toml +2 -2
- {pyvicare-2.44.0 → pyvicare-2.51.0}/LICENSE +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/Feature.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCare.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareCachedService.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareDevice.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareDeviceConfig.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareElectricalEnergySystem.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareFuelCell.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareGateway.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareHeatCurveCalculation.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareHeatPump.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareHybrid.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareOilBoiler.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCarePelletsBoiler.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareRadiatorActuator.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareRoomSensor.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareUtils.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/PyViCareVentilationDevice.py +0 -0
- {pyvicare-2.44.0 → pyvicare-2.51.0}/PyViCare/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: PyViCare
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.51.0
|
|
4
4
|
Summary: Library to communicate with the Viessmann ViCare API.
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Keywords: viessmann,vicare,api
|
|
@@ -151,8 +151,8 @@ Follow these steps to access the API in Postman:
|
|
|
151
151
|
- Grant Type: `Authorization Code (With PKCE)`
|
|
152
152
|
- Callback URL: `vicare://oauth-callback/everest`
|
|
153
153
|
- Authorize using browser: Disabled
|
|
154
|
-
- Auth URL: `https://iam.viessmann.com/idp/v3/authorize`
|
|
155
|
-
- Access Token URL: `https://iam.viessmann.com/idp/v3/token`
|
|
154
|
+
- Auth URL: `https://iam.viessmann-climatesolutions.com/idp/v3/authorize`
|
|
155
|
+
- Access Token URL: `https://iam.viessmann-climatesolutions.com/idp/v3/token`
|
|
156
156
|
- Client ID: Your personal Client ID created in the developer portal.
|
|
157
157
|
- Client Secret: Blank
|
|
158
158
|
- Code Challenge Method: `SHA-256`
|
|
@@ -165,7 +165,7 @@ Follow these steps to access the API in Postman:
|
|
|
165
165
|
|
|
166
166
|
2. Use this URL to access your `installationId`, `gatewaySerial` and `deviceId`:
|
|
167
167
|
|
|
168
|
-
`https://api.viessmann.com/iot/v1/equipment/installations?includeGateways=true`
|
|
168
|
+
`https://api.viessmann-climatesolutions.com/iot/v1/equipment/installations?includeGateways=true`
|
|
169
169
|
|
|
170
170
|
- `installationId` is `data[0].id`
|
|
171
171
|
- `gatewaySerial` is `data[0].gateways[0].serial`
|
|
@@ -173,7 +173,7 @@ Follow these steps to access the API in Postman:
|
|
|
173
173
|
|
|
174
174
|
3. Use above data to replace `{installationId}`, `{gatewaySerial}` and `{deviceId}` in this URL to investigate the Viessmann API:
|
|
175
175
|
|
|
176
|
-
`https://api.viessmann.com/iot/v1/features/installations/{installationId}/gateways/{gatewaySerial}/devices/{deviceId}/features`
|
|
176
|
+
`https://api.viessmann-climatesolutions.com/iot/v1/features/installations/{installationId}/gateways/{gatewaySerial}/devices/{deviceId}/features`
|
|
177
177
|
|
|
178
178
|
## Rate Limits
|
|
179
179
|
|
|
@@ -13,7 +13,7 @@ from PyViCare.PyViCareUtils import (PyViCareCommandError,
|
|
|
13
13
|
logger = logging.getLogger('ViCare')
|
|
14
14
|
logger.addHandler(logging.NullHandler())
|
|
15
15
|
|
|
16
|
-
API_BASE_URL = 'https://api.viessmann.com/iot/v2'
|
|
16
|
+
API_BASE_URL = 'https://api.viessmann-climatesolutions.com/iot/v2'
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
class AbstractViCareOAuthManager:
|
|
@@ -14,8 +14,8 @@ from PyViCare.PyViCareUtils import (PyViCareBrowserOAuthTimeoutReachedError,
|
|
|
14
14
|
logger = logging.getLogger('ViCare')
|
|
15
15
|
logger.addHandler(logging.NullHandler())
|
|
16
16
|
|
|
17
|
-
AUTHORIZE_URL = 'https://iam.viessmann.com/idp/v3/authorize'
|
|
18
|
-
TOKEN_URL = 'https://iam.viessmann.com/idp/v3/token'
|
|
17
|
+
AUTHORIZE_URL = 'https://iam.viessmann-climatesolutions.com/idp/v3/authorize'
|
|
18
|
+
TOKEN_URL = 'https://iam.viessmann-climatesolutions.com/idp/v3/token'
|
|
19
19
|
REDIRECT_PORT = 51125
|
|
20
20
|
VIESSMANN_SCOPE = ["IoT User", "offline_access"]
|
|
21
21
|
AUTH_TIMEOUT = 60 * 3
|
|
@@ -103,10 +103,6 @@ class GazBoiler(HeatingDevice):
|
|
|
103
103
|
def getDomesticHotWaterChargingLevel(self):
|
|
104
104
|
return self.service.getProperty("heating.dhw.charging.level")["properties"]["value"]["value"]
|
|
105
105
|
|
|
106
|
-
@handleNotSupported
|
|
107
|
-
def getBoilerCommonSupplyTemperature(self):
|
|
108
|
-
return self.service.getProperty("heating.boiler.sensors.temperature.commonSupply")["properties"]["value"]["value"]
|
|
109
|
-
|
|
110
106
|
@handleNotSupported
|
|
111
107
|
def getPowerConsumptionUnit(self):
|
|
112
108
|
return self.service.getProperty("heating.power.consumption.total")["properties"]["day"]["unit"]
|
|
@@ -364,6 +364,10 @@ class HeatingDevice(Device):
|
|
|
364
364
|
return self.service.getProperty("heating.secondaryCircuit.sensors.temperature.return")["properties"]["value"][
|
|
365
365
|
"value"]
|
|
366
366
|
|
|
367
|
+
@handleNotSupported
|
|
368
|
+
def getBoilerCommonSupplyTemperature(self):
|
|
369
|
+
return self.service.getProperty("heating.boiler.sensors.temperature.commonSupply")["properties"]["value"]["value"]
|
|
370
|
+
|
|
367
371
|
|
|
368
372
|
class HeatingDeviceWithComponent:
|
|
369
373
|
"""This is the base class for all heating components"""
|
|
@@ -15,8 +15,8 @@ from PyViCare.PyViCareUtils import (PyViCareInvalidConfigurationError,
|
|
|
15
15
|
logger = logging.getLogger('ViCare')
|
|
16
16
|
logger.addHandler(logging.NullHandler())
|
|
17
17
|
|
|
18
|
-
AUTHORIZE_URL = 'https://iam.viessmann.com/idp/v3/authorize'
|
|
19
|
-
TOKEN_URL = 'https://iam.viessmann.com/idp/v3/token'
|
|
18
|
+
AUTHORIZE_URL = 'https://iam.viessmann-climatesolutions.com/idp/v3/authorize'
|
|
19
|
+
TOKEN_URL = 'https://iam.viessmann-climatesolutions.com/idp/v3/token'
|
|
20
20
|
REDIRECT_URI = "vicare://oauth-callback/everest"
|
|
21
21
|
VIESSMANN_SCOPE = ["IoT User"]
|
|
22
22
|
|
|
@@ -62,3 +62,8 @@ class ViCareService:
|
|
|
62
62
|
if self._isGateway():
|
|
63
63
|
url = f'/features/installations/{self.accessor.id}/gateways/{self.accessor.serial}/features/'
|
|
64
64
|
return self.oauth_manager.get(url)
|
|
65
|
+
|
|
66
|
+
def reboot_gateway(self) -> Any:
|
|
67
|
+
url = f'/equipment/installations/{self.accessor.id}/gateways/{self.accessor.serial}/reboot'
|
|
68
|
+
data = "{}"
|
|
69
|
+
return self.oauth_manager.post(url, data)
|
|
@@ -119,8 +119,8 @@ Follow these steps to access the API in Postman:
|
|
|
119
119
|
- Grant Type: `Authorization Code (With PKCE)`
|
|
120
120
|
- Callback URL: `vicare://oauth-callback/everest`
|
|
121
121
|
- Authorize using browser: Disabled
|
|
122
|
-
- Auth URL: `https://iam.viessmann.com/idp/v3/authorize`
|
|
123
|
-
- Access Token URL: `https://iam.viessmann.com/idp/v3/token`
|
|
122
|
+
- Auth URL: `https://iam.viessmann-climatesolutions.com/idp/v3/authorize`
|
|
123
|
+
- Access Token URL: `https://iam.viessmann-climatesolutions.com/idp/v3/token`
|
|
124
124
|
- Client ID: Your personal Client ID created in the developer portal.
|
|
125
125
|
- Client Secret: Blank
|
|
126
126
|
- Code Challenge Method: `SHA-256`
|
|
@@ -133,7 +133,7 @@ Follow these steps to access the API in Postman:
|
|
|
133
133
|
|
|
134
134
|
2. Use this URL to access your `installationId`, `gatewaySerial` and `deviceId`:
|
|
135
135
|
|
|
136
|
-
`https://api.viessmann.com/iot/v1/equipment/installations?includeGateways=true`
|
|
136
|
+
`https://api.viessmann-climatesolutions.com/iot/v1/equipment/installations?includeGateways=true`
|
|
137
137
|
|
|
138
138
|
- `installationId` is `data[0].id`
|
|
139
139
|
- `gatewaySerial` is `data[0].gateways[0].serial`
|
|
@@ -141,7 +141,7 @@ Follow these steps to access the API in Postman:
|
|
|
141
141
|
|
|
142
142
|
3. Use above data to replace `{installationId}`, `{gatewaySerial}` and `{deviceId}` in this URL to investigate the Viessmann API:
|
|
143
143
|
|
|
144
|
-
`https://api.viessmann.com/iot/v1/features/installations/{installationId}/gateways/{gatewaySerial}/devices/{deviceId}/features`
|
|
144
|
+
`https://api.viessmann-climatesolutions.com/iot/v1/features/installations/{installationId}/gateways/{gatewaySerial}/devices/{deviceId}/features`
|
|
145
145
|
|
|
146
146
|
## Rate Limits
|
|
147
147
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "PyViCare"
|
|
3
|
-
version = "2.
|
|
3
|
+
version = "2.51.0"
|
|
4
4
|
description = "Library to communicate with the Viessmann ViCare API."
|
|
5
5
|
authors = [
|
|
6
6
|
"Simon Gillet <mail+pyvicare@gillet.ninja>"
|
|
@@ -52,7 +52,7 @@ mypy = "^1.11.2"
|
|
|
52
52
|
pylint = "^3.2.6"
|
|
53
53
|
pytest = "^8.3.2"
|
|
54
54
|
pytest-cov = "^6.0.0"
|
|
55
|
-
ruff = "^0.
|
|
55
|
+
ruff = "^0.12.0"
|
|
56
56
|
types-deprecated = "^1.2.15.20241117"
|
|
57
57
|
types-requests = ">=2.31"
|
|
58
58
|
|
|
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
|