aide pour réalisation script en lua
Re: aide pour réalisation script en lua
@fredclo
En fait le problème c'est quand tu dois faire plusieurs commandarray pour un même device dans un même script. dans ce cas ta proposition est celle qui faut utiliser sinon seul le dernier commandarray est exécuté.
Ce n'est pas le cas dans ce script. Il n'y a qu'une commande On ou Off. il n'y a pas d'enchainement de commande pour le 'Store Terasse'.
Tu peux mettre autant de commandarray que tu veux dans un script tant qu'il ne concerne pas un enchainement pour un même device.
En fait le problème c'est quand tu dois faire plusieurs commandarray pour un même device dans un même script. dans ce cas ta proposition est celle qui faut utiliser sinon seul le dernier commandarray est exécuté.
Ce n'est pas le cas dans ce script. Il n'y a qu'une commande On ou Off. il n'y a pas d'enchainement de commande pour le 'Store Terasse'.
Tu peux mettre autant de commandarray que tu veux dans un script tant qu'il ne concerne pas un enchainement pour un même device.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
Re: aide pour réalisation script en lua
merci pour cette précision. J'en apprends tous les jours
RPi sur powerbank, bouton off/reset, domoticz (début avec Fhem sur dockstar), 4 sondes 1wire via rj45, ctrl des volets, tv/fbx, lumière, détecteurs d'ouverture, karotz, multiroom via pifm, ecodevice, ATI RF, et prg du mode arrêt des radiateurs via FP
Re: aide pour réalisation script en lua
thier je viens de tester
La fermeture ne fonctionne pas pourtant Store Terrasse est bien à On et quand je passe nuit à OFF le store ne se ferme pas
Sinon j'ai ce message d'erreur
2020-05-10 13:44:54.072 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_device_store-terrasse.lua: ...pi/domoticz/scripts/lua/script_device_store-terrasse.lua:4: ')' expected near 'UV'
La fermeture ne fonctionne pas pourtant Store Terrasse est bien à On et quand je passe nuit à OFF le store ne se ferme pas
Sinon j'ai ce message d'erreur
2020-05-10 13:44:54.072 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_device_store-terrasse.lua: ...pi/domoticz/scripts/lua/script_device_store-terrasse.lua:4: ')' expected near 'UV'
Re: aide pour réalisation script en lua
Ca devrait fonctionner comme ça :
Idem pour les autres lignes de print. En fait, l'apostrophe pour 'UV était considéré comme la fin du texte et le script plantait sur UV.print("otherdevices['UV'] "..otherdevices['UV'])
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: aide pour réalisation script en lua
je viens de tester un truc simple
et ca non plus ça ne fonctionne pas le store ne se ferme pas malgré que Store Terrasse soit à On et que je passe nuit à OFF
Code : Tout sélectionner
commandArray={}
print("otherdevices['Store Terrasse'] "..otherdevices['Store Terrasse'])
print("otherdevices['Nuit'] "..otherdevices['Nuit'])
-- Fermeture du Store Terrasse
if(otherdevices['Store Terrasse']=='On' and devicechanged['Nuit']=='On') then
commandArray['Store Terrasse']='Off'
print('Fermeture Store Terrasse')
commandArray['SendNotification']='Store Terrasse#Fermeture Store Terrasse'
end
return commandArray
Dernière modification par vr6man le 10 mai 2020, 14:10, modifié 3 fois.
Re: aide pour réalisation script en lua
Ton script est enregistré où ? Dans Domoticz ? Dans un fichier .lua dans ton dossier Scripts ?
Repars de la base avec l'exemple :
Et essaye déjà d'avoir un retour dans tes logs lorsque tu changes ton device Nuit
Repars de la base avec l'exemple :
Code : Tout sélectionner
commandArray = {}
-- loop through all the changed devices
for deviceName,deviceValue in pairs(devicechanged) do
print ("Device based event fired on '"..deviceName.."', value '"..tostring(deviceValue).."'");
-- if (deviceName=='myDevice') then
-- if deviceValue == "On" then
-- print("Device is On")
-- elseif deviceValue == "Off" then
-- commandArray['a device name'] = "On"
-- commandArray['another device name'] = "Off AFTER 10"
-- commandArray['Scene:MyScene'] = "Off"
-- commandArray['Group:My Group'] = "Off AFTER 30"
-- end
-- end
end
return commandArray
Dernière modification par Keros le 10 mai 2020, 14:12, modifié 1 fois.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: aide pour réalisation script en lua
@keros
Effectivement erreur de ma part il faut échapper tout les ' dans les print.
ça donne print('otherdevices[\'UV\'] '..otherdevices['UV'])
Effectivement erreur de ma part il faut échapper tout les ' dans les print.
ça donne print('otherdevices[\'UV\'] '..otherdevices['UV'])
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
Re: aide pour réalisation script en lua
voici les logs
2020-05-10 14:11:26.666 Status: LUA: otherdevices['Store Terrasse'] 16.0
2020-05-10 14:11:26.667 Status: LUA: otherdevices['Nuit'] On
oui il est dans le dossier /domoticz/script/lua
il s'appel :
script_device_store-terrasse.lua
j'ai aussi essayé en timer et ca ne change rien
2020-05-10 14:11:26.666 Status: LUA: otherdevices['Store Terrasse'] 16.0
2020-05-10 14:11:26.667 Status: LUA: otherdevices['Nuit'] On
oui il est dans le dossier /domoticz/script/lua
il s'appel :
script_device_store-terrasse.lua
j'ai aussi essayé en timer et ca ne change rien
Re: aide pour réalisation script en lua
Le soucis que tu rencontre est le lancement de ton script.
Le type Device est bon. Il te manque for deviceName,deviceValue in pairs(devicechanged) do et la suite.
Repars de l'exemple de DomoticZ que je t'ai mis plus haut. Tu pourras y adapter ton code.
Le type Device est bon. Il te manque for deviceName,deviceValue in pairs(devicechanged) do et la suite.
Repars de l'exemple de DomoticZ que je t'ai mis plus haut. Tu pourras y adapter ton code.
Dernière modification par Keros le 10 mai 2020, 14:18, modifié 1 fois.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: aide pour réalisation script en lua
@vr6man
essai
Tu enregistres en script_time_store.lua et tu supprime ".lua" dans le nom de ton script actuel pour qu'il ne s'exécute plus.
Tu ouvres ton store, tu mets Nuit à On et tu attends la minute suivante. il devrait se fermer. regarde tes logs.
essai
Code : Tout sélectionner
commandArray={}
print('otherdevices[\'Store Terrasse\'] '..otherdevices['Store Terrasse'])
print('otherdevices[\'Nuit\'] '..otherdevices['Nuit'])
-- Fermeture du Store Terrasse
if(otherdevices['Store Terrasse']=='On' and otherdevices['Nuit']=='On') then
commandArray['Store Terrasse']='Off'
print('Fermeture Store Terrasse')
commandArray['SendNotification']='Store Terrasse#Fermeture Store Terrasse'
end
return commandArrayTu ouvres ton store, tu mets Nuit à On et tu attends la minute suivante. il devrait se fermer. regarde tes logs.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.