Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Connaître le numéro de tel du SMS déclenchant l'interaction

Réservé à l'utilisation et à la création d'interactions dans JEEDOM
pommedapi
Timide
Messages : 25
Inscription : 25 janv. 2017, 16:48

Connaître le numéro de tel du SMS déclenchant l'interaction

Message par pommedapi » 08 nov. 2018, 14:46

Bonjour,

je mets en place un Jeedom permettant de gérer une maison de campagne. Il n'y a pas d'ADSL, les commandes à distance doivent passer par SMS, via les interactions. Sur le principe tout fonctionne. La famille me demande maintenant de ne recevoir les réponses de la domotique que s'ils sont concernés. Et là, je bloque. Je pensais récupérer le numéro du téléphone à l'origine du SMS pour identifier l'utilisateur à l'origine du déclechement de l'interaction. Je vois bien le numéro de tel associé à la demande dans les logs du plugin SMS, mais comment y accéder ?

Exemple de log du plugin SMS :
[2018-11-08 14:19:25][INFO] : Message venant de 06xxxxxxxx : test

Pour schématiser, ce que je souhaite mettre en place est quelque chose de ce genre :
- sms utilisateur_4 -> jeedom : je vais dans la maison de campagne du 1/1/2019 au 8/1/2019
- jeedom via sms -> numéro de tel utilisateur_4 : le chauffage a été programmé pour le 1/1/2019

Je cherche depuis plusieurs jours sans trouver de réponse à ma question. J'en viens à la conclusion que soit je formule mal mes questions à Google, soit je n'ai pas compris ou je suis passé à côté de quelque chose dans la doc, soit ce n'est pas possible.

Quelqu'un aurait-il une piste ?

pommedapi
Timide
Messages : 25
Inscription : 25 janv. 2017, 16:48

Re: Connaître le numéro de tel du SMS déclenchant l'interaction

Message par pommedapi » 08 nov. 2018, 15:18

En me relisant je réalise que le schéma posté intialement
- sms utilisateur_4 -> jeedom : je vais dans la maison de campagne du 1/1/2019 au 8/1/2019
- jeedom via sms -> numéro de tel utilisateur_4 : le chauffage a été programmé pour le 1/1/2019
n'est pas complet. J'ai oublié de préciser qu'à partir du numéro de téléphone ayant envoyé le SMS, je souhaite gérer le profil de l'utilisateur contrôlant la maison. Le fait d'envoyer un SMS déclenche donc des scenarios gérant des variables propres à l'utilisateur (par exemple la gestion des alertes de vilance météo, les heures des marées, l'alerte sur le niveau de la cuve de fuel, la gestion du système d'alarme, le rappel des horaires d'ouverture de la boulangerie, etc).

En gros, ce que je cherche c'est identifier qui vient quand et avec qui Jeedom interagit pendant cette période. Je sais le faire en mono-utilisateur. Je vois comment modifier mes scenarios pour le faire en multi-utilisateurs. Il me manque juste la partie "identification de l'utilisateur lorsqu'on interagit par SMS".

pommedapi
Timide
Messages : 25
Inscription : 25 janv. 2017, 16:48

Re: Connaître le numéro de tel du SMS déclenchant l'interaction

Message par pommedapi » 09 nov. 2018, 01:42

Je me réponds à moi-même, au cas où cela puisse servir à quelqu'un d'autre.

Pour connaître l'utilisateur à l'origine d'un SMS lors de l'appel d'un scénario par une une interaction :
- dans l'onglet "Actions" de l'interaction il faut appeler le scenario avec un tag contenant #profile# (par exemple Expediteur=#profile#)
- dans le scenario, il faut tester ce tag (par exemple Si Expediteur == 'utilisateur_4' Alors...).

À partir de là, c'est de la gestion de scénario standard. Le seul problème auquel je me heurte encore est le fait que si le plugin SMS associe un numéro de tel aux interactions, la fonction ASK ne reçoit pas la réponse dudit numéro de téléphone car cette dernière est interceptée par les interactions. Un fix grossier et pas propre consiste à contourner le système d'interaction en associant le même numéro de téléphone à un autre identifiant et à utiliser ce dernier pour les ASK. L'inconvénient est qu'il faut activer l'option "Ne pas répondre si l'interaction n'est pas comprise" dans Configuration -> Interactions sous peine de recevoir la réponse du scenario (suite au ASK) et du système d'interactions qui ne comprend pas la demande, ou, pire, qui la comprend et la prend pour une nouvelle interaction (j'avais précisé que c'était dégueux comme fix). Il doit tout de même y avoir un moyen de faire ça plus proprement.

À noter que la documentation sur les scénarios contient une typo qui peut faire perdre un temps considérable. En effet, elle indique d'utiliser #profil# et non #profile#. Cf https://jeedom.github.io/core/fr_FR/sce ... chor-1-7-3 si quelqu'un veut/sait comment corriger.

Avatar de l’utilisateur
Seb54
Timide
Messages : 136
Inscription : 30 déc. 2017, 11:04

Re: Connaître le numéro de tel du SMS déclenchant l'interaction

Message par Seb54 » 19 mai 2019, 15:36

merci @pommedapi pour ce retour très intéressant.
Avec ton exemple Expediteur=#profile#, le tag ne prend aucune valeur et quand je teste la valeur de #Expediteur#, Jeedom me renvoie la valeur #profile#...

Je cherche comme toi à savoir qui a déclenché un scenario via une interaction (je me sers de vocaldom sur Android)

merci

kasi
Timide
Messages : 38
Inscription : 03 mai 2019, 14:21

Re: Connaître le numéro de tel du SMS déclenchant l'interaction

Message par kasi » 12 oct. 2019, 00:10

Je me pose la même question :).

Répondre

Revenir vers « Interactions »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités