Connaitre le user qui lance un script

Bonjour,

Afin de pouvoir lancer des actions differentes en fonction de l’utilisateur qui fait l’action, j’aimerais pouvoir récupérer l’utilisateur qui lance un script.

Savez vous comment faire?

Merci

Il faudrait que tu donnes plus d’info sur ce que tu essaies de faire, de l’action en question etc…

Je pense que tu aimerais savoir par exemple qui a activé une lampe par un bouton en récupérant l’info de l’utilisateur qui était authentifié sur HA et donc à appuyer sur le bouton ?

C’est ça.
J’aimerais envoyer une notification particuliere au telephone de l’utilisateur qui a désactivé l’alarme par exemple ou alors
si c est utilisateur A qui a lancé le script alors je fais ça
si c est B alors je fais autre chose etc…

OK alors, il faut jouer avec le jinja pour faire cela

laisse-moi quelque minutes et je reviens vers toi avec un exemple

1 « J'aime »

@Mathieu77700 Voici comment faire

pour l’exemple, une notification et envoyer sur mon mobile, en m’indiquant quel utilisateur à allumer la lumière du bureau (à adapter pour ton cas d’usage)

alias: test notification utilisateur dashboard
description: ""
triggers:
  - entity_id:
      - light.interrupteur_bureau
    to: "on"
    trigger: state
conditions: []
actions:
  - data:
      user_id: >-
        {{ trigger.to_state.context.user_id if trigger.to_state and
        trigger.to_state.context and trigger.to_state.context.user_id else
        'unknown' }}
    action: script.test_utilisateur_notification_trigger
mode: single

gui:

ensuite crée un script qui permet d’être lancé en action depuis l’automatisation :

alias: TEst utilisateur notification trigger
description: ""
sequence:
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ user_id == 'c030b87449e9436baa31de5b375aa3fd' }}"
        sequence:
          - data:
              message: "Test notification utilisateur : Ludo"
              title: Info
            action: notify.mobile_app_ludo_iphone_13_pro_max
      - conditions:
          - condition: template
            value_template: "{{ user_id == '6ba19c443f0a441dbfbe3c042013e25b' }}"
        sequence:
          - action: notify.mobile_app_ludo_iphone_13_pro_max
            data:
              message: "Test notification utilisateur : Tiago"
              title: Info
    default:
      - data:
          message: >-
            Action déclenchée par un utilisateur inconnu ou un processus
            automatique.
          title: Alerte
        action: notify.mobile_app_ludo_iphone_13_pro_max

gui:

Pour expliquer, en gros chaque action qu’un utilisateur effectue sur l’interface web il y a des events avec des ID context, il faut récupérer ces context user_id pour l’utiliser dans tes automatisations/script.

Dans mon exemple si l’utilisateur active la lumière sur le dashboard, j’ai bien le message qui et envoyer en indiquant l’utilisateur en question si un autre utilisateur fait la même chose, j’ai aussi une notification qui m’indique l’utilisateur qui a allumé la lumière.

Si jamais la lumière et allumer par le boutons alors c’est l’action par défaut qui et utiliser avec le message qui indique que la lumière a été allumer par un utilisateur inconnu ou un processus automatique (dans mon exemple, j’aurais pu indiquer, lumière allumée par le bouton).

Merci je vais regarder ça :+1:

Autres infos que j’ai oublié d’indiquer.

Tu peux récupérer l’ID des utilisateurs de ton HA ici :

Merci, ça fonctionne impec ! :+1: :+1:

1 « J'aime »

Aucun problème si jamais, c’est good pour toi indique la solution en sélectionnant le message qui te convient comme solution et si jamais ferme le sujet si pour toi c’est ok. :slight_smile: