Comme nous l’avons vu dans un précédent post, le système dHome contient son « cerveau » dans le serveur web PHP + la base de données MySQL.
EventGhost se contente finalement de faire l’interface entre le RFXTRX433 et le core dHome. Il fait « bêtement » le perroquet :
« dHome, le RFXTRX a dit que la telecommande ID 123 a envoyé [ON 1 ] »
« RFXTRX, dHome a dit d’envoyer [Allumer ID 456] »
Comment EventGhost remonte l’info à dHome ?
Cette question revient au titre de ce post : comment appeler un script PHP (et plus globalement, toute page web http) ?
Installer wget sur la machine Windows executant EventGhost
Nous pourrions utiliser un navigateur installé sur la machine, le lancer à la demande (voire même en tache de fond), puis le fermer.
Mais ces opérations sont extrêmement coûteuses en temps, et nous allons les lancer plusieurs fois par minutes. Il nous faut donc quelque chose de léger !
J’ai choisi d’utiliser wget qui est, je pense, le programme le plus leger pour ouvrir une page web (et surtout activer une page web distante !)
Pour cela, rendez vous sur http://gnuwin32.sourceforge.net/packages/wget.htm qui vous redirigera ensuite sur sourceforge http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-setup.exe
Je vous laisse le soin d’installer l’outil.
Utiliser un script python pour appeler wget
Nous allons à présent demander à eventGhost de lancer wget avec un certain nombre de paramètre
Ajoutez une action « Python Script »
Et entrez y le script suivant :
eg.plugins.System.Execute('C:\\Program Files (x86)\\GnuWin32\\bin\\wget.exe', 'http://serveur_web.com/dhomeUI/action.php', 3, False, 2, u'', False)
Vous l’aurez deviné,
C:\\Program Files (x86)\\GnuWin32\\bin\\wget.exe
est l’emplacement de l’exécutable wget.exe sur votre machine.
Veillez à ce que eventGhost ait le droit d’accéder à cet endroit, pensez également à backslasher les antislash !
et
http://serveur_web.com/dhomeUI/action.php
est l’emplacement du script web qui peut etre local ou directement sur internet !
Vous pouvez notamment utiliser les services de pushingbox par ce biais.
Il est également possible de passer des paramètres en GET avec une URL de ce type
http://serveur_web.com/dhomeUI/action.php?id=123