[Résolu] Domoticz 2020.1 quel Python ???

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
Dr No
Messages : 130
Inscription : 22 janv. 2015, 17:02
Localisation : Sud de France (Hérault)

[Résolu] Domoticz 2020.1 quel Python ???

Message par Dr No »

Bonjour à tous,

J'ai un switch virtuel qui lance un petit script python "lanceur.py" ce dernier lance mon programme d'alarme. Tout fonctionnait parfaitement jusqu’à ce que je mette à jour Domoticz. Maintenant je suis en panne ?!
Si je lance mon script depuis Putty, j'ai le message d'erreur suivant :

Code : Tout sélectionner

pi@raspberrypi:~/domoticz/scripts $ python lanceur.py
pi@raspberrypi:~/domoticz/scripts $ Traceback (most recent call last):
  File "/home/pi/al_on.py", line 48, in <module>
    urllib.request.urlopen("http://127.0.0.1/json.htm?type=command&param=switchlight&idx=9&switchcmd=Off&level=0")
AttributeError: 'module' object has no attribute 'request'
Ma version par défaut de Python est 3.7
Dans Putty, si je lance mon programme d'alarme via le script j'ai l'erreur ci-dessus, si je lance directement mon programme d'alarme tout ce passe bien il fonctionne ?!?!

J'aimerais comprendre ce qui se passe !!
Un peu d'aide serait la bienvenue, merci d'avance.
Dernière modification par Dr No le 26 mars 2020, 12:17, modifié 1 fois.
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: Domoticz 2020.1 quel Python ???

Message par denis_brasseur »

Code : Tout sélectionner

AttributeError: 'module' object has no attribute 'request'
Ton script nécessite t-il la librairie requests ?

Code : Tout sélectionner

pip3 install requests
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
Dr No
Messages : 130
Inscription : 22 janv. 2015, 17:02
Localisation : Sud de France (Hérault)

Re: Domoticz 2020.1 quel Python ???

Message par Dr No »

Le script na pas besoin de la librairie requests mais le programme d'alarme qu'il lance en a besoin

En fait c'est un vieux reste de python 2. quand je suis passé à python 3 j'ai dû modifier mon programme ce qui m'a conduit à "urllib.request.urlopen("http://......")" et ça fonctionnait parfaitement jusqu'à la mise à jour de Domoticz
Je viens de modifier et ne plus utiliser la librairie urllib je fais "requests.post("http://......")"
Ca fonctionne et je pense que c'est plus propre.

J'espère que ça servira à d'autres.
Répondre