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)
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)
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)
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))
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))
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)
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)
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)
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)
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)
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))
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))
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)