[RESOLU] Valeurs température DHT 22

Forum pour tous les autres objets : sondes météo, capteurs, actionneurs ...
Vous avez un besoin mais vous ne savez pas quel matériel choisir ? C'est ici.
codercrack
Messages : 59
Inscription : 15 oct. 2016, 12:42

[RESOLU] Valeurs température DHT 22

Message par codercrack »

Bonjour,

Je souhaiterais savoir comment réduire le nombre de chiffre après la virgule sur des données d'un sonde DHT 22
sonde DHT 22.JPG
sonde DHT 22.JPG (18.24 Kio) Consulté 10265 fois
Voici le script que j'utilise pour remonter les informations

Fichier sondedht.py (Lui même lancé par AdafruitDHT.py)

Code : Tout sélectionner

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
import requests
from requests.auth import HTTPBasicAuth


############# Parametres #################################
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# les parametres de Domoticz
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

domoticz_ip='192.168.2.251'
domoticz_port='8080'
user=''
password=''
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# l IDX du capteur temp+hum
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
domoticz_idx='72'

###############  fin des parametres #############################

temperature=(sys.argv[1])
humidite=(sys.argv[2])

# l URL Domoticz pour le widget virtuel
json_url_text1='/json.htm?type=command&param=udevice&idx='
json_url_text2='&nvalue=0&svalue='
valeurs=str(temperature)+";"+str(humidite)+";2"
#"http://$SERVER/json.htm?type=command&param=udevice&idx=$DHTIDX&nvalue=0&svalue=$TEMP;3;$HUM;2"

requete='http://'+domoticz_ip+':'+domoticz_port+json_url_text1+domoticz_idx+json_url_text2+valeurs
print requete

r=requests.get(requete,auth=HTTPBasicAuth(user,password))
if  r.status_code != 200:
    print "Erreur API Domoticz"

sys.exit(0)
Merci pour votre aide
Dernière modification par codercrack le 17 janv. 2017, 12:37, modifié 3 fois.
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: Valeurs température DHT 22

Message par thier »

Cherche sur le forum j'avais posté la fonction arrondir. Là je n'ai pas accès au forum.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
codercrack
Messages : 59
Inscription : 15 oct. 2016, 12:42

Re: Valeurs température DHT 22

Message par codercrack »

J'ai tester le script LUA en question (si c'est bien celui dont tu fais allusion), il ne fonctionne pas dans mon cas.
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: Valeurs température DHT 22

Message par thier »

Autant pour moi je n'ai pas vu que tu étais en python
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Valeurs température DHT 22

Message par vil1driver »

Salut,

Sans déconner...

Un petit googlelage et basta !

https://www.google.fr/search?q=python+fonction+arrondir

La première réponse de cette page explique comment :roll:
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
codercrack
Messages : 59
Inscription : 15 oct. 2016, 12:42

Re: Valeurs température DHT 22

Message par codercrack »

Sans deconner waaaoouuuhhhhh c'est génial ce truc google !!!!
Pourquoi n'y ai-je pas pensé ????
A ben si !!! mais ça marche pas non plus ;-)
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Valeurs température DHT 22

Message par vil1driver »

Tu as raison, je suis désolé pour la forme...
Mais si tu as testé des choses, il serait bon d'en parler que l'on ne perde pas notre temps..

J'imagine que tu as donc vérifié la concordance entre ce que domoticz affiche et ce que tu lui envoies ?
Que tu as testé de fixer différentes valeurs ?
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
codercrack
Messages : 59
Inscription : 15 oct. 2016, 12:42

Re: Valeurs température DHT 22

Message par codercrack »

J'ai testé tellement de chose, que je ne voulais pas polluer le post.

Ceci dit lors de mes recherche avec google :) j'avais bien pensé que la fonction arrondir sous python serait mon sésame ! mais non :roll:
Voici des infos :
l’exécution de la commande AdafruitDHT.py (avec quelques rajouts de la fonction print dans le script):

Code : Tout sélectionner

pi@domoticz:~/domoticz/scripts$ ./AdafruitDHT.py 22 4
Temp=19.8*C  Humidity=43.9%
19.7999992371;
43.9000015259;2
http://192.168.2.251:8080/json.htm?type=command&param=udevice&idx=72&nvalue=0&svalue=19.7999992371;43.9000015259;2
J'obtiens une concordance dans les valeurs avec domoticz.
Par contre comme tu peux le constater la valeur d'humidité s'arrondit bien, mais pas celle de la température.

Voici le script AdafruitDHT.py que j'utilise:

Code : Tout sélectionner

#!/usr/bin/python
import subprocess
import sys
import Adafruit_DHT
# Parse command line parameters.
sensor_args = { '11': Adafruit_DHT.DHT11,
                '22': Adafruit_DHT.DHT22,
                '2302': Adafruit_DHT.AM2302 }
if len(sys.argv) == 3 and sys.argv[1] in sensor_args:
    sensor = sensor_args[sys.argv[1]]
    pin = sys.argv[2]
else:
    print('usage: sudo ./Adafruit_DHT.py [11|22|2302] GPIOpin#')
    print('example: sudo ./Adafruit_DHT.py 2302 4 - Read from an AM2302 connected to GPIO #4')
    sys.exit(1)


if humidity is not None and temperature is not None:
        print 'Temp={0:0.1f}*C  Humidity={1:0.1f}%'.format(temperature, humidity)
        cmd="python /home/pi/domoticz/scripts/sonde_dht.py "+str(temperature)+" "+str(humidity)
        subprocess.call(cmd, shell=True)
else:
    print('Failed to get reading. Try again!')
    sys.exit(1)
zaraki673
Messages : 229
Inscription : 07 oct. 2016, 04:29

Re: Valeurs température DHT 22

Message par zaraki673 »

Bonjour,

peux tu donner le code de sonde_dht.py

Merci ;)
codercrack
Messages : 59
Inscription : 15 oct. 2016, 12:42

Re: Valeurs température DHT 22

Message par codercrack »

Au début du post.
Mais sinon le voici:

Code : Tout sélectionner

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
import requests
from requests.auth import HTTPBasicAuth


############# Parametres #################################
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# les parametres de Domoticz
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

domoticz_ip='192.168.2.251'
domoticz_port='8080'
user=''
password=''
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# l IDX du capteur temp+hum
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
domoticz_idx='72'

###############  fin des parametres #############################

temperature=(sys.argv[1])
humidite=(sys.argv[2])

# l URL Domoticz pour le widget virtuel
json_url_text1='/json.htm?type=command&param=udevice&idx='
json_url_text2='&nvalue=0&svalue='
valeurs_temp=str(temperature)+";"
print valeurs_temp
valeurs_hum=str(humidite)+";2"
print valeurs_hum
#"http://$SERVER/json.htm?type=command&param=udevice&idx=$DHTIDX&nvalue=0&svalue=$TEMP;3;$HUM;2"

requete='http://'+domoticz_ip+':'+domoticz_port+json_url_text1+domoticz_idx+json_url_text2+valeurs_temp+valeurs_hum
print requete

r=requests.get(requete,auth=HTTPBasicAuth(user,password))
if  r.status_code != 200:
    print "Erreur API Domoticz"

sys.exit(0)
Répondre