Page 17 sur 24

Re: TUTO Esp Easy + Nextion + Domoticz

Publié : 14 déc. 2021, 21:11
par Jeff
Je suis content que le tuto te plaise :D

En fait comme ca je sais pas te dire sous lua, on passe par nodered pour retravailler nos valeurs et les envoyer au nextion.

Mais pour t'aiguiller, regarde ici
https://www.tutorialspoint.com/lua/lua_strings.htm
Apparemment ca serait

Code : Tout sélectionner

\"	Double quotes
Dans nodered, à un endroit j'utilise : "\""msg.payload"\""

Re: TUTO Esp Easy + Nextion + Domoticz

Publié : 14 déc. 2021, 21:46
par pronoob
pour l'envoi, en page non affichée, je me suis basé sur ton tuto
mais je n'arrête pas de voir des exemples qui ne le suivent pas..

est-ce la votre problème ?.
exemple :

Code : Tout sélectionner

http://192.168.1.191/control?cmd=nextion,temp.txt=19.00
j'aurais écrit (selon ton tuto)

Code : Tout sélectionner

http://192.168.1.191/control?cmd=nextion,page0.temp.txt=19.00
cela fonctionne chez moi (dans un tout autre univers bien sûr) en précisant la page

Re: TUTO Esp Easy + Nextion + Domoticz

Publié : 14 déc. 2021, 21:56
par Jeff
Oui il y a plein de méthodes différentes pour échanger entre le nextion et domoticz, je ne remets pas tout le temps à jour le tuto, le but c'est de comprendre comment ca marche.

Pour l'envoi http, si c'est du texte il faut qu'il soit encadré par des guillemets, facile dans un navigateur avec une valeur indiquée, pour les scripts lua et sous nodered, il faut trouver comment le faire. J'y suis arrivé sous nodered, j'ai jamais fait sous lua.

Il n'y a pas besoin d'indiquer la page si on la définie le type en globale et pas locale sous le logiciel nextion.

Re: TUTO Esp Easy + Nextion + Domoticz

Publié : 14 déc. 2021, 22:15
par padbol2002
non il faut les " " encadrant le 19.00 j'ai essayé votre requete sans succés

pronoob a écrit : 14 déc. 2021, 21:46 pour l'envoi, en page non affichée, je me suis basé sur ton tuto
mais je n'arrête pas de voir des exemples qui ne le suivent pas..

est-ce la votre problème ?.
exemple :

Code : Tout sélectionner

http://192.168.1.191/control?cmd=nextion,temp.txt=19.00
j'aurais écrit (selon ton tuto)

Code : Tout sélectionner

http://192.168.1.191/control?cmd=nextion,page0.temp.txt=19.00
cela fonctionne chez moi (dans un tout autre univers bien sûr) en précisant la page

Re: TUTO Esp Easy + Nextion + Domoticz

Publié : 14 déc. 2021, 22:19
par padbol2002
En fouillant j'ai trouvé une rustine qui fonctionne la voici :

Code : Tout sélectionner

-- encode du texte pour le passer dans une url
function url_encode(str)
  if (str) then
    str = string.gsub (str, "\n", "\r\n")
    str = string.gsub (str, "([^%w %-%_%.%~])",
        function (c) return string.format ("%%%02X", string.byte(c)) end)
    str = string.gsub (str, " ", "+")
  end
  return str
end
puis :

Code : Tout sélectionner

local txt = '"' ..otherdevices["Thermostat_Salon"].. '"'
commandArray['OpenURL']="http://192.168.1.191/control?cmd=nextion,temp.txt="..url_encode(txt)
la fonction servira pour d'autres...
Merci à Vil1driver qui reconnaitra sa participation ;-)

Re: TUTO Esp Easy + Nextion + Domoticz

Publié : 14 déc. 2021, 22:22
par pronoob
la requête était recopiée du message précédant, je voulais juste imager l'usage du numéro de page.
je n'ai nullement la prétention de l'avoir vérifiée..
je rappel, j'utilise juste un arduino, aucun lien avec domoticz pour le moment. je débute totalement.

ici sans indiquer la page, le seul fait d'avoir la variable en global ne suffisait pas.
Jeff tu dis que ça marche sans indiquer la page, pourtant j'avais cru comprendre que tu avais des soucis avec cela ?

désolé si j'ai mal compris et n'ai juste fait que polluer votre discussion.
Je trouvais juste impensable que ce super hmi ne puisse être mis a jour que sur la page en cours..
cela aurait été rédhibitoire pour moi, et voyant (j'ai cru) que cela posait problème chez vous, j'ai voulu aider.

Re: TUTO Esp Easy + Nextion + Domoticz

Publié : 14 déc. 2021, 22:23
par Jeff
Super ! Bien vu, j'utilise aussi cette bibliothèque auquel Vil1driver et d'autres ont bien contribué.

Re: TUTO Esp Easy + Nextion + Domoticz

Publié : 14 déc. 2021, 22:47
par pronoob
je ne sais pas ce que tu souhaites encoder d'une valeur de thermostat.
si le but est juste j'ajouter un " dans une chaîne, il faut en principe juste l’échapper (non testé dans ce cas précis)
est ce que ceci fonctionne ?

Code : Tout sélectionner

commandArray['OpenURL']="http://192.168.1.191/control?cmd=nextion,temp.txt=\""..otherdevices["Thermostat_Salon"].."\""
ou ceci ?

Code : Tout sélectionner

commandArray['OpenURL']='http://192.168.1.191/control?cmd=nextion,temp.txt="'..otherdevices["Thermostat_Salon"]..'"'
si cela fonctionne, nous pouvons ici aussi remercier Vil1driver qui a posté pléthore d'exemples de ce genre

Re: TUTO Esp Easy + Nextion + Domoticz

Publié : 15 déc. 2021, 08:32
par padbol2002
Hélas non, les 2 types d’échappement n’ont pas fonctionné.

Re: TUTO Esp Easy + Nextion + Domoticz

Publié : 15 déc. 2021, 09:04
par pronoob
je ne sais pas quoi dire :|