PyViCare 2.55.1__tar.gz → 2.56.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.
Files changed (30) hide show
  1. {pyvicare-2.55.1 → pyvicare-2.56.0}/PKG-INFO +1 -1
  2. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareFuelCell.py +16 -16
  3. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareGateway.py +2 -2
  4. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareHeatPump.py +47 -0
  5. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareHeatingDevice.py +4 -0
  6. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareVentilationDevice.py +4 -0
  7. {pyvicare-2.55.1 → pyvicare-2.56.0}/pyproject.toml +1 -1
  8. {pyvicare-2.55.1 → pyvicare-2.56.0}/LICENSE +0 -0
  9. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/Feature.py +0 -0
  10. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCare.py +0 -0
  11. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareAbstractOAuthManager.py +0 -0
  12. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareBrowserOAuthManager.py +0 -0
  13. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareCachedService.py +0 -0
  14. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareDevice.py +0 -0
  15. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareDeviceConfig.py +0 -0
  16. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareElectricalEnergySystem.py +0 -0
  17. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareFloorHeating.py +0 -0
  18. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareGazBoiler.py +0 -0
  19. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareHeatCurveCalculation.py +0 -0
  20. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareHybrid.py +0 -0
  21. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareOAuthManager.py +0 -0
  22. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareOilBoiler.py +0 -0
  23. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCarePelletsBoiler.py +0 -0
  24. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareRadiatorActuator.py +0 -0
  25. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareRepeater.py +0 -0
  26. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareRoomSensor.py +0 -0
  27. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareService.py +0 -0
  28. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/PyViCareUtils.py +0 -0
  29. {pyvicare-2.55.1 → pyvicare-2.56.0}/PyViCare/__init__.py +0 -0
  30. {pyvicare-2.55.1 → pyvicare-2.56.0}/README.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyViCare
3
- Version: 2.55.1
3
+ Version: 2.56.0
4
4
  Summary: Library to communicate with the Viessmann ViCare API.
5
5
  License: Apache-2.0
6
6
  License-File: LICENSE
@@ -192,9 +192,9 @@ class FuelCell(HeatingDevice):
192
192
  return self.getProperty("heating.fuelCell.power.production")["properties"]["year"]["value"][0]
193
193
 
194
194
  @handleNotSupported
195
- def getFuelCellOperatingPhase(self):
195
+ def getFuelCellOperatingPhase(self) -> str:
196
196
  # Returns current operating phase as string, e.g. "standby" or "generation"
197
- return self.getProperty("heating.fuelCell.operating.phase")["properties"]["value"]["value"]
197
+ return str(self.getProperty("fuelCell.operating.phase")["properties"]["value"]["value"])
198
198
 
199
199
  @handleNotSupported
200
200
  def getFuelCellPowerProductionCurrentUnit(self):
@@ -257,39 +257,39 @@ class FuelCell(HeatingDevice):
257
257
  return self.getProperty("heating.power.sold.cumulative")["properties"]["value"]["value"]
258
258
 
259
259
  @handleNotSupported
260
- def getFuelCellFlowReturnTemperatureUnit(self):
260
+ def getFuelCellFlowReturnTemperatureUnit(self) -> str:
261
261
  # Returns flow return temperature unit, e.g. "celsius"
262
- return self.getProperty("heating.fuelCell.sensors.temperature.return")["properties"]["value"]["unit"]
262
+ return str(self.getProperty("fuelCell.sensors.temperature.return")["properties"]["value"]["unit"])
263
263
 
264
264
  @handleNotSupported
265
- def getFuelCellFlowReturnTemperature(self):
265
+ def getFuelCellFlowReturnTemperature(self) -> float:
266
266
  # Returns flow return temperature at the fuel cell as float
267
- return self.getProperty("heating.fuelCell.sensors.temperature.return")["properties"]["value"]["value"]
267
+ return float(self.getProperty("fuelCell.sensors.temperature.return")["properties"]["value"]["value"])
268
268
 
269
269
  @handleNotSupported
