예제 #1
0
    def test_set_hold(self):
        """Test setting the hold mode."""
        assert setup_component(self.hass, climate.DOMAIN, DEFAULT_CONFIG)

        state = self.hass.states.get(ENTITY_CLIMATE)
        self.assertEqual(None, state.attributes.get('hold_mode'))
        climate.set_hold_mode(self.hass, 'on', ENTITY_CLIMATE)
        self.hass.block_till_done()
        self.assertEqual(('hold-topic', 'on', 0, False),
                         self.mock_publish.mock_calls[-2][1])
        state = self.hass.states.get(ENTITY_CLIMATE)
        self.assertEqual('on', state.attributes.get('hold_mode'))

        climate.set_hold_mode(self.hass, 'off', ENTITY_CLIMATE)
        self.hass.block_till_done()
        self.assertEqual(('hold-topic', 'off', 0, False),
                         self.mock_publish.mock_calls[-2][1])
        state = self.hass.states.get(ENTITY_CLIMATE)
        self.assertEqual('off', state.attributes.get('hold_mode'))
예제 #2
0
    def test_set_hold(self):
        """Test setting the hold mode."""
        assert setup_component(self.hass, climate.DOMAIN, DEFAULT_CONFIG)

        state = self.hass.states.get(ENTITY_CLIMATE)
        self.assertEqual(None, state.attributes.get('hold_mode'))
        climate.set_hold_mode(self.hass, 'on', ENTITY_CLIMATE)
        self.hass.block_till_done()
        self.assertEqual(('hold-topic', 'on', 0, False),
                         self.mock_publish.mock_calls[-2][1])
        state = self.hass.states.get(ENTITY_CLIMATE)
        self.assertEqual('on', state.attributes.get('hold_mode'))

        climate.set_hold_mode(self.hass, 'off', ENTITY_CLIMATE)
        self.hass.block_till_done()
        self.assertEqual(('hold-topic', 'off', 0, False),
                         self.mock_publish.mock_calls[-2][1])
        state = self.hass.states.get(ENTITY_CLIMATE)
        self.assertEqual('off', state.attributes.get('hold_mode'))
예제 #3
0
    def test_set_hold_pessimistic(self):
        """Test setting the hold mode in pessimistic mode."""
        config = copy.deepcopy(DEFAULT_CONFIG)
        config['climate']['hold_state_topic'] = 'hold-state'
        assert setup_component(self.hass, climate.DOMAIN, config)

        state = self.hass.states.get(ENTITY_CLIMATE)
        self.assertEqual(None, state.attributes.get('hold_mode'))

        climate.set_hold_mode(self.hass, 'on', ENTITY_CLIMATE)
        self.hass.block_till_done()
        state = self.hass.states.get(ENTITY_CLIMATE)
        self.assertEqual(None, state.attributes.get('hold_mode'))

        fire_mqtt_message(self.hass, 'hold-state', 'on')
        self.hass.block_till_done()
        state = self.hass.states.get(ENTITY_CLIMATE)
        self.assertEqual('on', state.attributes.get('hold_mode'))

        fire_mqtt_message(self.hass, 'hold-state', 'off')
        self.hass.block_till_done()
        state = self.hass.states.get(ENTITY_CLIMATE)
        self.assertEqual('off', state.attributes.get('hold_mode'))
예제 #4
0
    def test_set_hold_pessimistic(self):
        """Test setting the hold mode in pessimistic mode."""
        config = copy.deepcopy(DEFAULT_CONFIG)
        config['climate']['hold_state_topic'] = 'hold-state'
        assert setup_component(self.hass, climate.DOMAIN, config)

        state = self.hass.states.get(ENTITY_CLIMATE)
        self.assertEqual(None, state.attributes.get('hold_mode'))

        climate.set_hold_mode(self.hass, 'on', ENTITY_CLIMATE)
        self.hass.block_till_done()
        state = self.hass.states.get(ENTITY_CLIMATE)
        self.assertEqual(None, state.attributes.get('hold_mode'))

        fire_mqtt_message(self.hass, 'hold-state', 'on')
        self.hass.block_till_done()
        state = self.hass.states.get(ENTITY_CLIMATE)
        self.assertEqual('on', state.attributes.get('hold_mode'))

        fire_mqtt_message(self.hass, 'hold-state', 'off')
        self.hass.block_till_done()
        state = self.hass.states.get(ENTITY_CLIMATE)
        self.assertEqual('off', state.attributes.get('hold_mode'))
예제 #5
0
 def test_set_hold_mode_none(self):
     """Test setting the hold mode off/false."""
     climate.set_hold_mode(self.hass, None, ENTITY_ECOBEE)
     self.hass.block_till_done()
     state = self.hass.states.get(ENTITY_ECOBEE)
     self.assertEqual(None, state.attributes.get('hold_mode'))
예제 #6
0
 def test_set_hold_mode_away(self):
     """Test setting the hold mode away."""
     climate.set_hold_mode(self.hass, 'away', ENTITY_ECOBEE)
     self.hass.block_till_done()
     state = self.hass.states.get(ENTITY_ECOBEE)
     self.assertEqual('away', state.attributes.get('hold_mode'))
예제 #7
0
 def test_set_hold_mode_none(self):
     """Test setting the hold mode off/false."""
     climate.set_hold_mode(self.hass, None, ENTITY_ECOBEE)
     self.hass.block_till_done()
     state = self.hass.states.get(ENTITY_ECOBEE)
     self.assertEqual(None, state.attributes.get('hold_mode'))
예제 #8
0
 def test_set_hold_mode_away(self):
     """Test setting the hold mode away."""
     climate.set_hold_mode(self.hass, 'away', ENTITY_ECOBEE)
     self.hass.block_till_done()
     state = self.hass.states.get(ENTITY_ECOBEE)
     self.assertEqual('away', state.attributes.get('hold_mode'))