Appel sur portable en cas d'alarme

Vous avez crée un script lua dont vous êtes fier, un .sh génial, un programme python hors du commun, un tuto , c'est ici que vous pouvez les partager.
Soyez précis quant aux prérequis, les manips à faire pour que votre bijou fonctionne (des chmod ?, un apt-get à faire ...)
Décrivez précisément son fonctionnement
Placez votre code entre [Quote] et {/Quote]
Répondre
pimseb
Messages : 29
Enregistré le : 04 sept. 2017, 12:46

Appel sur portable en cas d'alarme

Message par pimseb » 18 févr. 2019, 19:23

Bonjour,

Je cherche depuis quelques jours une méthode pour m'appeler si jamais l'alarme se déclenche chez moi. J'utilise surtout telegram en général, mais vous savez ce que c'est les notifications : on ne les lit pas toujours toutes et elles se perdent dans le flot des emails et autres messages d'amis. Pour moi, le seul vrai moyen de réagir rapidement en cas d'urgence, c'est de faire sonner le téléphone (avec la montre connectée qui vibre en même temps :lol: )

J'ai lu quelques articles à ce sujet, mais aucun ne me convenait vraiment. Le premier nécessitait de laisser un ancien portable android branché 24h/24, ce que je n'ai pas envie de faire depuis qu'un ami a fait flamber sa maison à cause d'une batterie de portable qu'il ne débranchait jamais. Un autre article faisait référence à sip-tools, un vieux projet qui n'a pas bougé depuis des années et a l'air abandonné.

Et puis au cours de mes recherches, je suis tombé sur "Messagebird". C'est un site plutôt destiné aux professionnels, pour automatiser des appels, des envois de sms avec des réponses que l'on peu prédéfinir. Le gros avantage pour moi qui ne suis pas codeur, c'est qu'on peut faire tout un script sans rien connaître à la programmation, simplement en glissant et déplaçant des actions à enchaîner (comme blocky).

Voila par exemple ce que j'ai préparé aujourd'hui sur le site :
L'alarme de ma maison se déclenche -->
domoticz envoie une requête http vers messagebird -->
messagebird m'appelle sur le portable. Si je ne décroche pas il appelle un autre numéro -->
un message nous dit qu'il y a un problème -->
il me propose de couper la sirène si j'appuie sur 1 -->
ou appeler la gendarmerie si j'appuie sur 2
Finalement si aucun de nous deux a répondu, on recevra un SMS avec le numéro de la gendarmerie, ça nous évitera de le chercher dans la panique :P

Bien sur on peut mettre des tas d'autres options, demander à domoticz de faire toutes les actions pilotables par json, tout est envisageable (déclencher une lumière, un son, une caméra à la maison). On peut aussi imaginer pouvoir enregistrer les bruits dans la maison juste avant que la sirène se soit déclenchée et les écouter au cours de l'appel téléphonique.

Voila ce que mon scénario donne en image :

Image

Alors ce n'est pas gratuit mais ce n'est pas cher. J'ai fait des tests toute la journée et je dirais que mon scénario coûte 4 centimes à chaque déclenchement. On ne commence à payer que si on décroche. Etant donné que ce scénario ne se déclenchera qu'en cas d'urgence extrême, ça ne devrait pas me ruiner.

Voilà les étapes à suivre pour faire la même chose que moi :
- Créer un compte sur www.messagebird.com
- Vous disposez de 10 crédits pour faire des tests dès l'ouverture du compte mais les fonctionnalités que l'on souhaite ne marchent qu'avec de l'argent déposé sur le compte. Il faut donc faire un dépôt, minimum de 15 € + TVA (si vous habitez en Suisse, vous ne payerez pas la TVA). Malheureusement le dépôt n'est pas instantané, même par paypal. Il faudra attendre que quelqu'un le valide lors d'un jour ouvrable.
- Une fois le compté crédité en euros, on clique sur "Flow Builder" à gauche, et on commence à construire notre projet
L'évênement déclenchant sera "webhook", une url qu'on appellera à partir de notre Domoticz :

Image

Ce webhook, nous pouvons le créer avec ou sans variable. Si je ne décide d'inclure aucune variable, il suffira d'appeler une URL du style https://flows.messagebird.com/flows/29x ... xxx/invoke pour que tout le scénario suivant se déclenche. Cette URL est générée par messagebird une fois que vous avez terminé ("publié") votre projet.
Si je décide d'ajouter une variable à mon projet, je devrai lancer le scénario avec un script curl qui sera le suivant :

Code : Tout sélectionner

curl -X POST -H 'Content-Type: application/json' -d '{
"variable1": "valeur_de_la_variable_1"
}' https://flows.messagebird.com/flows/29xxxxxf-544d-30af-9f0a-3xxxxx/invoke
A noter que si on choisit d'inclure une ou plusieurs variables, il faut absolument passer par du curl. Une url simple (du style &variable=xxx&value=yyyy) n'existe pas, j'ai demandé au support.

Je vais ajouter une variable "raison" qui me dira de vive voix au téléphone la raison pour laquelle mon téléphone portable sonne, en fonction du switch qui sera activé dans domoticz :

