[Tuto] Esp Easy + Nextion + DomoticZ
Re: TUTO Esp Easy + Nextion + Domoticz
Oui je connais la valeur local et global des données.
J'ai retravaillé l'ensemble de mise à jour de mes pages ce weekend, à chaque changement de page, j'envoie un topic update à nodered qui interroge domoticz et renvoi toutes les valeurs à jour, ca marche nickel j'ai enfin un écran bien debuggé.
Toi si tu envoies une valeur sur une page non affichée, si tu vas dessus, la valeur est instantanément visible et à jour ?
Vu depuis combien de temps je traine ce sujet, j'ai essayé beaucoup de chose.
Le resend données du plugin me renvoi mes commandes on ou off effectué en boucle.
Ma page température n'affiche les donnés qu'après l'intervalle du plugin
J'ai retravaillé l'ensemble de mise à jour de mes pages ce weekend, à chaque changement de page, j'envoie un topic update à nodered qui interroge domoticz et renvoi toutes les valeurs à jour, ca marche nickel j'ai enfin un écran bien debuggé.
Toi si tu envoies une valeur sur une page non affichée, si tu vas dessus, la valeur est instantanément visible et à jour ?
Vu depuis combien de temps je traine ce sujet, j'ai essayé beaucoup de chose.
Le resend données du plugin me renvoi mes commandes on ou off effectué en boucle.
Ma page température n'affiche les donnés qu'après l'intervalle du plugin
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
Re: TUTO Esp Easy + Nextion + Domoticz
Non, en effet si j'envoie des données à une page non affichée les données ne sont pas prises en compte ...
Il va falloir que j'intègre ça dans mon flow node red
Il va falloir que j'intègre ça dans mon flow node red
Re: TUTO Esp Easy + Nextion + Domoticz
Ca me rassure
même si j'aurais aimé que ce soit plus simple.
Pour les donnés à afficher, un refresh déclenché par un topic par page, tout passe par nodered, une interrogation en http de domoticz et je renvoi la donnés vers le nextion.
Ca se complique pour les interrupteurs, idem sous nodered mais aussi des envois de commande multiples dans le On et Off de ces interrupteurs ( je mets plusieurs valeurs à jour parfois, car dans 2 pages différentes.
Il me reste encore à affiner mes interrupteurs dimmable mais je sais faire.
Je suis assez content du résultat, code plus propre, je n'ai plus besoin du plugin MQTT et c'est plus réactif
Pour les donnés à afficher, un refresh déclenché par un topic par page, tout passe par nodered, une interrogation en http de domoticz et je renvoi la donnés vers le nextion.
Ca se complique pour les interrupteurs, idem sous nodered mais aussi des envois de commande multiples dans le On et Off de ces interrupteurs ( je mets plusieurs valeurs à jour parfois, car dans 2 pages différentes.
Code : Tout sélectionner
script://exec.sh /usr/bin/curl /domoticz/scripts/exec.sh --url "http://192.168.1.110/control?cmd=NEXTION,Lcuisine.pic=42 http://192.168.1.110/control?cmd=NEXTION,cuisine.pic=5"Je suis assez content du résultat, code plus propre, je n'ai plus besoin du plugin MQTT et c'est plus réactif
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
Re: TUTO Esp Easy + Nextion + Domoticz
Salut,
je n'ai pas encore mon nextion, et j'utilise un arduino
je ne comprends pas trop votre soucis de donnée pas mise à jour si envoyée sur une page non affichée.
ici ça fonctionne correctement (du moins avec le simulateur)
je n'ai pas encore mon nextion, et j'utilise un arduino
je ne comprends pas trop votre soucis de donnée pas mise à jour si envoyée sur une page non affichée.
ici ça fonctionne correctement (du moins avec le simulateur)
Re: TUTO Esp Easy + Nextion + Domoticz
De mon côté, si j'envoie via mqtt des données pour des champs texte (temp, consigne,...) vers une page qui n'est pas celle affiché au moment de l'envoi, les données ne sont pas prises en compte et donc non affichées/mises à jour lorsque j'affiche la page en question.
@Jeff : je vais procéder différemment je pense.
Dans nodered je vais écouter le topic domoticz/out et capter toutes les informations dont j'ai besoin, puis les stocker dans des variables.
Ensuite je vais, comme tu l'as fait, envoyer via mqtt un ordre d'update à chaque changement de page et c'est nodered qui enverra les données.
En faisant comme ça je me dis que je peux ré-utiliser les mêmes données pour plusieurs afficheurs.
Du coup je veux bien que tu m'explique comment tu envoie un update via mqtt lors des changements de page
@Jeff : je vais procéder différemment je pense.
Dans nodered je vais écouter le topic domoticz/out et capter toutes les informations dont j'ai besoin, puis les stocker dans des variables.
Ensuite je vais, comme tu l'as fait, envoyer via mqtt un ordre d'update à chaque changement de page et c'est nodered qui enverra les données.
En faisant comme ça je me dis que je peux ré-utiliser les mêmes données pour plusieurs afficheurs.
Du coup je veux bien que tu m'explique comment tu envoie un update via mqtt lors des changements de page

Re: TUTO Esp Easy + Nextion + Domoticz
Pour la mise des pages non affichées, les valeurs envoyées sur ces pages doivent êtres stockées et affichées lorsqu'on appelle cette page.
Il doit exister plein de méthode et c'est possible qu'on s'y prenne mal
La 1ere que j'utilisais était le plugin mqtt import, les données était visibles et à jour sous ce plugin sous espeasy mais elles ne sont affichées que sous l'écoulement de l'interval paramétrable sous le plugin nextion.
Si on met un temps très court pour cet interval le plugin rafraichit tout le temps les donnés et l'ESP est très sollicité. Il faut attendre ce temps pour voir les données à jour, c'est long et pas terrible.
La 2eme méthode est celle que j'utilise et qui donne pleine satisfaction pour moi.
Je le fais de tête, je ne suis pas chez moi.
Sous la page du nextion dans le 2eme onglet, je lance un faux idx avec la méthode de l'envoi d'une commande
Après dans les rules, je lance un publish avec un topic du style : publish update/page2
Dans nodered, j'écoute le topic update/page2 et là je lance des requêtes d'interrogation de chacune de mes valeurs sous domoticz (temp, des On Off...) et je renvoi cette valeur ou un changement icône sur la page de mon nextion.
C'est quasi instantané.
Je vous posterai dans quelques jours des images et les commandes de tout ca.
Il doit exister plein de méthode et c'est possible qu'on s'y prenne mal
La 1ere que j'utilisais était le plugin mqtt import, les données était visibles et à jour sous ce plugin sous espeasy mais elles ne sont affichées que sous l'écoulement de l'interval paramétrable sous le plugin nextion.
Si on met un temps très court pour cet interval le plugin rafraichit tout le temps les donnés et l'ESP est très sollicité. Il faut attendre ce temps pour voir les données à jour, c'est long et pas terrible.
La 2eme méthode est celle que j'utilise et qui donne pleine satisfaction pour moi.
Je le fais de tête, je ne suis pas chez moi.
Sous la page du nextion dans le 2eme onglet, je lance un faux idx avec la méthode de l'envoi d'une commande
Code : Tout sélectionner
print "|u,i50,n,s-3" // Send idx 50 and value -3 to ESPEasy
printh 0aDans nodered, j'écoute le topic update/page2 et là je lance des requêtes d'interrogation de chacune de mes valeurs sous domoticz (temp, des On Off...) et je renvoi cette valeur ou un changement icône sur la page de mon nextion.
C'est quasi instantané.
Je vous posterai dans quelques jours des images et les commandes de tout ca.
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
Re: TUTO Esp Easy + Nextion + Domoticz
Je venais de trouver une méthode 
Dans le plugin nextion tu coches "send to controler" (en l’occurrence le controler MQTT) et dans le paramétrage de chaque bouton (dans l'éditeur nextion) je coche "Send Component ID".
Ensuite j'écoute le topic NOM-DE-LECRAN/NEXTION/idx et quand je presse un bouton cela renvoi un idx unique. Reste à coder une fonction qui va bien.
Dans le plugin nextion tu coches "send to controler" (en l’occurrence le controler MQTT) et dans le paramétrage de chaque bouton (dans l'éditeur nextion) je coche "Send Component ID".
Ensuite j'écoute le topic NOM-DE-LECRAN/NEXTION/idx et quand je presse un bouton cela renvoi un idx unique. Reste à coder une fonction qui va bien.
Re: TUTO Esp Easy + Nextion + Domoticz
Ce que tu dis c'est pour une action de commande en appuyant sur un icône ?
En fait @dokho, je ne sais pas à quel niveau tu en est, tu sais changer des états On/Off dans domoticz à partir de ton nextion ?
En fait @dokho, je ne sais pas à quel niveau tu en est, tu sais changer des états On/Off dans domoticz à partir de ton nextion ?
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
Re: TUTO Esp Easy + Nextion + Domoticz
En fait quand tu appuis sur n'importe quel élément (icône, texte,...) sur l'écran ça renvoi un idx (unique) sur le topic mqtt.
Sur cet écran là j'ai pas encore attaqué la partie "commandes" mais sur le petit que j'avais fait à l'époque je changeais les modes de mon chauffage ainsi que les températures de consignes depuis l'écran.
Sur cet écran là j'ai pas encore attaqué la partie "commandes" mais sur le petit que j'avais fait à l'époque je changeais les modes de mon chauffage ainsi que les températures de consignes depuis l'écran.
-
padbol2002
- Messages : 84
- Inscription : 23 oct. 2017, 08:53
Re: TUTO Esp Easy + Nextion + Domoticz
Bonjour à tous
J'ai reussi a suivre le tuto de A a Z
c'est pour dire s'il est bien
Bon mon pb :
j'envoi via un navigateur :
marche impec le nextion se met a jour
ensuite dans mon script lua de domoticz j'ai :
j'obtient ceci ds le log :
et ça ne se met pas a jour car il manque les " " grrrr comment les ajouter ?
merci
Julien
J'ai reussi a suivre le tuto de A a Z
c'est pour dire s'il est bien
Bon mon pb :
j'envoi via un navigateur :
Code : Tout sélectionner
http://192.168.1.191/control?cmd=nextion,temp.txt="19.0"ensuite dans mon script lua de domoticz j'ai :
Code : Tout sélectionner
commandArray['OpenURL']="http://192.168.1.191/control?cmd=nextion,temp.txt="..otherdevices["Thermostat_Salon"]
print(commandArray ['OpenURL']) -- pour vérifier l'urlCode : Tout sélectionner
Status: LUA: http://192.168.1.191/control?cmd=nextion,temp.txt=19.00
Status: EventSystem: Fetching URL http://192.168.1.191/control?cmd=nextion,temp.txt=19.00 after 0.2 seconds...merci
Julien