Utilisation d’EventGhost avec un RTXtrx433

Comment envoyer et recevoir des messages domotique avec son RFXtrx433 simplement ? à l’aide d’Eventghost !

Eventghost

Eventghost est une sorte d’ordonnanceur libre. Il permet de créer des scenarios précis en fonction de déclencheur spécifique dont le système peut avoir connaissance.

Le site du projet

Prérequis

Installation du plugin

  1. Dézippez le fichier téléchargé sur le forum eventghost
  2. Vous obtenez un repertoire RFXtrx
  3. Copiez-Collez ce dossier RFXtrx dans le répertoire des plugins de Eventghost
    Cela dépend de l’endroit où vous avez installé EventGhost
    Sur un Windows7 x64, cela va se trouver par défaut ici : C:\Program Files (x86)\EventGhost\plugins
  4. Fermez puis rouvrez Eventghost

Interfacer EventGhost avec le RFXtrx433

Ajoutez le plugin à Eventghost

Le sélectionner dans la liste « External Equipment »

Double cliquez ensuite sur le plugin fraîchement ajouté. Vous pouvez choisir quels protocoles domotiques vous souhaitez prendre en charge

Notez la sélection du « Allow duplicated events » : si ce n’est pas coché, EG ne prendra en compte qu’une seule fois un évènement. Pour une sonde de température, il ne prendra que la première valeur, les suivantes seront omises.

Le plugin est installé ! Vous devriez voir apparaître dans la log des entrées ressemblant à cela :

Dans mon cas, il s’agit de sonde de température Oregon. Une placée dehors d’identifiant 63745, une autre à l’intérieur d’identifiant 41729.

Programmer des scenarios

Prenons l’exemple des sondes de températures. On veut enregistrer dans une base MySQL chaque relevé de température, de chaque sonde.

Pour cela, j’ai écrit un script PHP hébergé sur un serveur qui prend en paramètres GET l’identifiant et la température de la sonde. Nous allons demandé à EventGhost d’appeler ce script à chaque nouvelle température.

  1. On crée un répertoire « ‘Sonde de température »
  2. On crée une Macro « Température extérieure »
    Dans EventGhost, une macro est un bloc contenant des déclencheurs et des actions
    Si au moins un déclencheur est activé, les actions de la macro sont exécutées, dans l’ordre
  3. On fait un glissé déplacé dans cette macro, d’un Evénement qui s’est déjà produit (et qui est donc visible dans la log sur la partie gauche)
  4. Ajoutez ensuite une Action
    Vous pouvez choisir d’envoyer des messages particuliers via le RFXtrx433 par ici, mais nous souhaitons appeler une page web
  5. On choisit alors l’action EventGhost > Python  Script
  6. Voici le script Python utilisé :
    le principe est le suivant : 

    1. on parse l’évènement en tableau séparé par des espaces.
    2. Les données seront toujours dans les mêmes cases du tableau.
    3. On met en variables ces valeurs. (Notez que ce sont des variables globales, donc pour éviter de récupérer les valeurs d’un autre évènement, j’ai suffixé chaque variable par un identifiant unique)
    4. On appelle l’executable wget avec l’url construite
entete_41729 = eg.event.string
entete_41729 = entete_41729.split(' ')data_41729 = eg.event.payload
data_41729 = data_41729.split(' ')id_41729=entete_41729[5]
#temperature
valeur1_41729=data_41729[2]
#hygrometrie
valeur2_41729=data_41729[6]
signal_41729=data_41729[11]
batterie_41729=data_41729[13]appel_ws_41729='http://192.168.0.10/dhome/webservice.php?'
appel_ws_41729+='id='+id_41729+'&'
appel_ws_41729+='signal='+signal_41729+'&'
appel_ws_41729+='batterie='+batterie_41729+'&'
appel_ws_41729+='valeur1='+valeur1_41729+'&'
appel_ws_41729+='valeur2='+valeur2_41729
eg.plugins.System.Execute('C:\\Program Files (x86)\\GnuWin32\\bin\\wget.exe', appel_ws_41729, 3, False, 2, u'', False)

 

Voici un exemple d’appels multiples. Une télécommande appelle le même scripts, mais avec des paramètres différents :

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *