Appeler un script php distant depuis eventghost

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 :

Vous l’aurez deviné,

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

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

 

Laisser un commentaire

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