titre : problème d'envoi d'URL en Lua depuis version 2021.1
Suite à la mise à jour du system en 2021.1 :
J'ai un script qui met à jour des écrans LCD2004 sur un ESP8266 et ESP32 :
Avec ces commandes à répétitions : une 40aine par script.
⇒ commandArray[#commandArray+1] = {['OpenURL']='http://192.168.1.72/control?cmd=lcd,3,1,TexteAAfficher '};
Avec la version précédente => aucun problème.
Maintenant un commande sur ???? n'est pas prise en compte et j'ai des erreurs dans le log.
2021-04-20 14:43:10.359 Error: Error opening url: http://192.168.1.72/control?cmd=lcd,4,12,Tot=528w
Du côté des ESP ; je n'ai rien changé depuis la maj.
Et j'ai fait la grave erreur : pas de sauvegarde de la version précèdent!
Pistes : j'ai l'impression que les commandes en OpenURL http sont envoyées beaucoup trop lentement !!
extrait d'un de mes scripts (time) avec des constantes à la place des valeurs des devives :
IP_ESP32 = "http://192.168.1.72/control?cmd=";
commandArray[#commandArray+1] = {['OpenURL']=IP_ESP32.."lcd,1,1,21h65" } ;
commandArray[#commandArray+1] = {['OpenURL']=IP_ESP32.."lcd,1,7,Garage="..string.format("%.0f",541).."w"};
commandArray[#commandArray+1] = {['OpenURL']=IP_ESP32.."lcd,1,20,".."9" };
commandArray[#commandArray+1] = {['OpenURL']=IP_ESP32.."lcd,2,1,Sal="..string.format("%.0f",123).."w"};
commandArray[#commandArray+1] = {['OpenURL']=IP_ESP32.."lcd,2,12,Stu="..string.format("%.0f",456).."w"};
commandArray[#commandArray+1] = {['OpenURL']=IP_ESP32.."lcd,3,1,Bur="..string.format("%.0f",789).."w"};
commandArray[#commandArray+1] = {['OpenURL']=IP_ESP32.."lcd,3,12,Cui="..string.format("%.0f",999).."w" };
commandArray[#commandArray+1] = {['OpenURL']=IP_ESP32.."lcd,4,1,Rest="..string.format("%.0f",245).."w"};
commandArray[#commandArray+1] = {['OpenURL']=IP_ESP32.."lcd,4,12,Tot=".."564l"};
Seulement 6 commandes sont executées sur 9.... et ce ne sont jamais les mêmes !!!
J'ai cherché du côté des timeOut et queue dans ESPHome mais rien n'y fait...
Les MQTT fonctionnnent très bien.
Tout ceci fonctionnait parfaitement avec la version précédente :
Version: 2020.2
Build Hash: b63341bc0
Compile Date: 2020-04-26 13:47:55
dzVents Version: 3.0.2
Python Version: 3.7.3 (default, Apr 3 2019, 05:39:12) [GCC 8.2.0]
Je suis preneur de toutes les pistes !
Merci
[MAJ 2021.1] Problème URL LUA
Re: [TOPIC UNIQUE] Mise à jour DomoticZ 2021.1
@DomoESP32 Salut, je veux pas faire mon relou mais premier message et pas de bonjour, mais vu comment tu t'exprimes et la peine que tu as pris pour détailler ton problème je suis sûr que ce n'est qu'un oubli
Je ne suis pas passé en 2021.1, je suis en 2020.2 mais dans tous les cas la 2020.2 devait te le faire aussi si je ne m'abuse car l'esp ne renvoi rien quand tu appelles la page web pour afficher quelque chose, même pas un OK, tu peux le vérifier dans un navigateur, je crois que c'est pour ça que tu as une erreur...
La parade que moi j'ai utilisé est de faire un OS.EXECUTE:
Ça vaudrait le coup de faire des copies de tes scripts et modifier comme moi, pour voir...
A+
Je ne suis pas passé en 2021.1, je suis en 2020.2 mais dans tous les cas la 2020.2 devait te le faire aussi si je ne m'abuse car l'esp ne renvoi rien quand tu appelles la page web pour afficher quelque chose, même pas un OK, tu peux le vérifier dans un navigateur, je crois que c'est pour ça que tu as une erreur...
La parade que moi j'ai utilisé est de faire un OS.EXECUTE:
Code : Tout sélectionner
local ip_lcd = '192.168.1.XX'
os.execute('curl "'..ip_lcd..'/control?cmd=LCD,3,1,Maison"'..space..'non'..space..'protegee')A+
Raspberry pi 3 - Domoticz 2024.4 | Piface v.2 + Téléinfo + RFXtrx433E
sondes Oregon | motorisations Somfy Yslo Flex 2 RTS
prises chacon, wifi | Sonoff easyESP, Tasmota, Espurna | ParadoxMG5050
sondes Oregon | motorisations Somfy Yslo Flex 2 RTS
prises chacon, wifi | Sonoff easyESP, Tasmota, Espurna | ParadoxMG5050
Re: [TOPIC UNIQUE] Mise à jour DomoticZ 2021.1
Bonjour à tous,
avant tout un grand merci à ADV pour son aide !!!!!!!
Je n'avais pas dis bonjour => problème de copier-coller, désolé.
1- J'ai donc remplacer tous mes : commandArray[#commandArray+1] = {['OpenURL']=IP_ESP32.."lcd,1,1,21h65" } ;
par des :
IP_ESP32 = "http://192.168.1.xx/control?cmd=";
-----------------------------------------
local function LCD32(Ligne,Col,Text)
StrTemp = 'curl '..IP_ESP32..'LCD'..','..tostring(Ligne)..','..tostring(Col)..','..Text ;
os.execute(StrTemp)
return
end;
-----------------------------------------
os.execute('curl '..IP_ESP32..'rtttl,4:d=10,o=6,b=140,c,e,g');
os.execute('curl '..IP_ESP32..'lcdcmd,clear');
LCD32(1,1,'.Test.14.Leds..');
os.execute('curl '..IP_ESP32..'oledframedcmd,1,1**TEST**2');
os.execute('curl '..IP_ESP32..'pwm,'..NoPinLed..','..Intensite);
-- intensité ; capteur de luminosité sur le DashBoard (à droite de l'écran OLED )
Tout fonctionne très bien.
Cela n'explique pas pourquoi cela ne fonctionne plus depuis la mise à jour.
En tout cas, le fait de passer par un tableau => Array : Lua doit le dépiler un peu n'importe comment....car il doit prendre un peu de CPU pour le remplir et le dépiler et je suppose que tout ces instructions ‘OpenURL’ sont stockées dans un table temporaire.
Ce qui expliquerai pour cela fonctionne moins bien avec le nouvelle version car avant cela disfonctionnait de temps en temps. La structure des tables + index+etc de la nouvelle version est plus conséquente.
C'est peut-être une piste. En tout cas avec un ‘os.execute’ => il n'y a plus d'intermédiare.
2- Maintenant j'ai un tout petit doute sur la stabilité de cette dernière version, mais, je n'ai pas trouvé d'autres problèmes depuis 2/3 jours de fonctionnement...
En tout cas, il y a des ralentissements, les scripts s'éxecutent moins rapidement.
3- ADV, je voudrais bien comme toi coder comme suit :
local ip_lcd = '192.168.1.XX'
os.execute('curl "'..ip_lcd..'/control?cmd=LCD,3,1,Maison"'..space..'non'..space..'protegee')
Je suppose que space="%20";
Le problème est que par exemple , il n'y a que ‘Maison" qui s'affiche chez moi.
Je crois que cela vient de la version des MegaRelease (un petit enfer) et/ou des parametres dans le plugin -Display LCD2004-,
du genre 'LCD Command Mode : Truncate exceeding message /ou / Continue to the next line (as in V1.4) /ou/ Clear the truncate exceeding message.
J'ai tout essayé => rien n'y fait, du coup j'ai cette fonction LCD32 (ci-dessus) qui le positionne en ligne,colonne....
Remarque : mon LCD2004 est la version OLED, plus chère mais tellement mieux (30€), pas de pb de rétro-éclairage, gérer par un ESP32.
4- J'avais un autre solution qui était de définir un "rule" dans l'esp comme suit :
on Elcd do
LCD,%eventvalue1%,%eventvalue2%,%eventvalue3%
endon
puis dans Lua je l'actionne comme suit :
os.execute('curl '..IP_ESP32..'event,Elcd=4,3,MERCI');
C'est plus réactif, mais bon, on n'est pas à quelques ms près. C'est un choix pour la maintenance, du coup, on peut changer la règle dans l'esp indépendement de Domoticz.
5- AVD , tu disais, “ l'esp ne renvoi rien quand tu appelles la page web pour afficher quelque chose, même pas un OK ”
Cela dépend de la version du MegaRealse que tu as chargé... il me semble, les versions pour les ESP32 et ESP8266 sont différentes et ne donnent pas les mêmes résultats.
De plus, les versions différentes (dev-normal-ETH-etc et les différentes maj) pour un même ESP (le 32) ne donnent pas non plus les mêmes résultats. Un bug corrigé entraîne qqes fois d'autres bugs...
Mieux vaut ne pas changer de version et “s'approprier” les bugs... pour plus de “stabilité”.
C'est un peu la jungle dans ces MegaRelase! mais c'est tellement bien quand on les a stabilisées.
Voilà, j'ai donné quelques idées pour de futurs sujets.... comme remplacer 14 leds par un LedStrip dans l'ESP ⇒ quelle galère avec l'ESP32...etc
La photo ci-dessous : ce dashboard terminé à 98%, est géré par un seul ESP32 (il est bourré à craquer), le petit écran 2004 OLED est relié avec un cable de 30cm... pour le poser à côté ou dessus.
Bonne journée.
avant tout un grand merci à ADV pour son aide !!!!!!!
Je n'avais pas dis bonjour => problème de copier-coller, désolé.
1- J'ai donc remplacer tous mes : commandArray[#commandArray+1] = {['OpenURL']=IP_ESP32.."lcd,1,1,21h65" } ;
par des :
IP_ESP32 = "http://192.168.1.xx/control?cmd=";
-----------------------------------------
local function LCD32(Ligne,Col,Text)
StrTemp = 'curl '..IP_ESP32..'LCD'..','..tostring(Ligne)..','..tostring(Col)..','..Text ;
os.execute(StrTemp)
return
end;
-----------------------------------------
os.execute('curl '..IP_ESP32..'rtttl,4:d=10,o=6,b=140,c,e,g');
os.execute('curl '..IP_ESP32..'lcdcmd,clear');
LCD32(1,1,'.Test.14.Leds..');
os.execute('curl '..IP_ESP32..'oledframedcmd,1,1**TEST**2');
os.execute('curl '..IP_ESP32..'pwm,'..NoPinLed..','..Intensite);
-- intensité ; capteur de luminosité sur le DashBoard (à droite de l'écran OLED )
Tout fonctionne très bien.
Cela n'explique pas pourquoi cela ne fonctionne plus depuis la mise à jour.
En tout cas, le fait de passer par un tableau => Array : Lua doit le dépiler un peu n'importe comment....car il doit prendre un peu de CPU pour le remplir et le dépiler et je suppose que tout ces instructions ‘OpenURL’ sont stockées dans un table temporaire.
Ce qui expliquerai pour cela fonctionne moins bien avec le nouvelle version car avant cela disfonctionnait de temps en temps. La structure des tables + index+etc de la nouvelle version est plus conséquente.
C'est peut-être une piste. En tout cas avec un ‘os.execute’ => il n'y a plus d'intermédiare.
2- Maintenant j'ai un tout petit doute sur la stabilité de cette dernière version, mais, je n'ai pas trouvé d'autres problèmes depuis 2/3 jours de fonctionnement...
En tout cas, il y a des ralentissements, les scripts s'éxecutent moins rapidement.
3- ADV, je voudrais bien comme toi coder comme suit :
local ip_lcd = '192.168.1.XX'
os.execute('curl "'..ip_lcd..'/control?cmd=LCD,3,1,Maison"'..space..'non'..space..'protegee')
Je suppose que space="%20";
Le problème est que par exemple , il n'y a que ‘Maison" qui s'affiche chez moi.
Je crois que cela vient de la version des MegaRelease (un petit enfer) et/ou des parametres dans le plugin -Display LCD2004-,
du genre 'LCD Command Mode : Truncate exceeding message /ou / Continue to the next line (as in V1.4) /ou/ Clear the truncate exceeding message.
J'ai tout essayé => rien n'y fait, du coup j'ai cette fonction LCD32 (ci-dessus) qui le positionne en ligne,colonne....
Remarque : mon LCD2004 est la version OLED, plus chère mais tellement mieux (30€), pas de pb de rétro-éclairage, gérer par un ESP32.
4- J'avais un autre solution qui était de définir un "rule" dans l'esp comme suit :
on Elcd do
LCD,%eventvalue1%,%eventvalue2%,%eventvalue3%
endon
puis dans Lua je l'actionne comme suit :
os.execute('curl '..IP_ESP32..'event,Elcd=4,3,MERCI');
C'est plus réactif, mais bon, on n'est pas à quelques ms près. C'est un choix pour la maintenance, du coup, on peut changer la règle dans l'esp indépendement de Domoticz.
5- AVD , tu disais, “ l'esp ne renvoi rien quand tu appelles la page web pour afficher quelque chose, même pas un OK ”
Cela dépend de la version du MegaRealse que tu as chargé... il me semble, les versions pour les ESP32 et ESP8266 sont différentes et ne donnent pas les mêmes résultats.
De plus, les versions différentes (dev-normal-ETH-etc et les différentes maj) pour un même ESP (le 32) ne donnent pas non plus les mêmes résultats. Un bug corrigé entraîne qqes fois d'autres bugs...
Mieux vaut ne pas changer de version et “s'approprier” les bugs... pour plus de “stabilité”.
C'est un peu la jungle dans ces MegaRelase! mais c'est tellement bien quand on les a stabilisées.
Voilà, j'ai donné quelques idées pour de futurs sujets.... comme remplacer 14 leds par un LedStrip dans l'ESP ⇒ quelle galère avec l'ESP32...etc
La photo ci-dessous : ce dashboard terminé à 98%, est géré par un seul ESP32 (il est bourré à craquer), le petit écran 2004 OLED est relié avec un cable de 30cm... pour le poser à côté ou dessus.
Bonne journée.
- Pièces jointes
-
- DashBoard-INT
- 20210420-DashboardInt.JPG (614.05 Kio) Consulté 1931 fois
-
- DashBoard-EXT
- 20210420-OK-DashBoard-011.JPG (468.36 Kio) Consulté 1931 fois
Re: [TOPIC UNIQUE] Mise à jour DomoticZ 2021.1
@DomoEsp32: hey stylé le dash !
En effet:
point="%2E"
space="%20"
twopoints="%3A"
pourcent="%25"
openparenthese="%28"
closeparenthese="%29"
apostrophe="%27"
comme tu l'as dit les différentes versions d'espeasy c'est une aventure
j'ai oublié de dire que je suis sur esp8266 (wemos d1 mini pro)
bref là on n'est pas trop en rapport avec le sujet, du coup viens présenter ton dash en section présentation
encore joli ! au plaisir
En effet:
point="%2E"
space="%20"
twopoints="%3A"
pourcent="%25"
openparenthese="%28"
closeparenthese="%29"
apostrophe="%27"
comme tu l'as dit les différentes versions d'espeasy c'est une aventure
j'ai oublié de dire que je suis sur esp8266 (wemos d1 mini pro)
bref là on n'est pas trop en rapport avec le sujet, du coup viens présenter ton dash en section présentation
encore joli ! au plaisir
Raspberry pi 3 - Domoticz 2024.4 | Piface v.2 + Téléinfo + RFXtrx433E
sondes Oregon | motorisations Somfy Yslo Flex 2 RTS
prises chacon, wifi | Sonoff easyESP, Tasmota, Espurna | ParadoxMG5050
sondes Oregon | motorisations Somfy Yslo Flex 2 RTS
prises chacon, wifi | Sonoff easyESP, Tasmota, Espurna | ParadoxMG5050