Page 1 sur 1
script PHP pour action ON interrupteur
Publié : 27 juin 2020, 21:56
par monkeyjazz
Bonjour à tous,
et oui désolé, encore un gars qui ne s'en sort pas avec ses prises 433Mhz
J'ai écumé pas mal de forums et là je suis au bout de tout, je n'arrive pas à comprendre.
Je remercie d'avance tous ceux qui vont lire ma demande et du temps qu'ils consacrent à résoudre les problèmes de chacun.
Petit topo de mon installation : j'ai deux modules en émissions et réceptions 433 Mhz sur mes GPIO, comme beaucoup j'utilise le programme en C codesend et il fonctionne très bien avec mes prises.
Mon tuto de base est celui-ci :
https://domotique-home.fr/domotique-diy ... commandees
J'ai fait mon petit script en php, que j'ai archi simplifié sans variable (action ON de l'interrupteur virtuel, il choisi le bon code, qu'il donne à codesend pour son exécution). le script php fonctionne quand je le lance en mode console sur le raspberry pi. J'ai donné tous les droits à tout le monde sur le fichier et le dossier du php. j'ai aussi modifié le fichier sudoers. J'ai mis mon php dans le dossier scripts de domoticz et j'ai suivi les différents tuto en mettant avec 2, puis 3 et enfin 4 / dans l'action ON "script://home/pi/scripts/test.php". j'ai également essayé en mettant "script://test.php" (avec les multiples combinaisons de /) et "
http://192.168.0.14/home/pi/domoticz/scripts/test.php" ou encore "
http://192.168.0.14/domoticz/scripts/test.php".
Bref, je pense que c'est sur cette partie que ça débloque.
Quelqu'un peut-il avoir un avis avec un œil extérieur car je pense que c'est très bête mais je m'entête avec la tête dans le guidon et je bloque complètement ?
Merci beaucoup d'avance.
Math
Re: script PHP pour action ON interrupteur
Publié : 27 juin 2020, 22:20
par Keros
Salut Math et bienvenu sur le forum
Je ne sais pas du tout si les .php sont exécutable depuis un action On (je n'ai pas trouvé l'info).
Si tu colles ton fichier php dans le répertoire www, tu devrais pouvoir y accéder depuis
http://127.0.0.1/fichier.php
Je pense que si tu peux exécuter ton php depuis ton navigateur, tu pourras rentrer l'adresse dans ton device.
Par contre, je n'ai aucune idée des incidence qu'il y peut avoir niveau sécurité d'accès.
Re: script PHP pour action ON interrupteur
Publié : 28 juin 2020, 09:32
par monkeyjazz
Bonjour Keros,
merci pour ta réponse si rapide.
Mais elle apporte aussi beaucoup de questions
Concernant la faisabilité de mettre un script PHP dans l'action ON d'un interrupteur virtuel, visiblement je ne suis pas le seul à le faire.
https://easydomoticz.com/forum/viewtopic.php?t=4379 lui n'a pas le même problème que moi mais la base de départ est la même.
J'ai mis mon fichier dans le répertoire www de domoticz et dans var/www/ car je ne savais pas duquel tu parlais.
J'ai essayé ensuite d’exécuter l'URL que tu m'a donnée, mais... Je suis relié en putty à mon raspberry donc j'ai exécuté depuis windows...Je me suis demandé d'ou sortait l'IP que tu m'as donnée ? J'ai essayé aussi avec l'IP du raspberry depuis mon navigateur Windows. Faut-il que je teste en branchant un écran, clavier et souris sur mon raspberry ? L'URL commençant par 127 et peut-être différente chez moi ; où puis-je trouver cette info ?
Merci beaucoup d'avance.
Re: script PHP pour action ON interrupteur
Publié : 28 juin 2020, 10:58
par Keros
Pardon, c'est vrai que je prend la commande à distance sur le bureau de mon Pi
Donc
http://127.0.0.1/ ou
http://localhost/ sont les adresses qui te permettent d’accéder au serveur web qui est hébergé sur la machine.
Si tu veux exécuter le fichier depuis un autre pc, il te faudrait rentrer l'IP du Pi (192.168.XXX.XXX). Mais si tu veux exécuter le fichier depuis le Pi, il faut indiquer "sa propre adresse" : 127.0.0.1 ou localhost.
Essaye de lancer ton script depuis windows avec
http://192.168.XXX.XXX/fichier.php. Si ça fonctionne, tu pourras mettre l'adresse dans DomoticZ en remplaçant 192.168.XXX.XXX par 127.0.0.1.
Re: script PHP pour action ON interrupteur
Publié : 28 juin 2020, 14:19
par monkeyjazz
Keros,
j'ai avancé depuis ce matin et j'ai compris que l'URL commençant par 127 est liée au serveur apache mais depuis le raspberry.
J'ai donc placé mon fichier php dans var/www/html/test.php et j'ai tapé IP_de_mon_pi/test.php depuis mon navigateur windows. Et c'est le code en php qui s'affiche, pas le script qui s'exécute
Alors ça veut dire que l’interpréteur PHP du raspberry ne fait pas son job ?!
Pourtant quand j'exécute mon fichier directement en mode console php test.php, ça fonctionne parfaitement.
J'ai donc désinstallé complètement apache en suivant cette procédure bien complète
https://fremio84.wordpress.com/2012/11/ ... r-apache2/ et j'ai réinstallé.
Et ça ne change rien...
Je ne sais plus quoi penser.
HELP !
Merci d'avance

