Ejemplo n.º 1
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)
Ejemplo n.º 2
0
def all_lights_off(hass, entity_id, old_state, new_state):
    """If all lights turn off, turn off."""
    if not TARGET_ID:
        return

    if core.is_on(hass, TARGET_ID):
        _LOGGER.info('All lights have been turned off, turning it off')
        core.turn_off(hass, TARGET_ID)
Ejemplo n.º 3
0
def wake_up(hass, now):
    """Turn light on in the morning.

    Turn the light on at 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)
Ejemplo n.º 4
0
def flash_service(hass, call):
    """Service that will toggle the target.

    Set the light to 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)
Ejemplo n.º 5
0
 def test_is_on(self):
     """Test is_on method."""
     self.assertTrue(comps.is_on(self.hass, 'light.Bowl'))
     self.assertFalse(comps.is_on(self.hass, 'light.Ceiling'))
     self.assertTrue(comps.is_on(self.hass))
Ejemplo n.º 6
0
 def test_is_on(self):
     """Test is_on method."""
     self.assertTrue(comps.is_on(self.hass, 'light.Bowl'))
     self.assertFalse(comps.is_on(self.hass, 'light.Ceiling'))
     self.assertTrue(comps.is_on(self.hass))