[Tuto] Esp Easy + Nextion + DomoticZ

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
Jeff
Messages : 1007
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: TUTO Esp Easy + Nextion + Domoticz

Message par Jeff »

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
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
dokho
Messages : 685
Inscription : 28 déc. 2014, 19:32

Re: TUTO Esp Easy + Nextion + Domoticz

Message par dokho »

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 :?
Jeff
Messages : 1007
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: TUTO Esp Easy + Nextion + Domoticz

Message par Jeff »

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.

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"
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 :D
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
pronoob
Messages : 43
Inscription : 16 oct. 2021, 18:16

Re: TUTO Esp Easy + Nextion + Domoticz

Message par pronoob »

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)
dokho
Messages : 685
Inscription : 28 déc. 2014, 19:32

Re: TUTO Esp Easy + Nextion + Domoticz

Message par dokho »

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
Messages : 1007
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: TUTO Esp Easy + Nextion + Domoticz

Message par Jeff »

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

Code : Tout sélectionner

print "|u,i50,n,s-3" // Send idx 50 and value -3 to ESPEasy
printh 0a
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.
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
dokho
Messages : 685
Inscription : 28 déc. 2014, 19:32

Re: TUTO Esp Easy + Nextion + Domoticz

Message par dokho »

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.
Jeff
Messages : 1007
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: TUTO Esp Easy + Nextion + Domoticz

Message par Jeff »

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 ?
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
dokho
Messages : 685
Inscription : 28 déc. 2014, 19:32

Re: TUTO Esp Easy + Nextion + Domoticz

Message par dokho »

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.
padbol2002
Messages : 84
Inscription : 23 oct. 2017, 08:53

Re: TUTO Esp Easy + Nextion + Domoticz

Message par padbol2002 »

Bonjour à tous

J'ai reussi a suivre le tuto de A a Z
c'est pour dire s'il est bien :D :D :D

Bon mon pb :
j'envoi via un navigateur :

Code : Tout sélectionner

http://192.168.1.191/control?cmd=nextion,temp.txt="19.0"
marche impec le nextion se met a jour

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'url
j'obtient ceci ds le log :

Code : 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...
et ça ne se met pas a jour car il manque les " " grrrr comment les ajouter ?
merci
Julien
Répondre