Plugin DHT 22 problème installation dépendances

Plugin DHT22 Développé par linura
Rpi4b
Jeedom 4.1.23
2021-03-04-raspios-buster-arm64.img

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Fin de l’installation des dependances DHT
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cp: cannot create regular file ‹ /usr/local/lib/python3.7/dist-packages/Adafruit_DHT-1.4.0-py3.7-linux-armv7l.egg/Adafruit_DHT/ ›: No such file or directory

bonjour la communauté et bonjour a @jeanlegrand j’ai le même problème sur l’installation des dépendances du plugin DHT 22 , en plus de cela j’ai cet avertissement dans les logs " WARNING: Running pip as the ‹ root › user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: 12. Virtual Environments and Packages — Python 3.10.5 documentation" stp n’hésite pas de revenir si tu trouve une solution.
mon premier post dans le forum :grin: très heureux d’être parmi vous
@revlys :pray:t4:

j ai tj le problème . Je pense que le développeur ne prend spas bcp de temps sur le évolution de ce plugin . il répond a linkedin comme quoi il fera des mises à jour … mais quand … le plugin est du 05 2021 … plus d un an sans développement .

0042|Installation dependance  installation module DHT
0043|++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0044|Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
0045|Requirement already satisfied: adafruit-circuitpython-dht in /usr/local/lib/python3.9/dist-packages (3.7.2)
0046|Requirement already satisfied: RPi.GPIO in /usr/lib/python3/dist-packages (0.7.0)
0047|Requirement already satisfied: Adafruit-Blinka in /usr/local/lib/python3.9/dist-packages (from adafruit-circuitpython-dht) (7.2.1)
0048|Requirement already satisfied: Adafruit-PureIO>=1.1.7 in /usr/local/lib/python3.9/dist-packages (from Adafruit-Blinka->adafruit-circuitpython-dht) (1.1.9)
0049|Requirement already satisfied: Adafruit-PlatformDetect>=3.13.0 in /usr/local/lib/python3.9/dist-packages (from Adafruit-Blinka->adafruit-circuitpython-dht) (3.22.1)
0050|Requirement already satisfied: sysv-ipc>=1.1.0 in /usr/local/lib/python3.9/dist-packages (from Adafruit-Blinka->adafruit-circuitpython-dht) (1.1.0)
0051|Requirement already satisfied: rpi-ws281x>=4.0.0 in /usr/local/lib/python3.9/dist-packages (from Adafruit-Blinka->adafruit-circuitpython-dht) (4.3.4)
0052|Requirement already satisfied: pyftdi>=0.40.0 in /usr/local/lib/python3.9/dist-packages (from Adafruit-Blinka->adafruit-circuitpython-dht) (0.54.0)
0053|Requirement already satisfied: pyserial>=3.0 in /usr/local/lib/python3.9/dist-packages (from pyftdi>=0.40.0->Adafruit-Blinka->adafruit-circuitpython-dht) (3.3)
0054|Requirement already satisfied: pyusb!=1.2.0,>=1.0.0 in /usr/local/lib/python3.9/dist-packages (from pyftdi>=0.40.0->Adafruit-Blinka->adafruit-circuitpython-dht) (1.2.1)
0055|WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
0056|-
0057|++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0058|Fin de l'installation des dependances DHT
0059|++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0060|cp: cannot create regular file '/usr/local/lib/python3.7/dist-packages/Adafruit_DHT-1.4.0-py3.7-linux-armv7l.egg/Adafruit_DHT/': No such file or directory

Même problème pour moi…

2 « J'aime »

Bonjour,

J’ai aussi le même probleme … Existe-t-il une solution de contournement ?

Bonne journee.

Bonjour,

J’ai trouvé une solution de contournement pour exploiter ce capteur DHT22 dans Jeedom, que je découperai en 2 étapes majeures.

J’utiliserai le profil utilisateur « rasp » dans la suite.

La première étape consiste a récupérer les informations du capteur DHT 22 installé sur mon Raspberry, en utilisant le script DHT22.py (Raspberry – Thermomètre connecté avec une sonde DHT22 | Net-Security)

Extrait :
#!/usr/bin/python

import sys
import datetime
import Adafruit_DHT
import time
import calendar
import smtplib

#Configuration du type de sonde et du PIN
sensor = 22
pin = 4

humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)

#Récupération du temps
ts = str(calendar.timegm(time.gmtime())) + « 000 »

if str(sys.argv[1]) == ‹ temperature ›:
if temperature is not None:
print(ts + ‹ , › ‹ {0:0.1f} ›.format(temperature))
else:
print(‹ Err. ›)
sys.exit(1)

elif str(sys.argv[1]) == ‹ humidity ›:
if humidity is not None:
print(ts + ‹ , › + ‹ {0:0.1f} ›.format(humidity))
else:
print(‹ Err. ›)
sys.exit(1)

elif str(sys.argv[1]) == ‹ alert ›:
if temperature > 20 :
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
fromaddr = « exemple@gmail.com »
toaddr = « exemple@exemple.com »
msg = MIMEMultipart()
msg[‹ From ›] = fromaddr
msg[‹ To ›] = toaddr
msg[‹ Subject ›] = « Temperature is high ! »
body = "Temperature is high ! Temp : " + str(temperature)
msg.attach(MIMEText(body, ‹ plain ›))
server = smtplib.SMTP(‹ smtp.gmail.com ›, 587)
server.starttls()
server.login(fromaddr, « xxxx »)
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()

J’ai placé ce script DHT22.py dans l’arborescence : /var/www/html/tests/

Puis, j’ai changé les droits, à l’aide des commandes :
Changer le propriétaire : sudo chown www-data:www-data /var/www/html/tests/DHT22.py
Changer les droits d’éxécution : sudo chmod a+x /var/www/html/tests/DHT22.py

J’ai ensuite rajouté tout ça dans le fichier cron pour que le script soit exécuté toutes les 5 minutes (commande d’édition du crontab : crontab -e , vérification du crontab : crontab -l) :

0/5 * * * * /usr/bin/python /var/www/html/tests/DHT22.py temperature > /home/rasp/temperature1.txt
0/5 * * * * /usr/bin/python /var/www/html/tests/DHT22.py humidity > /home/rasp/humidity1.txt

Toutes les 5 minutes, le script est exécuté et va écrire le résultat de chaque variable dans ces 2 fichier txt, stockés dans mon profil utilisateur « rasp »

Cette première étape est facile à valider, il suffit de regarder le contenu de chaque variable, mis a jour
régulièrement.

Le résultat ressemble à :

temperature1.txt = 1714141517000,19.2
humidity1.txt = 1714141207000,52.7

La première partie du résultat ne m’intéresse pas (date + heure), je vais donc la masquer dans son traitement automatique.

Quant toutes les étapes précédentes fonctionnent, je suis passé à la remontée de l’information dans ma domotique.
La seconde étape est donc l’importation de ces valeurs dans Jeedom.

J’ai créé 2 scripts, qui comprennent les 2 commandes suivantes afin d’extraire uniquement la valeur qui m’intéresse, valeurs situées après la virgule :

cat /home/rasp/temperature1.txt | cut -d',' -f2
cat /home/rasp/humidity1.txt | cut -d',' -f2

Au final, cela donne :
image

Et je peux exploiter directement ces informations dans ma domotique

En espérant que cela puisse débloquer certaines situations …