Skip to content

Commit af4154c

Browse files
authored
feat: Expose ventilation levels (#454)
* Update PyViCareVentilationDevice.py * Update PyViCareVentilationDevice.py * Update test_Vitopure350.py * Update test_VitoairFs300E.py
1 parent 68bb80b commit af4154c

3 files changed

Lines changed: 12 additions & 0 deletions

File tree

PyViCare/PyViCareVentilationDevice.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@ def deactivateProgram(self, program):
7474
"""
7575
return self.service.setProperty(f"ventilation.operating.programs.{program}", "deactivate", {})
7676

77+
@handleNotSupported
78+
def getPermanentLevels(self) -> list[str]:
79+
return list[str](self.service.getProperty("ventilation.operating.modes.permanent")["commands"]["setLevel"]["params"]["level"]["constraints"]["enum"])
80+
7781
@handleAPICommandErrors
7882
def setPermanentLevel(self, level: str):
7983
return self.service.setProperty("ventilation.operating.modes.permanent", "setLevel", {'level': level})

tests/test_VitoairFs300E.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ def test_getAvailablePrograms(self):
3232
expected_programs = ['standby']
3333
self.assertListEqual(self.device.getAvailablePrograms(), expected_programs)
3434

35+
def test_getPermanentLevels(self):
36+
expected_levels = ['levelOne', 'levelTwo', 'levelThree', 'levelFour']
37+
self.assertListEqual(expected_levels, self.device.getPermanentLevels())
38+
3539
def test_getSchedule(self):
3640
keys = ['active', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun']
3741
self.assertListEqual(list(self.device.getSchedule().keys()), keys)

tests/test_Vitopure350.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ def test_getAvailablePrograms(self):
2424
expected_programs = ['standby']
2525
self.assertListEqual(expected_programs, self.device.getAvailablePrograms())
2626

27+
def test_getPermanentLevels(self):
28+
expected_levels = ['levelOne', 'levelTwo', 'levelThree', 'levelFour']
29+
self.assertListEqual(expected_levels, self.device.getPermanentLevels())
30+
2731
def test_getSchedule(self):
2832
keys = ['active', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun']
2933
self.assertListEqual(keys, list(self.device.getSchedule().keys()))

0 commit comments

Comments
 (0)