Deduce el sueño de los inquilinos en una domótica con Home Assistant

5 minutos de lectura
FINES DE PROJET:
  • Usa un approsistema deductivo para determinar el estado de sueño de los inquilinos de un entorno
  • Nivel de dificultad: basso
  • Coste: na
CONCEPTOS ENFRENTADOS:
COMPONENTES DE SOFTWARE UTILIZADOS:
DISPOSITIVOS FÍSICOS UTILIZADOS:
  • El dispositivo en el que se está ejecutando Home Assistant, además, por supuesto, el electrodoméstico que se registrará y el sensor de automatización del hogar necesario para determinar el estado (explicado en projet)
  • Varios (ver projet)
PROJET MÁS INDICADO PARA:

Todos los ambientes

Notas y descargo de responsabilidad
  • qualsiasi modifica all'impianto elettrico dev'essere effettuata da personale qualificato;
  • cualquier cambio implementado en proantes es un proresponsabilidad personal, así como un proprimer riesgo y peligro (esta guía es solo para fines educativos);
  • cualquier cambio implementado en proantes de que un dispositivo anule la garantía.
Revisione projet: +1.0

Abstract

domire pequeñoPuede parecer una bromapero no lo es: deducir el estado de quedarse dormido de una familia a través de la domótica personal es todo menos superfluo.

Automatice el comportamiento de un hogar con domótica personal con respecto a la presencia o ausencia de inquilinos no es particularmente difícil, especialmente cuando se usa HUB personal como Home Assistant, Homey o ecosistemas como Applos HomeKits Por lo general, es suficiente configurar el relacionado app gestión en teléfonos inteligentes de toda la familia para garantizar que, a la salida de todos los elementos (o incluso el regreso de un solo miembro), la automatización del hogar provveda para realizar acciones (Por defecto) en plena autonomía.

La fase de sueño es una de las más importantes del día: el descanso, como se sabe, es sagrado. Conocer esta fase desde el punto de vista de la domótica personal, como se mencionó anteriormente, puede ser particularmente útil para activar automatismos importantes durante la noche, como por ejemplo la armadura del sistema dealarma en modo "presencia" (es decir, para activar solo la supervisión de la apertura de las puertas); También puede ser útil el cierre automático del suministro de agua y gas, así como la desconexión de secciones enteras del sistema eléctrico que no están en uso durante la noche.

este projet está destinado a definir, en Home Assistant, una entidad tipo "Plantilla binaria Sensor"Lo que determina, empíricamente, cuando es posible considerar a la familia "durmiendo" (estado "ON") Y cuando no (estado"APAGADO").
Finalmente veremos cómo usarlo en el campo automatización Este tipo de sensor.

NB este projet no tiene presunción para resolver el problema, pero solo para desencadenar la razónnameen perspectiva educativa completa. De hecho, es evidente que la especificidad de cada casa, de cada familia, influye en la resolución de proBlema.

Análisis

Como se anticipó, la idea es definir una "Plantilla Binaria Sensor"Lo cual, basado en la observación empírica de una o más métricas, determina si la familia está durmiendo o no.

Primero, es necesario asumir la existencia de una entidad tipo grupo cual rappcon la agrupación lógica de "Device Tracker", Que individualmente rappmiembros de la familia se resienten. Independientemente de las plataformas utilizadas para definir estos rastreadores, asumiremos que este grupo se llama "group.famiglia", Que puede asumir (automáticamente, por naturaleza) los valores"HOGAR"Y"not_home"(O" en casa "y" fuera de casa "). El estado "HOGAR"Está presente cuando al menos un elemento de la familia resulta en la casa, mientras que "not_home"Cuando todo Los artículos están fuera de casa.

A continuación veremos varias técnicas para establecer de manera más o menos efectiva la fase de sueño o vigilia.

Sensore

La definición es una "plantilla binaria" Sensor"Es bastante elemental. De hecho, es suficiente introducir en configurazione un bloque de este tipo:

binary_sensor:
  - platform: template
    sensors:
      sonno_famiglia:
        value_template: ""

El campo "value_template"Es el autor del estado que, con el tiempo, asumirá el sensor.
Si arriba Home Assistant había una luz llamada "light.tavolo"Y nos dimos cuenta de un sensor de la siguiente manera:

binary_sensor:
  - platform: template
    sensors:
      stato_luce:
        value_template: "{{ is_state('light.tavolo','on') }} "

el sensor consecuente "binary_sensor.stato_luce"Presentaría estado"on"Cada vez que se enciende la luz y"WOW!"Por el contrario, cuando está apagado. En esencia, cuando la condición indicada en el campo "value_template"El estado de la" Plantilla binaria es verdadero Sensor"Toma valor"on".

Lo que haremos entonces es definir "value_template¿Quién evalúa el estado de presencia de la familia? e Una serie de otros estados.

Basado en el tiempo

La más simple de las opciones, pero también el más inexacto. Así que supongamos que la familia, en un cierto intervalo de tiempo (digamos de 1 a 7 en la mañana), si está presente en casa está durmiendo.

