Où sommes nous ?

Retour

Notifications

Avec tout système de supervision, et la Domotique est l'un d'entre eux, le besoin de créer des alertes et de mettre en place des notifications se fait vite sentir.
Dans ce billet, je vais expliquer les différentes méthodes que j'utilise dans Marcel, avec les avantages et les inconvénients.

Notification par SMS

Certains opérateurs téléphonique, et c'est là la limite car ... évidement il faut avoir le bon opérateur, fournissent des API qui permettent d'envoyer des SMS. Dans le cas de FreeMobile, il s'agit de simplement appeler un web service REST.

Activation de l'option SMS

Cette option est disponible pour tous les abonnés Free Mobile, y compris pour les abonnements à 2 € par mois.

Il faut donc se rendre dans l'espace abonné et activer l'option "Notification par SMS" : le site fourni alors une clef unique et individuelle qui donne accès au service mais identifie aussi le mobile sur lequel le SMS doit être envoyé (donc en clair, une clef == un numéro).
Vous pouvez répéter l'opération pour autant de lignes que vous avez ... et obtiendrez donc autant de clef que de lignes.

Envoi de SMS

L'envoie de SMS se fait par une simple requête HTTPS avec les paramètres suivants

Pour envoyer un "Hello world !" se fait par l'URL suivante

https://smsapi.free-mobile.fr/sendmsg?user=12345678&pass=macleffree&msg=Hello%20World%20!

Avantages

Inconvénients

Solutions alternatives

Certains opérateurs offrent une interface web pour envoyer un nombre limité de SMS ... souvent vers n'importe quel numéro. Il est possible (ça dépend comment est fait la sécurité du site), de détourner ce mécanisme en faisant du reverse engineering sur le formulaire pour connaitre les paramètres utilisés et abuser le webservice appelé en fournissant nos propres arguments. C'est du classique de chez classique pour les hackers, sans doute pas à la porté de tous et le résultat reste à la merci d'un changement du code de l'opérateur.

Il existe aussi des services payants sur le web (ceux gratuits ne sont que des sources à SPAM), ou encore, il est possible de commander un vieux portable depuis un PC ... mais il lui faudra un forfait.

Par envoi de mail

Un téléphone peut écouter une boite eMail (oui oui, même un Android n'est pas limité à GMail, ça marche très bien avec Yahoo ou autre) et afficher une notification lorsqu'un message arrive.

Avantages

Inconvénients

Par "Google Cloud Messaging"

Pour faciliter les échanges entre les applications Android et leurs serveurs, et accessoirement de le faire de manière économe pour les batteries, Google a créé le service "Google Cloud Messaging" : une sorte de clone de MQTT en quelque sorte.
Nous allons utiliser ce service pour recevoir des messages courts comme on l'aurait fait avec des SMS ...

Côté Android : Newtifry

Côté Android, il faut installer une application qui recevra les messages de GCM et affichera une notification : j'ai choisi Newtifry.

Se logger avec son compte Google (celui qui nous permet d'utiliser les outils Google), puis créer une source.
Même si généralement une seule source est nécessaire, il est aussi possible d'en créer plusieurs : Newtifry permet d'associer un son différent à chaque source ; ça peut toujours être utile.

On retrouve ces informations sur le site de Newtify : il est important de noter la clef que nous allons réutiliser la clef dans ...

Pushingbox

Pushingbox est une passerelle, un concentrateur, menant à différents services de notifications à partir d'une API unique et simplifiée.

En l'occurrence, cette API est très similaire à celle utilisée par Free pour son service de SMS : grâce à Pushingbox, je peux utiliser quasiment n'importe quelle notification sans modifier quoi que ce soit dans Marcel.

Sur le site de pushingbox, cliquez sur "My Services" puis "Add a service" et sélectionner Newtifry. Lui donner un nom et en source, la clef précédente.

Dans "my scenarios", on associe le service à un "virtual scenario" dont le message est une variable nommée msg. A noter le DeviceID qui identifie le scénario : c'est l'argument qui sera passé au webservice.

Configuration de Marcel

Comme je le disais précédemment, l'API de PushingBox n'est pas très différente de celle des SMS de Free, ce qui fait que Marcel peut utiliser ce service dès sa version 2.0 ou plus.

Il suffit d'utiliser le SMSUrl suivant :

SMSUrl=http://api.pushingbox.com/pushingbox?devid=DeviceID&msg=%s

où le DeviceID provient de l'étape précédente.

Conclusion

Je vais conserver les 3 services dans Marcel :

A noter

La méthode la plus fiable reste le SMS : par exemple, sur mon Sony M4 aqua, le mode Stamina coupe WiFi et data en général lorsque le téléphone passe en veille. Dans ce cas, il est évident qu'aucune autre notification ne passe.
On peut bien sûr le désactiver ... mais l'autonomie en souffrira !


Visitez :
La liste de nos voyages
Nos sorties Ski et rando
Copyright Laurent Faillie 2001-2024
N'oubliez pas d'entrer le mot de passe pour voir aussi les photos perso.
Contactez moi si vous souhaitez réutiliser ces photos et pour les obtenir avec une plus grande résolution.
Visites durant les 7 derniers jours Nombre de visites au total.

Vous pouvez laissez un commentaire sur cette page.