Aide automatisation serrure

Meme pas en rêve j’aurais trouvé ça :sweat_smile: et du coup je colle ça à la suite du message


{% set conversion = {
    1 : 'SEBA',
    2 : 'SEBA',
    3 : 'SEBA',
    4 : 'SEBA',
    5 : 'SEBA',
    6 : 'SEBA',
    7 : 'SEBA'
    }
%}

{% set journombre=5 %}
ID {{ journombre }}
{{ conversion[journombre] }} A DEVERRROUILLÉ

  • Il faut faire l’inventaire de tous les empreintes (1 chacun hein)…
  • journombre c’est l’id de l’empreinte
  • tu fais un joli message

Voila , mais toujours sans comprendre la logique qui va en découler

{% set conversion = {
    1 : 'SEBA',
    2 : 'SEBA',
    3 : 'SEBA',
    4 : 'SEBA',
    5 : 'SEBA',
    10 : 'SABRI',
    11 : 'SABRI',
    20 : 'ALISSIA',
    21 : 'ALISSIA',
    30 : 'ANTHONY',
    31 : 'ANTHONY',
    32 : 'ANTHONY',
   
    
    }
%}

{% set journombre=5 %}
ID {{ journombre }}
{{ conversion[journombre] }} A DEVERRROUILLÉ

Tu as crée un tableau avec des nombres qui donne les prénoms:

  • si l’ID (contenu dans journombre) de l’empreinte c’est 1 (ou 2,3,4,5), quand tu appelles le tableau avec l’ID d’empreinte, ça donnera SEBA
  • si l’ID c’est 10 ou 11, ça donnera SABRI
    etc

ca j’ai bien compris, j’ai juste pas compris ou le mettre dans le message et j’ai déjà mal la tête quand je sais qu’il reste la partie ios.action_fired a faire ( directement sous alias: >- ) ?

Recolle l’automatisation actuelle (celle de test)

alias: notification NUKI test3
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 {{
                    states('sensor.empreinte_ld2410_fingerprint_last_finger_id')
                    }}  ⚠️⚠️
        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

Donc tu combines les 2

alias: notification NUKI test3
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: >-
            {% set conversion = {
                1 : 'SEBA',
                2 : 'SEBA',
                3 : 'SEBA',
                4 : 'SEBA',
                5 : 'SEBA',
                10 : 'SABRI',
                11 : 'SABRI',
                20 : 'ALISSIA',
                21 : 'ALISSIA',
                30 : 'ANTHONY',
                31 : 'ANTHONY',
                32 : 'ANTHONY'
                }
            %}

            Porte déverrouillée par {{ conversion[
            states('sensor.empreinte_ld2410_fingerprint_last_finger_id') ] }}
            ⚠️⚠️
        alias: >-
          On envoie une notification avec le numéro de l'empreinte (que l'on
          transforme en nom de la personne correspondante
mode: single

je viens de tester en executant juste la partie notification il ne me remonte rien dans la notif, juste
Porte déverrouillée par :warning::warning:

Vire la virgule à la fin de la ligne avec 32

cela ne change rien…

Dans les outils de dev ça donne quoi ça ?

{{ states('sensor.empreinte_ld2410_fingerprint_last_finger_id')  }}

ca donne l’ID 20 …n,

Et ça

            {% set conversion = {
                1 : 'SEBA',
                2 : 'SEBA',
                3 : 'SEBA',
                4 : 'SEBA',
                5 : 'SEBA',
                10 : 'SABRI',
                11 : 'SABRI',
                20 : 'ALISSIA',
                21 : 'ALISSIA',
                30 : 'ANTHONY',
                31 : 'ANTHONY',
                32 : 'ANTHONY'
                }
            %}

            Porte déverrouillée par {{ conversion[
            states('sensor.empreinte_ld2410_fingerprint_last_finger_id') ] }}

Pour avoir 20, c’est que c’est pas toi qui déverrouillé la porte la dernière fois, du coup comment tu testes ?

je vais tester sinon voila l'erreur de l'autre

je ne teste pas en reel car mon capteur se trouve dehors et il tombe des cordes, je vais pas aller scanner mon doigt maintenant. j'execute juste la partie notification

Et ça ?

            {% set conversion = {
                '1' : 'SEBA',
                '2' : 'SEBA',
                '3' : 'SEBA',
                '4' : 'SEBA',
                '5' : 'SEBA',
                '10' : 'SABRI',
                '11' : 'SABRI',
                '20' : 'ALISSIA',
                '21' : 'ALISSIA',
                '30' : 'ANTHONY',
                '31' : 'ANTHONY',
                '32' : 'ANTHONY',
                }
            %}

            Porte déverrouillée par empreinte numéro {{ conversion[
            states('sensor.empreinte_ld2410_fingerprint_last_finger_id') ] }}
            ⚠️⚠️

celui la c’est le bon :+1: et toutes cette partie est fonctionnel reste plus que ios :crazy_face:

alias: notification NUKI test3
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: |-
            {% set conversion = {
                        '1' : 'SEBA',
                        '2' : 'SEBA',
                        '3' : 'SEBA',
                        '4' : 'SEBA',
                        '5' : 'SEBA',
                        '10' : 'SABRI',
                        '11' : 'SABRI',
                        '20' : 'ALISSIA',
                        '21' : 'ALISSIA',
                        '30' : 'ANTHONY',
                        '31' : 'ANTHONY',
                        '32' : 'ANTHONY',
                        }
                    %}

                    Porte déverrouillée par empreinte {{ conversion[
                    states('sensor.empreinte_ld2410_fingerprint_last_finger_id') ] }}
                    ⚠️⚠️
        alias: >-
          On envoie une notification avec le numéro de l'empreinte (que l'on
          transforme en nom de la personne correspondante
mode: single

Donc on ajoute les triggers ios, (avec chacun un ID)
Et un message où on récupére l’id pour envoyer le message

alias: notification NUKI test3
description: ""
trigger:
  - 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
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 verifie que l'ID de l'empreinte digitale a changé 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: >-
            {% set conversion = {
                '1' : 'SEBA',
                '2' : 'SEBA',
                '3' : 'SEBA',
                '4' : 'SEBA',
                '5' : 'SEBA',
                '10' : 'SABRI',
                '11' : 'SABRI',
                '20' : 'ALISSIA',
                '21' : 'ALISSIA',
                '30' : 'ANTHONY',
                '31' : 'ANTHONY',
                '32' : 'ANTHONY',
                }
            %}

            Porte déverrouillée par {{ conversion[
            states('sensor.empreinte_ld2410_fingerprint_last_finger_id') ] }}
            ⚠️⚠️
        alias: >-
          On envoie une notification avec le numéro de l'empreinte (que l'on
          transforme en nom de la personne correspondante
  - if:
      - condition: trigger
        id:
          - ios seba
          - ios sabri
          - ios alissia
          - ios anthony
    then:
      - service: notify.mobile_app_iphone_seba
        metadata: {}
        data:
          message: Porte déverrouillée par mécanisme {{ trigger.id }} ⚠️⚠️
        alias: >-
          On envoie une notification l'ID du trigger, il sert à
          afficher le fait qu'il s'agit d'un déclenchement ios
mode: single

question, je suis obliger de passer par le triggers ? je ne peut pas le mettre dans la condition sous cette forme

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

Non, avec ça tu ne peux pas faire la différence de comment la serrure est déverrouillée
EDIT : J’ai corrigé le event data des triggers, j’ai compris pourquoi c’est là