TUTO Esp Easy + Nextion + Domoticz

Vos échanges, bricolages, idées et questions concernant l'ESP8266, les NodeMCU,Weemos, et consort
Kyoshi
Messages : 1
Enregistré le : 27 févr. 2020, 11:36

Re: TUTO Esp Easy + Nextion + Domoticz

Message par Kyoshi »

Hello,

Je commence à devenir dingue... J'espère que quelqu'un pourra m'aider :)

Je cherche à récupérer le string d'une variable du Nextion (rooms.txt) et à l'envoyer via une requête HTTP.


Sur mon Nextion :

Code : Tout sélectionner

print "|u,i123545,n,s"
print rooms.txt
prints 0a


Sur mon ESP (rules) :

Code : Tout sélectionner

On Nextion#idx=12345 do
   SendToHTTP [IP_server],[Port Server],/core/api/jeeApi.php?apikey=[MyAPIServer]&type=virtual&id=123&value=[NEXTION#value]
endon
(je n'utilise pas Domoticz)

Mais je ne reçois rien du tout. J'ai testé plusieurs autres choses dont :

Code : Tout sélectionner

SendToHTTP [IP_server],[Port Server],/core/api/jeeApi.php?apikey=[MyAPIServer]&type=virtual&id=123&value=[NEXTION#ThePage.rooms.txt]
Mais rien de plus...

Si je fais ceci :

Code : Tout sélectionner

SendToHTTP [IP_server],[Port Server],/core/api/jeeApi.php?apikey=[MyAPIServer]&type=virtual&id=123&value="test"
Cela fonctionne bien. Je reçois bien "test".


J'ai également cherché une alternative, à savoir récupérer la valeur en faisant un appel depuis mon serveur domotique mais je ne sais pas si c'est possible et comment écrire a commande.
Pour la mise à jour d'une variable du Nextion depuis mon serveur domotique, ce n'est pas un problème :

Code : Tout sélectionner

http://[ESP IP]/control?cmd=NEXTION,mapage.rooms.txt="test"
Par contre, le contraire?

Si quelqu'un a une piste pour moi, ce serait plus que bienvenue :).

Jeff
Messages : 793
Enregistré le : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: TUTO Esp Easy + Nextion + Domoticz

Message par Jeff »

La valeur après le s encadré ne serait elle pas à encadrer dans les " !
Voir ici, essaye l'exemple histoire de....
https://www.letscontrolit.com/wiki/inde ... le=Nextion

Code : Tout sélectionner

For example, to send idx = 50 and value = -3 the Nextion code would be written using two statements as follows:

print "|u,i50,n,s-3" // Send idx 50 and value -3 to ESPEasy

printh 0a // Required print termination character
Il me semble également avoir lu il y a qqs années qu'il y avait un problème avec le idx si il dépassait 99 :? Corrigé ou pas !
Version: 4.9700; RFXCOM Rfxtrx433e ext/1007 ; Zwave (Z-stick GEN5, Fibaro...), Zigbee2MQTT.

Jeff
Messages : 793
Enregistré le : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: TUTO Esp Easy + Nextion + Domoticz

Message par Jeff »

Depuis quelques mois, j'ai intégré mon écran sur le mur de maison et j'ai mis à jour le tuto pour le simplifier suite au progrès que j'ai pu faire.
J'ai mis un firmware à jour avec la dernière version ESPeasy compilé en rajoutant des champs au plugin.

Il y a plein de possibilité, on peut même demander à son enceinte Alexa de changer la page du Nextion !

Dans ma nouvelle maison cet écran + Alexa on remplacé la tablette avec les customs pages pour plus de discrétion et plus d'effcacité.
N'hésitez à poser des questions.
Dashboard.jpg
Dashboard.jpg (43.11 Kio) Vu 1141 fois
Temperature.jpg
Temperature.jpg (52.67 Kio) Vu 1140 fois
Version: 4.9700; RFXCOM Rfxtrx433e ext/1007 ; Zwave (Z-stick GEN5, Fibaro...), Zigbee2MQTT.

lolo6112
Messages : 32
Enregistré le : 17 juil. 2016, 16:12

Re: TUTO Esp Easy + Nextion + Domoticz

Message par lolo6112 »

Bonsoir, ou bonjour ça dépend :D

Je prend un peu le train à la bourre mais bon le dernier post de Jeff date d'un peu plus de 2 mois, et de toutes façons j'ai fait l'acquisition du Nextion depuis peu.
Bref, ce sujet m'intéresse vraiment.
Plusieurs questions :
Vu que les Nextions n'évoluent plus beaucoup, Sonoff à complétement laissé tomber ce produit, ils ne sont d'ailleurs plus hébergés chez eux,. Résultat c'est un peu le désert pour retrouver les fils de certains liens pour ce tuto, erreur 404 quand ça pointe sur leur ancien site. Y aurait-il moyen de retrouver les infos, j'en doute mais sait-on jamais ?

@ Jeff: Tu as dit dans un post "tactile mort au bout de quelque mois", quand est-il du 2ème ? Je demande parce que je me disais que le petit 3.2 pouces ne va peut-être pas être l'idéal pour finaliser un projet complet. Mais bon, si c'est pour prendre un 7 ou 10" qui lache quelques mois après au prix où ils les vendent dans ces dimensions, je préfère savoir, merci de ta réponse.

Sinon sur batterie(s) vous tenez combien de temps en moyenne, power bank ou 18650 ou 21700, combien d'élément(s) 1, 2, plus ? Ce serait pour le 3.2 si je prend plus grand pour le séjour, je mettrai le petit en mobile pour d'autres infos. Au pire j'ai 2 x 26650 de 5A/h chaque, ça devrait le faire :lol:

Pour le Nextion on est bien d'accord qu'il vaut mieux utiliser le mode sleep avec wake-up sur touch event ou reveil par un des GPIO, j'ai un enhanced avec GPIO et DS3231 intégrée, plutôt que de dégringoler le dim à 0 ? Cette dernière manip ne l''éteind pas et ça mange un bras ces bêtes là apparemment. Je parle sur batterie surtout, mais bon c'est bien aussi de ne pas multipkier les trucs qui bouffent du Watt à longueur d'année.

Voili voilou, c'est tout pour aujourd'hui, je vais déjà éplucher ESP_Easy que je ne connais pas, le tuto que j'ai lu mais sur lequel je revindrai certainement, probablement me mettre à Node Red, enfin . Et tenter de coller sur le Nextion 3.2" un début d'interface qui marche. Du coup j'aurai probablement d'autres questions à poser.
@Jeff: Probablement pour avoir des détails sur comment tu relies Alexa avec ton ESP ou Node Red pour changer les pages :D

En tout cas merci pour ce tuto et aux contributeurs, ça m'a conforté sur 2 choses.
La première étant que pour leur produit c'est pas chez eux qu'il faut chercher :mrgreen: la deuxième étant qu'il y a toujours de quoi trouver son bonheur sur le forum ;)

Bonne journée à tous.
Laurent

Jeff
Messages : 793
Enregistré le : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: TUTO Esp Easy + Nextion + Domoticz

Message par Jeff »

Content d'avoir qq de motiver sur le sujet :D c'est vraiment sympa ces écrans connectés même si ca fait appel à pas mal de notion mais tu as bien cerné le besoin.
Tout d'abord niveau fiabilité aucun soucis sur celui en fonctionnement depuis des mois, l'autre fonctionne tjs sans tactile, avait il pris un choc ou chute !!
Concernant le produit, je n'avais pas l'impression que itead le délaissait, dis moi les liens qui manque, je viens de regarde niveau wiki, pas de soucis
https://nextion.tech/instruction-set/

Sinon en utilisation batterie, cela me paraît impossible même si je sais qu'il y a une vidéo sur le sujet. On a déjà du mal à faire fonctionner les ESP pr qqs envois de sonde par heure avec un passage en sleep, alors avec l'écran en plus... pour le sleep, je le fais par url en instruction cmd=sleep,1 ... c'est quoi ton projet ?
Version: 4.9700; RFXCOM Rfxtrx433e ext/1007 ; Zwave (Z-stick GEN5, Fibaro...), Zigbee2MQTT.

lolo6112
Messages : 32
Enregistré le : 17 juil. 2016, 16:12

Re: TUTO Esp Easy + Nextion + Domoticz

Message par lolo6112 »

Salut,

Ben.... mon projet je n'y suis pas encore :lol:
Pour l'instant je découvre ESP_Easy, qui fonctionne assez bien,, juste quelques points qui n'ont pas été abordés, ou qui prètent un preu à confusion dans le tuto quand on arrive sur la plage. Ou qu'on siort du pieux :D

Par exemple c'est dit null part mais comme je connais quand même un peu les 8266 je sais bien qu'à la base leur librairie time, pas celle d'Arduino hein ;) gère aussi maintenant grace au polling NTP la mise à joujr de l'horloge interne qui parait stable. J'ai trouvé, il faut activer le NTP et quelques autres choses liées, style ta timezone et si dst il y a dans les paramètres avancés de config qui sont dans comme en toute logique binaire dans l'onglet "outils" :o Ben oui quoi e,n binaire si c'est pas c'est 0 donc si c'est oas au début c'est à la fin, ok je suis dehors :lol:

Par contre come ESP-Easy a carrément évolué cela ne correspond plus trop aux détails de ton tuto, Du coup j'hésite entre mettre MQTT seulement en device, mais il est aussi proposé en controleur et du coup cela me parait plausible de l'activer là pour avoir les flux MQTT et/ou HTTP., tout ne passera pas en MQTT, ja'i un rab de valeurs dummy qui ne recoivent des infos que de scripts, pas sur que le service MQTT le relaie ça ?
J'avoue que comme ça marche assez bien et que j'a été un peu plus faignant depuis
MQTT tourne mais je ne l'ai même pas visualisé :oops:

En plus les gars oute atlantique, ou manche mais je pense qu'il y en a un rab aux USA, sont parfois peu détaillés dans leis explications. Donc même si on parle régulèrement anglais à la maison, ma femme n'est pas française, quand même des fois ils me larguent un peu là.

Question : même en mettant MQTT import enable dans les devices, je n'ai vu aucun message Domoticz passer, c'est normal docteur ?

Sinon je remercie vivement :oops: plus son patronime en mémoire mais c'est Mr Buanderie v2, il se reconaitra,
j'ai pris son exemple syr 1 seule page, 3 zones textes et 2 actionneurs on/off pour découvrir et paraémtrer le toutim ça va le faire parfaitement.

Sinon le proket d'ensemble c'est de finaliser Domoticz et mes IOT pas encore terminés depuis 2016 ... Mais surtout èviter que quand Orange nous met par terre l'internet 1 weekend entier bah Domoticz y toune plus pendant 1 semaine :evil:
Faut dire que je ne suis plus pendu dessus come au d&but ça tourne depuis 4 ans. ,Mais du coup même avec le cron et monitor bah quand ça veut pas hein...
L'idée est donc de pouoir sur l'équivalent d'iune tablette mais plus souple avoir accès Domoticz enfin le principal utile, mais aussi des raios sur le web. Moi qui suis à la base parigot la seule radio bocale entourée de France culture et France Musique je sature un brun :lol: Nan je déconne à la campagne on est bien mieux, d'autant que je suis à la retraite maintenant.

Sinon je récupère bien les ID du Nextion pour info ce sont les id inscritent + 500, voilà une info que tu n'as peut-être pas.
Et sinon oui le sleep c'est ou comme le fait jackslayter par la 2ème commande, l'avantage de celle-ci, enfin je pense, c'est que le timer devrait être répétitif. Mais c'est bon aussi avec sleep=1 et sleep=0 pour en sortir en sérial
Mais la soluce de jackslayter est intéressante puisque thup c'est armer l'auto wake-up (touch up, je pense) sur une touche d'écran, par contre ça n"envoie pas de touch event à l'ESP.

Veux tu que je t'envoie mon actuelle config, pas terminée, pour voir ?

Pour l'histoire de l'écran cela peut-être un mauvais numéro dans la série aussi. Je flippe un peu avec les écrans, j'ai eu une mauvaise expérience en plus avec des LCD Oled. Je me ballade maintenant avec 3 oled 192x128 avec une superbe horloge phantôme dessus :lol:
Bon faut dire qu'ils ont été en test 1 an et demi avec 2 pages ou sur une seule les minutes et secondes gigottaientt un peu, depuis c'est en service mais avec une librairie qui swappe les pages. Mais c'est tout petit et maintenant noenoeil c'est plus ça :mrgreen:

Pour les liens c'est pas grave c'est 1 ou 2 liens qui pointaient sur l'ancien site Itead chez Sonnof. Ils ne le maintiennent plus de toutes façons.
Pour "Nextion.tech" maintenant, ils font quand même payer le support en ligne, elle est pas coquette celle là, y a pas écrit pigeon sur mon front nan mais ho :lol:
Last new, une mise à jour de l'éditeur ce jour... cible que les Nextions Intelligents, cherches l'erreur, visiblement à moins de 60€ la bête on les intéressent moins nous ;)

@+

lolo6112
Messages : 32
Enregistré le : 17 juil. 2016, 16:12

Re: TUTO Esp Easy + Nextion + Domoticz

Message par lolo6112 »

Bonsoir à tous,

Bon alors les questions vont commencer :D

J'ai ça qui s'affiche dans le test que je fais :
Nextion_police inadaptée.jpg
Nextion_police inadaptée.jpg (423.36 Kio) Vu 844 fois
J'ai quand même du mal à comprendre puisqu'en simulation cela affiche 00.0 ????
Encore une conversion à la noix à faire car le Nextion ne sait pas afficher du numérique dans du texte ?
Parce qu'il m'étonnerait beaucoup que MQTT tansforme cela en code ascii ?
C'est quand même assez lourdingue leurs limitations et l'incapacité à gérer autre chose que du soi-disant texte brut et en plus mal interprèté :evil:
D'autant que c'est un µC 32 bits quand même :roll:

Autre question; comment je peux intégrer les données de cet event dans le champ texte du haut ?
Console heure système ESP-ok-NTP.png
Console heure système ESP-ok-NTP.png (47.89 Kio) Vu 844 fois
Si une bonne âme pouvait me dire, merci.
Là je sature un poil plus d'une journée pour sortir des hyérogliphe, dans un champ texte qui affiche 00.0 en test,
ça abuse tout de même. Y a des jours comme ça :roll: :lol:

Bon appétit à tous
@+

Jeff
Messages : 793
Enregistré le : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: TUTO Esp Easy + Nextion + Domoticz

Message par Jeff »

Le tuto a été remis à jour en juin et est donc parfaitement opérationnel, j'ai remis 2 liens à jour
La version espeasy à dispo avec plugin nextion date du 12/06/2020 ;)

Pour le time oui c'est aussi simple que cela mais moi pour l'heure je l'envoie via node red...

Mr buanderie V2, ca vient aussi de moi :lol:

Concernant le MQTT, tu t'embrouilles entre la liaison avec ton controlleur en MQTT et le plugin import MQTT qui lui sert à recevoir des messages sur le topic de ton choix.
Moi je retraite les infos de domoticz (par ex, j'extraie la temp d'une sonde temp / hum) via node red et je les renvoi sur le topic de mon choix via le plugin MQTT, donc c'est normal que tu ne vois rien si tu indiques pas le bon topic

Voici une des fonctions que j'utilise

Code : Tout sélectionner

[{"id":"82f202d4.47383","type":"mqtt in","z":"d93b36c3.80f2e8","name":"","topic":"domoticz/out","qos":"2","broker":"f0e0a1f2.be3d4","x":170,"y":180,"wires":[["9515a032.877ee","ee9aeab.3285418"]]},{"id":"ee9aeab.3285418","type":"debug","z":"d93b36c3.80f2e8","name":"","active":false,"console":"false","complete":"payload","x":810,"y":180,"wires":[]},{"id":"9515a032.877ee","type":"json","z":"d93b36c3.80f2e8","name":"","property":"payload","action":"","pretty":false,"x":370,"y":160,"wires":[["c3fb9ab0.4bb848"]]},{"id":"c3fb9ab0.4bb848","type":"function","z":"d93b36c3.80f2e8","name":"Temperature","func":"msg.topic = \"domoticz/out/\"+msg.payload.name+\"/Temperature\";\n\nif  (msg.payload.dtype === \"Temp + Humidity\") \n{\nmsg.payload = msg.payload.svalue1\nreturn msg;\n}\nelse if (msg.payload.dtype === \"Temp\")\n{\nmsg.payload = msg.payload.svalue1\nreturn msg;\n}\n\n\n","outputs":1,"noerr":0,"x":570,"y":120,"wires":[["ee9aeab.3285418","86c2f584.888278"]]},{"id":"78cf005c.c9543","type":"comment","z":"d93b36c3.80f2e8","name":"Temperature et humidity","info":"In this example the IDX in the switch node is \nrepublished to a topic named domoticz/out/[devicename]\nthe repub function translate value 1 to ON","x":259,"y":114,"wires":[]},{"id":"3c0a750f.415a4a","type":"function","z":"d93b36c3.80f2e8","name":"Humidity","func":"msg.topic = \"domoticz/out/\"+msg.payload.name+\"/Humidity\";\n\nif  (msg.payload.dtype === \"Temp + Humidity\") \n{\nmsg.payload = msg.payload.svalue2\nreturn msg;\n}\n\n","outputs":1,"noerr":0,"x":560,"y":240,"wires":[[]]},{"id":"86c2f584.888278","type":"mqtt out","z":"d93b36c3.80f2e8","name":"","topic":"","qos":"","retain":"","broker":"ee3b0af6.711048","x":790,"y":120,"wires":[]},{"id":"f0e0a1f2.be3d4","type":"mqtt-broker","z":"","name":"","broker":"192.168.1.100","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"ee3b0af6.711048","type":"mqtt-broker","z":"","name":"","broker":"192.168.1.100","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]
Version: 4.9700; RFXCOM Rfxtrx433e ext/1007 ; Zwave (Z-stick GEN5, Fibaro...), Zigbee2MQTT.

lolo6112
Messages : 32
Enregistré le : 17 juil. 2016, 16:12

Re: TUTO Esp Easy + Nextion + Domoticz

Message par lolo6112 »

Bonsoir,

Merci pour les infos je regarderai cela demain.
Je suis pas loin les caractères accentués c'est Nextion qui considère que deux codes ASCII qui se suivent sont un caractère accentué. De là à prendre en compte une température à 1 décimale pour un caractère accentué il n'y a qu'un pas.
Mais il n'y a pas que Nextion ESP_Easy à des limites aussi, avec tous les plugins, ils sont ras des paquerettes niveau mémoire.
Il y a bien les Mini pro avec 16M° mais qui va aller en acheter alors que pour le moment ça marche avec un Mini ou tout autre ESP 4 M°. Cette barrière n'a pas évoluée avec les ESP32. Pour l'instant il faudra faire avec.
De plus il parait que le framework ESP rame sur 16M°
Sais pas, juste testé 2 pour voir le signal Wifi avec antenne extérieure :D

Tien en attendant voici l'explication des id Nextion + 500, extrait de _P075_Nextion.ino :
#define TOUCH_BASE 500 // Base offset for 0X65 Touch Event Send Component ID.
En fait le firmware interne Nextion doit se réserver un certain nombre d'adresses fixes pour les commandes et leur paramètre de l'interpréteur + les valeur de retour ASCII de ces commanes 2 chiffres 1 adresse mémoire pour chacune.

Une autre limitation atteinte que tu comprends mieux lorsque tu lis les sources :
// Configuration Settings. Custom Configuration Memory must be less than 1024 Bytes (per TD'er findings).
//#define P75_Nlines 12 // Custom Config, Number of user entered Command Statment Lines. DO NOT USE!
//#define P75_Nchars 64 // Custom Config, Length of user entered Command Statment Lines. DO NOT USE!
#define P75_Nlines 10 // Custom Config, Number of user entered Command Statments.
#define P75_Nchars 51 // Custom Config, Length of user entered Command Statments.
Ils ont du réduire la voilure, du coup j'ai du raccourcir des noms de composants sous Domoticz.
Donc je vais voir comment ils traitent cela en HTTP parce que me reprendre plus de 350 libellés pour MQTT ça non.
Avec un peu de chance HTTP relaye l'IDX Domoticz lui, pas MQTT de ce que j'en ai vu.

Comme tu vois il y a de la lecture.
Sans compter que toi tu fais tout sous Node Red maintenant, alors soit c'est un service qui permet beaucoup de choses.
Mais pour l'instant, step by step je digère ESP_Easy et MQTT, et comme tu peux le voir je descend profond. Donc après on verra éventuellement Node Red.
Tu sais, je programme juste depuis 1977, et je ne te dis même pas la multitude de languages utilisés depuis ce temps.
Donc avec le temps j'ai aprris qu'un hobby c'est bien, mais si le jeu n'en vaut pas la chandelle, tout risque de rester en plan faute de solution, ou de moyens. Et ça c'est pas mon truc je fini toujours ce que je commence quitte à adapter la solution :D
Et si j'avais que la programmation et la domotique........ :lol: :lol:

Pour la version no soucy c'est la tienne qui est dans le Mini :D
Pour les topics c'est bon les infos remontent mais pas dans le bon format je vais voir avec une variable intermédiare.
Même si j'ai pas encore appronfondi MQTT/out et MQTT/in ça devrait le faire un pour les valeurs reçues et l'autre pour en envoyer.
Je fais depuis longtemps la même chose en HTTP avec mes sondes à coup d'ATTIny et rf 433 ;)

Par contre le coup de l'heure c'était une vraie question elle, du moment que c'est dans le log pas besoin d'un service en plus avec un rule du style :
on Event ..... do
pageO.heure.txt = ??? conversion texte pas sûr ? sinon je met la %valeur% directe on verra
endo
J'ai bon chef ?


Alez bonne soirée et bonne nuit Mr Buanderie V2 :lol: :lol:

@+, merci encore du soutien et des tuyaux, c'est très gentil.
Laurent

pascal_frigoriste
Messages : 4
Enregistré le : 16 déc. 2018, 13:54

Re: TUTO Esp Easy + Nextion + Domoticz

Message par pascal_frigoriste »

@Jeff
Merci pour le travail sur le tuto et le rest
Félicitation!!

Répondre