- Se rendre dans "Outils" > "Scénarios"
- Cliquer sur "Voir Variables" puis sur le bouton "Ajouter"
- Renseigner un nom de variable (exemple LMmessage) et entrer 0 comme valeur puis valider en cliquant sur l'icone verte. Cette variable permettra de passer au script l'icone et les texte à afficher et éventuellement le son à jouer.
Pour la suite, il faut que le plugin Script soit installé. Si ce n'est pas le cas, il faut l'installer depuis le Market.
- Se rendre dans Plugins > Programmation > Script
- Cliquer sur l'icone "Ajouter" puis donner un nom à votre script (exemple LaMetric-Script)
- Dans l'onglet "Equipement", cocher "Activer"
- Dans l'onglet "Commandes", indiquer le nom de la commande (exemple Envoi), choisir "Script" comme type de script et "Action" comme type.
- Cliquer sur le bouton "Nouveau" dans la colonne "Requête", et donner un nom à ce nouveau fichier script (exemple LaMetric-notif). Dans la fenêtre qui s'ouvre il faudra coller le code suivant:
Code : Tout sélectionner
#/bin/bash
lametricIP='<ipduLaMetric>'
lametricAPI='<ApiduLaMetric>'
icon=$(echo $1 | cut -f1 -d_)
mytext=$(echo $1 | cut -f2 -d_)
sound=$(echo $1 | cut -f3 -d_)
case $sound in
"alarm1"|"alarm2"|"alarm3"|"alarm4"|"alarm5"|"alarm6"|"alarm7"|"alarm8"|"alarm9"|"alarm10"|"alarm11"|"alarm12"|"alarm13")
curl -X POST -u "dev:"$lametricAPI"" -H "Content-Type: application/json" -d " { \"model\": { \"frames\": [ { \"icon\":\"$icon\", \"text\":\"$mytext\"} ], \"sound\": { \"category\":\"alarms\", \"id\":\"$sound\", \"repeat\":\"1\"} } } " https://$lametricIP:4343/api/v2/device/notifications --insecure
;;
"bicycle"|"car"|"cash"|"cat"|"dog"|"dog2"|"energy"|"knock-knock"|"letter_email"|"lose1"|"lose2"|"negative1"|"negative2"|"negative3"|"negative4"|"negative5"|"notification"|"notification2"|"notification3"|"notification4"|"open_door"|"positive1"|"positive2"|"positive3"|"positive4"|"positive5"|"positive6"|"statistic"|"thunder"|"water1"|"water2"|"win"|"win2"|"wind"|"wind_short")
curl -X POST -u "dev:"$lametricAPI"" -H "Content-Type: application/json" -d " { \"model\": { \"frames\": [ { \"icon\":\"$icon\", \"text\":\"$mytext\"} ], \"sound\": { \"category\":\"notifications\", \"id\":\"$sound\", \"repeat\":\"1\"} } } " https://$lametricIP:4343/api/v2/device/notifications --insecure
;;
*)
curl -X POST -u "dev:"$lametricAPI"" -H "Content-Type: application/json" -d " { \"model\": { \"frames\": [ { \"icon\":\"$icon\", \"text\":\"$mytext\"} ] } }" https://$lametricIP:4343/api/v2/device/notifications --insecure
;;
esac
- Une fois revenu sur l'écran précédent, le chemin vers le script et son nom apparaissent dans "Requête". Juste après, faire un espace avec le clavier et taper "variable(LMmessage,0)" (mettre les " ). Si vous aviez choisi un nom de variable différent remplacer LMmessage par le nom que vous aviez choisi.
L'onglet équipement devrait alors se présenter de la façon suivante:
La mise en place est maintenant terminée.
Utilisation
Dans un scénario, ajouter un action "Variable" dont le nom sera le nom de la variable créée un peu plus tôt (LMmessage dans mon exemple).
C'est au niveau de la valeur que vous allez indiquer le numéro de l'icone, le texte à afficher et le son de notification (optionel). La syntaxe sera la suivante: <numéro de l'icone>_<Texte à afficher> ou <numéro de l'icone>_<Texte à afficher>_<nom de la notification> si vous souhaitez une notification sonore ou une alarme. Il est important que l'icone, le texte et le son soit séparés par le symbole _
Exemple: a2867_C'est la fête ! ou a2867_C'est la fête !_notification
Ajouter une nouvelle ligne action et sélectionner votre script.
Exemple:
Voici la liste des noms des sons disponibles pour les notifications.
Code : Tout sélectionner
bicycle
car
cash
cat
dog
dog2
energy
knock-knock
letter_email
lose1
lose2
negative1
negative2
negative3
negative4
negative5
notification
notification2
notification3
notification4
open_door
positive1
positive2
positive3
positive4
positive5
positive6
statistic
thunder
water1
water2
win
win2
wind
wind_short
Code : Tout sélectionner
alarm1
alarm2
alarm3
alarm4
alarm5
alarm6
alarm7
alarm8
alarm9
alarm10
alarm11
alarm12
alarm13
Et voilà, votre LaMetric recevra maintenant des notifications personnalisées lors de l'execution de vos scripts
Note:
J'ai fait cela à partir des informations trouvées sur le site des développeurs de LaMetric. Mais étant débutant dans le domaine, je ne gère pas les erreurs éventuelles. Donc si le contenu de votre variable n'est pas correctement formaté, rien ne s'affichera et vous n'aurez rien dans les logs.
En cas de souci, j'essaierai de vous aider en fonction de mes modestes moyens
MAJ du 28/12/2017:
- BugFix: Impossible d'envoyer un message sans notification sonore.
- Ajout: Prise en charge des sons d'Alarme en plus des sons de notification.