Script LUA chauffage problème
-
elnino8889
- Messages : 7
- Inscription : 22 mars 2017, 10:51
Script LUA chauffage problème
Bonjour tout le monde
Voila je suis débutant dans ce domaine, j'ai suivie les tutos et autres mais je sèche.
J'ai domoticz installé sur un raspberry, une sonde de température ds18b20 qui est reconnu dans domoticz, et deux radiateurs branchés avec les modules chacon branché sur le fil pilote avec diode de redressement.
Je tente de faire à partir du navigateur internet et donc de l'interface domoticz d'utiliser un script bien connu afin de maintenir la température voulu dans la pièce.
Voila le script:
--------------------------------
------ Variables à éditer ------
--------------------------------
local consigne = 18 --Température de consigne
local hysteresis = 0.5 --Valeur seuil pour éviter que le relai ne cesse de commuter dans les 2 sens
local sonde = 'sejour' --Nom de la sonde de température
local thermostat = 'Thermostat' --Nom de l'interrupteur virtuel du thermostat
local radiateur = 'essai_radiateur' --Nom du radiateur à allumer/éteindre
--------------------------------
-- Fin des variables à éditer --
--------------------------------
commandArray = {}
--La sonde Oregon 'Salon' emet toutes les 40 secondes. Ce sera approximativement la fréquence
-- d'exécution de ce script.
if (devicechanged[sonde]) then
local temperature = devicechanged[string.format('%s_Temperature', sonde)] --Temperature relevée dans le sejour
--On n'agit que si le "Thermostat" est actif
if (otherdevices[thermostat]=='On') then
print('-- Gestion du thermostat pour le salon --')
if (temperature < (consigne - hysteresis) ) then
print('Allumage du chauffage dans le salon')
commandArray[radiateur]='Off'
elseif (temperature > (consigne + hysteresis)) then
print('Extinction du chauffage dans le salon')
commandArray[radiateur]='On'
end
end
end
return commandArray
Dans le log j'ai cette erreur : Error: EventSystem: in news: [string "-- Ce script permet de maintenir la températ..."]:19: attempt to index global 'devicechanged' (a nil value)
J'ai essayé aussi de copier ce fichier sur le raspberry dans le dossier pi@raspberrypi:~/domoticz/scripts/lua avec le nom script_device_Thermostat.lua mais rien ne se passe.
Je vous remercie d'avance pour votre aide les amis
Voila je suis débutant dans ce domaine, j'ai suivie les tutos et autres mais je sèche.
J'ai domoticz installé sur un raspberry, une sonde de température ds18b20 qui est reconnu dans domoticz, et deux radiateurs branchés avec les modules chacon branché sur le fil pilote avec diode de redressement.
Je tente de faire à partir du navigateur internet et donc de l'interface domoticz d'utiliser un script bien connu afin de maintenir la température voulu dans la pièce.
Voila le script:
--------------------------------
------ Variables à éditer ------
--------------------------------
local consigne = 18 --Température de consigne
local hysteresis = 0.5 --Valeur seuil pour éviter que le relai ne cesse de commuter dans les 2 sens
local sonde = 'sejour' --Nom de la sonde de température
local thermostat = 'Thermostat' --Nom de l'interrupteur virtuel du thermostat
local radiateur = 'essai_radiateur' --Nom du radiateur à allumer/éteindre
--------------------------------
-- Fin des variables à éditer --
--------------------------------
commandArray = {}
--La sonde Oregon 'Salon' emet toutes les 40 secondes. Ce sera approximativement la fréquence
-- d'exécution de ce script.
if (devicechanged[sonde]) then
local temperature = devicechanged[string.format('%s_Temperature', sonde)] --Temperature relevée dans le sejour
--On n'agit que si le "Thermostat" est actif
if (otherdevices[thermostat]=='On') then
print('-- Gestion du thermostat pour le salon --')
if (temperature < (consigne - hysteresis) ) then
print('Allumage du chauffage dans le salon')
commandArray[radiateur]='Off'
elseif (temperature > (consigne + hysteresis)) then
print('Extinction du chauffage dans le salon')
commandArray[radiateur]='On'
end
end
end
return commandArray
Dans le log j'ai cette erreur : Error: EventSystem: in news: [string "-- Ce script permet de maintenir la températ..."]:19: attempt to index global 'devicechanged' (a nil value)
J'ai essayé aussi de copier ce fichier sur le raspberry dans le dossier pi@raspberrypi:~/domoticz/scripts/lua avec le nom script_device_Thermostat.lua mais rien ne se passe.
Je vous remercie d'avance pour votre aide les amis
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Script LUA chauffage problème
salut,
quelle est la ligne en erreur ?
l'erreur indique la 19.. elle contient quoi ?
tu as bien choisi le bon type de script et non pas laissé All ?
quelle est la ligne en erreur ?
l'erreur indique la 19.. elle contient quoi ?
tu as bien choisi le bon type de script et non pas laissé All ?
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
-
elnino8889
- Messages : 7
- Inscription : 22 mars 2017, 10:51
Re: Script LUA chauffage problème
La ligne 19 c'est
if (devicechanged[sonde]) then
Je pense que le soucis c'est la déclaration du "devicechanged", mais je ne vois pas la solution.
Je comprend pas ta question sur le bon type de script, c'est a dire si c'est script_device, script_time ou script_variable?
Merci à toi
if (devicechanged[sonde]) then
Je pense que le soucis c'est la déclaration du "devicechanged", mais je ne vois pas la solution.
Je comprend pas ta question sur le bon type de script, c'est a dire si c'est script_device, script_time ou script_variable?
Merci à toi
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Script LUA chauffage problème
oui, si c'est un fichier c'est dans le nom
si c'est dans l'interface, c'est un menu déroulant
https://easydomoticz.com/une-editeur-de ... -domoticz/
tu es certain du nom de ta sonde ?
si c'est dans l'interface, c'est un menu déroulant
https://easydomoticz.com/une-editeur-de ... -domoticz/
tu es certain du nom de ta sonde ?
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
-
elnino8889
- Messages : 7
- Inscription : 22 mars 2017, 10:51
Re: Script LUA chauffage problème
oui c'est dans l'interface.
oui voila tout les peripheriques :
Idx Name Current state Last updated sValues
2 petite sonde 22.8 2017-03-22 12:15:40 22.8
5 dehors Off 2017-03-12 19:20:58 0
7 nuit Off 2017-03-22 06:49:01
8 sejour 21.8 2017-03-22 12:15:40 21.8
57 sapin off On 2017-01-20 22:03:42 433
63 sapin on On 2017-01-20 22:03:37 431
65 contacteur porte Closed 2017-01-20 12:31:49 0
75 essai_radiateur Off 2017-03-22 09:50:06 0
401 Thermostat Off 2017-03-21 12:22:17
oui voila tout les peripheriques :
Idx Name Current state Last updated sValues
2 petite sonde 22.8 2017-03-22 12:15:40 22.8
5 dehors Off 2017-03-12 19:20:58 0
7 nuit Off 2017-03-22 06:49:01
8 sejour 21.8 2017-03-22 12:15:40 21.8
57 sapin off On 2017-01-20 22:03:42 433
63 sapin on On 2017-01-20 22:03:37 431
65 contacteur porte Closed 2017-01-20 12:31:49 0
75 essai_radiateur Off 2017-03-22 09:50:06 0
401 Thermostat Off 2017-03-21 12:22:17
-
elnino8889
- Messages : 7
- Inscription : 22 mars 2017, 10:51
Re: Script LUA chauffage problème
déja oui je viens de m'apercevoir que j'étais sur "all"
-
elnino8889
- Messages : 7
- Inscription : 22 mars 2017, 10:51
Re: Script LUA chauffage problème
j'ai mis sur device au lieu de all, et enfin cela marche, merci beaucoup de ton aide.