Page 1 sur 3
[2023.1] Problème script LUA
Publié : 17 févr. 2023, 08:20
par Bochets34
Bonjour,
j'ai plusieurs problèmes après cette MAJ(Raspberry):
- avec mes scripts LUA dans lesquels j'utilise la fonction "devicechanged'' dans un script de type script_device, rien ne se passe, y compris dans le log
-le log qui est en retard de 5 ou 10' environ et semble incomplet, pas d'erreur...
les plugins (shelly etc) sont opérationnels, bref étrange
ce script
Code : Tout sélectionner
-- Script pour commmande Volets roulants
-- Olivier hiver 2023
commandArray = {}
if (otherdevices['VR_Suite'] == 'Open') then
print("DEBUG ON*******")
os.execute ('/home/pi/domoticz/scripts/notification_google_home.sh "Le Volet du garage coté Touine guo est ouvert" 0.6 > /dev/null 2>&1 ')
end
if (otherdevices['VR_Suite'] == 'Close') then
print("***************** DEBUG OFF*******")
os.execute ('/home/pi/domoticz/scripts/notification_google_home.sh "Le Volet du garage coté Touine guo est ouvert" 0.6 > /dev/null 2>&1 ')
end
return commandArray
après 2 appuis successifs Open/close indiquent instantanément
2023-02-17 08:15:11.434 Status: User: Domo4Bochets34 (IP: 192.168.1.1) initiated a switch command (56/VR_Suite/Open)
2023-02-17 08:15:19.475 Status: User: Domo4Bochets34 (IP: 192.168.1.1) initiated a switch command (56/VR_Suite/Close)
mais pas de 'print' ni évidemment de son par mon script (cela fonctionne depuis plus de cinq ans ainsi)
je ne sais pas par ou commencer pour résoudre cette énigme, n'ayant pas d'erreur ni d'autre piste: à l'aide !
Olivier
Re: [2023.1] Nouvelle version DomoticZ
Publié : 17 févr. 2023, 08:59
par lost
Bochets34 a écrit : 17 févr. 2023, 08:20
mais pas de 'print' ni évidemment de son par mon script (cela fonctionne depuis plus de cinq ans ainsi)
Peut-être changer ton affichage debug afin d'afficher directement la chaîne retournée, comme déjà suggéré par moi sur le forum anglophone?
Ce serait bizarre que Open/Close ait été changé en On/Off par exemple mais c'est le seul moyen de savoir. Et également de savoir si ton script est encore appelé tout court et sans erreur (l'interpréteur Lua intégré à Domoticz peut avoir évolué).
Vérifier le type de switch utilisé comme indiqué par un autre contributeur également qui a vérifié que côté sources Open/Close reste d'actualité.
Re: [2023.1] Nouvelle version DomoticZ
Publié : 17 févr. 2023, 09:01
par Bochets34
J'ai essayé... ca ne donne rien ! a part une erreur:
2023-02-17 09:05:12.889 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_AFAC.lua: /home/pi/domoticz/scripts/lua/script_time_AFAC.lua:4: attempt to index a nil value (global 'devicechanged')
Re: [2023.1] Nouvelle version DomoticZ
Publié : 17 févr. 2023, 09:31
par Bochets34
erreur si commande print juste après le commandArray
après le otherdevices...il ne se passe rien...
Tout
Etat
Filtre:
X
2023-02-17 09:27:10.229 Status: User: Domo4Bochets34 (IP: 192.168.1.1) initiated a switch command (56/VR_Suite/Close)
2023-02-17 09:27:12.925 Status: User: Domo4Bochets34 (IP: 192.168.1.1) initiated a switch command (56/VR_Suite/Open)
le log dans config /dispositifs fait bien apparaitre Open et Close
pour moi la commande est devenue non opérationnelle avec ma configuration, je seche
Re: [2023.1] Nouvelle version DomoticZ
Publié : 17 févr. 2023, 09:46
par Bochets34
en renommant le script script_device au lieu de script_time, c'est mieux
le test "if (otherdevices['VR_Suite'] = 'Open') then" déclenche un print et l'action d'envoyer le son vers ma google home !
donc je reviens a mon point de départ pour comprendre pourquoi le "if (devicechanged['VR_Suite'] == 'Open') (ou Close) then" ne fonctionne plus ...
j'ai plus d'une dizaine de scripts basés sur cette fonction donc ma domotique est un peu plantée la !
quelqu'un aurait il la gentilleses de proposer une alternative ?
Olivier
Modération
Publié : 17 févr. 2023, 12:22
par Keros
Messages déplacés dans un nouveau sujet
Re: [2023.1] Problème script LUA
Publié : 17 févr. 2023, 15:05
par Bochets34
merci, en fait cela semble fonctionner....plusieurs heures après !
mon CPU est chargé à 42% et la mémoire à 89%, ca fait beaucoup, non?
Raspberry 3
Olivier
Re: [2023.1] Problème script LUA
Publié : 17 févr. 2023, 18:28
par JulienGFFS
Bonjour,
Même soucis avec mes scripts en LUA/Blocky, mes devices changent d'états quelques heures après et la charge de ma CPU est passé de 15% à 50% après la dernière MAJ.
Re: [2023.1] Nouvelle version DomoticZ
Publié : 17 févr. 2023, 18:58
par lost
Bochets34 a écrit : 17 févr. 2023, 09:46
en renommant le script script_device au lieu de script_time, c'est mieux
le test "if (otherdevices['VR_Suite'] = 'Open') then" déclenche un print et l'action d'envoyer le son vers ma google home !
donc je reviens a mon point de départ pour comprendre pourquoi le "if (devicechanged['VR_Suite'] == 'Open') (ou Close) then" ne fonctionne plus ...
Bizarre, la table otherdevices est censée être dispo dans les 2 types de script. Seule la table devicechanged est spécifique aux scripts device et absente des time.
Mais si au final elle ne peut être évaluée, cela explique l'erreur en tentant d'afficher directement l'état. Dans un test peut-être que Lua évaluait la condition comme fausse sans lever d'erreur (et aucun print erreur dans ces tests en conséquence) comme lors d'un appel de fonction.
Mais au final le Open/Close est inchangé et si pb il est ailleurs. Bizarre que personne d'autre n'ait ces soucis si c'est général.
Par contre, un script time pour réagir à un changement d'état matériel n'était au fond sans doute pas adapté. No la table utilisée mais seule dispo en time. C'est possiblement avoir 1mn de retard sur la notif sur changement d'état... voir que cela soit "tombé en marche" jusque là?
Re: [2023.1] Problème script LUA
Publié : 17 févr. 2023, 19:02
par lost
JulienGFFS a écrit : 17 févr. 2023, 18:28
la charge de ma CPU est passé de 15% à 50% après la dernière MAJ.
Je dois être à 1.5% en moyenne niveau CPU sur un PI3B (install légère headless sans interface graphique) et 40% en RAM (1GB)... et encore car j'ai pas mal de tmpfs en ram pour économiser la carte SD.
Je soignerais la sauvegarde avant de tester!