270
- def getFuelCellFlowSupplyTemperatureUnit(self):
270
+ def getFuelCellFlowSupplyTemperatureUnit(self) -> str:
271
271
  # Returns flow supply temperature unit, e.g. "celsius"
272
- return self.getProperty("heating.fuelCell.sensors.temperature.supply")["properties"]["value"]["unit"]
272
+ return str(self.getProperty("fuelCell.sensors.temperature.supply")["properties"]["value"]["unit"])
273
273
 
274
274
  @handleNotSupported
275
- def getFuelCellFlowSupplyTemperature(self):
275
+ def getFuelCellFlowSupplyTemperature(self) -> float:
276
276
  # Returns flow supply temperature at the fuel cell as float
277
- return self.getProperty("heating.fuelCell.sensors.temperature.supply")["properties"]["value"]["value"]
277
+ return float(self.getProperty("fuelCell.sensors.temperature.supply")["properties"]["value"]["value"])
278
278
 
279
279
  @handleNotSupported
280
- def getFuelCellOperationHours(self):
280
+ def getFuelCellOperationHours(self) -> int:
281
281
  # Returns the operation hours of the fuel cell
282
- return self.getProperty("heating.fuelCell.statistics")["properties"]["operationHours"]["value"]
282
+ return int(self.getProperty("fuelCell.statistics")["properties"]["operationHours"]["value"])
283
283
 
284
284
  @handleNotSupported
285
- def getFuelCellProductionHours(self):
285
+ def getFuelCellProductionHours(self) -> int:
286
286
  # Returns the production hours of the fuel cell
287
- return self.getProperty("heating.fuelCell.statistics")["properties"]["productionHours"]["value"]
287
+ return int(self.getProperty("fuelCell.statistics")["properties"]["productionHours"]["value"])
288
288
 
289
289
  @handleNotSupported
290
- def getFuelCellProductionStarts(self):
290
+ def getFuelCellProductionStarts(self) -> int:
291
291
  # Returns the number of production starts of the fuel cell
292
- return self.getProperty("heating.fuelCell.statistics")["properties"]["productionStarts"]["value"]
292
+ return int(self.getProperty("fuelCell.statistics")["properties"]["productionStarts"]["value"])
293
293
 
294
294
  @handleNotSupported
295
295
  def getFuelCellGasConsumptionUnit(self):
@@ -9,5 +9,5 @@ class Gateway(Device):
9
9
  return self.getProperty("gateway.devices")["gatewayId"]
10
10
 
11
11
  @handleNotSupported
12
- def getWifiSignalStrength(self):
13
- return self.getProperty("gateway.wifi")["properties"]["strength"]["value"]
12
+ def getWifiSignalStrength(self) -> int:
13
+ return int(self.getProperty("gateway.wifi")["properties"]["strength"]["value"])
@@ -34,6 +34,13 @@ class HeatPump(HeatingDevice, VentilationDevice):
34
34
  def getEvaporator(self, evaporator) -> Evaporator:
35
35
  return Evaporator(self, evaporator)
36
36
 
37
+ @property
38
+ def inverters(self) -> List[Inverter]:
39
+ return [self.getInverter(x) for x in self.getAvailableCompressors()]
40
+
41
+ def getInverter(self, inverter) -> Inverter:
42
+ return Inverter(self, inverter)
43
+
37
44
  @handleNotSupported
38
45
  def getBufferMainTemperature(self):
39
46
  return self.getProperty("heating.bufferCylinder.sensors.temperature.main")["properties"]['value']['value']
@@ -356,6 +363,10 @@ class Compressor(HeatingDeviceWithComponent):
356
363
  def getPhase(self):
357
364
  return self.getProperty(f"heating.compressors.{self.compressor}")["properties"]["phase"]["value"]
358
365
 
366
+ @handleNotSupported
367
+ def getSpeed(self) -> int:
368
+ return int(self.getProperty(f"heating.compressors.{self.compressor}.speed.current")["properties"]["value"]["value"])
369
+
359
370
  @handleNotSupported
360
371
  def getHeatProductionCurrent(self) -> float:
361
372
  return float(self.getProperty(f"heating.compressors.{self.compressor}.heat.production.current")["properties"]["value"]["value"])
