From 7cf8605fadec31f4519996645f7acd5bb0cd4c3e Mon Sep 17 00:00:00 2001 From: Christopher Fenner <9592452+CFenner@users.noreply.github.com> Date: Mon, 11 Nov 2024 10:07:26 +0100 Subject: [PATCH] feat: detect central ventilation devices (#451) * Update PyViCareDeviceConfig.py * Update test_PyViCareDeviceConfig.py --- PyViCare/PyViCareDeviceConfig.py | 1 + tests/test_PyViCareDeviceConfig.py | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/PyViCare/PyViCareDeviceConfig.py b/PyViCare/PyViCareDeviceConfig.py index 6f3baca3..63e91f76 100644 --- a/PyViCare/PyViCareDeviceConfig.py +++ b/PyViCare/PyViCareDeviceConfig.py @@ -84,6 +84,7 @@ def asAutoDetectDevice(self): (self.asPelletsBoiler, r"Vitoligno|Ecotronic|VBC550P", []), (self.asElectricalEnergySystem, r"E3_VitoCharge_03", ["type:ees"]), (self.asVentilation, r"E3_ViAir", ["type:ventilation"]), + (self.asVentilation, r"E3_ViAir", ["type:ventilation;central"]), (self.asVentilation, r"E3_VitoPure", ["type:ventilation;purifier"]), (self.asRadiatorActuator, r"E3_RadiatorActuator", ["type:radiator"]), (self.asRoomSensor, r"E3_RoomSensor", ["type:climateSensor"]), diff --git a/tests/test_PyViCareDeviceConfig.py b/tests/test_PyViCareDeviceConfig.py index 2452c9ec..580280e0 100644 --- a/tests/test_PyViCareDeviceConfig.py +++ b/tests/test_PyViCareDeviceConfig.py @@ -61,7 +61,13 @@ def test_autoDetect_RoleVentilation_asVentilation(self): device_type = c.asAutoDetectDevice() self.assertEqual("VentilationDevice", type(device_type).__name__) - def test_autoDetect_Vitoair_FS_300E_asVentilation(self): + def test_autoDetect_RoleVentilationCentral_asVentilation(self): + self.service.hasRoles = has_roles(["type:ventilation;central"]) + c = PyViCareDeviceConfig(self.service, "0", "Unknown", "Online") + device_type = c.asAutoDetectDevice() + self.assertEqual("VentilationDevice", type(device_type).__name__) + + def test_autoDetect_Vitoair_FS_300F_asVentilation(self): c = PyViCareDeviceConfig(self.service, "0", "E3_ViAir_300F", "Online") device_type = c.asAutoDetectDevice() self.assertEqual("VentilationDevice", type(device_type).__name__)