Page 1 sur 1

[PHP] Notification SMS via l'API Keyyo

Publié : 29 janv. 2015, 12:32
par pguillot
Bonjour à tous.

Ceci est mon premier message sur ce forum, et j’espère que ce ne sera pas le dernier! Je suis content de voir qu'une petite communauté Domoticz s'est formée autour de ce forum, et en Français!

Keyyo est un service payant de téléphonie IP. Avec keyyo, vous pouvez souscrire à un abonnement VOIP, puis ensuite acheter du matériel SIP et configurer le tout vous même (j'ai un C470 IP de chez Siemens).

Une fois abonné, vous pouvez aussi utiliser les API de Keyyo. En vrac vous trouverez la fonction "click to call", la notification des appels sortants et bien entendu l'envoi de SMS.

Attention, chaque SMS est facturé (enfin dans le cadre de mon abonnement, peut être existe-t-il des offres SMS, je n'ai pas regardé).

Toute la documentation se trouve ici : http://www.keyyo.com/dl/263_guide-dinst ... i--api.pdf

Ce que je souhaitais, c'est avoir moyen d'utiliser l'API Keyyo afin de permettre à Domoticz de m'envoyer des notifications SMS en fonction de mes besoins :
  1. Activation du détecteur incendie
  2. Ouverture de ma porte de garage, je vais aussi rajouter un interrupteur "On/Off" pour cette notification, sinon quand je vais moi aussi ouvrir le garage, des SMS vont être envoyés et bonjour la facture à la fin du mois!
Voici le premier script en PHP, il s'occupe de toute l’interaction avec l'API Keyyo :

Code : Tout sélectionner

<?php
	$account = "331234567890";
	$callee = "0601020304";
	$passsip = "password keyyo";
	$texte = $argv[1];
	$url="https://ssl.keyyo.com/sendsms.html?ACCOUNT=".$account."&CALLEE=".$callee."&MSG=".$texte;
	$ch = curl_init();
	curl_setopt($ch,CURLOPT_URL,$url);
	curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST); 
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($ch, CURLOPT_USERPWD, $account.":".$passsip);
	$data = curl_exec($ch);
	curl_close($ch);
	echo $data;
?>
  1. $account : Sera votre numéro de téléphone Keyyo
  2. $callee : Sera le numéro dé téléphone sur lequel vous souhaitez envoyer le message
  3. $passsip : Sera le mot de passe de votre compte SIP (voir dans le menu Keyyo 'configurer votre terminal')
  4. $texte : Est de base le premier argument du script, ainsi vous pouvez réutiliser le même script pour toutes vos notifications!
La commande s'utilise simplement de la manière suivante :

Code : Tout sélectionner

php notification_keyyo_sms.php "Ceci est un test"
En l'état, ce script peut être utilisé dans la partie Action On: de Domoticz. Après tout on souhaite avoir à chaque fois une notification SMS quand le détecteur de fumée se met en alarme et que nous sommes absent.

Si comme moi vous souhaitez utiliser ce script pour vos détecteurs de mouvement ou pour vos contacteurs de portes (bon ok, une vraie solution d'alarme filaire reste quand même plus sûr que des périphériques 433MHz) uniquement quand vous êtes absent, procéder comme suit :
  1. Créez un interrupteur "On/Off" générique, dans mon cas il se nomme Alarme Porte de Garage
  2. Ensuite, créez un nouveau fichier script dans votre répertoire scripts/lua de Domoticz, mon script se nomme script_device_alarmeportegarage.lua :

Code : Tout sélectionner

print('this will end up in the domoticz log')

commandArray = {}
if (devicechanged['Porte Garage'] == 'Open' and otherdevices['Alarme Porte de Garage'] == 'On') then
	os.execute('php5 /home/domoticz/scripts/notification_keyyo_sms.php "Attention, porte du garage ouverte!"')
end
return commandArray
Je voulais utiliser le menu des événements dans Domoticz, mais dans ma version (V2.2025) il semble que je ne puisse pas exécuter des scripts, je me suis donc rabattu sur la création d'un script LUA.

Une fois votre script enregistré, vous pouvez utiliser votre bouton pour activer la notification pour la porte de garage!

Re: Notification SMS via l'API Keyyo

Publié : 29 janv. 2015, 13:27
par jackslayter
j'ai trouvé une solution gratuite, bon il y a 2 3 manip à faire mais quand c'est gratuit ;)
http://www.abavala.com/2012/11/13/notif ... -dun-mail/

Re: Notification SMS via l'API Keyyo

Publié : 23 juil. 2015, 09:49
par medmed
Bonjour Mr Peguillot.

Je vois que vous etes bien familier avec le scripting de keyyo. Je me permet de vous demander de m'aider svp.

Je suis deja client keyyo, je suis admin d'une quinzaine de lignes. et je souhaitre en place un bandeau CTI a mes commerciaux pour qu'il puisse interagir avec leur crm et leur telephonie...honnetement Je suis un peu perdu.... je ne trouve pas avec quoi je dois partir!!!!!

la documentation de keyyo semble etre bonne, mais elle ne met pas en pratique des exemple d'emission ou de reception d'appels.. d'une part, on parle de scripting a mettre en place, et d'autre part d'utiliser des URL simple avec comme attribut les parametre d'appels....

Si je souhaite etre plus concis... ma question est la suivante:

- comment je peux émettre un appel avec mon compte keyyo depuis une simple page ASP ou PHP ou HTML (par étape)?

Une fois j'ai la réponse a cette question, je pourrais investir dans la documentation et développer le reste.

Merci pour votre collaboration

Re: Notification SMS via l'API Keyyo

Publié : 03 déc. 2015, 19:00
par pguillot
(Petite aparté avant, Mr medmed, je ne pourrais pas vous aider pour votre problème.)

Bonjour à tous.

Juste pour vous signaler que mon script est maintenant obsolète. En effet keyyo vient de changer complètement son système d'API, et il est nécessaire d'utiliser l'authentification OAUTH2 afin de pouvoir communiquer avec leurs API.

En plus d'être laborieux d'avoir un token, je ne sais pas comment envoyer des SMS ensuite.

J'ai posté un message sur le forum Keyyo à ce sujet : http://forum.keyyo.com/showthread.php?tid=1502