S.A.R.A.H. règle ses comptes

Voici un petit article pour annoncer la sortie de la version 2.3 de S.A.R.A.H. avec un nettoyage du code et un moteur de règles proche de IFTTT, Zapier, …

[mom_video type= »youtube » id= »ItOEsEW9mgE »]

Par défaut, les scripts se terminent en indiquant le texte à vocaliser. L’idée est de pouvoir intercepter ce comportement pour enchaîner sur un autre script: Quand le script météo est déclenché, si personne n’est dans la pièce, envoyer une notification sur iOS.

Entre les 2 règles, il est possible d’exécuter un petit bout de JavaScript. Ce code a accès à toute la plateforme et au système de fichier !

De nouveaux plugins font leur apparition:

  • Commands: permet de déclencher un TTS, MP3, …
  • Pushover: permet de déclencher une notification iOS/Android
  • RSS: permet de construire un flux RSS
  • Series: plugin communautaire pour piloter VLC

Le plugin RSS complète le plugin calendrier en permettant une communication de SARAH vers IFTTT ! La boucle est bouclée 🙂

18 réflexions sur “S.A.R.A.H. règle ses comptes

  • 2 décembre 2012 à 16 h 53 min
    Permalien

    Pour les non informaticiens, il faut comprendre qu’en javascript {} représente un objet.

    Les objets javascript peuvent avoir n’importe quelle propriétés:

    [code]
    var voiture = {};
    voiture.roue = 4;
    voiture.couleur = ‘rouge’;
    [/code]

    Dans SARAH l’objets options est passé d’un script à l’autre. Les scripts traitent cette objet de la même manière qu’une requête de navigateur :
    http://127.0.0.1:8080/sarah/script?roue=4&couleur=rouge

    Bref, un script générique comme celui de eedomus peut allumer une lampe quand on demande la météo:

    [code]
    options.periphId = ‘…’
    options.periphValue= ‘100’
    [/code]

    Du coup, j’ai prévu de faire un script générique pour les gestures afin de pouvoir simplement associer tel ou tel règle en fonction d’un geste sans avoir à aller modifier le XML.

    Répondre
  • 19 septembre 2013 à 17 h 47 min
    Permalien

    C est plus deux questions qu un commentaire.
    1-comment créer ses plugins et les tester sur Sarah sans passer par le store.
    2- pour exécuter certaines fonctions est il possible d exécuter facilement du bat ou du vbs? Merci

    Répondre
  • 19 septembre 2013 à 18 h 01 min
    Permalien

    @oren

    1. un plugin n’est qu’un dossier (zippé) cf les tutos

    2. Côté serveur, on est avec NodeJS, donc on peut executer des process (.exe, .bat, etc …)

    Répondre
    • 19 septembre 2013 à 18 h 09 min
      Permalien

      C est bien ce que j avais compris initialement mais lorsque je crée un plugin (base sur les exemples) il n apparaît pas sur le serveur ni ne fonctionne quelque soit la méthode employée . Hormis créer un XML un js et un prop doit on modifier autre chose pour que le plugin soit reconnu (ps à la base je ne connais que le vbs!) en tout cas merci pour la réponse précédente plus que rapide!!)

      Répondre
  • 19 septembre 2013 à 19 h 08 min
    Permalien

    Euh bah a priori si tu as suivi les tutos, ou que tu téléchages un des plugin du store ils devraient marcher. Sinon c’est que le serveur ne marche pas du tout.

    La vidéo la plus parlante est la demo 5 qui reprends un peu tout. Et c’est très basique:

    – Le XML décris des grammaires et balance des requetes au serveur
    – Le JS reçoit les requetes et les traites et réponds au client
    – Le .prop définis les propriétés

    Pour tester un accès à http://127.0.0.1:8080/sarah/nomduplugin appel le JS et après faut juste respecter la nomenclature des fichiers

    Répondre
    • 19 septembre 2013 à 19 h 19 min
      Permalien

      Je pense que le problème doit provenir de windows plus que de Sarah ( je trouverais je suis têtu) .
      1- une dernière question , une communication Sarah-arduino est elle en cours dans un avenir proche ( vu le prix de certains éléments domo tique l arduino est une alternative plus que valable.) en tout cas félicitations pour Sarah . L idée et la réalisation sont tout simplement géniales.

      Répondre
  • 19 septembre 2013 à 19 h 48 min
    Permalien

    Faudrait que tu poses la question sur la communauté Google+ il y a beaucoup de gens qui ont fait des trucs autour de SARAH. La demo5 est typiquement un exemple théorique de communication avec un système tiers

    Répondre
    • 22 septembre 2013 à 12 h 00 min
      Permalien

      Rebonjour. J ai finalement réussi à résoudre mon problème initial ( du à windows et non à Sarah) qui concernait le fichier prop. En fait lorsque l on enregistre simplement windows le nomme bien en . Prop mais ne le reconnait pas . Il faut faire enregistrer sous… Pour que le fichier soit réellement pris en compte. C est totalement idiot mais je répercute l Info ce serait bête qu un utilisateur potentiel de Sarah abandonne des le départ pour un petit défaut .
      -dans un second temps comment déclencher un exe un bat ou un LNk en vocal? Le Javascript ne le permet pas et les différents test fourni ne sont pas très explicites pour un néophyte (le vbs permet lui l appel d’exe ou de bat.) je sais qu il y a une technique mais je ne la comprends pas. Merci pour ta réactivité et ta disponibilité .

      Répondre
  • 22 septembre 2013 à 12 h 12 min
    Permalien

    Tu peux le faire en NodeJS:

    var exec = require('child_process').exec;
    var process = 'path/to/proc.exe  -options opt1';
    var child = exec(process,  function (error, stdout, stderr) { });
    
    Répondre
    • 29 octobre 2013 à 14 h 34 min
      Permalien

      Merci beaucoup pour le tuyau, je vais me pencher dessus ce week end pour l adapter à mes besoins!

      Répondre
  • 28 novembre 2013 à 11 h 08 min
    Permalien

    Bonjour Mr Encausse, je vous contact par ce biais car pas trouvé d’autre moyen ,j’essai de mettre en place SARAH (superbe travail 😉 cependant lorsque j’essai d’atteindre 127.0.0.1:8080 je n’y arrive pas, il m’affiche comme une page web inaccessible :-/ ai-je loupé quelque chose ? j’ai ouvert les port demandé 7777,8888,8080 vers mon pc mais toujours rien.

    Merci pour votre aide et encore félicitation pour ce superbe projet.

    Répondre
  • 28 novembre 2013 à 11 h 17 min
    Permalien

    @Black_Ops, A priori c’est un serveur web NodeJS classique, tu lance le .bat de Node et l’accès local est bon (normalement en local il n’y a même pas de port à ouvrir).

    Pour plus d’infos:
    – La doc: https://github.com/JpEncausse/SARAH-Documentation/wiki
    – Les tutos: http://blog.encausse.net/s-a-r-a-h/s-a-r-a-h-documentation/
    – La communauté: https://plus.google.com/u/0/communities/105964514508504667709

    Répondre
  • 28 novembre 2013 à 11 h 34 min
    Permalien

    Merci pour cette réponse rapide, malheureusement j’ai lancé le .bat du dossier nodejs (nodevars.bat) puis tenté de nouveau le raccourci SARAH mais message « Internet ….ne peut pas afficher cette page web :-/ »

    Répondre
  • 28 novembre 2013 à 11 h 39 min
    Permalien

    Euh non…… SARAH se lance via 2 fichiers:
    – Client_Microphone.cmd pour le client (ou l’équivalent kinect)
    – Server_NodeJS.cmd pour le serveur

    Tu dézip, tu lances et normalement ça marche… sinon il faut aller creuser dans la doc.

    Répondre
  • 28 novembre 2013 à 11 h 43 min
    Permalien

    Arf le boulet j’ai oublié de lancé le server :-/ merci Mr Encausse ;), bon courage pour la suite. AH si une petite question, bientot une app apple ?

    Encore merci pour ce gros travail 😉

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.