[MAJ 2021.1] Problème URL LUA

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
DomoEsp32
Messages : 14
Inscription : 20 avr. 2021, 18:03

[MAJ 2021.1] Problème URL LUA

Message par DomoEsp32 »

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
adv
Messages : 580
Inscription : 02 févr. 2016, 13:54
Contact :

Re: [TOPIC UNIQUE] Mise à jour DomoticZ 2021.1

Message par adv »

@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 :lol:

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 vaudrait le coup de faire des copies de tes scripts et modifier comme moi, pour voir...

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
DomoEsp32
Messages : 14
Inscription : 20 avr. 2021, 18:03

Re: [TOPIC UNIQUE] Mise à jour DomoticZ 2021.1

Message par DomoEsp32 »

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.
Pièces jointes
DashBoard-INT
DashBoard-INT
20210420-DashboardInt.JPG (614.05 Kio) Consulté 1933 fois
DashBoard-EXT
DashBoard-EXT
20210420-OK-DashBoard-011.JPG (468.36 Kio) Consulté 1933 fois
adv
Messages : 580
Inscription : 02 févr. 2016, 13:54
Contact :

Re: [TOPIC UNIQUE] Mise à jour DomoticZ 2021.1

Message par adv »

@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 :D
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
Répondre