Image

Et puis on glisse tranquillement nos étapes voulues sur le site. Par exemple j'ajoute comme première étape un appel vers mon portable, et une option si je ne décroche pas (en l'occurence appeler un autre numéro). En expéditeur on peut mettre ce qu'on veut. Le portable affiche réellement le numéro "fake" d'expéditeur quand il sonne ! Même 0600000000

Image

J'ajoute ensuite un module de parole avec ma variable "raison" qui me dira la raison de l'appel :

Image

Pour désactiver ma sirène (appui sur la touche 1 du téléphone) j'ajoute un module http request. Alors ici on pourrait très bien donner l'adresse json directe du switch à actionner du type http://user:pass@ip:port/json.htm?type=command&param=switchlight&idx=xx&switchcmd=Off. Mais cela nécessite de laisser traîner sur le site de messagebird son username et password de domoticz, ce que je n'ai pas spécialement envie de faire. De plus mon port domoticz est bloqué de l'extérieur. J'ai donc pensé passer par une requête en php qui actionnera la commande json. Y a peut être plus simple, à vous de me le dire :P J'ai un serveur web avec php sur mon nas Synology. J'ai créé un fichier alarme.php avec cette commande :

Code : Tout sélectionner

<?php
      $message=shell_exec("/volume1/web/scripts/testscript.sh 2>&1");
      print_r($message);
    ?>

Qui renvoit à testscript.sh qui se compose tout simplement ainsi :

Code : Tout sélectionner

#!/bin/bash
curl -s 'http://user:pass@ip:port/json.htm?type=command&param=switchlight&idx=xx&switchcmd=Off'
De cette manière il me suffit de taper dans un navigateur http://mon_adresse_ip/alarme.php pour arrêter ma sirène. Comme cela n'est pas non plus sécurisé, j'ai mis le fichier alarme.php à l'intérieur d'un répertoire "domoticz", que j'ai protégé avec un utilisateur et mot de passe, en modifiant les fichiers .htaccess et .htpasswd grâce à ce tuto : http://www.htaccesstools.com/articles/p ... rotection/

Et voilà finalement à quoi ressemble mon module http Request dans messagebird

Image

Intégration dans domoticz

Pour commencer je me sers simplement de l'option "action On" sur la page de mon switch "alarme déclenchée". Si on n'utilise pas la variable créée chez messagebird, on entre alors simplement l'adresse https://flows.messagebird.com/flows/29x ... xxx/invoke pour que tout le scéario d'appel se déclenche quand le switch passera sur On.

Si on utilise la variable "raison", on renseigne dans "Action On" le lieu où se trouve le script sh sur le serveur domoticz, avec le chemin script://

Par exemple pour le détecteur de fumée de la cuisine le script sera :

Code : Tout sélectionner

#!/bin/bash
curl -X POST -H 'Content-Type: application/json' -d '{
"raison": "Il y a le feu dans la cuisine"
}' https://flows.messagebird.com/flows/29xxxxxf-544d-30af-9f0a-3xxxxx/invoke
Ce qui lancera un appel téléphonique et me dira de vive voix la raison de l'appel.

Avec cette méthode, il va falloir créer autant de scripts qu'il y a de switchs à surveiller, et modifiant à chaque fois la variable "raison". Ce n'est pas trèe élégant.
Le top serait d'inclure tout cela dans des scripts lua mais là je suis hors concours, à vous de jouer :D

Voilà pour ce premier petit tuto. A noter que le staff de messagebird est très réactif : ils ont un chat pour aider, et j'ai même découvert un bug sur leur flow builder qu'ils ont fixé dans la journée (je n'ai pas d'action chez eux :lol: )

J'attends vos avis et des screenshots de vos "arbres décisionnels"

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Jeff
Messages : 711
Enregistré le : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: Appel sur portable en cas d'alarme

Message par Jeff » 18 févr. 2019, 22:48

Bravo et merci pour ce tuto :)
Version: 4.9700; RFXCOM Rfxtrx433e ext/1007 ; Zwave (Z-stick GEN5, Fibaro...), Zigbee2MQTT.

cyberbob
Messages : 464
Enregistré le : 28 nov. 2016, 19:43
Localisation : Belgique

Re: Appel sur portable en cas d'alarme

Message par cyberbob » 19 févr. 2019, 12:14

Merci pour ce tuto,
mais si il y a une ligne fixe présente là ou est domoticz, pourquoi ne pas prendre un composeur automatique téléphonique ?
https://french.alibaba.com/product-deta ... 26341.html
Il en existe d'autre modèle, je n'ai pas trop chercher mais j'en ai un du même genre, il a juste besoin d'un contact sec, et de la ligne tél.
Il compose les numéros de tel mémorisé en cas de changement du contact.
Domoticz Stable V4.9700 sur Synology DSM 6.2 / 2 x RFlink V48.4 - 433.92MHz(Dio/Chacon) & 433.42MHz(RTS) / Script en LUA & Blocky

pimseb
Messages : 29
Enregistré le : 04 sept. 2017, 12:46

Re: Appel sur portable en cas d'alarme

Message par pimseb » 19 févr. 2019, 12:33

