Aide automatisation serrure

Donc ajoute de quoi comprendre :

{% set lastchgt = states.automation.seba_deverrouille_nuki.last_changed %}
{{ lastchgt  }}
{% set delta = as_timestamp(now()) - as_timestamp(lastchgt)|float(0) %}
{{ delta  }}
{{ delta < 5}}

Edit … ce que tu cherches c’est la date du changement de l’empreinte digitale hein… pas la dernière exécution de l’automatisation
image

ce que je cherche a faire, comme tu me l’a conseillé plus haut. j’ai juste mis comme trigger le déverrouillage de la serrure et j’ai fait un bloc de construction « choix ». du coup pour que la partie de mon bloc se déclenche je lui ai mis comme condition l’ID du trigger et comme action attendre que le modèle soit évaluer à vrai ( soit si l’automation a été déclenché il y a moins de 5 secondes c’est que c’est bon)


alias: notification NUKI test2
description: ""
trigger:
  - platform: state
    entity_id:
      - lock.nuki
    to: unlocking
    id: nuki
    enabled: true
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - nuki
        sequence: []
      - conditions:
          - condition: trigger
            id:
              - nuki
        sequence:
          - wait_template: >-
              {% set lastchgt =
              states.automation.seba_deverrouille_nuki.last_changed %}

              {% set delta = as_timestamp(now()) -
              as_timestamp(lastchgt)|float(0) %}

              {{ delta < 5}}
            enabled: true
          - if:
              - condition: template
                value_template: "{{ not wait.completed }}"
            then:
              - service: notify.mobile_app_iphone_seba
                metadata: {}
                data:
                  message: seba a déverrouillé porte⚠️⚠️
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: seba a déverrouillé porte⚠️⚠️
          - service: notify.mobile_app_sabrina
            data:
              message: seba a déverrouillé porte⚠️⚠️
      - conditions:
          - condition: trigger
            id:
              - ios anthony
          - condition: state
            entity_id: automation.ios_anthony_deverrouille_nuki
            state: "on"
            attribute: current
        sequence:
          - service: notify.mobile_app_sabrina
            metadata: {}
            data:
              message: anthony a déverrouillé porte⚠️⚠️
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: anthony a déverrouillé porte⚠️⚠️
      - conditions:
          - condition: trigger
            id:
              - ios alissia
          - condition: state
            entity_id: automation.ios_alissia_deverrouille_nuki
            state: "on"
            attribute: current
        sequence:
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: alissia a déverrouillé porte⚠️⚠️
          - service: notify.mobile_app_sabrina
            metadata: {}
            data:
              message: alissia a déverrouillé porte⚠️⚠️
      - conditions:
          - condition: trigger
            id:
              - ios sabri
          - condition: state
            entity_id: automation.ios_sabri_deverrouille_nuki
            state: "on"
            attribute: current
        sequence:
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: sabri a déverrouillé porte⚠️⚠️
          - service: notify.mobile_app_sabrina
            metadata: {}
            data:
              message: sabri a déverrouillé porte⚠️⚠️
      - conditions:
          - condition: and
            conditions:
              - condition: state
                entity_id: sensor.empreinte_ld2410_fingerprint_state
                state: doigt autorisé
              - condition: numeric_state
                entity_id: sensor.empreinte_ld2410_fingerprint_last_finger_id
                above: 0
                below: 3
        sequence:
          - service: notify.mobile_app_sabrina
            metadata: {}
            data:
              message: seba empreinte déverrouillé porte⚠️⚠️
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: seba empreinte déverrouillé porte⚠️⚠️
      - conditions:
          - condition: and
            conditions:
              - condition: state
                entity_id: sensor.empreinte_ld2410_fingerprint_state
                state: doigt autorisé
              - condition: numeric_state
                entity_id: sensor.empreinte_ld2410_fingerprint_last_finger_id
                above: 29
                below: 36
        sequence:
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: anthony empreinte déverrouillé porte⚠️⚠️
          - service: notify.mobile_app_sabrina
            data:
              message: anthony empreinte déverrouillé porte⚠️⚠️
      - conditions:
          - condition: and
            conditions:
              - condition: state
                entity_id: sensor.empreinte_ld2410_fingerprint_state
                state: doigt autorisé
              - condition: numeric_state
                entity_id: sensor.empreinte_ld2410_fingerprint_last_finger_id
                above: 19
                below: 26
        sequence:
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: alissia empreinte déverrouillé porte⚠️⚠️
          - service: notify.mobile_app_sabrina
            data:
              message: alissia empreinte déverrouillé porte⚠️⚠️
      - conditions:
          - condition: and
            conditions:
              - condition: state
                entity_id: sensor.empreinte_ld2410_fingerprint_state
                state: doigt autorisé
              - condition: numeric_state
                entity_id: sensor.empreinte_ld2410_fingerprint_last_finger_id
                above: 9
                below: 16
        sequence:
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: sabri empreinte déverrouillé porte⚠️⚠️
          - service: notify.mobile_app_sabrina
            data:
              message: sabri empreinte déverrouillé porte⚠️⚠️
      - conditions:
          - condition: and
            conditions:
              - condition: state
                entity_id: sensor.empreinte_ld2410_fingerprint_state
                state: doigt autorisé
              - condition: numeric_state
                entity_id: sensor.empreinte_ld2410_fingerprint_last_finger_id
                above: 3
                below: 6
        sequence:
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: seba empreinte déverrouillé porte⚠️⚠️
          - service: notify.mobile_app_sabrina
            metadata: {}
            data:
              message: seba empreinte déverrouillé porte⚠️⚠️
