Ejemplo n.º 1
0
    def test_zone_handling_with_zones(self) -> None:
        """Test manipulating zones in system."""
        zone1 = _zone()
        zone1.id = 'id1'
        zone2 = _zone()
        zone2.id = 'id2'
        system = System(zones=[zone1, zone2])

        self.assertEqual(2, len(system.zones))
        self.assertEqual(zone1, system._zones["id1"])
        self.assertEqual(zone2, system._zones["id2"])
Ejemplo n.º 2
0
    def test_set_zone_existing_zone(self) -> None:
        """Test manipulating zones in system."""
        zone1 = _zone()
        zone1.id = 'id1'
        zone2 = _zone()
        zone2.id = 'id2'
        zone3 = _zone()
        zone3.id = 'id2'
        system = System(zones=[zone1, zone2])

        system.set_zone(zone2.id, zone3)
        self.assertEqual(2, len(system.zones))
        self.assertEqual(zone3, system._zones[zone2.id])
Ejemplo n.º 3
0
    def test_get_active_mode_standby_heating(self) -> None:
        zone = _zone()
        zone.active_function = ActiveFunction.STANDBY
        active_mode = zone.active_mode

        self.assertEqual(OperatingModes.AUTO, active_mode.current)
        self.assertEqual(zone.heating.target_high, active_mode.target)
        self.assertEqual(SettingModes.DAY, active_mode.sub)
Ejemplo n.º 4
0
    def test_get_active_mode_night(self) -> None:
        zone = _zone()
        zone.heating.operating_mode = OperatingModes.NIGHT
        active_mode = zone.active_mode

        self.assertEqual(OperatingModes.NIGHT, active_mode.current)
        self.assertEqual(zone.heating.target_low, active_mode.target)
        self.assertIsNone(active_mode.sub)
Ejemplo n.º 5
0
    def test_get_active_mode_day(self) -> None:
        zone = _zone()
        zone.heating.operating_mode = OperatingModes.DAY
        active_mode = zone.active_mode

        self.assertEqual(OperatingModes.DAY, active_mode.current)
        self.assertEqual(zone.heating.target_high, active_mode.target)
        self.assertIsNone(active_mode.sub)
Ejemplo n.º 6
0
    def test_get_active_mode_off(self) -> None:
        zone = _zone()
        zone.heating.operating_mode = OperatingModes.OFF

        active_mode = zone.active_mode

        self.assertEqual(OperatingModes.OFF, active_mode.current)
        self.assertEqual(Zone.MIN_TARGET_HEATING_TEMP, active_mode.target)
        self.assertIsNone(active_mode.sub)
Ejemplo n.º 7
0
    def test_get_active_mode_zone_quick_mode_ventilation(self) -> None:
        """Test get active mode for zone quick mode ventilation."""
        zone = _zone()
        system = System(zones=[zone], quick_mode=QuickModes.VENTILATION_BOOST)

        active_mode = system.get_active_mode_zone(zone)

        self.assertEqual(QuickModes.VENTILATION_BOOST, active_mode.current)
        self.assertEqual(Zone.MIN_TARGET_HEATING_TEMP, active_mode.target)
Ejemplo n.º 8
0
    def test_get_active_mode_zone_quick_mode_party(self) -> None:
        """Test get active mode for zone quick mode party."""
        zone = _zone()
        system = System(zones=[zone], quick_mode=QuickModes.PARTY)

        active_mode = system.get_active_mode_zone(zone)

        self.assertEqual(QuickModes.PARTY, active_mode.current)
        self.assertEqual(zone.heating.target_high, active_mode.target)
Ejemplo n.º 9
0
    def test_get_active_mode_zone_quick_mode_one_day_away(self) -> None:
        """Test get active mode for zone one day away."""
        zone = _zone()
        system = System(zones=[zone], quick_mode=QuickModes.ONE_DAY_AWAY)

        active_mode = system.get_active_mode_zone(zone)

        self.assertEqual(QuickModes.ONE_DAY_AWAY, active_mode.current)
        self.assertEqual(Zone.MIN_TARGET_HEATING_TEMP, active_mode.target)
