Skip to content

Commit 6f2066c

Browse files
authored
Add common valve function for TRV and FHT channel (#623)
* add isValveOpen * add test cases
1 parent 2bcc6d3 commit 6f2066c

File tree

4 files changed

+14
-0
lines changed

4 files changed

+14
-0
lines changed

PyViCare/PyViCareFloorHeating.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,7 @@ def setName(self, name: str) -> None:
3030
@handleNotSupported
3131
def getValveState(self) -> str:
3232
return str(self.service.getProperty("fht.valve.state")["properties"]["status"]["value"])
33+
34+
@handleNotSupported
35+
def isValveOpen(self) -> bool:
36+
return bool(self.getValveState() != "closed")

PyViCare/PyViCareRadiatorActuator.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ def getTemperature(self):
1212
def getValvePosition(self) -> int:
1313
return int(self.service.getProperty("trv.valve.position")["properties"]["position"]["value"])
1414

15+
@handleNotSupported
16+
def isValveOpen(self) -> bool:
17+
return bool(self.getValvePosition() > 0)
18+
1519
@handleNotSupported
1620
def getChildLock(self) -> str:
1721
return str(self.service.getProperty("trv.childLock")["properties"]["status"]["value"])

tests/test_zigbee_zk03838_fht.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,6 @@ def test_getName(self):
4949
def test_getValveState(self):
5050
self.assertEqual(
5151
self.device.getValveState(), "closed")
52+
53+
def test_isValveOpen(self):
54+
self.assertFalse(self.device.isValveOpen())

tests/test_zigbee_zk03840_trv.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,6 @@ def test_setTargetTemperature(self):
3535
self.assertEqual(self.service.setPropertyData[0]['property_name'], 'trv.temperature')
3636
self.assertEqual(self.service.setPropertyData[0]['action'], 'setTargetTemperature')
3737
self.assertEqual(self.service.setPropertyData[0]['data'], {'temperature': 22})
38+
39+
def test_isValveOpen(self):
40+
self.assertTrue(self.device.isValveOpen())

0 commit comments

Comments
 (0)