Salir y volver a casa: domótica a través de la automatización Home Assistant

6 minutos de lectura

Sin problemasuna de las cosas mas coños de domótica personal es el ver el proantes de llegar a casa ven por magia, acciones automáticas al salir y al regresar.

Nos vamos de casa (todos), y el agua y el gas cerca de sí mismos, elalarma se enciende, todas las luces se apagan, los enchufes no esenciales se apagan, cualquier notificación de detección (inundación, humo, etc.) entra en modo de armado, el tappse bajan arelle. Incluso solo uno de la familia torna a casa, y las utilidades se reactivan, al abrir la puerta de entrada altavoz inteligente nos saluda al darnos la lectura de los datos telemétricos de la casa (temperatura promedio, duración de la ausencia, cualquier evento menor detectado) El límite es la fantasía, nunca así.

Home Assistant es de gran ayuda para nosotros en la implementación de estos escenarios automáticos gracias a probasa su flexibilidad de configuración automatizaciones.

Abstract

Comprender la lógica de una automatización de salida y / o entrada es muy fácil: solo tenlo claro en tu cabeza el concepto de cambio de estado de una entidad Home Assistant.

Como sappPermítanos, cada entidad (de cualquier tipo) posee un proprimer estado que califica appungido, la condición instantánea. Un ejemplo clásico es el de los conmutadores: por lo general, una entidad de este tipo tiene un estado "on"O"WOW!". Cuando el estado cambia, el "bus de estado" delHUB y, si está configurado dentro de un trigger de una o más automatizaciones, proVvede a Innescala / e.

[NB Si no sabes de qué estamos hablando, primero es el caso que lees y entiendes esta tarjeta.]

No hace falta decir que es posible definir fácilmente dos automatizaciones que, cuando el estado cambia "en casa"Y"fuera de la casa"(Y viceversa) de los inquilinos"hacer cosas"Automáticamente para nosotros.

Las entidades para monitorear para implementar estas automatizaciones son típicamente los de tipo "Device Tracker", Que rappresentido - en el proprimer estado: la presencia de cada inquilino.

Device Tracker

El primer paso, por lo tanto, es adquirir tantas entidades tipo "Device Tracker" cuantos inquilinos del ambiente domótico. En esencia, cada uno de los inquilinos usará el prosu teléfono inteligente para comunicarse con el sistema de automatización del hogar proposición.

N.b. La domotica personal basado en Home Assistant non viola la privacy dei suoi utenti: toda la información relacionada con los estados (incluida la del componente "Device Tracker") Se recopilan LOCALMENTE y no se transmiten a nessuna realtà esterna. Para los más escépticos: Home Assistant es una projet Open Source, lo que significa que el código fuente está abierto, de ahí su comportamiento - comprovato - es verificabile por cualquiera Obviamente, cualquier servicio externo utilizado para recopilar el puesto es responsable de administrar esa información específica.

Para obtener entidades "Device Tracker"Las técnicas son las más dispares: la implementación de una o más plataformas secundarias de este componente permite adquirir estas entidades.

Mejores prácticas

Cuando elapp nativo para comprobar Home Assistant medio Android (programado para el verano 2019), se cubrirá el 100% de los casos. Usuarios de iOS, de hecho, simplemente instalando en proprimer teléfono inteligente elapp nativo "Home Assistant Compañero"(Que utiliza la plataforma"Home Assistant Appel iOS") Implícitamente equiparse con un proprimeroDevice Tracker". Cuando incluso Android estará en la misma situación, el proproblema de adquirir el propri tracker será resuelto.

Hasta entonces

Quien usa solamente Android, por otro lado, debe inevitablemente (por ahora) use solo una o más de las plataformas de detección de presencia.

Entre los más utilizados en estos casos:

agrupamiento

Obtenido el "Device Tracker"Lo que necesitamos lo necesitamos para crear una entidad de tipo"Group"Cual rappla unidad familiar está presente.
Asumamos que la familia es rappdado por las siguientes tres entidades "Device Tracker"

  • device_tracker.marco
  • device_tracker.daniela
  • device.tracker.giorgia

Crear un grupo "familiar" es fácil, solo agregue en configuración:

group:
  famiglia:
    entities:
      - device_tracker.marco
      - device.tracker.daniela
      - device.tracker.giorgia

que generará la entidad "group.famiglia".

Los grupos de "Device Tracker"Tienen solo dos estados posibles"HOGAR"Y"not_home". El estado se convierte en "HOGAR"Cuando incluso uno de los device el rastreador está en casa, ya que se conviertenot_home"Cuando todos están lejos de casa.

Sí, pero ¿dónde está "casa"?

Ubicación

Es importante definir en la configuración la posición absoluta de la procasa. Si usamos plataformas de detección de presencia que usan GPS (otros usan otros métodos, como el Nmap) como información fundamental, es obvio que esta información debe compararse con una posición geográfica absoluta.

Para indicar la posición de "inicio", simplemente vaya a "ajustes">"General"Del menú Home Assistant y coloque el cursor en el punto correcto de la mappy finalmente haga clic en "Ahorrar".

automatizaciones

Bueno: tenemos nuestro "Device Tracker", Los hemos agrupado, hemos indicado la posición de" Inicio ". somos pronti para definir las dos automatizaciones que gestionarán el abandono o el regreso a casa.

SALIDA
automation:
- alias: "USCITA"
  initial_state: 'on'
  trigger:
    platform: state
    entity_id: group.famiglia
    from: 'home'
  condition: []
  action: []
ENTRADA
- alias: "RIENTRO"
  initial_state: 'on'
  trigger:
    platform: state
    entity_id: group.famiglia
    to: 'home'
  condition: []
  action: []

