Choix de page

Commander un matériel depuis un port RS232 avec Homeseer. Partie 2

Partie 2. Gestion de variables dans l’appel du script.

Dans la première partie nous avons présenté la façon d’envoyer une commande sur le port COM :

hs.SendToComPort ComPort, »PO » & Chr(13)
pour allumer l’amplificateur.

Afin d’éviter de créer un script différent pour chaque commande nous allons utiliser des variables pour l ‘appelle du script.

Dans la configuration d’un Event, dans Action il est possible de « passer » des paramètres au script que vous exécutez et de spécifier la procédure du script à exécuter :

Nomduscript.txt(« nom de la procédure », »variable »)

Après avoir sélectionné l’action Run Script, cliquer sur le bouton Swtich to Advanced View.

Il est alors possible de spécifier la fonction et la ou les variables.

Nous allons modifier notre script en conséquence.

Script initial (Partie 1 du guide)

Option explicit
Const ComPort = 2
sub main()
hs.OpenComPort ComPort, »9600,N,8,1″,1, » », » »
hs.SendToComPort ComPort, »PO » & Chr(13)
hs.CloseComPort(ComPort)
end sub

Il faut modifier le script pour indiquer à la fonction Main qu’elle doit stocker la valeur qu’elle reçoit dans une variable et indiquer à notre commande d’utiliser cette variable.

option explicit
Const ComPort = 2
sub main(Commande)
hs.OpenComPort ComPort, »9600,N,8,1″,1, » », » »
hs.SendToComPort ComPort,Commande & Chr(13)
hs.CloseComPort(ComPort)
end sub

Dans Homeseer il faut alors ajouter le nom de la fonction Main et la valeur de la variable Commande.
(« main », »PO »)

Script Homeseer et variable.

Il faut ensuite pour utiliser d’autres commandes dans vos Events changer la commande tout en utilisant un seul script.

Par exemple remplacer PO par PF pour éteindre l’amplificateur.

Script Homeseer et variables

Toutes les commandes pourront maintenant être envoyées depuis un unique script.