Hooks

Un hook permet à l'utilisateur de définir une commande shell qui sera exécutée à un moment précis du programme.
Ils sont accessibles via le menu Settings.

image

Voici quels sont les hooks qui seront disponible avec cette première version:

image

  • Program startup sera exécuté au lancement de jarvis
    • Valeur par défaut: (vide)
  • Program exit sera exécuté lorsque Jarvis est quitté ou si une erreur est rencontrée
    • Valeur par défaut: (vide)
    • enlightened Pour quitter jarvis depuis une commande en déclenchant ce hook, remplacer exit par program_exit, ex:
    • *AU REVOIR*|*BYE*==say "Au revoir $username"; program_exit
    • Le code de retour est passé en paramètre, vous pouvez donc l'utiliser pour savoir si une erreur est survenue:
    • (( $1 )) && say "J'ai rencontré une erreur, relancez-moi!"
  • Entering command mode sera exécuté lorsque le mot magique sera entendu et que Jarvis entrera en mode écoute d'une commande
    • Valeur par défaut: (vide)
  • Exiting command mode sera exécuté à la fin d'une conversation lorsque Jarvis attendra à nouveau que le mot magique soit prononcé
    • Valeur par défaut: (vide)

Utilisation

Vous pouvez par exemple utiliser une diode pour indiquer l'état de Jarvis:

image

  • Diode éteinte: Jarvis n'est pas lancé (ou a planté)
  • Diode clignotante: Jarvis attend que le mot clé soit prononcé
  • Diode allumée: Jarvis est en écoute d'une commande

Disons que vous avez un script my_led.sh qui vous permet de contrôler une diode en lui passant off on ou blink en paramètre.

Il suffirait de configurer les hooks suivants:

  • program startup: my_led.sh blink
  • entering command mode: my_led.sh on
  • exiting command mode: my_led.sh blink
  • program exit: my_led.sh off

Ce post explique comment contrôler 3 LED et donner un visage à Jarvis:

Ce post explique comment contrôler la diode d'un Kinect pour indiquer l'état de Jarvis.