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

19 réflexions sur “Release de S.A.R.A.H. v2.9

  • 30 juin 2013 à 23 h 56 min
    Permalien

    J’ai remplacé la version RC par une version RC1 avec un correctif sur les contextes.

    Répondre
  • 1 juillet 2013 à 21 h 23 min
    Permalien

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

    Répondre
  • 3 juillet 2013 à 9 h 42 min
    Permalien

    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 🙁

    Répondre
  • 3 juillet 2013 à 9 h 58 min
    Permalien

    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

    Répondre
  • 3 juillet 2013 à 23 h 43 min
    Permalien

    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

    Répondre
  • 5 juillet 2013 à 0 h 17 min
    Permalien

    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

    Répondre
  • 7 juillet 2013 à 23 h 34 min
    Permalien

    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

    Répondre
  • 11 juillet 2013 à 17 h 56 min
    Permalien

    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????

    Répondre
  • 11 juillet 2013 à 17 h 58 min
    Permalien

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

    Répondre
  • 19 juillet 2013 à 12 h 41 min
    Permalien

    Bonjour,

    Super projet ! On en rêve tous !

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

    Répondre
  • 19 juillet 2013 à 13 h 26 min
    Permalien

    @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.

    Répondre
  • 19 juillet 2013 à 13 h 28 min
    Permalien

    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.

    Répondre
  • 19 juillet 2013 à 13 h 31 min
    Permalien

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

    Répondre
  • 19 juillet 2013 à 13 h 33 min
    Permalien

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

    Répondre
  • 23 juillet 2013 à 16 h 37 min
    Permalien

    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) ?

    Répondre
    • 23 juillet 2013 à 17 h 02 min
      Permalien

      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

      Répondre
  • 23 juillet 2013 à 17 h 06 min
    Permalien

    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.

    Répondre
    • 23 juillet 2013 à 17 h 08 min
      Permalien

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

      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.