Je vous propose ici d'utiliser un écran Nextion avec un wemos d1 mini sous Esp Easy.
Presentation
On trouve ces écrans de 2,4" à 7" et de 15€ à 60€. Ce tuto a été fait avec un model basique 3,2" (NX4024T032) et un wemos d1 mini. Pour en savoir plus , c'est ici : https://www.itead.cc/display/nextion.html
L'intérêt de disposer d'un écran tactile est qu'il peut afficher la valeur des capteurs branchés à l'ESP 8266, être utiliser comme interrupteur tactile et diffuser des informations venant de domoticz, d'un autre capteur sous espeasy de la maison ou venant d'une source externe via node red (météo, saint du jour...)
Installation
Nextion ayant évolué depuis ce tuto, vous trouvez tout sur le plugin et le branchement ici.
https://www.letscontrolit.com/wiki/index.php/Nextion et https://www.letscontrolit.com/wiki/index.php/Nextion
Branchement
Interface Nextion
L'interface est un logiciel qui consiste à assembler des images, des boites textes, des champs valeurs...
A télécharger ici : http://nextion.itead.cc/download.html
Le principe est de créer autant d'image de fond que d'état possible à partir des pictures avec un numéro. Attention à respecter la résolution de votre écran : exemple 3,2" c'est 400*240
Ex : pour une lampe vous devez faire une image de fond lampe éteinte et une autre lampe allumée. A ajouter via le Menu "picture"
Vous aurez besoin de faire des polices d'écriture via le menu "Tools" font generator, vous les retrouvez comme les images dans le menu fonts. Prenez le menu toolbox :
Insérez une picture pour l'image de fond
Insérez une crop pour l'état de la lampe
Insérez un text pour la temp, la date, l'heure.
Pour les boutons :
Insérez un "hotspot" et cocher dans "Touch press event" ou l'autre la case "Send component id"
Simuler via "debug", cliquer sur le bouton virtuel (hotspot) et noter le 3ème chiffre : 0x65 0x00 0x08, il nous servira après dans les rules de esp easy pour faire les commandes.
Le paramétrage dans easy Esp
C'est assez simple, il suffit d'ajouter le device nextion. Tx et Rx, je vous ai montré un exemple d'affichage que je n'utilise plus car je fais tout par node red en http.
Pour n° idx, il y a un bug dans domoticz avec le message mqtt , pour éviter cela, je créer un capteur virtuel text n° idx Les commandes
2 choix s'offrent à nous : Http et Mqtt
Http :
Régler la luminosité : 192.168.1.103/control?cmd=NEXTION,dim=10
Mettre à jour capteur texte : 192.168.1.103/control?cmd=NEXTION,time.txt="valeur"
Lampe, image crop : 192.168.1.103/control?cmd=NEXTION,alarm.picc=1
La couleur d'un texte : 192.168.1.104/control?cmd=NEXTION,ext.pco=63519
Mqtt :
Après avoir ajouter MQTT à domoticz, vous pouvez envoyer ce que vous voulez de domoticz Value Name 1 : ExtTemp
Plugin Nextion :
Line 1 page0.ext.txt="[MQTT#ExtTemp] C"
Rules :
Pour lancer une commande via un bouton virtuel, dans les rules ajouter ceci :
Code : Tout sélectionner
on NEXTION#code=8.00 do
sendtohttp 192.168.1.12,8080,/json.htm?param=switchlight&type=command&idx=42&switchcmd=On
endon
Code : Tout sélectionner
On System#Boot do //When the ESP boots, do
timerSet,1,5 //Set Timer 1 for the next event in 5 seconds
endon
On Rules#Timer=1 do //When Timer1 expires, do
NEXTION,thup=1 //activation de extinction auto de l'ecran 0 ou 1
NEXTION,thsp=10 //extinction de l'ecran dans x secondes
endon
http://easydomoticz.com/forum/viewtopic ... =70#p43334
Dans un prochain tuto si certains sont intéressés, j'expliquerais les commandes via Node Red : changement de fond à la demande (heure, événement), intégration météo wunderground, le saint du jour...