Sortir et rentrer chez soi: domotique via automatisation Home Assistant

6 minutes de lecture

Sans problèmes, une des choses plus de chattes de domotique personnelle est la voir la proavant de rentrer à la maison, viens par magie, actions automatiques en partant et en revenant.

Nous quittons la maison (tous), et l'eau et le gaz sont fermés par eux-mêmes, l'alarme est activée, toutes les lumières s'éteignent, les prises non essentielles sont désactivées, toutes les notifications de détection (inondation, fumée, etc.) passent en mode d'armement, le tapparelle sont abaissés. Même un seul de la famille à la maison, et les services publics sont réactivés, à l’ouverture de la porte d’entrée la nôtre haut-parleur intelligent nous salue en nous donnant la lecture des données télémétriques de la maison (température moyenne, durée de l’absence, éventuels événements mineurs détectés). La limite est fantasmatique, jamais comme ça.

Home Assistant cela nous aide beaucoup dans la mise en œuvre de ces scénarios automatiques grâce à probase sa flexibilité de configuration automations.

Abstrait

Comprendre la logique d’une sortie et / ou d’une automatisation d’entrée est très simple: faites-le simplement comprendre. le concept de changement d'état d'une entité Home Assistant.

Comme sappLaissez-nous tous entité (de tout type) possède un propremier état qui se qualifie, appoint, la condition instantanée. Un exemple classique est celui des commutateurs: généralement une entité de ce type a un statut "on"Ou"offre». Lorsque le statut change, ce changement est enregistré par le "bus d'état" duHUB et, si configuré dans un trigger d'un ou plusieurs automatismes, provvede à innescala / e.

[Nb Si vous ne savez pas de quoi nous parlons, c'est d'abord le cas où vous lisez et comprenez cette carte.]

Il va sans dire qu'il est possible de définir facilement deux automatisations qui, lorsque l'état change "dans la maison" une "en dehors de la maison"(Et vice versa) des locataires"faire des choses"Automatiquement pour nous.

Les entités surveiller pour mettre en œuvre ces automatisations ils sont typiquement ceux de type "Device Tracker“, Qui rapprenvoyer - dans le propremier état - la présence de chaque locataire.

Device Tracker

La première étape consiste donc à acquérir autant d’entités de type "Device Tracker" combien de locataires de l'environnement domotique. En substance, chacun des locataires utilisera le provotre smartphone pour communiquer avec le système domotique prola position.

N.b. La domotica personnel basé sur Home Assistant non viola la privacy dei suoi utenti: toutes les informations relatives aux états (y compris celle du composant "Device Tracker") Sont collectés LOCALEMENT et ne sont pas transmis a nessuna realtà esterna. Pour les plus sceptiques: Home Assistant est un projet Open Source, ce qui signifie que le code source est ouvert, d’où son comportement - comprovato - est verificabile par n'importe qui. Il est évident que tous les services externes utilisés pour collecter le poste sont responsables de la gestion de ces informations spécifiques.

Définir des entités "Device Tracker«Lié à proles techniques de smartphone ils sont les plus disparates: la mise en œuvre d'une ou plusieurs plateformes filles de cette composante permet d'atteindre le but recherché; bien que les plates-formes d'intégration liées aux composantsDevice Tracker"Sont nombreux, même simplement en installant sur le propremier smartphone leapp natif "Home Assistant Compagnon"Les utilisateurs s’équipent indirectement avec un propremier traceur GPS. C’est le chemin que nous prenons habituellement et nous le recommandons.

regroupement

Obtenu le "Device Tracker"Ce dont nous avons besoin, nous avons besoin de créer une entité de type"Groupe"Qui rappla cellule familiale est présente.
Supposons que la famille est rappdonnée par les trois entités suivantes "Device Tracker"

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

Créer un groupe "familial" est facile, il suffit d'ajouter en configuration:

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

qui va générer l'entité "group.famiglia».

Les groupes de "Device Tracker"Ils n'ont que deux états possibles"Accueil"Et"not_home». L'Etat devient "Accueil"Quand même l'un des device tracker est à la maison, car il devientnot_home"Quand tout le monde est loin de chez soi.

Oui, mais où est la "maison"?

Lieu

