Script LUA chauffage problème

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
elnino8889
Messages : 7
Inscription : 22 mars 2017, 10:51

Script LUA chauffage problème

Message par elnino8889 »

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
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Script LUA chauffage problème

Message par vil1driver »

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 ?
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
elnino8889
Messages : 7
Inscription : 22 mars 2017, 10:51

Re: Script LUA chauffage problème

Message par elnino8889 »

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
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Script LUA chauffage problème

Message par vil1driver »

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 ?
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
elnino8889
Messages : 7
Inscription : 22 mars 2017, 10:51

Re: Script LUA chauffage problème

Message par elnino8889 »

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
elnino8889
Messages : 7
Inscription : 22 mars 2017, 10:51

Re: Script LUA chauffage problème

Message par elnino8889 »

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

Message par elnino8889 »

j'ai mis sur device au lieu de all, et enfin cela marche, merci beaucoup de ton aide.
Répondre