cyberbob étrangement j'ai pas pensé utiliser ma ligne fixe 😂 il faudrait voir si ce module fonctionne avec une ligne fixe de type box internet. On dirait un vieux boîtier pour lignes analogiques.
Le problème est qu'en cas de coupure d'Internet la ligne fixe ne fonctionnera plus. Avec une clé 3g qui prend le relais on pourra toujours contacter messagebird.
L'avantage de ma méthode est aussi de pouvoir interagir avec domoticz en appuyant sur les touches du téléphone.

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


cyberbob
Messages : 464
Enregistré le : 28 nov. 2016, 19:43
Localisation : Belgique

Re: Appel sur portable en cas d'alarme

Message par cyberbob » 19 févr. 2019, 13:45

attention qu'il faut une ligne téléphonique classique, sans passer par la box, mais directement sur les 2 fils de la prise d'arrivée de la rue (c'est toujours le cas en belgique, je ne sais pas en france)
Et dans ce cas, même si la liaison internet, la box, et une coupure du réseau 220v (pour autant que l'alarme soit sur baterie), la ligne tél. seras fonctionnelle.
Le seul avantage de cette méthode est que l'on ne paie rien, a part le coût de la ligne fixe et l'achat d'un boitier de ce type.
Domoticz Stable V4.9700 sur Synology DSM 6.2 / 2 x RFlink V48.4 - 433.92MHz(Dio/Chacon) & 433.42MHz(RTS) / Script en LUA & Blocky

pimseb
Messages : 29
Enregistré le : 04 sept. 2017, 12:46

Re: Appel sur portable en cas d'alarme

Message par pimseb » 19 févr. 2019, 13:53

ah oui cyberbob en France les lignes analogiques n'existent plus. Ils n'en ouvrent plus de nouvelles, et celles qui existent encore devront être fermées après 2023.
Un abonnement de ligne analogique coûte encore 18 euros par mois pour celui qui en veut vraiment une.
Tandis que mon script que j'ai encore testé hier me coûte 2 centimes par lancement :D

cyberbob
Messages : 464
Enregistré le : 28 nov. 2016, 19:43
Localisation : Belgique

Re: Appel sur portable en cas d'alarme

Message par cyberbob » 19 févr. 2019, 15:21

En belgique je ne sais pas dans combien de temps les lignes analogique vont restée, il ne parle pas encore de fermeture.
Sinon c'est clair que sur une ligne de type box internet on peut oublier cette méthode.
Domoticz Stable V4.9700 sur Synology DSM 6.2 / 2 x RFlink V48.4 - 433.92MHz(Dio/Chacon) & 433.42MHz(RTS) / Script en LUA & Blocky

titis14
Messages : 128
Enregistré le : 22 juin 2018, 14:09

Re: Appel sur portable en cas d'alarme

Message par titis14 » 20 févr. 2019, 08:40

pimseb a écrit :
18 févr. 2019, 19:23
Le premier nécessitait de laisser un ancien portable android branché 24h/24, ce que je n'ai pas envie de faire depuis qu'un ami a fait flamber sa maison à cause d'une batterie de portable qu'il ne débranchait jamais.
Tu me fait peur c'est ce que je fais actuellement faut que je trouve un autre moyen, mais je pense que le mieux et de retirer complétement la batterie car mon système est sur onduleur, mais le problème c'est que si je reboot mon mini serveur le port USB doit couper et donc plus de tel au reboot.

pimseb
Messages : 29
Enregistré le : 04 sept. 2017, 12:46

Re: Appel sur portable en cas d'alarme

Message par pimseb » 20 févr. 2019, 09:22

titis14 a écrit :
20 févr. 2019, 08:40
Tu me fait peur c'est ce que je fais actuellement faut que je trouve un autre moyen
Je suis en train de chercher une solution en cas de coupure de courant. Je pense opter pour un onduleur. Laisser une batterie de téléphone branchée en permanence sans régulation intelligente (coupure de la charge quand pleine etc) est pour moi une mauvaise idée.
Regarde encore ce fait divers la semaine dernière : https://www.bfmtv.com/police-justice/di ... 32709.html

titis14
Messages : 128
Enregistré le : 22 juin 2018, 14:09

Re: Appel sur portable en cas d'alarme

Message par titis14 » 20 févr. 2019, 09:38

pimseb a écrit :
20 févr. 2019, 09:22
titis14 a écrit :
20 févr. 2019, 08:40
Tu me fait peur c'est ce que je fais actuellement faut que je trouve un autre moyen
Je suis en train de chercher une solution en cas de coupure de courant. Je pense opter pour un onduleur. Laisser une batterie de téléphone branchée en permanence sans régulation intelligente (coupure de la charge quand pleine etc) est pour moi une mauvaise idée.
Regarde encore ce fait divers la semaine dernière : https://www.bfmtv.com/police-justice/di ... 32709.html
Je vais voir pour faire cela, démarrer la charge quand la batterie et a 20% et la stopper à 100% comme ca le téléphone fonctionnera normalement et ne sera pas toujours alimenté.
https://easydomoticz.com/forum/viewtopi ... 306#p64306

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre