
Voici un petit exemple d’intégration de S.A.R.A.H. avec d’autres boîtiers domotiques comme la Vera (lite).
Je n’ai pas de Vera, d’après l’API il y a une notion de « scène ». A priori des scripts LUA exécutés pour jouer un scénario (allumer plusieurs lampes, …)
La grammaire
En fonction de la phrase le numéro de la scène change. Je ne sais pas quel est le format de ce numéro.
[crayon]
Sarah magneto magneto !
out.action=new Object();
Sarah
magnéto magnéto out.action.scene= »1″;
met le feu sur le plateau out.action.scene= »2″;
out.action._attributes.uri= »http://127.0.0.1:8080/sarah/vera »;
[/crayon]
Bon les phrases sont un peu orientées pour Cédric Bonnet qui a une Vera Lite 😉
Les propriétés
La configuration est éditable depuis le web. Si j’ai bien compris il faut juste renseigner l’IP de la Vera accessible en réseau local.
[crayon]
{
« modules » : {
« vera » : {
« description »: « Petit test d’accès à la VERA Lite »,
« api_url »: « http://ipadress:3480/data_request?id=lu_action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=RunScene »
}
}
}
[/crayon]
Le Script
Une bête requête HTTP est envoyée à la Vera avec un message « text to speech » si ça s’est bien passé.
[crayon]
exports.action = function(data, callback, config){
// Retrieve config
config = config.modules.vera;
if (!config.api_url){
console.log(« Missing Vera config »);
return;
}
// Build URL
var url = config.api_url + ‘&SceneNum=’+data.scene;
console.log(« Sending request to: » + url);
// Send Request
var request = require(‘request’);
request({ ‘uri’ : url }, function (err, response, body){
if (err || response.statusCode != 200) {
callback({‘tts’: « L’action a échoué »});
return;
}
console.log(body);
// Callback with TTS
callback({‘tts’: « Je m’en occupe ! »});
});
}
[/crayon]
Plugin
Vous pouvez télécharger ici le plugin qu’il faut dézipper dans le répertoire /plugins de Sarah.
Je suis preneur des retours des utilisateurs de Vera (Lite). J’ai pu tester jusqu’à l’envoi de la requête.



Laisser un commentaire