Page 4 sur 8
Re: bibliothèque de fonctions pour scripts LUA
Publié : 23 déc. 2017, 09:43
par arno16
Hello,
Mes conclusions sur le problème que j'ai soulevé un peu plus haut.
Il me semble impossible de faire un appel synchrone depuis un script device executé par domoticz vers l'API de domoticz.
Apparemment l'appel et la réponse sont gérés par la même thread d'où le lock.
J'ai résolu le pb en faisant un appel asynchrone (& à la fin du curl) et sauvé le résultat dans un fichier temporaire pour la prochaine exécution. Le script utilise ce fichier temporaire pour récupérer les plannings définis.
Vu que les plannings d'un device ne change pas souvent, ce n'est pas trop dérangent, mais un changement de planning sera pris en compte qu'au 2eme appel du script.
Cdt,
Arnauld
Re: bibliothèque de fonctions pour scripts LUA
Publié : 02 mars 2018, 10:26
par landaisbenj
Hello vil1driver.
As-tu deja vu mon probleme, pour ce code:
Code : Tout sélectionner
if devicechanged['Trappe']=='On' then
dofile('/home/limabravo/domoticz/scripts/lua/modules.lua') ; local debug = true -- true pour voir les logs dans la console
if lastSeen('Trappe')>90 then
sms(script..'SMS: Diff: '..difference..' Timestamp: '..otherdevices_lastupdate['Trappe'])
info(script..'SMS: Diff: '..difference..' Timestamp: '..otherdevices_lastupdate['Trappe'])
else
warn(script..'lastSeen superieur inferieur a 90 SMS: Diff: '..difference..' Timestamp: '..otherdevices_lastupdate['Trappe'],debug)
end
end
Le retour des timestamps suivants:
2018-03-02 10:24:53.878 dzVents: [LUA: Device] SMS: Diff: 52752 Timestamp: 2018-03-01 19:45:41
2018-03-02 10:24:53.882 (RFLink) Light/Switch (Trappe)
2018-03-02 10:24:54.880 (RFLink) Light/Switch (Trappe)
2018-03-02 10:24:59.031 dzVents: [LUA: Device] SMS: Diff: 52758 Timestamp: 2018-03-01 19:45:41
2018-03-02 10:24:59.036 (RFLink) Light/Switch (Trappe)
2018-03-02 10:25:00.053 (RFLink) Light/Switch (Trappe)
2018-03-02 10:25:12.231 dzVents: [LUA: Device] SMS: Diff: 52771 Timestamp: 2018-03-01 19:45:41
2018-03-02 10:25:12.235 (RFLink) Light/Switch (Trappe)
2018-03-02 10:25:12.717 (RFLink) Light/Switch (Trappe)
C'est assez embêtant.
Re: bibliothèque de fonctions pour scripts LUA
Publié : 02 mars 2018, 10:57
par vil1driver
Le script étant lancé par la mise à jour de 'trappe' en principe lastseen('trappe') ne devrait valoir que le temps qu'à mis domoticz à lancer le script, soit à priori que quelque milisecondes..
Mieux vaudrait partir sur un script de type TIME..
Et contrôler un lastseen sup à 30 ET inf à 100 par exemple
Ton problème c'est que trappe ne semble pas avoir de lastupdate correct ?
Re: bibliothèque de fonctions pour scripts LUA
Publié : 02 mars 2018, 11:07
par landaisbenj
Ouais, l'execution du script en lui meme m'importe peu en final vu qu'il ne s'agit que d'exclure les multi declenchement.
Mais je pensé trouver une aide sur le timestamp bizarre que me retourne trappe.
Je vais ouvrir un post sur le fofo us pour voir.
Re: bibliothèque de fonctions pour scripts LUA
Publié : 02 mars 2018, 11:16
par vil1driver
Et sans parler de la table otherdevices_lastupdate, lorsque tu vas voir dans les dispositifs, c'est pareil ?
Tu n'aurais pas un autre dispositif du même nom ?
Re: bibliothèque de fonctions pour scripts LUA
Publié : 02 mars 2018, 11:35
par landaisbenj
vil1driver a écrit :Et sans parler de la table otherdevices_lastupdate, lorsque tu vas voir dans les dispositifs, c'est pareil ?
J'ai la date en temps reel dans le dispositifs.
Tu n'aurais pas un autre dispositif du même nom ?
Effectivement j'avais avant un device du meme nom que j'ai renommé.
Celui la etait en Motion entree je l'ai renommé en trappe
Et le trappe je l'ai renommé en test. Je vais creuser cette idée.
Re: bibliothèque de fonctions pour scripts LUA
Publié : 02 mars 2018, 11:40
par landaisbenj
Oui je viens de trouver un autre device du meme nom. J'ai modifié et ca a l'air de fonctionner.
Je ne m'etais jamais retrouvé dans ce cas de figure. Merci beaucoup pour ton aide.
Re: bibliothèque de fonctions pour scripts LUA
Publié : 02 mars 2018, 11:43
par vil1driver

pas de quoi
Re: bibliothèque de fonctions pour scripts LUA
Publié : 03 mars 2018, 15:58
par papoo
une petite fonction DZvents pour les notifications via telegram
Code : Tout sélectionner
local function telegram(msg)
domoticz.openURL('https://api.telegram.org/bot'..TELEGRAM_API_key..'/sendMessage?chat_id='..chat_ID .. '&text=' .. msg)
Re: bibliothèque de fonctions pour scripts LUA
Publié : 03 mars 2018, 16:25
par vil1driver
je ne savais pas que dzvent pouvait de la sorte s'intégrer à un scrpt lua
en tout cas pas ici
attempt to index global 'domoticz' (a nil value)
une histoire de version ?
merci