Scénario réception SMS d'un numéro masqué par un nom

Tags: #<Tag:0x00007f753a6f6740>

Bonjour à tous,

N’ayant pas trouvé de sujet similaire, je me lance.
J’utilise le #plugin-sms depuis peu avec succès (clé 3G Huawei).

Mon objectif est de pouvoir lancer des actions via un scénario en fonction de la réception d’un message d’un numéro précis. Jusque là tout va bien, mes tests sont concluants avec la création d’un utilisateur basé sur mon numéro de GSM.
Là où cela se complique, c’est lorsque que le SMS provient d’un numéro « alphanuméric » type ‹ TOTO › (numéro masqué par cet intitulé).
J’ai essayé de créé un utilisateur avec pour numéro le nom mais sans succès. Le SMS est bien reçu mais le scénario ne se lance pas.

Certains ont-ils déjà eu le cas ? Comment contourner cela ?

Jeedom 4.1.25 (stable) sur RPI4
Plugin-sms en version stable

Merci d’avance,

Xav

Hello,

Je viens de reprendre mes tests sur ce sujet et j’ai un peu avancé. Mon problème ne vient pas de mon scénario mais bien du plugin lui même. En effet, je reçois bien le SMS mais celui-ci n’est pas traité par le plugin ! A cause du numéro alphanumérique ?

Voici 2 logs.

Le premier avec un SMS envoyé de mon téléphone (j’ai masqué mon num :wink: ) :

[2021-09-14 09:54:52][DEBUG] : SMS message received
[2021-09-14 09:54:52][DEBUG] : write: AT+CMGR=0
[2021-09-14 09:54:52][DEBUG] : response: ['+CMGR: 0,,28', '07913396050066F1040B913386608114F30000129041904505800AD4F29C0E2ABBEDEF34', 'OK']
[2021-09-14 09:54:52][DEBUG] : write: AT+CMGD=0,0
[2021-09-14 09:54:53][DEBUG] : response: ['OK']
[2021-09-14 09:54:53][DEBUG] : Got SMS message : <gsmmodem.modem.ReceivedSms object at 0xb5475050>
[2021-09-14 09:54:55][DEBUG] : write: AT+CREG?
[2021-09-14 09:54:55][DEBUG] : response: ['+CREG: 0,1', 'OK']
[2021-09-14 09:54:56][DEBUG] : write: AT+CSQ
[2021-09-14 09:54:56][DEBUG] : response: ['+CSQ: 8,99', 'OK']
[2021-09-14 09:54:56][DEBUG] : write: AT+CMGL=0
[2021-09-14 09:54:56][DEBUG] : response: ['OK']
[2021-09-14 09:54:56][DEBUG] : write: AT+CSQ
[2021-09-14 09:54:56][DEBUG] : response: ['+CSQ: 8,99', 'OK']
[2021-09-14 09:55:16][DEBUG] : Send to jeedom : {'devices': {'+33600000000': {'message': u'Test envoi', 'number': u'+33600000000'}}}
[2021-09-14 09:55:16][DEBUG] : Starting new HTTP connection (1): 127.0.0.1:80
[2021-09-14 09:55:16][INFO] : Message venant de 0600000000 : Test envoi
[2021-09-14 09:55:16][DEBUG] : Interaction désactivée.
[2021-09-14 09:55:16][DEBUG] : http://127.0.0.1:80 "POST /plugins/sms/core/php/jeeSMS.php?apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HTTP/1.1" 200 0

Dans ce cas, ma commande ‹ message › se met bien à jour et mon scénario démarre.

Dans le second cas, le SMS de Verisure est bien reçu aussi :

[2021-09-14 09:51:34][DEBUG] : notification: ['+CMTI: "SM",0']
[2021-09-14 09:51:34][DEBUG] : SMS message received
[2021-09-14 09:51:34][DEBUG] : write: AT+CMGR=0
[2021-09-14 09:51:34][DEBUG] : response: ['+CMGR: 0,,144', '07913396050066F1240ED1D6A23439AD4A8B0000129041901503808DD6B23C3DAFCBCB20FBBB3E07A5DDE6B7BC5DD68198A73A3DCD4ECFC3F4725D0E1293CF20669E9C2E83C2A0F0989EB617406537A8FD269741F4373DCC06D9DF74791934CFCFE9847619443E85D96179BB0C0AD7414364B199748240C4226858D406A5C4290BC42E8362B4172CF792C1643116E80F82E574B5986E0603', 'OK']
[2021-09-14 09:51:34][DEBUG] : write: AT+CMGD=0,0
[2021-09-14 09:51:34][DEBUG] : response: ['OK']
[2021-09-14 09:51:34][DEBUG] : Got SMS message : <gsmmodem.modem.ReceivedSms object at 0xb5475bd0>
[2021-09-14 09:51:41][DEBUG] : notification: ['+CMTI: "SM",0']
[2021-09-14 09:51:41][DEBUG] : SMS message received
[2021-09-14 09:51:41][DEBUG] : write: AT+CMGR=0
[2021-09-14 09:51:41][DEBUG] : response: ['+CMGR: 0,,134', '07913396050066F1240ED1D6A23439AD4A8B00001290419015238082D6B23C3DAFCBCB20FBBB3E07A5DDE6B7BC5DD68198A73A3DCD4ECFC3F4725D0E1293CF20669E9C2E83C22072611E1ED3D3F602C8FEA6CBCBA0797E4E27B4CB20F229CC0ECBDB6550B80E1A228BCDA41304221641C3A23628254E5920761914A3BD60B9970C268BB1407F102CA7ABC574B318', 'OK']
[2021-09-14 09:51:41][DEBUG] : write: AT+CMGD=0,0
[2021-09-14 09:51:41][DEBUG] : response: ['OK']
[2021-09-14 09:51:41][DEBUG] : Got SMS message : <gsmmodem.modem.ReceivedSms object at 0xb5475a50>
[2021-09-14 09:51:45][DEBUG] : Send to jeedom : {'devices': {'VERISURE': {'message': u"Verisure vous informe: L'utilisateur xxx a desactive votre systeme d'alarme le 14/09/2021, a 09:51:31", 'number': u'VERISURE'}}}
[2021-09-14 09:51:45][DEBUG] : Starting new HTTP connection (1): 127.0.0.1:80
[2021-09-14 09:51:45][DEBUG] : http://127.0.0.1:80 "POST /plugins/sms/core/php/jeeSMS.php?apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HTTP/1.1" 200 0

Dans ce cas, pas de log INFO et la commande ‹ Message › n’est pas mise à jour, donc pas de démarrage de mon scénario.

Une idée ?

Merci

Xavier

Bon j’ai trouvé ma réponse dans le code du plugin.
Il y a une condition sur le format du numéro de tél. Si ce numéro a moins de 10 caractères, le SMS est ignoré !
Je vais voir avec la team Jeedom le pourquoi de cette condition et si l’on peut apporter une amélioration au plugin.

Xav