Release de S.A.R.A.H. v2.9

Voici les détails de la release v2.9 de S.A.R.A.H. qui sera en version RC pendant quelques jours. Le changelog est accessible depuis l’onglet « A propos » de la webapp.

Charte et Design

Un grand merci à Olivier Guiard pour son logo de S.A.R.A.H.

Un grand merci à Ded Koder et HotfireNet pour l’avatar de S.A.R.A.H.

Voici le nouveau portail, Flat Design et Modern UI dans lequel il est possible de déplacer les portlets avec la librairie Gridster.

Portlets

  • Les portlets ont une position X,Y et une taille W,H sur la grille
  • Les plugins peuvent fournir des fichiers portlet.html et portlet_back.html pour habiller le portail.
  • Les gabarits de portlet peuvent déclencher des requêtes AJAX via la classe ajax sur un lien ou un formulaire
  • Il est possible de déclarer des CSS depuis ces gabaits.

NodeJS

Démarrage

  • Nettoyage des propriétés
  • Tous les plugins sont initialisés
  • Possibilité d’exécuter du code avec exports.init = function (SARAH){ }

Exceptions

  • Mise en place d’un catch all de toutes les exceptions
  • Ajout de Winston, un système de logs vers un fichiers /script/wsrnode.log

Fonctions

  • Ajout de SARAH.call() pour appeler un plugin sans règles
  • Le code SARAH.speak() peut être synchrone ou asynchone (avec callback)
  • Ajout de SARAH.shutUp() arrête un SARAH.speak()
  • Ajout des paramètres SARAH.runApp()

AppStore

  • Affichage des stats de téléchargement
  • Téléchargement du Master Trunk GitHub (expérimental)
  • Fix d’une erreur CRC

Divers

  • Ajout de la librarie xml2js pour parser du XML en JSON
  • Rechargement automatique des .js modifiés
  • Affichage de la durée des call()

Kinect / Micro

Gros refactoring de la reconnaissance vocale

  • Ajout d’un serveur RTP pouvant reconnaître le stream audio (experimental)
  • Choix de la langue Google Speech dictation="en-US"
  • Ignore les grammaires de la mauvaise langue
  • Rechargement XML sans perdre le contexte
  • Correctif sur le lazy maintenant dans le nom du fichier OU de la règle
  • Ajout de la durée des requêtes dans les logs
  • Support des .wma en plus des .wav
  • Remplacement de Sentinel par Log2Console

Pour Log2Console créer un Receiver UDP sur le port 9999.

Performances

Consommation CPU approximative:

  • Reco vocale: 2%
  • Take picture: +0%
  • Reconnaissance faciale: +2%
  • QRCode (6): +8%
  • Websocket: +7% (11% actif)
  • Gesture: +9%
  • Gesture + Websocket: +28% actif

Certaines machines ont des « System Interrupts » qui peuvent consommer énormément de CPU. C’est lié au système je n’ai pas encore de pistes.

Articles

Voici quelques articles rédigés entre la v2.8 et la v2.9 hors plugins et démos.

Plugins

Un grand merci à la communauté ! Voici la liste des plugins releasés entre la v2.8 et la v2.9.

  • Calendar 2.0
  • Freebox 2.0
  • HomeCenter 2 (Vincent Fresnel)
  • Calendar (where in title)
  • Volume (Guigui Abloc)
  • Babysiter (Vincent F)
  • Parle (Hotfirenet)
  • Translate
  • Minuteur (Olivier Stéphane)
  • Bonjour (Alexis BARRY)
  • Mail 2.0
  • XBMC 1.4 (Jérôme VEYRET)
  • GoogleTraffic (Baptiste Marienval)
  • Blink(1)
  • Pebble
  • Calcul (Benoît GUILLAUME)
  • Tvneufbox (Amaury du)
  • Control (Alexis BARRY)
  • VDM (Maxime Hermouet)
  • byebye (Hotfirenet)
  • TvPhilips (Thomas Pinaud)
  • DateConviviale (Olivier Dupont)
  • Squeezebox (Vincent Fresnel)
  • Roomba (Alain Chiorboli)
  • Horoscope (Baptiste Marienval)
  • SSH (Mad Rippeur)

La version 2.9 est capable d’installer les plugins directement depuis un repository GitHub.

IceBox

La « todo list », dans l’état actuel des choses, de tout ce qu’il faudrait faire un jour…