mode: single

On va simplifier un peu, hein, là il y a 200 lignes qui ne servent à rien :wink:

Pendant que je travaille, trouve le nom de l’entité qui donne l’id de l’empreinte

200 :joy::joy:,

voilà l’ID du capteur d’empreintes


entity_id: sensor.empreinte_ld2410_fingerprint_state
    state: doigt autorisé

ça doit matcher avec ça qui est différent pour chaque user


condition: numeric_state
entity_id: sensor.empreinte_ld2410_fingerprint_last_finger_id
above: 0
below: 3

Un truc archi simple

alias: notification NUKI test2
description: ""
trigger:
  - platform: state
    entity_id:
      - lock.nuki
    to: unlocking
    id: nuki
    enabled: true
condition: []
action:
  - delay:
      hours: 0
      minutes: 0
      seconds: 3
      milliseconds: 0
  - if:
      - condition: template
        value_template: >-
          {% set lastchgt =
          states.sensor.empreinte_ld2410_fingerprint_last_finger_id.last_changed %} {% set delta
          = as_timestamp(now()) - as_timestamp(lastchgt)|float(0) %} {{ delta <
          5}}
        alias: >-
          On verifier que c'est bien l'empreinte digitale qui a changer il y a
          peu de temps, si oui c'est que c'est bien elle qui a déverrouillé la
          porte
    then:
      - service: notify.mobile_app_iphone_seba
        metadata: {}
        data:
          message: >-
            Porte déverrouillé par empreinte numéro {{
            state('states.sensor.empreinte_ld2410_fingerprint_last_finger_id.last_changed') }} 
            ⚠️⚠️
        alias: >-
          On envoie une notification avec le numéro de l'empreinte (que l'on
          transformera plus tard en nom de la personne correspondante
mode: single

Là pour chaque déverrouillage tu dois recevoir un message, sinon rien

je vais tester cette partie mais il manque la partie qui me notifie quand elle a été déverrouillé depuis IOS.action_fired

actuellement voilà mon code qui fonctionne à l’exception de quand là serrure est déverrouillé depuis la serrure car je reçois des doubles notifications


