Publicado en Home-Assistant

Automatizar luces en Home Assistant, Casos prácticos I


Ejemplos prácticos para automatizar luces de interior o de exterior, luz de entrada, luces del jardín, luces de la piscina, luces del porche etc…

Declaración de las automatizaciones automations: !include automations.yaml

Automatizar Luces detectando movimiento

Encender la luz cuando se detecte movimiento con un detector PIR
Por ejemplo al entrar al garaje que se encienda la luz al detectar presencia.

#Encender la luz del garaje al detectar movimiento
- alias: "Garage onMotionStart TurnOn Light"
  trigger:
    - platform: state
      entity_id: binary_sensor.garage_motion
      to: 'on'
  action:
    service: light.turn_on
    entity_id: light.garage

Apagar la luz cuando deje de detectar movimiento

Si se quiere apagar la luz al dejar de detectar movimiento, pero estableciendo un tiempo de demora, de esa forma se evita que si aun se está en la instancia y la persona ha dejado de moverse no se apague la luz de golpe. El retardo se puede especificar con segundos, minutos o horas.

#Apagar la luz del garaje 30 segundos después del último movimiento
- alias: "Garage onMotionEnd TurnOff Light"
  trigger:
    platform: state
    entity_id: binary_sensor.garage_motion
    to: 'off'
    for:
      seconds: 30
  action:
    service: light.turn_off
    entity_id: light.garage

Automatizar Luces dependiendo de la posición de Sol

Apropiado para las luces de exterior, como por ejemplo la luz de entrada de una casa, si la bombilla permite encendido gradual, se puede sincronizar con las luz que emite el sol. En el inicio del anochercer se encienda con poca luz y mediante el sol se va ocultandoen el horizonte la luz de entrada aumente su intensidad.

La siguiente automatización tiene 3 fases de anochecer, inicio, medio y final que ya es 100% noche se usa el componente sun de Home Assistant

La luminosidad de la bombilla va de 0 a 255, si queremos obtener el valor que corresponde a 50%, calcular 0.5 x 255

#Exterior Lighting on when dark outside 10%
- alias: "FrontDoor onSunStartDuskPhase1 turnOn Ligth"
  trigger:
    platform: numeric_state
    entity_id: sun.sun
    value_template: "{{ state.attributes.elevation }}"
    below: 3.5
  action:
    - service: light.turn_on
      data:
        entity_id: light.front_door
        brightness: 25.5

#Cuando anochezca Luz exterior de la entrada al 30%
- alias: "FrontDoor onSunStartDuskPhase2 turnOn Ligth"
  trigger:
    platform: numeric_state
    entity_id: sun.sun
    value_template: "{{ state.attributes.elevation }}"
    below: 1.5
  action:
    - service: light.turn_on
      data:
        entity_id: light.front_door
        brightness: 76.6

#Cuando anochezca Luz exterior de la entrada al 50%
- alias: "FrontDoor onSunStartDuskPhase3 turnOn Ligth"
  trigger:
    platform: numeric_state
    entity_id: sun.sun
    value_template: "{{ state.attributes.elevation }}"
    below: 0
  action:
    - service: light.turn_on
      data:
        entity_id: light.front_door
        brightness: 127.7

#Cuando sea ya de noche Luz exterior de la entrada al 100%
- alias: "FrontDoor onSunStartDuskPhase3 turnOn Ligth"
  trigger:
    platform: numeric_state
    entity_id: sun.sun
    value_template: "{{ state.attributes.elevation }}"
    below: -6
  action:
    - service: light.turn_on
      data:
        entity_id: light.front_door
        brightness: 255

Encender y Apagar una luz en una hora especifica

Automatización para encender la luz en una hora especifica y se apague en otra hora, encender la luz de entrada de las 19:00:00 a las 23:00:00 del mismo día.

- alias: "FrontDoor onTimeStart TurnOn Light"
  trigger:
    - platform: time
      at: '19:00:00'
  action:
    - service: light.turn_on
      data:
        entity_id: light.front_door
        brightness: 255

- alias: "FrontDoor onTimeEnd TurnOff Light"
  trigger:
    - platform: time
      at: '23:00:00'
  action:
    - service: light.turn_off
      data:
        entity_id: light.front_door

Automatizar punto de luz en hora nocturna

