installation de sonde de temperature et dht22
installation de sonde de temperature et dht22
Bonjour, je n'arrive pas installé plusieurs sonde de température et une DHT22 sans que domoticz m'associe les autres sondes avec l'hygrométrie.
J'ai une mesure de température d'eau, une mesure de température extérieur et une sonde dht22 pour l'intérieur.
Les sondes de températures extérieur et d'eau sont raccordées a un Arduino qui les transmet en 433 mhz a un autre Arduino qui est lui branché en usb à un Raspberry ou il y a domoticz. La sonde dht 22 est raccordée à l'Arduino qui est en usb.
Lorsque je vais dans les dispositifs je retrouve mes valeurs avec l'hygrométrie:
- Température extérieur avec l'hygrométrie intérieur
- Température d'eau avec l'hygrométrie intérieur
- Température intérieur avec l'hygro intérieur, ca c'est bon.
Je vous remercie par avance pour vos réponses. Etant nouveau je ne sais pas si j'écris au bon endroit.
Je vous joint mon code qui est sur l'Arduino raccordé au Raspberry:
#define CHILD_ID_TEMP 0
#define CHILD_ID_TEMP 1
#define CHILD_ID_TEMP 2
#define CHILD_ID_HUM 3
#define MY_DEBUG
#define MY_GATEWAY_SERIAL
#define MY_NODE_ID 1
#include <VirtualWire.h>
#include <VirtualWire_Config.h>
#include<SoftwareSerial.h>
#include <DHT.h>
#include<SPI.h>
#include <MyConfig.h>
#include <MySensors.h>
float Tempext;
float Tempeau;
float Tempint;
float Humidite;
float valeurs[4];
MyMessage msgTempext(0,V_TEMP);
MyMessage msgTempeau(1,V_TEMP);
MyMessage msgTempint(2,V_TEMP);
MyMessage msgHumidite(3,V_HUM);
#define DHTPIN 8
#define DHTTYPE DHT 22
DHT dht(8,DHT22);
void setup() {
Serial.begin(115200);
dht.begin();
vw_set_tx_pin(10);
vw_set_rx_pin(2);
vw_setup(2000);
vw_rx_start();
Serial.println("Setup completed.");
}
void presentation()
{
sendSketchInfo("sonde Temp","1.0");
present(0,S_TEMP);
present(1,S_TEMP);
present(2,S_TEMP);
present(3,S_HUM);
}
void loop() {
float t = dht.readTemperature(); // Gets the values of the temperature
float h = dht.readHumidity(); // Gets the values of the humidity
if (isnan(h)|| isnan(t)) {
Serial.println("Erreur de lecture du capteur DHT");
return;
}
Tempint = t;
Humidite = h;
float hic = dht.computeHeatIndex(t,h, false);
byte taille_message = sizeof(valeurs);
vw_wait_rx();
if(vw_get_message((byte *) &valeurs,&taille_message))
{
Tempext= valeurs[3];
Tempeau= valeurs[2];
send(msgTempext.set(Tempext,1));
delay(150);
send(msgTempeau.set(Tempeau,1));
delay(2000);
send(msgTempint.set(Tempint,1));
delay(150);
send(msgHumidite.set(Humidite,1));
delay(1000);
}
else
{
Serial.println("pas de reception");
}
}
J'ai une mesure de température d'eau, une mesure de température extérieur et une sonde dht22 pour l'intérieur.
Les sondes de températures extérieur et d'eau sont raccordées a un Arduino qui les transmet en 433 mhz a un autre Arduino qui est lui branché en usb à un Raspberry ou il y a domoticz. La sonde dht 22 est raccordée à l'Arduino qui est en usb.
Lorsque je vais dans les dispositifs je retrouve mes valeurs avec l'hygrométrie:
- Température extérieur avec l'hygrométrie intérieur
- Température d'eau avec l'hygrométrie intérieur
- Température intérieur avec l'hygro intérieur, ca c'est bon.
Je vous remercie par avance pour vos réponses. Etant nouveau je ne sais pas si j'écris au bon endroit.
Je vous joint mon code qui est sur l'Arduino raccordé au Raspberry:
#define CHILD_ID_TEMP 0
#define CHILD_ID_TEMP 1
#define CHILD_ID_TEMP 2
#define CHILD_ID_HUM 3
#define MY_DEBUG
#define MY_GATEWAY_SERIAL
#define MY_NODE_ID 1
#include <VirtualWire.h>
#include <VirtualWire_Config.h>
#include<SoftwareSerial.h>
#include <DHT.h>
#include<SPI.h>
#include <MyConfig.h>
#include <MySensors.h>
float Tempext;
float Tempeau;
float Tempint;
float Humidite;
float valeurs[4];
MyMessage msgTempext(0,V_TEMP);
MyMessage msgTempeau(1,V_TEMP);
MyMessage msgTempint(2,V_TEMP);
MyMessage msgHumidite(3,V_HUM);
#define DHTPIN 8
#define DHTTYPE DHT 22
DHT dht(8,DHT22);
void setup() {
Serial.begin(115200);
dht.begin();
vw_set_tx_pin(10);
vw_set_rx_pin(2);
vw_setup(2000);
vw_rx_start();
Serial.println("Setup completed.");
}
void presentation()
{
sendSketchInfo("sonde Temp","1.0");
present(0,S_TEMP);
present(1,S_TEMP);
present(2,S_TEMP);
present(3,S_HUM);
}
void loop() {
float t = dht.readTemperature(); // Gets the values of the temperature
float h = dht.readHumidity(); // Gets the values of the humidity
if (isnan(h)|| isnan(t)) {
Serial.println("Erreur de lecture du capteur DHT");
return;
}
Tempint = t;
Humidite = h;
float hic = dht.computeHeatIndex(t,h, false);
byte taille_message = sizeof(valeurs);
vw_wait_rx();
if(vw_get_message((byte *) &valeurs,&taille_message))
{
Tempext= valeurs[3];
Tempeau= valeurs[2];
send(msgTempext.set(Tempext,1));
delay(150);
send(msgTempeau.set(Tempeau,1));
delay(2000);
send(msgTempint.set(Tempint,1));
delay(150);
send(msgHumidite.set(Humidite,1));
delay(1000);
}
else
{
Serial.println("pas de reception");
}
}
-
hbachetti
Re: installation de sonde de temperature et dht22
Salut
J'avoue avoir le même problème.
Je ne suis pas sûr que le le problème se situe au niveau du code ARDUINO, mais plutôt au niveau DOMOTICZ.
Mais si quelqu'un a un avis contraire ...
@+
J'avoue avoir le même problème.
Je ne suis pas sûr que le le problème se situe au niveau du code ARDUINO, mais plutôt au niveau DOMOTICZ.
Mais si quelqu'un a un avis contraire ...
@+
-
JulesVernes
- Messages : 1
- Inscription : 03 avr. 2019, 20:25
Re: installation de sonde de temperature et dht22
Bonjour
+1
J'ai le même problème.
Sur la page Dispositif: MySensors
ID Enfant Type Values
11 S_TEMP #1. V_TEMP (20)
12 S_HUM #1. V_HUM (49)
13 S_TEMP #1. V_TEMP (21.3)
Quand je ne présente que les capteurs de températures, Domoticz me crée les dispositifs correctement avec en Unit les ID enfants :
Idx Matériel ID Unit Nom Type Sous-type Donnée
2 MySensorsGateway 060B 11 DHT Temp LaCrosse TX3 20.1 C
1 MySensorsGateway 060D 13 Dallas Temp LaCrosse TX3 20.7 C
Ensuite je présente en plus des température l'humidité en ID 12 et Domoticz me crée 2 nouvelles lignes :
Idx Matériel ID Unit Nom Type Sous-type Donnée
3 MySensorsGateway 060D 0 Dallas Temp + Humidity WTGR800 21.3 C, 49 %
4 MySensorsGateway 060B 0 DHT Temp + Humidity WTGR800 20.0 C, 49 %
et les 2 premiers dispositifs ne sont plus mis a jours.
Je pense que c'est un bug au niveau des associations de Domoticz,
comment peut on modifier ces éléments ?
Merci de votre aide
+1
J'ai le même problème.
Sur la page Dispositif: MySensors
ID Enfant Type Values
11 S_TEMP #1. V_TEMP (20)
12 S_HUM #1. V_HUM (49)
13 S_TEMP #1. V_TEMP (21.3)
Quand je ne présente que les capteurs de températures, Domoticz me crée les dispositifs correctement avec en Unit les ID enfants :
Idx Matériel ID Unit Nom Type Sous-type Donnée
2 MySensorsGateway 060B 11 DHT Temp LaCrosse TX3 20.1 C
1 MySensorsGateway 060D 13 Dallas Temp LaCrosse TX3 20.7 C
Ensuite je présente en plus des température l'humidité en ID 12 et Domoticz me crée 2 nouvelles lignes :
Idx Matériel ID Unit Nom Type Sous-type Donnée
3 MySensorsGateway 060D 0 Dallas Temp + Humidity WTGR800 21.3 C, 49 %
4 MySensorsGateway 060B 0 DHT Temp + Humidity WTGR800 20.0 C, 49 %
et les 2 premiers dispositifs ne sont plus mis a jours.
Je pense que c'est un bug au niveau des associations de Domoticz,
comment peut on modifier ces éléments ?
Merci de votre aide
Re: installation de sonde de temperature et dht22
Bonsoir
Bug sur l'affichage avec le Module de MySensors, Domoticz est Super, mais les Api sont pas a jour.
Avec un capteur DHT22 Température et hydrométrie ...... c un big bordel
la/les valeurs Humidity son fausse


sur ma GateWay USB, l'afficheur OLED donne les bonnes Valeurs

je pense que Domoticz en fait souff-rire plus d'un, et Domoticz doit souffrir ..... faut il l'abattre
une Solution possible Avant ???????????
doit pas avoir grand choses a modifier !!! ..... mais Houuuu
Bug sur l'affichage avec le Module de MySensors, Domoticz est Super, mais les Api sont pas a jour.
Avec un capteur DHT22 Température et hydrométrie ...... c un big bordel
la/les valeurs Humidity son fausse


sur ma GateWay USB, l'afficheur OLED donne les bonnes Valeurs

je pense que Domoticz en fait souff-rire plus d'un, et Domoticz doit souffrir ..... faut il l'abattre
une Solution possible Avant ???????????
doit pas avoir grand choses a modifier !!! ..... mais Houuuu
Re: installation de sonde de temperature et dht22
..mouais Rien de nouveau, Domoticz un attrape mouche
qui peut donner un lien sur le/les créateurs du module Mysensors dans DomoticZ
ou sinon comment retrouver l'emplacement dans DomoticZ
Problème de regroupement avec plusieurs capteurs HUM d'un nœud dans le réseau MySensors
gryzli133 a ouvert ce numéro il y a 23 jours
https://github.com/domoticz/domoticz/issues/4524
autre Prb https://forum.mysensors.org/topic/11318 ... d-group-id
viewtopic.php?t=9331
https://forum.mysensors.org/topic/11318 ... d-group-id
... bref la liste est longue
sur www.mysensors.org ... Référentiel Domoticz a supprimer ( trop de dégâts, pas une bonne pub pour MyS)
https://www.mysensors.org/controller/domoticz
qui peut donner un lien sur le/les créateurs du module Mysensors dans DomoticZ
ou sinon comment retrouver l'emplacement dans DomoticZ
Problème de regroupement avec plusieurs capteurs HUM d'un nœud dans le réseau MySensors
gryzli133 a ouvert ce numéro il y a 23 jours
https://github.com/domoticz/domoticz/issues/4524
autre Prb https://forum.mysensors.org/topic/11318 ... d-group-id
viewtopic.php?t=9331
https://forum.mysensors.org/topic/11318 ... d-group-id
... bref la liste est longue
sur www.mysensors.org ... Référentiel Domoticz a supprimer ( trop de dégâts, pas une bonne pub pour MyS)
https://www.mysensors.org/controller/domoticz
Dernière modification par maticz le 10 janv. 2021, 16:17, modifié 2 fois.
Re: installation de sonde de temperature et dht22
..peut être une solution https://github.com/domoticz/domoticz/issues/276
Pas Sûr .. c pas sur
Re-Edit
après vue essai test, c sans issue, et modif de la Lib de Mysensors non merci, on vas pas en rajouter
Donc a se jour 10 Janv. 2021, les dual Capteur DHT ne fonctionnement pas avec DOmoticZ et MySensors
bonne année
A+
https://www.domoticz.com/forum/viewtopi ... =42&t=9363
https://forum.mysensors.org/topic/10931 ... h-domoticz
Pas Sûr .. c pas sur
Re-Edit
après vue essai test, c sans issue, et modif de la Lib de Mysensors non merci, on vas pas en rajouter
Donc a se jour 10 Janv. 2021, les dual Capteur DHT ne fonctionnement pas avec DOmoticZ et MySensors
bonne année
A+
https://www.domoticz.com/forum/viewtopi ... =42&t=9363
https://forum.mysensors.org/topic/10931 ... h-domoticz
Re: installation de sonde de temperature et dht22
.. en image

bon bééée voila, la solution est Simple, supprimer les valeurs d' hydrométrie
vais enfin pouvoir avoir un historique des mesures température des pièces.
pour les valeurs d'humidité , création d'une virtuel qui récup la valeur du capteur ?????
.... quelle solution la plus simple (sans 200lignes de code
) Blockly Python Lua dzVents ???
un lien ? .. un tuto ? ... deux tuto !! Merci

bon bééée voila, la solution est Simple, supprimer les valeurs d' hydrométrie
vais enfin pouvoir avoir un historique des mesures température des pièces.
pour les valeurs d'humidité , création d'une virtuel qui récup la valeur du capteur ?????
.... quelle solution la plus simple (sans 200lignes de code
un lien ? .. un tuto ? ... deux tuto !! Merci
-
Chrominator
- Messages : 1042
- Inscription : 19 déc. 2015, 07:29
- Localisation : France
Re: installation de sonde de temperature et dht22
Python c'est pas mal.
Je m'en suis servi avec un DHT22 pour récupérer la température de l'eau de mon chauffage central.
Ça fonctionne bien.
Faut juste penser à alimenter le DH22 avec un GPIO pour lui faire un reset entre deux mesures (pin 17 dans mon cas), sinon il ne renvoie plus rien de temps en temps. Peut-être à cause des conditions un peu extrêmes, ce capteur n'est pas sensé opérer à des températures supérieures à 80°C (mais il le fait le bougre !)
Le tuto d'origine est sur le site du forum, pas bien loin : https://easydomoticz.com/dht-11-22-rasp ... che-enfin/
Evidemment, le dispositif ci-dessous est une sonde de température/humidité rattachée à un contrôleur virtuel, mis à jour par un script...Python.
Le script Python :
Je le mets en zip aussi, l'indentation et les espaces sont importants avec Python.
Je m'en suis servi avec un DHT22 pour récupérer la température de l'eau de mon chauffage central.
Ça fonctionne bien.
Faut juste penser à alimenter le DH22 avec un GPIO pour lui faire un reset entre deux mesures (pin 17 dans mon cas), sinon il ne renvoie plus rien de temps en temps. Peut-être à cause des conditions un peu extrêmes, ce capteur n'est pas sensé opérer à des températures supérieures à 80°C (mais il le fait le bougre !)
Le tuto d'origine est sur le site du forum, pas bien loin : https://easydomoticz.com/dht-11-22-rasp ... che-enfin/
Evidemment, le dispositif ci-dessous est une sonde de température/humidité rattachée à un contrôleur virtuel, mis à jour par un script...Python.
Le script Python :
Code : Tout sélectionner
#!/usr/bin/python
# -*- coding: utf-8 -*-
# basé sur le script Adafruit et adapté pour Domoticz
# Copyright (c) 2014 Adafruit Industries
# Author: Tony DiCola
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
import os
import sys
import Adafruit_DHT
from requests.auth import HTTPBasicAuth
import requests
import RPi.GPIO as GPIO
import time
############# Parametres #################################
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# les parametres de Domoticz
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
domoticz_ip='localhost'
domoticz_port='8080'
user=''
password=''
domoticz_idx=1635
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# les parametres du DHT
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#sensor est 11,22,ou 2302
# pin est le numero d la pin que vous avez cablée
#sensor=Adafruit_DHT.DHT11
#sensor=Adafruit_DHT.DHT22
sensor=Adafruit_DHT.AM2302
pin=4
# Set up GPIO pins
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
pin_alim = 17
GPIO.setup(pin_alim,GPIO.OUT)
GPIO.output(pin_alim,0)
print("Turnin GPIO " + str(pin_alim) + " off for 1 second.")
time.sleep(1)
############# Fin des parametres #################################
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# le fomat pour la temp hum est celui ci
#/json.htm?type=command¶m=udevice&idx=IDX&nvalue=0&svalue=TEMP;HUM;HUM_STAT
def maj_widget(val_url):
requete='http://'+domoticz_ip+':'+domoticz_port+val_url
#print requete
r=requests.get(requete,auth=HTTPBasicAuth(user,password))
if r.status_code != 200:
print ("Erreur API Domoticz")
GPIO.output(pin_alim,1)
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
if humidity is not None and temperature is not None:
print('Temp={0:0.1f}* Humidity={1:0.1f}%'.format(temperature, humidity))
# l URL Domoticz pour le widget virtuel
url='/json.htm?type=command¶m=udevice&idx='+str(domoticz_idx)
url+='&nvalue=0&svalue='
url+=str('{0:0.1f};{1:0.1f};2').format(temperature, humidity)
#print url
maj_widget(url)
else:
# Url pour ajouter un message dans le log
url='/json.htm?type=command¶m=addlogmessage&message='
url+=os.path.basename(__file__) + ': Problème pour lire le DHT - Réinit nécessaire.'
maj_widget(url)
print('Probleme avec la lecture du DHT. Try again!')
sys.exit(1)
GPIO.output(17,0)
Un bon frein vaut mieux que deux sparadraps.
Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Re: installation de sonde de temperature et dht22
Bonsoir Chrominator
Aie " script...Python" .. cella me fait un peut peur, suis obliger de partir avec un script en Python ??
je vais tourner autour pour voir, pas sur que je passe a l'acte
mais 1er prb, , dans le script il y a : "GPIO.output(17,0)" ..... moi c un Arduino, Rien de connecter sur le GPIO de l'Odroid
Merci Beaucoup, c'est des Info qui vont peut être me servir.
ah oui, explication de mon architecture "domotique" (un schéma a venir)
DomoticZ et seulement utiliser pour l'enregistrement des Sondes, un historique sur l'année. (un superviseur)
peut être plus par la suite.
la Philosophie du système, c'est de l'intelligence répartie , rien de centraliser .
Encore Merci Chrominator
Aie " script...Python" .. cella me fait un peut peur, suis obliger de partir avec un script en Python ??
je vais tourner autour pour voir, pas sur que je passe a l'acte
mais 1er prb, , dans le script il y a : "GPIO.output(17,0)" ..... moi c un Arduino, Rien de connecter sur le GPIO de l'Odroid
Merci Beaucoup, c'est des Info qui vont peut être me servir.
ah oui, explication de mon architecture "domotique" (un schéma a venir)
DomoticZ et seulement utiliser pour l'enregistrement des Sondes, un historique sur l'année. (un superviseur)
peut être plus par la suite.
la Philosophie du système, c'est de l'intelligence répartie , rien de centraliser .
Encore Merci Chrominator
Dernière modification par maticz le 12 janv. 2021, 18:14, modifié 1 fois.
-
Chrominator
- Messages : 1042
- Inscription : 19 déc. 2015, 07:29
- Localisation : France
Re: installation de sonde de temperature et dht22
Avec l'architecture ça précise le besoin.
Si ce sont des Arduino, on peut faire la même chose que ce qui est dans le script en Python, mais en C cette fois-ci.
Mais j'ai bien compris que le but n'était pas de se servir de DZ pour gérer les sondes, du coup tu trouveras certainement d'autres solutions.
Si ce sont des Arduino, on peut faire la même chose que ce qui est dans le script en Python, mais en C cette fois-ci.
Mais j'ai bien compris que le but n'était pas de se servir de DZ pour gérer les sondes, du coup tu trouveras certainement d'autres solutions.
Un bon frein vaut mieux que deux sparadraps.
Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06