bonjour à tous
j'ai un petit soucis avec le script lua qui envoie des rapports sur l'état de batterie.
1) si je tape le script dans domoticz dans la section event
il me renvoi
2022-08-24 18:06:58.639 Error: EventSystem: in battery level: [string "..."]:52: attempt to index a nil value (global 'devices')
2) si je passe par un fichier créé avec nano dans la console
il me renvoi
2022-08-24 18:32:00.568 Error: EventSystem: in /home/linaro/domoticz/scripts/lua/script_time_battery.lua: /home/linaro/domoticz/scripts/lua/JSON.lua:808: HTML passed to JSON:decode(): <html><head><title>Unauthorized</title></head><body><h1>401 Unauthorized</h1></body></html>
celui de la console est peu être en conflit avec celui de domoticz
donc il faudrait au moins trouver le soucis de celui de domoticz 1).
que ca soit dans le cas d'une batterie trop faible ou du rapport hebdomadaire
il me renvoi un plantage a la ligne d’après les numéros affichés
for i,device in ipairs(devices.result) do
si ça peut t'aiguiller.
encore un merci pour ton soutien
problème avec le sript lua du niveau de batterie
Modérateur : Francois
-
- Messages : 53
- Enregistré le : sam. 23 juil. 2022 11:36
-
- Messages : 53
- Enregistré le : sam. 23 juil. 2022 11:36
Re: problème avec le sript lua du niveau de batterie
en enlevant l'utilisateur et le mot de pass de domoticz ca fonctionne
donc comment prendre en compte l'utilisateur et le mot de pass domoticz,
je suppose que ça se fait dans la ligne
handle = io.popen("curl '" .. Domoticz .. ":" .. DomoticzPort .. "/json.htm?type=devices&order=name'")
https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's §1.3
connexion faite en ecrivant en paranthèse
("curl 'http://" .. Domoticz .. ":" .. DomoticzPort .. "/json.htm?username=" .. ident .. "=&password=" .. pass .. "=&type=devices&order=name'")
ident : user_domoticz en base 64
pass : password_domoticz en base 64
la conversion en base 64 peut de faire ici
https://codebeautify.org/base64-encode
mais il m’envoie le mail de compte-rendu toute les secondes de la minute suivant la minute de relevé (dernier essai : 81 mails reçus donc c'est même plus que 1/sec ) quand ca se passe bien sinon dans le log de domoticz j'ai
Error: SMTP Mailer: Error sending Email to: <domodoudou1@gmail.com> !
Error: libcurl: (67)
Error: Login denied
Error: Notification failed (Email)
quand l'envoi du mail bug
problème suivant à résoudre, si quelqu'un a une idée pour éviter de spammer ma boîte mail merci
donc comment prendre en compte l'utilisateur et le mot de pass domoticz,
je suppose que ça se fait dans la ligne
handle = io.popen("curl '" .. Domoticz .. ":" .. DomoticzPort .. "/json.htm?type=devices&order=name'")
https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's §1.3
connexion faite en ecrivant en paranthèse
("curl 'http://" .. Domoticz .. ":" .. DomoticzPort .. "/json.htm?username=" .. ident .. "=&password=" .. pass .. "=&type=devices&order=name'")
ident : user_domoticz en base 64
pass : password_domoticz en base 64
la conversion en base 64 peut de faire ici
https://codebeautify.org/base64-encode
mais il m’envoie le mail de compte-rendu toute les secondes de la minute suivant la minute de relevé (dernier essai : 81 mails reçus donc c'est même plus que 1/sec ) quand ca se passe bien sinon dans le log de domoticz j'ai
Error: SMTP Mailer: Error sending Email to: <domodoudou1@gmail.com> !
Error: libcurl: (67)
Error: Login denied
Error: Notification failed (Email)
quand l'envoi du mail bug
problème suivant à résoudre, si quelqu'un a une idée pour éviter de spammer ma boîte mail merci