Example #1
1
def wake_up(hass, now):
    """
    Turn it on in the morning (7 AM) if there are people home and
    it is not already on.
    """
    if not TARGET_ID:
        return

    if device_tracker.is_on(hass) and not core.is_on(hass, TARGET_ID):
        _LOGGER.info('People home at 7AM, turning it on')
        core.turn_on(hass, TARGET_ID)
Example #2
0
    def wake_up(now):
        """ Turn it on in the morning if there are people home and
            it is not already on. """

        if device_tracker.is_on(hass) and not core.is_on(hass, target_id):
            _LOGGER.info('People home at 7AM, turning it on')
            core.turn_on(hass, target_id)
Example #3
0
def handle_light_toggle(hass, service):
    target_ids = service.data[ATTR_ENTITY_ID]
    for target_id in target_ids:
        if core.is_on(hass, target_id):
            core.turn_off(hass, target_id)
        else:
            core.turn_on(hass, target_id)
Example #4
0
    def wake_up(now):
        """ Turn it on in the morning if there are people home and
            it is not already on. """

        if device_tracker.is_on(hass) and not core.is_on(hass, target_id):
            _LOGGER.info('People home at 7AM, turning it on')
            core.turn_on(hass, target_id)
Example #5
0
    def test_turn_on(self):
        """Test turn_on method."""
        runs = []
        self.hass.services.register("light", SERVICE_TURN_ON, lambda x: runs.append(1))

        comps.turn_on(self.hass, "light.Ceiling")

        self.hass.pool.block_till_done()

        self.assertEqual(1, len(runs))
Example #6
0
    def test_turn_on(self):
        """ Test turn_on method. """
        runs = []
        self.hass.services.register('light', SERVICE_TURN_ON,
                                    lambda x: runs.append(1))

        comps.turn_on(self.hass, 'light.Ceiling')

        self.hass.pool.block_till_done()

        self.assertEqual(1, len(runs))
Example #7
0
def wake_up(hass, now):
    """
    Turn it on in the morning (7 AM) if there are people home and
    it is not already on.
    """
    if not TARGET_ID:
        return

    if device_tracker.is_on(hass) and not core.is_on(hass, TARGET_ID):
        _LOGGER.info('People home at 7AM, turning it on')
        core.turn_on(hass, TARGET_ID)
Example #8
0
    def track_devices(entity_id, old_state, new_state):
        """ Called when the group.all devices change state. """

        # If anyone comes home and the core is not on, turn it on.
        if new_state.state == STATE_HOME and not core.is_on(hass, target_id):

            core.turn_on(hass, target_id)

        # If all people leave the house and the core is on, turn it off
        elif new_state.state == STATE_NOT_HOME and core.is_on(hass, target_id):

            core.turn_off(hass, target_id)
Example #9
0
    def track_devices(entity_id, old_state, new_state):
        """ Called when the group.all devices change state. """

        # If anyone comes home and the core is not on, turn it on.
        if new_state.state == STATE_HOME and not core.is_on(hass, target_id):

            core.turn_on(hass, target_id)

        # If all people leave the house and the core is on, turn it off
        elif new_state.state == STATE_NOT_HOME and core.is_on(hass, target_id):

            core.turn_off(hass, target_id)
Example #10
0
def track_devices(hass, entity_id, old_state, new_state):
    """Called when the group.all devices change state."""
    # If the target id is not set, return
    if not TARGET_ID:
        return

    # If anyone comes home and the entity is not on, turn it on.
    if new_state.state == STATE_HOME and not core.is_on(hass, TARGET_ID):

        core.turn_on(hass, TARGET_ID)

    # If all people leave the house and the entity is on, turn it off.
    elif new_state.state == STATE_NOT_HOME and core.is_on(hass, TARGET_ID):

        core.turn_off(hass, TARGET_ID)
Example #11
0
    def flash_service(call):
        """ Service that will turn the target off for 10 seconds
            if on and vice versa. """

        if core.is_on(hass, target_id):
            core.turn_off(hass, target_id)

            time.sleep(10)

            core.turn_on(hass, target_id)

        else:
            core.turn_on(hass, target_id)

            time.sleep(10)

            core.turn_off(hass, target_id)
Example #12
0
    def flash_service(call):
        """ Service that will turn the target off for 10 seconds
            if on and vice versa. """

        if core.is_on(hass, target_id):
            core.turn_off(hass, target_id)

            time.sleep(10)

            core.turn_on(hass, target_id)

        else:
            core.turn_on(hass, target_id)

            time.sleep(10)

            core.turn_off(hass, target_id)
Example #13
0
    def update(self):
        """ Update current thermostat. """
        heater = self.hass.states.get(self.heater_entity_id)
        if heater is None:
            self.logger.error("No heater available")
            return

        current_temperature = self.current_temperature
        if current_temperature is None:
            self.logger.error("No temperature available")
            return

        if (current_temperature - self.target_temperature) > \
                TOL_TEMP and heater.state is STATE_ON:
            self._heater_manual_changed = False
            core.turn_off(self.hass, self.heater_entity_id)
        elif (self.target_temperature - self.current_temperature) > TOL_TEMP \
                and heater.state is STATE_OFF:
            self._heater_manual_changed = False
            core.turn_on(self.hass, self.heater_entity_id)
Example #14
0
def flash_service(hass, call):
    """
    Service that will turn the target off for 10 seconds if on and vice versa.
    """
    if not TARGET_ID:
        return

    if core.is_on(hass, TARGET_ID):
        core.turn_off(hass, TARGET_ID)

        time.sleep(10)

        core.turn_on(hass, TARGET_ID)

    else:
        core.turn_on(hass, TARGET_ID)

        time.sleep(10)

        core.turn_off(hass, TARGET_ID)
Example #15
0
def flash_service(hass, call):
    """
    Service that will turn the target off for 10 seconds if on and vice versa.
    """
    if not TARGET_ID:
        return

    if core.is_on(hass, TARGET_ID):
        core.turn_off(hass, TARGET_ID)

        time.sleep(10)

        core.turn_on(hass, TARGET_ID)

    else:
        core.turn_on(hass, TARGET_ID)

        time.sleep(10)

        core.turn_off(hass, TARGET_ID)
Example #16
0
 def test_turn_on(self):
     """Test turn_on method."""
     calls = mock_service(self.hass, 'light', SERVICE_TURN_ON)
     comps.turn_on(self.hass, 'light.Ceiling')
     self.hass.block_till_done()
     self.assertEqual(1, len(calls))
Example #17
0
 def test_turn_on_without_entities(self):
     """Test turn_on method without entities."""
     calls = mock_service(self.hass, 'light', SERVICE_TURN_ON)
     comps.turn_on(self.hass)
     self.hass.block_till_done()
     self.assertEqual(0, len(calls))
Example #18
0
 def test_turn_on(self):
     """Test turn_on method."""
     calls = mock_service(self.hass, 'light', SERVICE_TURN_ON)
     comps.turn_on(self.hass, 'light.Ceiling')
     self.hass.block_till_done()
     self.assertEqual(1, len(calls))
Example #19
0
 def test_turn_on_without_entities(self):
     """Test turn_on method without entities."""
     calls = mock_service(self.hass, 'light', SERVICE_TURN_ON)
     comps.turn_on(self.hass)
     self.hass.block_till_done()
     self.assertEqual(0, len(calls))
Example #20
0
def change_brightness(hass, service, bri):
    for target_id in service.data[ATTR_ENTITY_ID]:
        if bri <= 0:
            core.turn_off(hass, target_id)
        elif bri <= 255:
            core.turn_on(hass, target_id, brightness=bri)