Les capteurs virtuels de Domoticz permettent de récupérer des mesures (sonde de température, détecteur de présence…) ou d’envoyer des commandes vers un objet connecté DIY (par exemple un relai) depuis n’importe quel objet connecté. On pourra très facilement afficher des données en provenance d’un objet connecté Arduino, ESP8266 ou ESP32. Les dispositifs virtuels peuvent également être utilisés pour afficher des informations récupérées sur un service en ligne (météo, qualité de l’air, trafic routier…).
Nous allons voir comment récupérer des mesures de température et d’humidité envoyées par un sonde fabriquée avec ESP Easy et comment piloter un relai avec une WeMos D1 Mini.
Créer un matériel virtuel (Dummy) Domoticz
Allez dans le menu Réglages puis Matériel
Dans la liste Type, choisissez Dummy (Does nothing, use for virtual switches only).
Nommez le matériel. Si vous avez développé des sondes (ou autre objet connecté) à l’aide du firmware ESP Easy, donnez un nom explicite avec le numéro du noeud pour vous aider à plus facilement vous y repérer dans votre nuage d’objets.
Il est préférable de standardiser le nom de chaque matériel utilisé en ajoutant par exemple le suffice ESPEasy et le numéro du noeud.
Par exemple Wemos_ESPEasy_1.
Remarque. Vous pouvez créer un seul Matériel virtuel pour piloter tous vos Dispositifs, c’est juste une question d’organisation et de maintenant. Je trouve plus pratique et plus clair de regrouper les dispositifs sur un même matériel. Si on supprime le matériel, les dispositifs associés seront supprimés en même temps.
Une fois créé, vous aurez un nouveau Matériel dans votre liste avec un bouton Créer capteurs virtuels.
Créer un Dispositif (capteur) virtuel Domoticz
Appuyez sur Créer capteurs virtuels. Donnez lui un nom. Nous allons récupérer la mesure d’un baromètre numérique (fabriqué dans cet article). Dans la liste, choisissez Temp + Humidity + Baro. Validez
Allez dans les dispositifs. Vous allez y trouver votre nouveau capteur. Vous disposez maintenant de son identifiant (Idx) nécessaire pour afficher des mesures depuis un script, un objet ESP Easy…
Recevoir et afficher les mesures du BMP180 depuis ESP Easy (ESP8266)
Dans cet exemple, allons dans l’interface de configuration d’ESP Easy et indiquons l’IDX n°22 au capteur BMP180.
J’ai configuré l’envoi des mesures toutes les 20 secondes. C’est beaucoup trop, surtout pour une utilisation sur batterie évidemment.
Retournons maintenons sur Domoticz. Actualisez la pages des Dispositifs. Vous devriez recevoir les premières mesures.
Maintenant allez dans Météo, vous y trouverez votre baromètre.
Dans Température, vous trouverez la température mesurée par le BMP180 avec le point de rosée calculé à chaque réception de mesure.
Piloter un relai sur l’ESP8266 à l’aide d’ESP Easy et d’une requête HTTP depuis la commande virtuelle
Imaginons maintenant que vous voulez piloter un relai à l’aide d’ESP Easy.
Retournons dans les matériels pour créer un nouveau capteur.
Choisissez le type Interrupteur (Switch).
Allez dans les interrupteurs et éditez le.
Choisissez une icône, par exemple Generic qui symbolise un bouton de mise sous tension.
Dans le champ Action On, saisissez la commande.
Ici on utilisera un shield relai pour la LoLin (Wemos) D1 Mini.
La requête http s’écrit ainsi
http://ip/control?cmd,gpio,id,0 ou 1
Ce qui donne
- Pour l’activer http://192.168.1.21/control?cmd=gpio,5,1
- Pour de désactiver http://192.168.1.21/control?cmd=gpio,5,0
On peut aussi détermine un délai avant d’envoyer une commande (ON ou OFF). Le délai d’allumage est découpé immédiatement après la réception du changement d’état. Le délai d’extinction est décompté après l’exécution de la commande d’allumage. Très pratique et très simple de mise en oeuvre, cette solution évite de développer des scénarios dans de nombreuses situations. Voici deux petits cas d’application :
- Si on détecte présence dans une pièce, on allume la lampe immédiatement (Délai allumage = 0 ) et on l’éteint après 30 secondes (Délai extinction = 30).
- On détecte l’ouverture du portail automatique, on envoi un signal sur le contact sec à l’aide d’un relai après 20 secondes (Délai allumage = 20) et on libère le relai 1 seconde après (Délai extinction = 1).
Sauvegardez et retournez sur la pages Interrupteurs.
Appuyez sur le bouton, vous devriez entendre ‘claquer’ le relai.
Voilà, rien de très compliqué finalement. Les instruments virtuels de Domoticz sont très simples à mettre en oeuvre et très puissants.
- Domoticz. Installation et prise en main sur un Raspberry Pi OS (Buster)
- Intégrer un module ESP32-CAM à Domoticz (firmware modifié)
- Installer Domoticz sur NAS Synology DS718+ sous Docker ou machine virtuelle
- Test de cloudMQTT, broker MQTT en ligne gratuit. Piloter Domoticz avec l’API JSON
- Sécuriser Domoticz avec un certificat Let’s Encrypt HTTPS
- Utiliser les plugins sur Domoticz. Installation manuelle ou via Python Plugin Manager
Bonjour,
Pour l’instant mon projet en est à ses début,
Le problème que j’ai n’enest peut être pas un Dans l’esp Easy le baromètre me donne bien des valeur avec 2 décimale,par contre à l’affichage dans domoticz les décimales disparaissent. (pour la température du même capteur il n’y a pas ce soucis)
coté ESP j’ai utilisé https://www.letscontrolit.com/wiki/index.php/BMP085_BMP180
https://uploads.disquscdn.com/images/82bcc1208a8f2a40ad18ccfb42b25e4bacb907ca68f03bb68c3ebbd8263d88dd.png https://uploads.disquscdn.com/images/5e8776ed81ad408ffd2768103773c67c28b957de967fa160883eff675b019fd6.png
Bonjour Thierry. Il faudrait publier la température de la task 2 également sur l’IDX n°8 de l’instrument virtuel
Bonsoir,
Je n’arrive pas à récupérer les information de ma Wemos dans Domoticz.
Sur la Wemos dans Espeasy on voit bien la température ; dans Domoticz, il n’y a rien.
Je vous joins 2 copie d’écran.
https://uploads.disquscdn.com/images/e1b64fd07f64f174eba6909a77d3679a679156b76afa881c3fee4c62eb0e75e8.jpg https://uploads.disquscdn.com/images/521f7957e3c5fc4498f17e3830c15f990c433653d3329f84b1ddadf2f3b947a5.jpg
Bonjour Christian. Je suis super content. ESP Easy fonctionne enfin sur votre WeMos. La configuration semble correcte des 2 cotés. Sur ESP Easy, il faut bien indiquer l’adresse IP du serveur Domoticz. Il ne faut pas oublier de cocher send data sur la page de configuration du device, sinon rien n’est envoyé (ça peut servir dans certain cas mais pas ici). Ca doit pas être grand chose en tout cas
J’ai le même problème, il y a seulement les interrupteurs qui fonctionnent, les capteurs de température et d’humidité (DHT22 et DS18b20) ne fonctionnent pas. J’ai tout essayé et même réinstallé domoticz mais sans succès. Je passe par le raspberry pi3 comme serveur domoticz