Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions PyViCare/PyViCareHeatPump.py
Original file line number Diff line number Diff line change
Expand Up @@ -677,6 +677,30 @@ def getPowerConsumptionHeatingThisYear(self) -> float:
def getPowerConsumptionCoolingThisYear(self) -> float:
return float(self.getProperty(f"heating.compressors.{self.compressor}.power.consumption.cooling")["properties"]["year"]["value"][0])

@handleNotSupported
def getPowerConsumptionHeatingThisWeek(self) -> float:
return float(self.getProperty(f"heating.compressors.{self.compressor}.power.consumption.heating.week")["properties"]["value"]["value"])

@handleNotSupported
def getPowerConsumptionHeatingThisWeekUnit(self) -> str:
return str(self.getProperty(f"heating.compressors.{self.compressor}.power.consumption.heating.week")["properties"]["value"]["unit"])

@handleNotSupported
def getPowerConsumptionDHWThisWeek(self) -> float:
return float(self.getProperty(f"heating.compressors.{self.compressor}.power.consumption.dhw.week")["properties"]["value"]["value"])

@handleNotSupported
def getPowerConsumptionDHWThisWeekUnit(self) -> str:
return str(self.getProperty(f"heating.compressors.{self.compressor}.power.consumption.dhw.week")["properties"]["value"]["unit"])

@handleNotSupported
def getPowerConsumptionCoolingThisWeek(self) -> float:
return float(self.getProperty(f"heating.compressors.{self.compressor}.power.consumption.cooling.week")["properties"]["value"]["value"])

@handleNotSupported
def getPowerConsumptionCoolingThisWeekUnit(self) -> str:
return str(self.getProperty(f"heating.compressors.{self.compressor}.power.consumption.cooling.week")["properties"]["value"]["unit"])

@handleNotSupported
def getPowerConsumptionTotalThisYear(self) -> float:
return float(self.getProperty(f"heating.compressors.{self.compressor}.power.consumption.total")["properties"]["year"]["value"][0])
Expand Down
13 changes: 13 additions & 0 deletions tests/test_Vitocal333G_with_Vitovent300F.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

from PyViCare.PyViCareService import ViCareDeviceAccessor
from PyViCare.PyViCareHeatPump import HeatPump
from PyViCare.PyViCareUtils import PyViCareNotSupportedFeatureError
from tests.ViCareServiceMock import ViCareServiceMock


Expand Down Expand Up @@ -33,3 +34,15 @@ def test_evaporator_getLiquidTemperature(self):
def test_compressor_getInletPressure(self):
self.assertEqual(self.device.getCompressor("0").getInletPressure(), 12.9)
self.assertEqual(self.device.getCompressor("0").getInletPressureUnit(), "bar")

def test_compressor_getPowerConsumptionHeatingThisWeek(self):
self.assertEqual(self.device.getCompressor("0").getPowerConsumptionHeatingThisWeek(), 6.3)
self.assertEqual(self.device.getCompressor("0").getPowerConsumptionHeatingThisWeekUnit(), "kilowattHour")

def test_compressor_getPowerConsumptionDHWThisWeek(self):
self.assertEqual(self.device.getCompressor("0").getPowerConsumptionDHWThisWeek(), 2.3)
self.assertEqual(self.device.getCompressor("0").getPowerConsumptionDHWThisWeekUnit(), "kilowattHour")

def test_compressor_getPowerConsumptionCoolingThisWeek_notSupported(self):
with self.assertRaises(PyViCareNotSupportedFeatureError):
self.device.getCompressor("0").getPowerConsumptionCoolingThisWeek()
Loading