Il est important de définir dans la configuration la position absolue du prola maison. Si nous utilisons des plates-formes de détection de présence utilisant le GPS (d’autres utilisent d’autres méthodes, comme le NMAP) en tant qu’information essentielle, il est évident que cette information doit être comparée à une position géographique absolue.

Pour indiquer la position "à la maison", allez simplement à "réglages">"général”Du menu Home Assistant et placez le curseur sur le bon point du mappet enfin cliquez sur "Sauver».

automations

Bon: nous avons notre "Device Tracker", Nous les avons regroupés, nous avons indiqué la position de" Maison ". nous sommes pronti pour définir les deux automatismes qui gèreront l'abandon ou le retour à la maison.

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

Nb Comme vous pouvez le constater, la première automatisation se déclenche avec le changement de passage “de l'état Accueil a tout autre état"Alors que le second"quand l'état devient Accueil». Il serait plus intuitif de configurer le premier "da Accueil a not_home"Et le second"da not_home a Accueil", Mais la configuration prole courrier est plus efficace pour limiter le potentiel proproblèmes d’états "parasites" qui peuvent parfois se produire. Proà croire.

Maintenant, tout ce que vous avez à faire est d’indiquer par blocsaction"Que faire dans les deux cas.

Action

Évidemment, tout dépend de ce que vous avez à votre disposition et de ce que vous voulez faire. Dans le bloc action, comme dans tout automations, l'exécution se fait en séquence, il faudra donc liste des services et entités à évoquer lors de l'exécution.

LUCI

Disons que nous voulons éteindre toutes les lumières. Le bloc action ajouter à l'automatisation "automation.uscita"Ci-dessus défini est simple:

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

Nous n'indiquons pas une à une toutes les lumières: nous exploitons le groupe préféré "group.all_lights"Associé au service"light.turn_off».

Disons plutôt que vous voulez activer un retour spécifique: le bloc action ajouter à l'automatisation "automation.rientro"Ci-dessus défini est simple:

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

et ainsi de suite.

SUMMON A SCENE

Une bonne pratique consiste à utiliser scènes prédéfinies, afin de diviser le code d'une manière plus propre.
Imaginons définir deux scènes, une pour la sortie et une pour le retour:

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

Ces deux scènes ("scene.uscita"Et"scene.ritorno") Définir toute une série d'états:

  • (le premier) éteint toutes les lumières;
  • ensemble l'alarme domotizzato su Home Assistant (entité)alarm_control_panel.allame»);
  • ensemble eau et gaz (entité)switch.acqua"Et"switch.gas»);
  • set utilities ("switch.utenze")
  • éteignez le téléviseur à la sortie (s'il est resté allumé .. entité "media_player.tv»);
  • commencer le robot aspirateur à la sortie et arrêtez-la au retour, si elle n’a pas encore fini de tourner (en invoquant une scénario);
  • commencer deux différents scénario pour toute séquence conditionnelle (choses diverses, peut-être impossible à gérer simplement en définissant un statut via une scène).

Les automatisations respectives deviennent donc:

SORTIE
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
ENTRÉE
- alias: "RIENTRO"
  initial_state: 'on'
  trigger:
    platform: state
    entity_id: group.famiglia
    to: 'home'
  condition: []
  action:
    - service: scene.turn_on
      entity_id: scene.rientro

notifications

Disons que nous avons "Notifications”Et souhaitez être averti lorsque l'un ou les deux automatismes sont activés. Il suffira d'ajouter dans action le bloc typique utilisé dans d'autres automatisations, par exemple:

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

Haut-parleur intelligent

Supposons que nous avons:

Nous voulons (mais c’est juste un exemple pour faire comprendre aux gens les nombreuses possibilités offertes par ces scénarios): en rentrant à la maison, Home Assistant attendez que la porte d'entrée s'ouvre faire proannoncer un message de bienvenue (aléatoire, entre trois préréglages) et un message statistique (température et qualité de l'air) à l'enceinte intelligente Alexa.

La séquence à insérer dans le bloc action pourrait être:

      - 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 }}.

Tout d'abord, la séquence attend pendant trente minutes ouvrir la porte d'entrée (temps nécessaire pour se garer, grimper, etc.); une fois la porte ouverte, observez quelques secondes et ensuite proannoncer le message à Alexa.

Sortie et retour à la maison (ou à d’autres endroits): notifications de la domotique Home Assistant


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