Page 1 sur 1
Thermostat Domoticz filaire
Publié : 21 janv. 2018, 19:16
par LondusB.
Bonjour à tous.
Premier post donc présentation:
Gilles 36 ans, de Bordeaux.
Je débutes tout juste avec Domoticz, je suis sous linux depuis 2007 et je commence à installer mon système domotique chez moi pour tout controller.
Je cherche à tout faire (ou le maximum) en filaire, après 8 mois de travaux nous avons tiré 46 cables RJ45 dans toute la maison et nous y voilà.
Ma configuration:
J'ai pour serveur un PC sous débian (avec biensur domoticz accessible via le réseau), un arduino uno et 3 DHT sensor pro de chez grove ainsi qu'une baseshield.
Maintenant mes questions:
J'ai un chauffage central que je souhaite contrôler avec Domoticz.
Pour ce faire j'ai prévu 3 électrovannes qui seront contrôlées par des relais, l'ordre étant donné par Domoticz pour l'allumage de la chaudière de 1 et l'ouverture ou non des électrovannes en fonction de la température relevée par les DHT, chacun dans une zone de 2.
Je n'en suis pas encore là...
Pour le moment je voudrais savoir comment récupérer les températures de mes DHT dans Domoticz, comment faire le lien (via le port série) entre le moniteur de mon arduino uno et les 3 capteurs virtuels que j'ai créé dans Domoticz?
J'entends beaucoup parler de Mysensor mais ça sent l'usine à gaz et après avoir testé je crois que ça n'est pas très adapté.J'ai essayé différents tutos avec des scripts LUA, des sketch différents etc.
rien y fait.
Je suis au désespoir alors que finalement ça ne parait pas si compliqué, j'arrive à lire les 3 DHT dans le moniteur Arduino mais pour envoyer ça à Domoticz je ne m'en sort pas.
Merci à vous.
Re: Thermostat Domoticz filaire
Publié : 25 janv. 2018, 17:19
par LondusB.
Bonjour,
Finalement j'ai fini par réussir à faire fonctionner Mysensor.
Enfin... oui et non.
Il est reconnu dans domoticz grace au sketch trouvé sur github, j'ai modifié le sketch pour y inclure mes 3 DHT qui sont branchés sur l"Arduino mais apprement, domoticz ne reçois rien, je vais gratter un peu pour comprendre comment ça marche mais si quelqu'un à une idée, je colle mon sketch ici, dites moi si vous avez des correction:
Code : Tout sélectionner
// Enable serial gateway
#define MY_GATEWAY_SERIAL
// Define a lower baud rate for Arduino's running on 8 MHz (Arduino Pro Mini 3.3V & SenseBender)
#if F_CPU == 8000000L
#define MY_BAUD_RATE 38400
#endif
// Enable inclusion mode
#define MY_INCLUSION_MODE_FEATURE
// Enable Inclusion mode button on gateway
//#define MY_INCLUSION_BUTTON_FEATURE
// Inverses behavior of inclusion button (if using external pullup)
//#define MY_INCLUSION_BUTTON_EXTERNAL_PULLUP
// Set inclusion mode duration (in seconds)
#define MY_INCLUSION_MODE_DURATION 60
// Digital pin used for inclusion mode button
//#define MY_INCLUSION_MODE_BUTTON_PIN 3
// Set blinking period
#define MY_DEFAULT_LED_BLINK_PERIOD 300
// Inverses the behavior of leds
//#define MY_WITH_LEDS_BLINKING_INVERSE
// Flash leds on rx/tx/err
// Uncomment to override default HW configurations
//#define MY_DEFAULT_ERR_LED_PIN 4 // Error led pin
//#define MY_DEFAULT_RX_LED_PIN 6 // Receive led pin
//#define MY_DEFAULT_TX_LED_PIN 5 // the PCB, on board LED
#include <MySensors.h>
#include "DHT.h"
#define DHT1PIN A0 // what pin we're connected to
#define DHT2PIN A1
#define DHT3PIN A2
// Uncomment whatever type you're using!
#define DHT1TYPE DHT22 // DHT 11
#define DHT2TYPE DHT22
#define DHT3TYPE DHT22// DHT 22 (AM2302)
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Connect pin 1 (on the left) of the sensor to +5V
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
DHT dht1(DHT1PIN, DHT1TYPE);
DHT dht2(DHT2PIN, DHT2TYPE);
DHT dht3(DHT3PIN, DHT3TYPE);
void setup()
{
Serial.begin(115200);
dht1.begin();
dht2.begin();
dht3.begin();
}
void presentation()
{
// Present locally attached sensors
}
void loop()
{
float h1 = dht1.readHumidity();
float t1 = dht1.readTemperature();
float h2 = dht2.readHumidity();
float t2 = dht2.readTemperature();
float h3 = dht3.readHumidity();
float t3 = dht3.readTemperature();
}
Merci.
Re: Thermostat Domoticz filaire
Publié : 25 janv. 2018, 18:29
par vil1driver
Salut,
Il te faut présenter les différents capteurs
void presentation()
Ne doit pas être vide, c'est ce qui explique à domoticz que ta passerelle comporte des capteurs et lesquels
Et envoyer les valeurs
void loop()
Doit comporter les commandes d'envoi de données
Sans oublier les pauses réglementaires, tes dht ne vont pas accepter des lectures à chaque boucle
Re: Thermostat Domoticz filaire
Publié : 25 janv. 2018, 18:44
par LondusB.
Super, merci.
Je vais regarder ça, j'ai trouvé un sketch sur le github de mysensor, mais j'ai du downgrader ma librairie adafruit...
Finalement avec ce sketch, oui domoticz voit le DHT (il n'y en a qu'un dans ce sketch) mais aucune valeur ne remonte.
Je vais retourner sur mon script d'origine (plus haut) revenir à la version actuelle de la librairie et voir ce que je peux améliorer selon ce que tu dis.
Déjà si tu n'as pas été choqué c'est qu'il ne doit pas être si mauvais que ça mon sketch
Merci.
Re: Thermostat Domoticz filaire
Publié : 25 janv. 2018, 19:48
par vil1driver
J'ai cessé de m'intéresser à mysensors bien avant qu'ils ne permettent de relier des capteurs directement sur la passerelle mais le concept reste le même et le commentaire est explicite.
Je ne suis pas capable de voir les erreurs qu'il pourrait y avoir..
Je me doute que ton sketch vient du site mysensors..
donc pas de raison..
Je lit adafruit dans ton message.. en principe la librairie mysensors se suffit à elle même non ?
Re: Thermostat Domoticz filaire
Publié : 25 janv. 2018, 20:05
par LondusB.
Arf j'aimerais bien me passer de mysensor parce que très franchement, ça a l'air plus compliqué que de simplement utiliser l'API mais c'est la première technique qui donne un résultat.
Je vais quand même essayer de m'intéresser plus à LUA et JSON.
Mysensor ça a l'air un peu bricolo quand même surtout si je dois downgrader les lib.
En faite mysensor se suffit en terme de passerelle mais fait références aux librairies adafruit dans le sketch (#include DHT.h)
Après sans abuser si tu as des pistes pour envoyer des requêtes à mon Arduino et récupérer les données relevées par mes sondes, je suis preneur.
Je suis un gros noob dans tout ça^^
Re: Thermostat Domoticz filaire
Publié : 27 janv. 2018, 12:36
par LondusB.
Hello world!
Dans mes recherches, j'ai crus comprendre que finalement le meilleur moyen de faire ce que je voulais était de passer par le réseau plutôt que par le port USB.
Avant d'investir dans un shield ethernet, je voudrais savoir si je ne me trompe pas, ce que je penses faire:
-Avec un script, demander à Domoticz d'interroger mon arduino (UNO) pour relever les températures et humidités des 3 DHT branchées dessus.
-Ecrire un sketch Arduino qui relève les données des DHT pour quelles soit accessibles sur le réseau.
Est-ce que ceci est jouable ? plus pertinent ?
Merci.