@@ -480,6 +491,23 @@ class Compressor(HeatingDeviceWithComponent):
480
491
  # Shows the inlet temperature of the compressor.
481
492
  return float(self.getProperty(f"heating.compressors.{self.compressor}.sensors.temperature.inlet")["properties"]["value"]["value"])
482
493
 
494
+ @handleNotSupported
495
+ def getOilTemperature(self) -> float:
496
+ # Shows the oil temperature of the compressor.
497
+ return float(self.getProperty(f"heating.compressors.{self.compressor}.sensors.temperature.oil")["properties"]["value"]["value"])
498
+
499
+ def getMotorChamberTemperature(self) -> float:
500
+ # Shows the motor chamber temperature of the compressor.
501
+ return float(self.getProperty(f"heating.compressors.{self.compressor}.sensors.temperature.motorChamber")["properties"]["value"]["value"])
502
+
503
+ def getAmbientTemperature(self) -> float:
504
+ # Shows the ambient temperature of the compressor.
505
+ return float(self.getProperty(f"heating.compressors.{self.compressor}.sensors.temperature.ambient")["properties"]["value"]["value"])
506
+
507
+ def getOverheatTemperature(self) -> float:
508
+ # Shows the overheat temperature of the compressor.
509
+ return float(self.getProperty(f"heating.compressors.{self.compressor}.sensors.temperature.overheat")["properties"]["value"]["value"])
510
+
483
511
 
484
512
  class Evaporator(HeatingDeviceWithComponent):
485
513
 
@@ -581,3 +609,22 @@ class Condensor(HeatingDeviceWithComponent):
581
609
  def getLiquidTemperature(self) -> float:
582
610
  # Shows the liquid temperature of the condenser.
583
611
  return float(self.getProperty(f"heating.condensors.{self.condensor}.sensors.temperature.liquid")["properties"]["value"]["value"])
612
+
613
+
614
+ class Inverter(HeatingDeviceWithComponent):
615
+
616
+ @property
617
+ def inverter(self) -> str:
618
+ return self.component
619
+
620
+ @handleNotSupported
621
+ def getCurrent(self) -> float:
622
+ return float(self.getProperty(f"heating.inverters.{self.inverter}.sensors.power.current")["properties"]["value"]["value"])
623
+
624
+ @handleNotSupported
625
+ def getPower(self) -> float:
626
+ return float(self.getProperty(f"heating.inverters.{self.inverter}.sensors.power.output")["properties"]["value"]["value"])
627
+
628
+ @handleNotSupported
629
+ def getTemperature(self) -> float:
630
+ return float(self.getProperty(f"heating.inverters.{self.inverter}.sensors.temperature.powerModule")["properties"]["value"]["value"])
@@ -36,6 +36,10 @@ class HeatingDevice(Device):
36
36
  Note that currently, a new token is generated for each run.
37
37
  """
38
38
 
39
+ @handleNotSupported
40
+ def getWifiSignalStrength(self) -> int:
41
+ return int(self.getProperty("tcu.wifi")["properties"]["strength"]["value"])
42
+
39
43
  @property
40
44
  def circuits(self) -> List[Any]:
41
45
  return list([self.getCircuit(x) for x in self.getAvailableCircuits()])
@@ -12,6 +12,10 @@ class VentilationDevice(Device):
12
12
  Note that currently, a new token is generated for each run.
13
13
  """
14
14
 
15
+ @handleNotSupported
16
+ def getWifiSignalStrength(self) -> int:
17
+ return int(self.getProperty("tcu.wifi")["properties"]["strength"]["value"])
18
+
15
19
  @handleNotSupported
16
20
  def getVentilationDemand(self) -> str:
17
21
  return str(self.getProperty("ventilation.operating.state")["properties"]["demand"]["value"])
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "PyViCare"
3
- version = "2.55.1"
3
+ version = "2.56.0"
4
4
  description = "Library to communicate with the Viessmann ViCare API."
5
5
  authors = [
6
6
  "Simon Gillet <mail+pyvicare@gillet.ninja>"
File without changes
File without changes
File without changes