Partie 3. Intégration et lecture des valeurs reçues sur le port RS232.

Il est possible d’ouvrir le port RS232 au démarrage de HomeSeer et de fermer le port à la fermeture d’HomeSeer.

Il faut alors déplacer la commande d’ouverture du port RS232 dans le script startup.txt et la commande de fermeture du port dans le script shutdown.txt

Script de commande RS232 :

COMPORT_SendAll.txt

option explicit
Const ComPort = 2
sub main(Commande)
hs.SendToComPort ComPort,Commande & Chr(13)
end sub

Le port RS232 reste ouvert en utilisation exclusive par HomeSeer jusqu’à son arrêt.

Il est possible de lire les informations renvoyées sur le port RS232 par votre matériel.
Dans notre exemple, des informations sont retournées par notre amplificateur PIONEER dans les cas suivants :
Réponse à une commande reçue.
Réponse à une requête.
Toutes commandes directes sur le matériel.

Il faut indiquer dans la commande d’ouverture de port le Port Data Handling Script (script qui doit être exécuté quand le port RS232 reçoit des données), et le nom de la fonction à exécuter.

Nous allons créer un script COMPORT_Reponse.txt avec une fonction Reponse.

COMPORT_Reponse.txt

sub Reponse(data)
hs.WriteLog « Data Port Com »,data
end sub

La fonction Reponse ajoute un enregistrement dans les logs sous la référence « Data Port Com » avec la valeur « data » reçue sur le port.

Le script COMPORT_Reponse.txt est appelé dans la commande d’ouverture du port RS232.

Il faut donc modifier la commande d’ouverture du port RS232 en spécifiant le nom du script à exécuter et le nom de la fonction :

STARTUP.txt


hs.OpenComPort ComPort, »9600,N,8,1″,1, »COMPORT_Reponse.txt », »Reponse »

Nous allons maintenant envoyer une commande de requête de niveau de volume à l’amplificateur ( ?V ). Pour cela nous créons un nouvel « event » qui exécute le script COMPORT_SendAll.txt avec les paramètres suivants: (« main », »?V »)

Commande RS232 et Homeseer

Cette commande va demander à l’amplificateur de retourner le niveau de volume actuel.
A l’exécution du script la réponse est enregistrée dans les logs.

Commande RS232 et Homeseer

Il est alors envisageable d’exploiter ces informations de nombreuses façons: confirmation de commandes, stocker la valeur dans un device, exécuter des actions sur réception de certains messages.