alias: notification NUKI test1
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.empreinte_ld2410_fingerprint_state
    to: doigt autorisé
    id: capteur empreinte
  - platform: state
    entity_id:
      - lock.nuki
    to: unlocking
    id: nuki
    enabled: true
  - platform: event
    event_type: ios.action_fired
    event_data:
      actionName: seba deverrouillé nuki
    id: ios seba
  - platform: event
    event_type: ios.action_fired
    id: ios sabri
    event_data:
      actionName: sabri deverrouillé nuki
  - platform: event
    event_type: ios.action_fired
    id: ios alissia
    event_data:
      actionName: alissia deverrouillé nuki
  - platform: event
    event_type: ios.action_fired
    id: ios anthony
    event_data:
      actionName: anthony deverrouillé nuki
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - nuki
        sequence:
          - if:
              - condition: not
                conditions:
                  - condition: trigger
                    id:
                      - capteur seba
                      - ios seba
                      - ios sabri
                      - ios alissia
                      - ios anthony
                      - capteur anthony
                      - capteur alissia
                enabled: false
              - condition: and
                conditions:
                  - condition: state
                    entity_id: lock.nuki
                    state: unlocking
                    enabled: true
                enabled: true
              - condition: not
                conditions:
                  - condition: trigger
                    id:
                      - capteur seba
                      - ios seba
                      - ios sabri
                      - ios anthony
                      - capteur alissia
                      - capteur sabri
                      - capteur anthony
                      - ios alissia
            then:
              - stop: ""
            else:
              - service: notify.mobile_app_iphone_seba
                metadata: {}
                data:
                  message: NUKI déverrouillé local
              - service: notify.mobile_app_sabrina
                metadata: {}
                data:
                  message: NUKI déverrouille local
            enabled: false
      - conditions:
          - condition: trigger
            id:
              - ios seba
        sequence:
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: SEBA DÉVERROUILLÉ NUKI⚠️⚠️
              title: SEBA
          - service: notify.mobile_app_sabrina
            data:
              message: SEBA DÉVERROUILLÉ NUKI⚠️⚠️
              title: SEBA
      - conditions:
          - condition: trigger
            id:
              - ios anthony
        sequence:
          - service: notify.mobile_app_sabrina
            metadata: {}
            data:
              message: ANTHONY DÉVERROUILLÉ NUKI⚠️⚠️
              title: ANTHONY
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: ANTHONY DÉVERROUILLÉ NUKI⚠️⚠️
              title: ANTHONY
      - conditions:
          - condition: trigger
            id:
              - ios alissia
        sequence:
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: ALISSIA DÉVERROUILLÉ NUKI⚠️⚠️
              title: ALISSIA
          - service: notify.mobile_app_sabrina
            metadata: {}
            data:
              message: ALISSIA DÉVERROUILLÉ NUKI⚠️⚠️
              title: ALISSIA
      - conditions:
          - condition: trigger
            id:
              - ios sabri
        sequence:
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: SABRI DÉVERROUILLÉ NUKI⚠️⚠️
              title: SABRI
          - service: notify.mobile_app_sabrina
            metadata: {}
            data:
              message: SABRI DÉVERROUILLÉ NUKI⚠️⚠️
              title: SABRI
      - conditions:
          - condition: trigger
            id:
              - capteur empreinte
          - condition: numeric_state
            entity_id: sensor.empreinte_ld2410_fingerprint_last_finger_id
            above: 0
            below: 3
        sequence:
          - service: notify.mobile_app_sabrina
            metadata: {}
            data:
              message: SEBA EMPREINTE DÉVERROUILLÉ NUKI⚠️⚠️
              title: SEBA
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: SEBA EMPREINTE DÉVERROUILLÉ NUKI⚠️⚠️
              title: SEBA
      - conditions:
          - condition: trigger
            id:
              - capteur empreinte
          - condition: numeric_state
            entity_id: sensor.empreinte_ld2410_fingerprint_last_finger_id
            above: 29
            below: 36
        sequence:
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: ANTHONY EMPREINTE DÉVERROUILLÉ NUKI⚠️⚠️
              title: ANTHONY
          - service: notify.mobile_app_sabrina
            data:
              message: ANTHONY EMPREINTE DÉVERROUILLÉ NUKI⚠️⚠️
              title: ANTHONY
      - conditions:
          - condition: trigger
            id:
              - capteur empreinte
          - condition: numeric_state
            entity_id: sensor.empreinte_ld2410_fingerprint_last_finger_id
            above: 19
            below: 26
        sequence:
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: ALISSIA EMPREINTE DÉVERROUILLÉ NUKI⚠️⚠️
              title: ALISSIA
          - service: notify.mobile_app_sabrina
            data:
              message: ALISSIA EMPREINTE DÉVERROUILLÉ NUKI⚠️⚠️
              title: ALISSIA
      - conditions:
          - condition: trigger
            id:
              - capteur empreinte
          - condition: numeric_state
            entity_id: sensor.empreinte_ld2410_fingerprint_last_finger_id
            above: 9
            below: 16
        sequence:
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              message: SABRI EMPREINTE DÉVERROUILLÉ NUKI⚠️⚠️
              title: SABRI
          - service: notify.mobile_app_sabrina
            data:
              message: SABRI EMPREINTE DÉVERROUILLÉ NUKI⚠️⚠️
              title: SABRI
      - conditions:
          - condition: trigger
            id:
              - capteur empreinte
          - condition: numeric_state
            entity_id: sensor.empreinte_ld2410_fingerprint_last_finger_id
            above: 3
            below: 6
        sequence:
          - service: notify.mobile_app_iphone_seba
            metadata: {}
            data:
              title: SEBA
              message: SEBA EMPREINTE DÉVERROUILLÉ NUKI⚠️⚠️
          - service: notify.mobile_app_sabrina
            metadata: {}
            data:
              message: SEBA EMPREINTE DÉVERROUILLÉ NUKI⚠️⚠️
              title: SEBA
