Déduire le sommeil des locataires dans une domotique avec Home Assistant

5 minutes de lecture
BUTS DE PROJET:
  • Utiliser un approsystème déductif pour déterminer l'état de sommeil des locataires d'un environnement
  • Niveau de difficulté: basso
  • Coût: na
CONCEPTS FACE:
COMPOSANTS LOGICIELS UTILISÉS:
DISPOSITIFS PHYSIQUES UTILISÉS:
  • Le périphérique dans lequel il s'exécute Home Assistant, en plus, bien sûr, de l’appareil électroménager à enregistrer et du capteur domotique nécessaire pour déterminer l’état (expliqué à la projet)
  • Divers (voir projet)
PROJET LE PLUS INDIQUÉ POUR:

Tous les environnements

Notes et avertissement
  • qualsiasi modifica all'impianto elettrico dev'essere effettuata da personale qualificato;
  • tout changement mis en œuvre dans proavant est un prola responsabilité personnelle, ainsi que propremier risque et danger (ce guide est à des fins éducatives uniquement);
  • tout changement mis en œuvre dans proavant qu'un appareil annule la garantie.
Revisione projet: 1.0

Abstrait

petit domireCela peut sembler une blaguemais ce n’est pas le cas: déduire l’état de s’endormir d’une famille au moyen de la domotique personnelle est tout sauf superflu.

Automatiser le comportement d'une maison avec la domotique personnelle en ce qui concerne la présence ou l'absence de locataires ce n'est pas particulièrement difficile, surtout lorsqu'il est utilisé HUB personnelle comme Home Assistant, Homey ou des écosystèmes comme Apples HomeKits. Habituellement, il suffit de configurer celui qui est lié app gestion sur les smartphones de toute la famille pour s'assurer que, à la sortie de tous les éléments (ou même le retour d'un seul membre), la domotique provveda effectuer des actions (Par défaut) en pleine autonomie.

