Module Vera

210 views
Skip to first unread message

Jean-Philippe Encausse

unread,
Nov 18, 2012, 10:44:11 AM11/18/12
to
L'idée est de tester l'intégration avec une Vera Lite (que je n'ai pas) spéciale dédicace pour Cédric Bonnet ;-)

Visiblement l'APi se trouve ici:
http://wiki.micasaverde.com/index.php/Luup_Requests#lu_action il faut faire un RunScene (pré configuré sur la Vera)

A priori un truc du genre (je testerais / packagerais ça en plugin demain):

Le XML:

<grammar version="1.0" xml:lang="fr-FR" mode="voice" root="ruleVera" xmlns="http://www.w3.org/2001/06/grammar" tag-format="semantics/1.0">
  <rule id="ruleVera" scope="public">
    <example>Sarah magneto magneto !</example>
    <tag>out.action=new Object(); </tag>
    <item>Sarah</item>
    <one-of>
      <item>magnéto magnéto<tag> out.action.scene="1"; </tag></item>
      <item>met le feu sur le plateau<tag> out.action.scene="2"; </tag></item>
    </one-of>
    <tag>out.action._attributes.uri="http://127.0.0.1:8080/sarah/vera";</tag>
  </rule>
</grammar>


Les propriétés:

{
  "modules" : { 
    "vera"  : {
      "description": "Petit test d'accès à la VERA Lite",
    }
  }
}


Le script:


exports.action = function(data, callback, config){

  // Retrieve config
  config = config.modules.vera;
  if (!config.api_url){
    console.log("Missing Eedomus config");
    return;
  }
  
  // Build URL
  var url = config.api_url + '&SceneNum='+data.scene;
  
  // 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;
    }
    
    // Callback with TTS
    callback({'tts': "Je m'en occupe !"});
  });
}

Jean-Philippe Encausse

unread,
Oct 7, 2012, 7:46:28 AM10/7/12
to
Reply all
Reply to author
Forward
0 new messages