La configuración podría ser lo siguiente:

binary_sensor:
  - platform: template
    sensors:
      sonno_famiglia:
        value_template:  >
          "{
          is_state("group.famiglia","home")
          and
          (now().hour >1 and now().hour <7)
          }"

desde la condición "value_template"Será cierto solo en presencia de la familia y entre uno y siete en ese caso"binary_sensor.sonno_famiglia"Asumiría el estado"on".

De acuerdo a las luces

A menos que sean vampiros, generalmente duermen de noche con las luces apagadas.
Recordamos la presencia (automática) del grupo "group.all_lights"Que rappsenta, appgrasa, todas las luces integradas a Home Assistant: este grupo asume el estado "WOW!"Cuando todas las luces están apagadas.

Para variar el sensor anterior, también agregamos esta condición:

binary_sensor:
  - platform: template
    sensors:
      sonno_famiglia:
        value_template:  >
          "{
          is_state("group.famiglia","home")
          and
          (now().hour >1 and now().hour <7)
          and
          is_state("group.all_light","off")
          }"

las tres condiciones están todas en Y, por lo tanto, la condición general del sensor se vuelve verdadera (y por lo tanto el sensor "on") Solo entre la una y las siete en punto, si la familia en casa y las luces están apagadas.

Basado en el ruido

Finalmente, si tenemos un sensor de ruido (por ejemplo, un Broadlink A1 e-Air o, mejor aún, un Minut Point), podemos usar esta función para definir el estado de reposo.

En el segundo caso (Minut Point) no tendríamos disponible una indicación genérica (con Broadlink A1 se obtiene una lectura bastante gruesa, pero aún válido) pero puntual: el número de dB detectados en la habitación donde se encuentra el sensor. después tenerlo integrado y después de un período necesario de observación empírica (capaz de comprender cuál es el nivel de ruido nocturno) de hecho podríamos definir un sensor que, evaluando también (o solo) el número de decibelios, determine si estamos durmiendo o no.

Dando por sentado el sensor "sensor.minut_sound_level"(Derivado de laintegración de un Minut Point), aún modificamos la configuración anterior:

binary_sensor:
  - platform: template
    sensors:
      sonno_famiglia:
        value_template:  >
          "{
          is_state("group.famiglia","home")
          and
          (now().hour >1 and now().hour <7)
          and
          is_state("group.all_light","off")
          and
          (states('sensor.minut_sound_level')|int < 30)
          }"

En este ejemplo, la "Plantilla binaria Sensor"Asumirá el estado"on"Solo entre la una y las siete de la noche, con las luces apagadas, un ruido debajo de 30dB y la familia en la casa.

Uso del sensor

Modelado nuestro sensor "binary_sensor.sonno_famiglia"Es propara uso - típicamente en el campo automatización.

El primer ejemplo es el del uso como trigger para desencadenar actividades nocturnas. De hecho, supongamos que queremos cerrar el suministro de agua y gas (asumimos la presencia de los interruptores "switch.acqua"Y"switch.gas") Y quiere activar una alarma integrada con Home Assistant (entidad "alarm_control_panel.alarma") En modo" armado nocturno ":

automation:
  trigger:
    platform: state
    entity_id: binary_sensor.sonno_famiglia
    to: 'on'
    for:
      minutes: 30
  condition: []
  action:
    - service: alarm_control_panel.alarm_armed_night
      data:
        entity_id: alarm_control_panel.allarme
        code: 1234 #codice personale
    - service: switch.turn_on
      entity: switch.acqua, switch.gas

Tenga en cuenta el uso de "para"En la sección trigger: desde "binary_sensor.sonno_famiglia"Por su propia naturaleza, está sujeto a fluctuaciones estatales, el uso de"para"Garantiza que su estado sea estable durante al menos 30 minutos antes de activar la automatización.

Del mismo modo, "binary_sensor.sonno_famiglia"Se puede utilizar como elemento condicional tanto en automatizaciones que en otras áreas (por ejemplo en el guión).

En la siguiente automatización:

automation:
  trigger: [] #indicare uno o più trigger
  condition:
    condition: state
    entity_id: binary_sensor.sonno_famiglia
    state: 'on'
  action: [] #indicare una o più action

cual es el trigger, L 'action (que a su vez) se realiza solo en presencia de estado "on"Del sensor"binary_sensor.sonno_famiglia", Entonces si la familia está dormida. Viceversa, estableciendo el valor en "WOW!", La ejecución está garantizada solo en un estado de vigilia.

Para los más valientes

Aconsejamos a los más atrevidos a ver del sensor bayesiano disponible Home Assistant: te permite applicare il Teorema de Bayes para el cálculo de proLa posibilidad de que ocurran eventos. Este teorema, a través de esta plataforma, puede ser apputilizado para determinar el proposibilidad de que la familia se haya ido a dormir, además de las consideraciones anteriores.


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