mode: single

j’ai testé, je ne reçois aucune notification

L’objectif c’est de te faire comprendre comment ça marche, pas de faire l’automatisation complète.
tu es partie sur un truc compliqué et il y a 10 fois plus simple à faire et il sera toujours temps après de compléter au fur et à mesure

Là, il faut l’historique de l’exécution sinon il faut que file acheter un jeu de tarot pour deviner le souci

j’ai des ristournes pour le tarot :wink:

voila l’historique




Ok, donc c’est le IF qui ne passe pas bien, essaye de voir ce que ça donne dans les outils dev,
(version debug à part un peu plus haut)

quand je met ca dans modèle, il me met false

{% set lastchgt = states.sensor.empreinte_ld2410_fingerprint_last_finger_id.last_changed %} {% set delta = as_timestamp(now()) - as_timestamp(lastchgt)|float(0) %} {{ delta < 5}}

ça plutot

Si le changement d’empreinte est de plus de 5s ça doit donner faux, sinon vrai

j’ai mis cela dans if, mais après un scan il me dit que la condition n’est pas remplie

{% set lastchgt = states.automation.seba_deverrouille_nuki.last_changed %}
{{ lastchgt  }}
{% set delta = as_timestamp(now()) - as_timestamp(lastchgt)|float(0) %}
{{ delta  }}
{{ delta < 5}}

haaaa j’ai fait le boulet, j’ai copié le code mais le states est pas le bon

quand je test dans modèle l’heure du capteur est pas la bonne , en réalité comme je scan avec le même doigt, L’ID reste le même et l’heure aussi, il faut utiliser ce que j’utilisais déjà dans le trigger c’est l’entité sensor.empreinte_ld2410_fingerprint_state

elle se met a jour a chaque scan de doigt mais du coup il faudra que sa match avec le bonne ID qui scan

Donc ça ?

alias: notification NUKI test2
description: ""
trigger:
  - platform: state
    entity_id:
      - lock.nuki
    to: unlocking
    id: nuki
    enabled: true
condition: []
action:
  - delay:
      hours: 0
      minutes: 0
      seconds: 3
      milliseconds: 0
  - if:
      - condition: template
        value_template: >-
          {% set lastchgt =
          states.sensor.empreinte_ld2410_fingerprint_state.last_changed
          %} {% set delta = as_timestamp(now()) -
          as_timestamp(lastchgt)|float(0) %} {{ delta < 5}}
        alias: >-
          On verifier que c'est bien l'empreinte digitale qui a changer il y a
          peu de temps, si oui c'est que c'est bien elle qui a déverrouillé la
          porte
    then:
      - service: notify.mobile_app_iphone_seba
        metadata: {}
        data:
          message: >-
            Porte déverrouillé par empreinte numéro {{
            state('states.sensor.empreinte_ld2410_fingerprint_last_finger_id.last_changed')
            }}  ⚠️⚠️
        alias: >-
          On envoie une notification avec le numéro de l'empreinte (que l'on
          transformera plus tard en nom de la personne correspondante
mode: single

je teste demain, là dodo pour moi car debout à 4h.

merci et bonne soirée

1 « J'aime »

j’ai tester l’heure n’est toujours pas bonne car elle se met a jour lorsque son attribut devient doigt autorisé comme dans mon automation fonctionnel de 200 lignes

platform: state
entity_id:
  - sensor.empreinte_ld2410_fingerprint_state
to: doigt autorisé
id: capteur empreinte

Salut
L’état ne sert pas dans l’exemple. C’est utilisé comme trigger.
On veut savoir ‹ quand ›
Donc c’est pas l’info ‹ state › mais ‹ last_changed › que l’on veut

oui oui mais le changement d’heure n’est visible que quand le capteur passe à doigt autorisé, si je scan et que mon doigt n’est pas autorisé l’heure restera la même

il faut faudrait récupérer le changement de


states.sensor.empreinte_ld2410_fingerprint_state< quelque chose doigt autorisé >.last_changed