Ejemplo n.º 10
0
    def test_get_active_mode_zone_quick_mode_system_off(self) -> None:
        """Test get active mode for zone with system off."""
        zone = _zone()
        system = System(zones=[zone], quick_mode=QuickModes.SYSTEM_OFF)

        active_mode = system.get_active_mode_zone(zone)

        self.assertEqual(QuickModes.SYSTEM_OFF, active_mode.current)
        self.assertEqual(Zone.MIN_TARGET_HEATING_TEMP, active_mode.target)
Ejemplo n.º 11
0
    def test_get_active_mode_zone_quick_mode_water_boost(self) -> None:
        """Test get active mode for zone with hot water boost."""
        zone = _zone()
        system = System(zones=[zone], quick_mode=QuickModes.HOTWATER_BOOST)

        active_mode = system.get_active_mode_zone(zone)

        self.assertEqual(OperatingModes.AUTO, active_mode.current)
        self.assertEqual(SettingModes.DAY, active_mode.sub)
        self.assertEqual(zone.heating.target_high, active_mode.target)
Ejemplo n.º 12
0
    def test_get_active_mode_zone(self) -> None:
        """Test get active mode for zone."""

        zone = _zone()
        system = System(zones=[zone])

        active_mode = system.get_active_mode_zone(zone)

        self.assertEqual(OperatingModes.AUTO, active_mode.current)
        self.assertEqual(SettingModes.DAY, active_mode.sub)
        self.assertEqual(zone.heating.target_high, active_mode.target)
Ejemplo n.º 13
0
    def test_get_active_mode_zone_quick_mode_quick_veto(self) -> None:
        """Test get active mode for zone quick mode + quick veto."""
        quick_veto = QuickVeto(target=15)
        zone = _zone()
        zone.quick_veto = quick_veto

        system = System(zones=[zone])

        active_mode = system.get_active_mode_zone(zone)

        self.assertEqual(OperatingModes.QUICK_VETO, active_mode.current)
        self.assertEqual(zone.quick_veto.target, active_mode.target)
Ejemplo n.º 14
0
    def test_get_active_mode_zone_holiday_mode(self) -> None:
        """Test get active mode for zone with holiday mode."""
        holiday = HolidayMode(True, datetime.date.today(),
                              datetime.date.today(), 10)

        zone = _zone()
        system = System(holiday=holiday, zones=[zone])

        active_mode = system.get_active_mode_zone(zone)

        self.assertEqual(QuickModes.HOLIDAY, active_mode.current)
        self.assertEqual(holiday.target, active_mode.target)
Ejemplo n.º 15
0
    def test_get_active_mode_zone_off(self) -> None:
        """Test get active mode for zone off."""
        zone = _zone()
        zone.heating.time_program = _time_program(SettingModes.NIGHT)

        system = System(zones=[zone])

        active_mode = system.get_active_mode_zone(zone)

        self.assertEqual(OperatingModes.AUTO, active_mode.current)
        self.assertEqual(SettingModes.NIGHT, active_mode.sub)
        self.assertEqual(zone.heating.target_low, active_mode.target)
Ejemplo n.º 16
0
    def test_get_active_mode_zone_quick_mode_one_day_home_day(self) -> None:
        """Test get active mode for zone one day home."""

        timeprogram_day_setting_sunday = TimePeriodSetting(
            "00:00", None, SettingModes.DAY)

        timeprogram = _time_program(SettingModes.NIGHT, None)
        timeprogram.days["sunday"] = TimeProgramDay(
            [timeprogram_day_setting_sunday])

        zone = _zone()
        zone.heating.time_program = timeprogram
        system = System(zones=[zone], quick_mode=QuickModes.ONE_DAY_AT_HOME)

        active_mode = system.get_active_mode_zone(zone)

        self.assertEqual(QuickModes.ONE_DAY_AT_HOME, active_mode.current)
        self.assertEqual(zone.heating.target_high, active_mode.target)