[ ] Plugin: Better Riverscript with memory
[ ] Plugin: Shazam
[ ] Plugin: POC Chess Game
[ ] Plugin: Meteo world wide (with Réunion)
[ ] Plugin: Rock Paper Scisor (https://plus.google.com/115506004518341004775/posts/ZaqAtocmAJm)
[ ] Plugin: Halloween

[ ] WSRNodeJS: Log sur le web
[ ] WSRNodeJS: listing trigger / actions like IFTTT
[ ] WSRNodeJS: Portal: ChartJS
[ ] WSRNodeJS: Set a proxy for all request
[ ] WSRNodeJS: Portal: Twitter
[ ] PhantomJS: Take Screenshot

[ ] WSRMacro: Reduce CPU use
[ ] WSRMacro: Camera vs Learn (little bit tricky)
[ ] WSRMacro: Restart if necessary
[ ] WSRMacro: Handle webcam video stream (https://code.google.com/p/ispyconnect/source/browse/#svn%2Ftrunk%2FiSpyApplication)
[ ] WSRMacro: Handle webcam audio stream
[ ] WSRMacro: ARM Processor
[ ] WSRMacro: RTPClient Stream (https://plus.google.com/u/0/103307507185339634362/posts/2oq3XyUDW7v)
[ ] WSRMacro: custom.ini Rotate image 180°
[ ] WSRMacro: sleep mode
[ ] WSRMacro: XML attribute to start/stop ... gesture reco
[ ] WSRMacro: XML attribute to start/stop ... face reco
[ ] WSRMacro: Timeout gesture, face
[ ] WSRMacro: Mono build ? (http://www.mono-project.com/Main_Page)
[ ] WSRMacro: OCR on photo stream
[ ] WSRMacro: Gestures context
[ ] WSRMacro: Speaker fingerprint
[ ] WSRMacro: Speaker gender
[ ] WSRMacro: Speaker IP / Room / Callback
[ ] WSRMacro: sending X,Y,Z of head
[ ] WSRMacro: sending mood
[ ] WSRMacro: Track / Recognize blob (http://stackoverflow.com/questions/14206699/tracking-blobs-with-microsoft-kinect)
[ ] WSRMacro: Grammar: reload single file

[ ] Doc: User Echo or GetSatisfaction ?
[ ] Doc: VoteBox
[ ] Doc: Postpone wakeup if there is traffic

[ ] Idea: Google Now
[ ] Idea: DIY Maginc Mirror (http://diymagicmirror.com/)
[ ] Idea: Bing Vision
[ ] Idea: Animated avatar ? of sound wave
[ ] Mobile: Speech To Text
[ ] Mobile: Ratchet mobile site
  1. J’ai remplacé la version RC par une version RC1 avec un correctif sur les contextes.

    J’aime

  2. J’upload une RC2 visiblement un problème avec la partie Micro (vive les dll !)

    J’aime

  3. Génial ! Encore de grosses évolutions 😀 Je suis en vacances à la fin de la semaine, je vais en profiter pour m’y mettre vraiment !
    J’avais un problème avec la 2.8, sur le pc où Sarah tourne je voulais utiliser XBMC en parrallèle, quitte à avoir un pc qui tourne 24/24. Après avoir lancé XBMC, après un moment Sarah ne répondait plus à rien 😦

    J’aime

  4. Ah étrange, faudrait que tu en parles avec Jerôme. J’ai eu une fois le problème a cause d’une option XBMC qui prenait la main sur l’audio

    J’aime

  5. v2.9 RC3 en cours d’upload

    [X] BUG Container color
    [X] RFE Log2Console
    [X] BUG Test with RTP Server
    [X] BUG PhantomJS vs Winston
    [X] BUG: Installing plugin from GitHub sometimes fails
    [X] BUG: Msg NodeJS on Startup

    J’aime

  6. v2.9 RC4 en cours d’upload

    [X] BUG: Warn on properties
    [X] BUG: Try/Catch on Kinect + Logs
    [X] BUG: Fix IE9+ (gracefull degradation)
    [X] BUG: Fix HTML5

    J’aime

  7. v2.9 RC5 a priori finale sauf bug extrême

    [X] Restart for a given timeout
    [X] NodeJS version
    [X] Add parameter Listen true/false in request/xml

    J’aime

  8. Bonjour
    En passant de la version 2.8 à cette version 2.9.5, l’accès à la vidéo de la kinect n’apparaît plus sur le raccourci de la maison????
    Est-ce normal??? si oui comment accéder à la vidéo maintenant notamment pour la reconnaissance faciale????

    J’aime

  9. Il faut modifier le custom.ini pour activer les fonctions souhaitez. Il y a un custom.cpu.ini avec tout d’activé

    J’aime

  10. Bonjour,

    Super projet ! On en rêve tous !

    Petite question, S.A.R.A.H. sait-elle gérer le protocole X10 ?

    J’aime

  11. @DavidM Merci, actuellement il n’y a pas de plugin officiel X10, les gens attaquent directement les API des box domotiques (qui gèrent plusieurs protocoles). Après si il y a une API ca doit être faisable.

    J’aime

  12. Merci pour la rapidité…

    Mon idée était d’avoir un PC (avec CM15) gérant le X10+SARAH sans passer par une box dédiée.

    J’aime

  13. Faut voir si il y a une « API » ou voir même qu’il y a peut-être déjà une libraire NodeJS

    J’aime

  14. C’est encore à l’état de projet/idée…
    Je vais aller chercher des infos…
    Merci
    Continue comme ça 🙂

    J’aime

  15. Salut, encore un travail formidable. Vraiment bravo..
    Un question, depuis la 2.9 avec log2console, j’ai bien créé un receiver UDP port 9999, mais ca reste vide. Une idée ? De plus y’a moyen aussi de capter le flux à distance (ben oui sarah est sur une autre machine dans le salon) ?

    J’aime

  16. @wil

    Il faut mettre IPv6 et lancer en tant qu’Admin
    https://plus.google.com/u/0/103094350849199779906/posts/Gt5WN1XoHut

    Que veux tu dire par Capter le flux à distance ?
    – SARAH peut se splitter en client et serveur
    – SARAH intègre un serveur RTP expérimentale pour streamer de l’audio (https://plus.google.com/u/0/103724892035726095504/posts/UnLcRGzowuv)

    J’aime

    1. merci de ta réponse rapide,
      j’ai loupé ce post et google m’a redirigé vers cette page où j’ai tenté ma chance:)
      et j’ai bien fait car avec admin et sans ipv6 ca fonctionne …
      merci beaucoup

      par capter à distance, je veux dire qu’aujourd’hui je suis obligé de me connecter avec Teamviewer pour aller voir les logs de wsrmicro et wsrnode. y’a t’il un moyen de récupérer les flux de logs depuis un autre pc ?
      Merci d’avance

      J’aime

  17. J’ai pas de solution rapide, les logs sont écrites dans le fichier /bin/.log et dans le script/.log donc possibilité de faire un tail -f dessus via le réseau.

    J’aime

    1. c’est déjà une solution rapide, je vais regarder çà.. merci encore..

      J’aime

Laisser un commentaire