La phase de sommeil est l'une des plus importantes de la journée: le repos, comme on le sait, est sacré. Connaître cette phase du point de vue de la domotique personnelle, comme mentionné ci-dessus, peut être particulièrement utile activer des automatismes importants pendant la nuit, comme par exemple l'armo du système dealarme en mode "présence" (c'est-à-dire pour n'activer que la surveillance de l'ouverture des portes); la fermeture automatique de l'alimentation en eau et en gaz peut également être utile, ainsi que la mise hors tension de sections entières du système électrique non utilisées pendant la nuit.

cette projet est destiné à définir, à Home Assistant, une entité de type "Modèle binaire Sensor"Ce qui détermine, de manière empirique, quand il est possible de considérer la famille "dormant" (état "ON") Et quand non (état"SUR").
Enfin, nous verrons comment utiliser sur le terrain automation ce type de capteur.

Nb cette projet n'a aucune présomption pour résoudre le problème, mais seulement pour déclencher la raisonnamedans une perspective éducative complète. Il est en effet évident que la spécificité de chaque maison, de chaque famille influence la résolution du proBlema.

Analyse

Comme prévu, l’idée est de définir un "Modèle binaire Sensor"Ce qui, basé sur l'observation empirique d'une ou plusieurs métriques, détermine si la famille est en train de dormir ou pas.

Tout d'abord, il est nécessaire de supposer l'existence d'une entité de type groupe quel rappavec le groupement logique du "Device Tracker“, Qui individuellement rappmembres de la famille renvoyés. Quelles que soient les plates-formes utilisées pour définir ces trackers, nous supposerons que ce groupe s'appelle "group.famiglia", Qui peut assumer (automatiquement, par nature) les valeurs"Accueil"Et"not_home"(Ou" à la maison "et" loin de la maison "). L'état "Accueil"Est présent quand au moins un élément de la famille résulte dans la maison, tandis que “not_home"Quand tous les articles sont loin de chez eux.

Nous verrons ensuite différentes techniques pour établir plus ou moins efficacement la phase de sommeil ou de réveil.

Sensore

Définir est un "modèle binaire" Sensor"Est plutôt élémentaire. Il suffit en effet d'introduire dans configuration un bloc de ce type:

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

Le champ "value_template"Est l’auteur de l’état que le capteur assumera au fil du temps.
Si haut Home Assistant il y avait une lumière appelée "light.tavolo”Et nous avons réalisé un capteur comme suit:

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

le capteur consécutif "binary_sensor.stato_luce"Je présenterais l'état"on"Chaque fois que la lumière est allumée et"offre"Au contraire, quand éteint. En substance, lorsque la condition indiquée dans le champ "value_template"Le statut du" Modèle binaire est vrai Sensor"Prend de la valeur"on».

Ce que nous ferons alors est de définir "value_template”Qui évaluent le statut de présence de la famille e une série d'autres états.

Basé sur le temps

Le plus simple des choix, mais aussi le plus imprécis. Supposons donc que la famille, dans un certain créneau horaire (disons de 1 à 7 le matin), si elle est présente à la maison dort.

La configuration pourrait être le suivant:

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

depuis la condition "value_template"Ne sera vrai qu'en présence de la famille et entre un et sept ans dans ce cas"binary_sensor.sonno_famiglia"Assumerait le statut"on».

Selon les lumières

À moins qu'ils ne soient des vampires, ils dorment habituellement la nuit avec les lumières éteintes.
On se souvient de la présence (automatique) du groupe "group.all_lights"Ce rappsents, appgraisse, toutes les lumières intégrées un Home Assistant: ce groupe assume le statut "offre"Quand toutes les lumières sont éteintes.

Pour faire varier le capteur ci-dessus, nous ajoutons également cette condition:

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

les trois conditions sont toutes dans ETdonc la condition générale du capteur devient vraie (et donc le capteur “on") Seulement entre un et sept heures, si la famille à la maison et les lumières sont éteintes.

Basé sur le bruit

Enfin, si nous avons un capteur de bruit (par exemple, un Broadlink A1 e-Air ou, mieux encore, un Minut Point), nous pouvons utiliser cette fonctionnalité pour définir l’état de repos.

Dans le deuxième cas (Minut Point), nous aurions non pas une indication générique (avec Broadlink A1 on obtient une lecture assez grossière, mais toujours valide) mais ponctuel: le nombre de dB détecté dans la pièce où se trouve le capteur. après l'avoir intégré et après une période d'observation empirique nécessaire (capable de comprendre le niveau de bruit nocturne), nous pourrions en fait définir un capteur qui, en évaluant également (ou uniquement) le nombre de décibels, détermine si nous dormons ou non.

Prendre le capteur pour acquis "sensor.minut_sound_level"(Dérivant de laintégration d'un Minut Point), nous modifions toujours la configuration ci-dessus:

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

Dans cet exemple, le "Modèle binaire Sensor"Assumera l'état"on"Seulement entre une heure et sept heures la nuit, avec les lumières éteintes, un bruit inférieur à 30dB et à la famille dans la maison.

Utilisation du capteur

Modélisé notre capteur "binary_sensor.sonno_famiglia"C'est propour une utilisation - généralement sur le terrain automation.

Le premier exemple est celui de l'utilisation comme trigger pour déclencher des activités nocturnes. En fait, disons que nous voulons couper l'eau et le gaz (nous supposons la présence des interrupteurs "switch.acqua"Et"switch.gas") Et veux activer une alarme intégrée avec Home Assistant (entité)alarm_control_panel.alarme") En mode" armé de nuit ":

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

Notez l'utilisation de "pour"Dans la section trigger: depuis "binary_sensor.sonno_famiglia"De par sa nature même, il est sujet aux fluctuations d'état, à l'utilisation"pour"Garantit que son statut est stable pendant au moins 30 minutes avant de déclencher l'automatisation.

De même "binary_sensor.sonno_famiglia"Peut être utilisé comme un élément conditionnel à la fois dans automations que dans d’autres domaines (par exemple dans scénario).

Dans l'automatisation suivante:

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

quel est le trigger, L 'action (qui à son tour) est effectué uniquement en présence de l'état "on"Du capteur"binary_sensor.sonno_famiglia", Donc si la famille est endormie. Vice versa, en réglant la valeur sur “offre", L'exécution n'est garantie qu'en état de veille.

Pour les plus courageux

Nous conseillons les plus audacieux à voir du capteur bayésien disponible Home Assistant: cela vous permet de applicare il Théorème de Bayes pour le calcul de prola possibilité d'événements se produisent. Ce théorème - à travers cette plate-forme - peut être apputilisé pour déterminer la propossibilité que la famille se soit endormie, en plus des considérations ci-dessus.


Home Assistant Logo officielATTENZIONE: rappelez-vous qu'il y a sur notre communauté FORUM une section ad hoc dédiée à Home Assistantpour tout doute, question, information sur le mérite spécifique de ces composants.


Veuillez commenter ci-dessous