NB Como puede ver, la primera automatización se dispara con el cambio de paso "del estado HOGAR a cualquier otro estado"Mientras que el segundo"cuando el estado se convierte HOGAR". Sería más intuitivo configurar el primer "da HOGAR a not_home"Y el segundo"da not_home a HOGAR", Pero la configuración proel correo es más efectivo para frenar el potencial proproblemas de estados "espurios" que a veces pueden suceder. Propara creer

Ahora, todo lo que necesita hacer es indicar en los bloques "action"Qué hacer en los dos casos.

Acción

Obviamente, todo depende de lo que tenga disponible y de lo que quiera hacer. En el bloque action, como en todo automatizaciones, la ejecución se realiza en secuencia, por lo tanto será necesario lista de servicios y entidades que se evocarán tras la ejecución.

LUCI

Digamos que queremos apaga todas las luces. El bloque action para agregar a la automatización "automation.uscita"Lo definido anteriormente es simple:

  action:
    - service: light.turn_off
      entity_id: group.all_light

No indicamos una por una todas las luces: explotamos el grupo preferido "group.all_lights"Asociado al servicio"light.turn_off".

Digamos, en cambio, que desea activar un retorno específico: el bloque action para agregar a la automatización "automation.rientro"Lo definido anteriormente es simple:

  action:
    - service: light.turn_on
      entity_id: light.ingresso

y así sucesivamente.

CONVOCAR UNA ESCENA

Una buena práctica es usar escenas predefinidas para dividir el código de una manera más limpia.
Imaginemos definir dos escenas, una para la salida y otra para el regreso:

scene:
- name: Uscita
  entities:
    alarm_control_panel.allarme:
      state: armed_away
      code: 1234
    group.all_lights: off
    switch.acqua: on
    switch.gas: on
    switch.utenze: off
    media_player.tv: off
    script.vacuum_on: on
    script.uscita_sequence: on
- name: Rientro
  entities:
    alarm_control_panel.allarme:
      state: disarmed
      code: 1234
    switch.acqua: on
    switch.gas: on
    switch.utenze: on
    script.vacuum_to_dock: on
    script.rientro_sequence: on

Estas dos escenas ("scene.uscita"Y"scene.ritorno") Establecer una serie completa de estados:

  • (el primero) apaga todas las luces;
  • conjunto la alarma domotizzato su Home Assistant (entidad "alarm_control_panel.allame");
  • conjunto agua y gas (entidad "switch.acqua"Y"switch.gas");
  • establecer utilidades ("switch.utenze")
  • apague el televisor en la salida (si permaneció encendido ... entidad "media_player.tv");
  • comenzar el robot aspirador en la salida y detenerlo en el camino de regreso, si aún no ha terminado de girar (convocando a uno guión);
  • comenzar dos diferentes guión para cualquier secuencia condicional (varias cosas, tal vez no sean manejables simplemente configurando un estado a través de la escena).

Las respectivas automatizaciones se convierten en:

SALIDA
automation:
- alias: "USCITA"
  initial_state: 'on'
  trigger:
    platform: state
    entity_id: group.famiglia
    from: 'home'
  condition: []
  action:
    - service: scene.turn_on
      entity_id: scene.uscita
ENTRADA
- alias: "RIENTRO"
  initial_state: 'on'
  trigger:
    platform: state
    entity_id: group.famiglia
    to: 'home'
  condition: []
  action:
    - service: scene.turn_on
      entity_id: scene.rientro

Notificaciones

Digamos que tenemos "Notificaciones"Y desea recibir una notificación cuando se activen una o ambas automatizaciones. Será suficiente agregar action El bloque típico utilizado en otras automatizaciones, por ejemplo:

    - service: notify.mio_telefono
      data:
        data:
          push:
            badge: 1
        title: Domotica
        message: "Allarme DISARMATO. Bentornato a casa."

Altavoz inteligente

Asumamos que tenemos:

Queremos (pero es solo un ejemplo para que la gente entienda las amplias posibilidades en estos escenarios) que, al regresar a casa, Home Assistant espera a que se abra la puerta de entrada para hacer proanuncie un mensaje de saludo (aleatorio, entre tres preajustes) y uno estadístico (temperatura y calidad del aire) al altavoz inteligente Alexa.

La secuencia a insertar en el bloque action podría ser:

      - wait_template: "{{ is_state('binary_sensor.contatto_ingresso', 'on') }}"
        timeout: '00:30:00'
        continue_on_timeout: 'false'
      - delay:
          seconds: 5
      - service: notify.alexa_media
        data:
          target:
            - media_player.alexa
          data:
            type: announce
            method: speak
          message: >
             {{ [
             "Bentornato a casa!",
             "Guarda chi si vede!",
             "Casa dolce casa."] | random }} La temperatura media è di {{ ((states("sensor.temperatura_sala")|float + states("sensor.temperatura_camera")|float )/2)|float|round(1)}} gradi, la qualità dell'aria è {{ states.sensor.air_quality.state }}.

Primero, la secuencia espera por treinta minutos abrir la puerta de entrada (tiempo para estacionar, escalar, etc.); una vez que la puerta está abierta, mire unos segundos (cinco) y luego proanunciar el mensaje a Alexa.

Salir y volver a casa (u otros lugares): notificaciones de domótica Home Assistant


Home Assistant Logo oficialATTENZIONE: recuerda que hay en nuestra comunidad FORO una sección ad hoc dedicada a Home Assistant, para cualquier duda, pregunta, información en el mérito específico de estos componentes.


Por favor comente abajo