Automatización de auto apagado en modo nocturno, perfecto si uno se levanta a media noche para ir al baño o beber un vaso de agua etc… y por descuido se deja la luz encendida, a los 20 minutos se apague y que solo la automatización de apagado sea en franja horaria nocturna.

- alias: 'Bathroom onNightTime turnOff Light'
  trigger:
    platform: state
    entity_id: light.bathroom
    to: 'on'
    for:
      hours: 0
      minutes: 20
  condition:
    condition: time
    after: '23:30:00'
    before: '07:30:00'
  action:
    service: light.turn_off
    entity_id: light.bedroom
Publicado en Home-Assistant

Control de Alarma con notificaciones de alerta para Home Assistant


Implementar sistema de control de alarma inteligente para Home Assistant, detección de apertura de puertas, ventanas y presencia, cuando la alarma este armada en modo armed_home o armed_away al detectar un cambio de sensor, notifique cual sensor se ha activado, de esa forma se consigue tener un mejor seguimiento de la incidencia.

Declaración de los elementos para la automatización

Escoger los sensores que pueden iniciar la alerta de alarma

#Puertas
binary_sensor.entrance_door, binary_sensor.back_door

#Ventanas
binary_sensor.bathroom_window, binary_sensor.dinning_room_window, binary_sensor.kitchen_window, binary_sensor.main_bedroom_window

En las automatizaciones en la propiedad entitity_id se puede añadir múltiples sensores separados por coma

- alias: 'Trigger alarm while armed home'
  trigger:
    - platform: state
      entity_id: binary_sensor.entrance_door, binary_sensor.back_door
      to: 'on'
    - platform: state
      entity_id: binary_sensor.bathroom_window, binary_sensor.dinning_room_window, binary_sensor.kitchen_window, binary_sensor.main_bedroom_window
      to: 'on'

Establecer la condición de la alarma cuando su estado sea modo casa(armed_home)

  condition:
    - condition: state
      entity_id: alarm_control_panel.home_alarm
      state: armed_home

En la acción añadir que avise mediante un servicio de notificación, en este caso por Telegram, y para obtener el nombre del sensor que a iniciado la automatización se puede con:

 {{ trigger.to_state.attributes.friendly_name }}  
  action:
    - service: alarm_control_panel.alarm_trigger
      entity_id: alarm_control_panel.home_alarm
    - service: notify.telegram_notify
      data_template:
        message: '{{ trigger.to_state.attributes.friendly_name }} opened'
      data:
        title: 'ALERTA!!!'

Automatización: Notificar alerta de alarma en mode home

- alias: 'Trigger alarm while armed home'
  trigger:
    - platform: state
      entity_id: binary_sensor.entrance_door, binary_sensor.back_door
      to: 'on'
    - platform: state
      entity_id: binary_sensor.bathroom_window, binary_sensor.dinning_room_window, binary_sensor.kitchen_window, binary_sensor.main_bedroom_window
      to: 'on'
  condition:
    - condition: state
      entity_id: alarm_control_panel.home_alarm
      state: armed_home
  action:
    - service: alarm_control_panel.alarm_trigger
      entity_id: alarm_control_panel.home_alarm
    - service: notify.telegram_notify
      data_template:
        message: '{{ trigger.to_state.attributes.friendly_name }} opened'
      data:
        title: 'ALERTA!!!'


Automatización: Notificar alerta de alarma en mode away

- alias: 'Trigger alarm while armed away'
  trigger:
    - platform: state
      entity_id: binary_sensor.entrance_door, binary_sensor.back_door
      to: 'on'
    - platform: state
      entity_id: binary_sensor.dinning_room_motion, binary_sensor.garage_motion, binary_sensor.garden_motion, binary_sensor.kitchen_motion
      to: 'on'
    - platform: state
      entity_id: binary_sensor.bathroom_window, binary_sensor.dinning_room_window, binary_sensor.kitchen_window, binary_sensor.main_bedroom_window
      to: 'on'
  condition:
    - condition: state
      entity_id: alarm_control_panel.home_alarm
      state: armed_away
  action:
    - service: alarm_control_panel.alarm_trigger
      entity_id: alarm_control_panel.home_alarm
    - service: notify.telegram_notify
      data_template:
        message: '{{ trigger.to_state.attributes.friendly_name }} opened'
      data:
        title: 'ALERTA!!!'