Automatisation Interaction avec votre smartphone

Bj

je vous partage une automatisation interactive qui va affiché un popup sur votre votre téléphone en cas d’absence .

Pour commence crée un binary_sensor du style:


  - platform: template 
    sensors:

      presence_domicile:
        unique_id: presence_domicile_tracker
        friendly_name: " Présence Domicile Tracker "
        value_template: >-
          {{is_state('device_tracker.phone_XXXX', 'home') or is_state('device_tracker.phone_XXXX', 'home')}}

Ensuite aller dans automatisation et collé ceci ( pensé a modifier les jours semaine si besoin, les devices

pour mes chauffages quand tout le monde est absent

alias: "[ INTERACTION ] Les chauffages sont restés allumés"
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.home_presence
    from: "on"
    to: "off"
condition:
  - condition: and
    conditions:
      - condition: time
        weekday:
          - mon
          - tue
          - wed
          - thu
          - fri
          - sat
          - sun
        alias: Est-ce un jour de semaine ?
      - condition: or
        conditions:
          - condition: state
            entity_id: climate.thermostat_chambre
            state: heat
          - condition: state
            entity_id: climate.thermostat_cuisine
            state: heat
          - condition: state
            entity_id: climate.thermostat_salle_de_bain
            state: heat
          - condition: state
            entity_id: climate.thermostat_salon
            state: ""
        alias: Les chauffages sont-ils allumés ?
action:
  - alias: Définir des variables pour les actions
    variables:
      action_no: "{{ 'NO_' ~ context.id }}"
      action_turnoff: "{{ 'TURNOFF_' ~ context.id }}"
  - alias: Notify Mobile
    service: notify.mobile_app_XXXXXXX
    data:
      message: Les chauffages sont toujours allumées. Éteindre ?
      data:
        actions:
          - action: "{{ action_turnoff }}"
            title: Éteindre les chauffages
          - action: "{{ action_no }}"
            title: Laisser Allumé
    enabled: false
  - alias: Notify Mobile
    service: notify.mobile_app_XXXXXXX
    data:
      message: Les chauffages sont toujours allumées. Éteindre ?
      data:
        actions:
          - action: "{{ action_turnoff }}"
            title: Éteindre les chauffages
          - action: "{{ action_no }}"
            title: Laisser Allumé
  - alias: Attendre la réponse
    wait_for_trigger:
      - platform: event
        event_type: mobile_app_notification_action
        event_data:
          action: "{{ action_no }}"
        context:
          user_id:
            - 543e2d3b33644370ba8216600c3c965e
            - 065aee2fc9284c4e9d463c1b04e8659a
      - platform: event
        event_type: mobile_app_notification_action
        event_data:
          action: "{{ action_turnoff }}"
        context:
          user_id:
            - 543e2d3b33644370ba8216600c3c965e
            - 065aee2fc9284c4e9d463c1b04e8659a
  - alias: Exécuter l'action
    choose:
      - conditions: "{{ wait.trigger.event.data.action == action_no }}"
        sequence: []
      - conditions: "{{ wait.trigger.event.data.action == action_turnoff }}"
        sequence:
          - service: climate.turn_off
            data: {}
            target:
              entity_id:
                - climate.thermostat_chambre
                - climate.thermostat_cuisine
                - climate.thermostat_salle_de_bain
                - climate.thermostat_salon
mode: single

Donc en cas d’absence de la famille , HA envoi ceci sur votre smartphone

1 « J'aime »

Un second pour la lumières
Qui est lui fonction avec le levé du soleil

C’est ta dire que quand le soleil se lève et que HA voit une lumière allumé il vous prévient

alias: "[ INTERACTION ] Les lumières du salon sont restées allumées"
description: ""
trigger:
  - platform: sun
    event: sunrise
    offset: 0
condition:
  - condition: and
    conditions:
      - condition: time
        weekday:
          - mon
          - tue
          - wed
          - thu
          - fri
          - sat
          - sun
        alias: Est-ce un jour de semaine ?
      - condition: or
        conditions:
          - condition: state
            entity_id: light.lumiere_salon_gauche
            state: "on"
          - condition: state
            entity_id: light.lumiere_salon_centre
            state: "on"
          - condition: state
            entity_id: light.lumiere_salon_droit
            state: "on"
          - condition: state
            entity_id: light.lumiere_lampadaire
            state: "on"
        alias: Les lumières du salon sont-elles allumées ?
action:
  - alias: Définir des variables pour les actions
    variables:
      action_no: "{{ 'NO_' ~ context.id }}"
      action_turnoff: "{{ 'TURNOFF_' ~ context.id }}"
  - alias: Notify Mobile
    service: notify.mobile_app_XXXXXXXXX
    data:
      message: Les lumières du salon sont toujours allumées. Éteindre ?
      data:
        actions:
          - action: "{{ action_turnoff }}"
            title: Éteindre les lumières
          - action: "{{ action_no }}"
            title: Laisser Allumé
  - alias: Notify Mobile
    service: notify.mobile_app_XXXXXXX
    data:
      message: Les lumières du salon sont toujours allumées. Éteindre ?
      data:
        actions:
          - action: "{{ action_turnoff }}"
            title: Éteindre les lumières
          - action: "{{ action_no }}"
            title: Laisser Allumé
  - alias: Attendre la réponse
    wait_for_trigger:
      - platform: event
        event_type: mobile_app_notification_action
        event_data:
          action: "{{ action_no }}"
        context:
          user_id:
            - 543e2d3b33644370ba8216600c3c965e
            - 065aee2fc9284c4e9d463c1b04e8659a
      - platform: event
        event_type: mobile_app_notification_action
        event_data:
          action: "{{ action_turnoff }}"
        context:
          user_id:
            - 543e2d3b33644370ba8216600c3c965e
            - 065aee2fc9284c4e9d463c1b04e8659a
  - alias: Exécuter l'action
    choose:
      - conditions: "{{ wait.trigger.event.data.action == action_no }}"
        sequence: []
      - conditions: "{{ wait.trigger.event.data.action == action_turnoff }}"
        sequence:
          - service: light.turn_off
            data: {}
            target:
              entity_id:
                - light.lumiere_palier
                - light.lumiere_entree
                - light.lumiere_cuisine
                - light.lumiere_hotte
                - light.lumiere_evier
                - light.lumiere_salon_centre
                - light.lumiere_salon_droit
                - light.lumiere_salon_gauche
                - light.lumiere_lampadaire
                - light.lumiere_toilette
                - light.lumiere_chevet_gauche
                - light.lumiere_chambre
                - light.lumiere_chevet_droit
                - light.lumiere_salle_de_bain
                - light.mirroir
mode: single

1 « J'aime »

Salut

Tu n’es pas obligé de créer un binary_sensor, tu peux utiliser l’entité native « zone.home » qui te donne le nombre de personnes présente.
Donc si zone.home = 0 => il n’y a plus personne.

1 « J'aime »

Je sais
chacun fait a sa sauce pour ce qui du/des déclencheurs

j’ai plusieurs automation qui fonctionne avec un binary d’autre avec zone avec le leve et couché du soleil …

J’ai juste donné une base pour les nouveaux venu pour qui comprenne un peu comment cela fonctionne

:slight_smile: