installation de sonde de temperature et dht22

Forum dédie aux capteurs et gateway mysensors.org
arnaud45
Messages : 15
Inscription : 01 nov. 2018, 17:24

installation de sonde de temperature et dht22

Message par arnaud45 »

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");
}


}
hbachetti

Re: installation de sonde de temperature et dht22

Message par hbachetti »

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 ...

@+
JulesVernes
Messages : 1
Inscription : 03 avr. 2019, 20:25

Re: installation de sonde de temperature et dht22

Message par JulesVernes »

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
maticz
Messages : 42
Inscription : 14 juil. 2019, 11:18

Re: installation de sonde de temperature et dht22

Message par maticz »

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

Image

Image

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

je pense que Domoticz en fait souff-rire plus d'un, et Domoticz doit souffrir ..... faut il l'abattre :D

une Solution possible Avant ???????????

doit pas avoir grand choses a modifier !!! ..... mais Houuuu
maticz
Messages : 42
Inscription : 14 juil. 2019, 11:18

Re: installation de sonde de temperature et dht22

Message par maticz »

..mouais Rien de nouveau, Domoticz un attrape mouche :evil:

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.
maticz
Messages : 42
Inscription : 14 juil. 2019, 11:18

Re: installation de sonde de temperature et dht22

Message par maticz »

..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 :mrgreen:

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
maticz
Messages : 42
Inscription : 14 juil. 2019, 11:18

Re: installation de sonde de temperature et dht22

Message par maticz »

.. en image

Image

bon bééée voila, la solution est Simple, supprimer les valeurs d' hydrométrie :D

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
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: installation de sonde de temperature et dht22

Message par Chrominator »

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/ :lol:


Evidemment, le dispositif ci-dessous est une sonde de température/humidité rattachée à un contrôleur virtuel, mis à jour par un script...Python.
Screenshot_2021-01-11 Domoticz.png
Screenshot_2021-01-11 Domoticz.png (8.4 Kio) Consulté 7756 fois
Screenshot_2021-01-11 Domoticz(1).png
Screenshot_2021-01-11 Domoticz(1).png (60.95 Kio) Consulté 7756 fois

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&param=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&param=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&param=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)

Je le mets en zip aussi, l'indentation et les espaces sont importants avec Python.
read_heating_temp.zip
(1.72 Kio) Téléchargé 439 fois
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
maticz
Messages : 42
Inscription : 14 juil. 2019, 11:18

Re: installation de sonde de temperature et dht22

Message par maticz »

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 :D

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

Message par Chrominator »

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.
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
Répondre