Re: script PHP pour action ON interrupteur
Publié : 28 juin 2020, 14:32
par Keros
C'est bizarre que ton code php soit afficher et non exécuter
Tu as bien php d'installer et il fonctionne ?
https://raspberry-pi.fr/installer-serve ... berry-lamp et/ou
https://www.framboise314.fr/une-interfa ... rry-pi-12/
Re: script PHP pour action ON interrupteur
Publié : 28 juin 2020, 21:43
par monkeyjazz
Bonsoir Keros,
j'ai effectivement consulté les deux sites que tu m'indiques pour tout installer.
J'ai eu un doute car dans un site pour désinstaller, on dit d'arrêter le fonctionnement d'apache et je ne l'avais jamais démarrer par la commande ./apache2 start, alors je l'ai fait en utilisateur pi. Et j'ai refaits l'essai depuis un navigateur windows ip_du_pi/test.php et il affiche toujours directement mon code.
Donc ça n'a rien changé.
En tout cas, j'ai une piste car c'est quand même visiblement du côté de Apache ou de PHP qu'il y a un souci sur mon raspberry.
Je vais continuer à consulter les forums en ciblant ma recherche sur ça maintenant.
Et dire que j'avais osé mettre en cause Domoticz

Re: script PHP pour action ON interrupteur
Publié : 29 juin 2020, 07:11
par Keros
Désolé, je ne pourrais pas t'aider plus
Bonne recherche et si tu trouves quelque chose, reviens nous l'indiquer

Re: script PHP pour action ON interrupteur
Publié : 29 juin 2020, 10:10
par Flying Domotic
As-tu activé PHP dans Apache ?
Tu peux vérifier rapidos par un :
Si ça n'affiche par php + un numéro de version, fais un "sudo a2enmod" puis donne le nom du module php dans la liste qui sera affichée (par exemple php7.3).
Re: script PHP pour action ON interrupteur
Publié : 29 juin 2020, 22:17
par monkeyjazz
Bonjour Flying Domotic,
en faisant sudo a2enmod -q php* il ne se passe rien et j'ai juste droit à revenir à l'invite.
J'ai donc fait la suite sudo a2enmod et j'ai tapé php7.3 qui était dans la liste et ça m'a dit que c'était déjà installé.
J'ai refait la 1ère commande et ça a refait la même chose. Je n'ai pas d'affichage php+numéro de version.
Néanmoins, j'ai tout désinstallé l'interpréteur php et j'ai réinstallé et là miracle, quand je tape dans mon navigateur Windows adresse_du_pi/test.php, je n'ai plus le code php qui s'affiche mais les valeurs de suivi que je demande de s'afficher. Ô joie, sauf que le code en C++ à l'intérieur du php ne s'exécute visiblement pas alors que quand je lance directement en mode console test.php, ça exécute bien le code en C++.
On avance petit à petit mais ce n'est pas encore ça.
Merci encore pour votre aide.