Suite à mon article sur le modem GSM pour envoyer/recevoir des SMS et contrôler sa maison secondaire, j’ai décidé de concevoir le modem GSM-DIN que vous pouvez retrouver sur la boutique.
Voici la procédure à suivre pour le mettre en activité sous Jeedom.
Sommaire
Installation du matériel.
Voici les éléments fournis.
Branchez le câble USB au modem et installez le sur son rail DIN.
Branchez la prise USB sur votre Jeedom et insérez la carte SIM en suivant les instructions sur l’étiquette.
Maintenant que le matériel est installé, passons à la partie logiciel.
Installation du plugin SMS
Il est nécessaire d’aller sur le Market Jeedom à la recherche du plug-in officiel SMS.
Dans la plus grande tradition Jeedom, il suffit d’installer le plug-in en suivant les photos suivantes :
Je vous propose de sélectionner la version stable qui fonctionne très bien.
Il vous suffit de répondre par OK.
Dans un premier temps, il va être nécessaire d’activer le plugin et d’installer les dépendances. Il est important que le statut passe au vert avant d’essayer de démarrer et de configurer le plug-in plus avant.
Une fois les dépendances installées.
Il faut choisir le port sur lequel le MoDem USB est connecté.
Il devrait apparaître sous le nom de LiXee-GSM. (Pour la démonstration, c’est ZiGate)
Ensuite, vous pouvez choisir la vitesse de communication et je vous préconise d’être à 9600 bauds si vous laisser tourner votre système 24 heures sur 24.
Vous avez aussi la possibilité de renseigner le code PIN associé à votre carte Sim.
Il y a aussi la valeur cycle qui est intéressante, positionnée à 30s par défaut. Vous pouvez la changer mais ne descendez pas trop bas car en fait c’est la fréquence d’interrogation du MoDem. Si vous descendez trop bas vous risquez d’avoir des petits soucis.
Dans mon cas, j’utilise une valeur de trois secondes ce qui est extrêmement bas mais le système semble se comporter correctement.
Maintenant que le plug-in est configuré vous pouvez démarrer le démon et son statut doit passer au vert.
Si ce n’est pas le cas choisissez le niveau de Log à « debug », sauvegardez, puis relancez le démon pour regarder ce qui se passe dans le fichier log SMS.
Ensuite il va falloir créer un équipement qui va représenter votre modem GSM.
Donc pour cela, il vous suffira d’appuyer sur le +.
De lui donner un nom.
L’activer et de le rendre visible.
Ainsi que de l’attacher à un objet parent pour qu’il soit visible dans le Dashboard.
Une fois fait, il va falloir ajouter le numéro de téléphone des correspondants qui vont recevoir les SMS envoyés par Jeedom.
Sauvegardez et allez dans le Dashboard pour trouver l’objet permettant d’envoyer les messages.
Remarque :
Le démon qui tourne derrière le plug-in est assez sensible à des plantages venant de la communication avec le MoDem surtout si celui-ci tourne 24 heures sur 24, 30 jours par mois etc.
Afin de détecter deux cas de plantage et permettre de redémarrer le démon, je vous propose un scénario qui va monitorer les logs et détecter les anomalies.
Scénario de secours
Il est nécessaire d’avoir le démon qui tourne en mode « debug ».
Voici le script avec le code que vous pouvez mettre dans votre scénario.
Vous pouvez le faire tourner toutes les minutes ou modifier le cron en fonction de vos besoins.
Avec mon système de clé GSM par le passé, j’avais plusieurs plantages par jour.
Avec ce nouveau MoDem je n’ai plus que deux plantages par mois qui sont gérés par le scénario. La solution est donc devenue extrêmement robuste et je ne m’en occupe plus.
Avant, c’était un réel souci de savoir si le système de SMS fonctionnait et la plupart du temps demandait une intervention manuelle.
Conclusion
Voici donc un petit tutoriel rapide vous permettant d’utiliser le modem GSM SIM800L avec Jeedom et son plugin SMS.
Je remercie @KiWiHC16 pour ce tutoriel et son retour d’expérience. Je trouve cela très intéressant et enrichissant.
D’ailleurs si cela vous plait et que vous souhaitez vous aussi partager votre expérience, n’hésitez pas à me contacter et si ce genre de format vous plait (ou pas :)), n’hésitez pas à le mettre en commentaire.
A bientôt !
hello, super tuto, serait t’il possible d’avoir le bloc code en mode texte, flemme de tout recopier lol,
merci d’avance
Thank you!!1
Bonjour,
Merci pour le tuto que j’ai suivi avec attention.
Le démon au démarrage passe en OK puis en NOK
J’ai une carte sim SFR.
[2021-01-26 16:58:24][INFO] : Lancement démon sms : /usr/bin/python /var/www/html/plugins/sms/resources/smsd/smsd.py –device /dev/ttyUSB0 –loglevel debug –socketport 55002 –serialrate 9600 –pin 1527 –textmode no –smsc +33609001390 –cycle 30 –callback http://127.0.0.1:80/plugins/sms/core/php/jeeSMS.php –apikey XXXXXXXXXXXXXXXXXXXXXXXXX –pid /tmp/jeedom/sms/deamon.pid
[2021-01-26 15:58:25][INFO] : Start smsd
[2021-01-26 15:58:25][INFO] : Log level : debug
[2021-01-26 15:58:25][INFO] : Socket port : 55002
[2021-01-26 15:58:25][INFO] : Socket host : 127.0.0.1
[2021-01-26 15:58:25][INFO] : PID file : /tmp/jeedom/sms/deamon.pid
[2021-01-26 15:58:25][INFO] : Device : /dev/ttyUSB0
[2021-01-26 15:58:25][INFO] : Apikey : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[2021-01-26 15:58:25][INFO] : Callback : http://127.0.0.1:80/plugins/sms/core/php/jeeSMS.php
[2021-01-26 15:58:25][INFO] : Cycle : 30.0
[2021-01-26 15:58:25][INFO] : Serial rate : 9600
[2021-01-26 15:58:25][INFO] : Pin : 1527
[2021-01-26 15:58:25][INFO] : Text mode : no
[2021-01-26 15:58:25][INFO] : SMSC : +33609001390
[2021-01-26 15:58:25][DEBUG] : Writing PID 10201 to /tmp/jeedom/sms/deamon.pid
[2021-01-26 15:58:25][DEBUG] : Init request module v2.12.4
[2021-01-26 15:58:25][DEBUG] : Starting new HTTP connection (1): 127.0.0.1
[2021-01-26 15:58:25][DEBUG] : http://127.0.0.1:80 « GET /plugins/sms/core/php/jeeSMS.php?apikey=XXXXXXXXXXXXXXXXXXXXXXXXXX HTTP/1.1″ 200 0
[2021-01-26 15:58:25][DEBUG] : Socket interface started
[2021-01-26 15:58:25][DEBUG] : LoopNetServer Thread started
[2021-01-26 15:58:25][DEBUG] : Start listening…
[2021-01-26 15:58:25][DEBUG] : Listening on: [127.0.0.1:55002]
[2021-01-26 15:58:25][DEBUG] : Connecting to GSM Modem…
[2021-01-26 15:58:25][DEBUG] : Text mode false
[2021-01-26 15:58:25][DEBUG] : Enter pin code : 1527
[2021-01-26 15:58:25][INFO] : Connecting to modem on port /dev/ttyUSB0 at 9600bps
[2021-01-26 15:58:25][DEBUG] : write: ATZ
[2021-01-26 15:58:25][DEBUG] : response: [‘ATZ
‘, ‘OK’]
[2021-01-26 15:58:25][DEBUG] : write: ATE0
[2021-01-26 15:58:25][DEBUG] : response: [‘ATE0
‘, ‘OK’]
[2021-01-26 15:58:25][DEBUG] : write: AT+CFUN?
[2021-01-26 15:58:25][DEBUG] : response: [‘+CFUN: 1’, ‘OK’]
[2021-01-26 15:58:25][DEBUG] : write: AT+CMEE=1
[2021-01-26 15:58:26][DEBUG] : response: [‘OK’]
[2021-01-26 15:58:26][DEBUG] : write: AT+CPIN?
[2021-01-26 15:58:26][DEBUG] : response: [‘+CPIN: SIM PIN’, ‘OK’]
[2021-01-26 15:58:26][DEBUG] : write: AT+CPIN= »1527 »
[2021-01-26 15:58:26][DEBUG] : response: [‘OK’]
[2021-01-26 15:58:26][DEBUG] : write: AT+CLAC
[2021-01-26 15:58:26][DEBUG] : response: [‘+CME ERROR: 100’]
[2021-01-26 15:58:26][DEBUG] : write: AT+WIND?
[2021-01-26 15:58:26][DEBUG] : response: [‘+CME ERROR: 100’]
[2021-01-26 15:58:26][DEBUG] : write: AT+CGMI
[2021-01-26 15:58:26][DEBUG] : response: [‘SIMCOM_Ltd’, ‘OK’]
[2021-01-26 15:58:26][DEBUG] : write: AT+ZPAS?
[2021-01-26 15:58:26][DEBUG] : response: [‘+CME ERROR: 100’]
[2021-01-26 15:58:26][INFO] : Unknown/generic modem type – will use polling for call state updates
[2021-01-26 15:58:26][DEBUG] : write: AT+COPS=3,0
[2021-01-26 15:58:26][DEBUG] : response: [‘OK’]
[2021-01-26 15:58:26][DEBUG] : write: AT+CMGF=0
[2021-01-26 15:58:26][DEBUG] : response: [‘+CME ERROR: 14’]
[2021-01-26 15:58:26][DEBUG] : Device/SIM busy error detected; self._writeWait adjusted to 0.200000s
[2021-01-26 15:58:26][DEBUG] : notification: [‘+CPIN: READY’]
[2021-01-26 15:58:26][DEBUG] : Unhandled unsolicited modem notification: [‘+CPIN: READY’]
[2021-01-26 15:58:26][DEBUG] : write: AT+CMGF=0
[2021-01-26 15:58:26][DEBUG] : response: [‘OK’]
[2021-01-26 15:58:27][DEBUG] : self_writeWait set to 0.1 because of recovering from device busy (515) error
[2021-01-26 15:58:27][DEBUG] : write: AT+CSCA?
[2021-01-26 15:58:27][DEBUG] : response: [‘+CMS ERROR: 302’]
[2021-01-26 15:58:27][ERROR] : Exception: CMS 302
[2021-01-26 15:58:27][ERROR] : Exit 1 because this exeption is fatal
[2021-01-26 15:58:27][DEBUG] : Send to jeedom : {‘message’: ‘CMS 302’, ‘number’: ‘none’}
[2021-01-26 15:58:27][DEBUG] : Shutdown
[2021-01-26 15:58:27][DEBUG] : Removing PID file /tmp/jeedom/sms/deamon.pid
[2021-01-26 15:58:27][DEBUG] : Starting new HTTP connection (1): 127.0.0.1
[2021-01-26 15:58:27][DEBUG] : LoopNetServer Thread stopped
[2021-01-26 15:58:27][DEBUG] : Exit 0
Bonjour,
certains opérateurs nécessitent de rentrer le « SMSC Number »
il faut aussi peut-être cocher le Textmode pour l’envoi de SMS (AT+CMGF = 1)
Fred