Bonjour
J'essaie de commander un climatiseur (vue la chaleur qui règne en ce moment...) via un script LUA
extrait du script, la commande :
if (temperature > (consigne + hysteresis)) then
print('Allumage du climatiseur')
commandArray[Climatiseur]='On'
fonctionne.
Mais si je souhaite controler l'état du switch 'Climatiseur' avec la commande :
if (temperature > (consigne + hysteresis) and otherdevices['Climatiseur'] =='Off') then
print('Allumage du climatiseur')
commandArray[Climatiseur]='On'
ça ne fonctionne pas.
Est ce que quelqu'un pourrait m'aider ?
D'avance merci.
Problème état interrupteur via LUA
Problème état interrupteur via LUA
Dernière modification par Reichmess le 23 juin 2019, 21:11, modifié 1 fois.
Re: Problème état interrupteur via LUA
il y a t'il plusieurs commandArray dans ton script?
il faut incrémenter chaque commandArray sinon seul le premier fonctionnera
le code avec incrémentation à répéter pour chaque commandArray
il faut incrémenter chaque commandArray sinon seul le premier fonctionnera
le code avec incrémentation à répéter pour chaque commandArray
Code : Tout sélectionner
commandArray[#commandArray+1]={['Climatiseur'] = 'On'}Re: Problème état interrupteur via LUA
Bonjour
Merci pour cette réponse.
Je crois qu'il vaut mieux mettre à dispo le script complet :
-------------
-- VARIABLES--
--------------
local sonde = 'Temperature salon'
local hysteresis = 2
local Climatiseur = 'Clim Salon'
local consigne = 22
--------------
--- SCRIPT ---
--------------
commandArray = {}
if (devicechanged[sonde]) then
local temperature = devicechanged[string.format('%s_Temperature', sonde)] --Temperature relevée dans le salon
print (temperature)
if (temperature > (consigne + hysteresis) and otherdevices['Climatiseur'] =='Off') then
print('Allumage du climatiseur')
commandArray[Climatiseur]='On'
elseif (temperature <= (consigne - hysteresis) and otherdevices['Climatiseur'] =='On') then
print('Arret du climatiseur')
commandArray[Climatiseur]='Off'
end
end
return commandArray
Le coupable est 'otherdevices['Climatiseur'] =='Off' ou 'otherdevices['Climatiseur'] =='On'
Si je retire ce test, ça fonctionne mais la commande vers le climatiseur a lieu à chaque exécution du script.
J'ai remplacé les commandes du climatiseur par commandArray[#commandArray+1]={['Climatiseur'] = 'On'} sans modification du résultat.
Merci pour cette réponse.
Je crois qu'il vaut mieux mettre à dispo le script complet :
-------------
-- VARIABLES--
--------------
local sonde = 'Temperature salon'
local hysteresis = 2
local Climatiseur = 'Clim Salon'
local consigne = 22
--------------
--- SCRIPT ---
--------------
commandArray = {}
if (devicechanged[sonde]) then
local temperature = devicechanged[string.format('%s_Temperature', sonde)] --Temperature relevée dans le salon
print (temperature)
if (temperature > (consigne + hysteresis) and otherdevices['Climatiseur'] =='Off') then
print('Allumage du climatiseur')
commandArray[Climatiseur]='On'
elseif (temperature <= (consigne - hysteresis) and otherdevices['Climatiseur'] =='On') then
print('Arret du climatiseur')
commandArray[Climatiseur]='Off'
end
end
return commandArray
Le coupable est 'otherdevices['Climatiseur'] =='Off' ou 'otherdevices['Climatiseur'] =='On'
Si je retire ce test, ça fonctionne mais la commande vers le climatiseur a lieu à chaque exécution du script.
J'ai remplacé les commandes du climatiseur par commandArray[#commandArray+1]={['Climatiseur'] = 'On'} sans modification du résultat.
Re: Problème état interrupteur via LUA
Essai directement avec l’idx du device des fois qu’il y ai un pb sur le nom
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Problème état interrupteur via LUA
Salut,
Tu écris
Climatiseur
Et
'Climatiseur'
Essaie sans les ' et ça devrait aller.
Tu écris
Climatiseur
Et
'Climatiseur'
Essaie sans les ' et ça devrait aller.
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
Re: Problème état interrupteur via LUA
Bonjour
Désolé pour ma réponse tardive.
Le remplacement de 'Climatiseur' par Climatiseur a résolu le problème.
Merci à tous pour votre aide.
Cordialement
Désolé pour ma réponse tardive.
Le remplacement de 'Climatiseur' par Climatiseur a résolu le problème.
Merci à tous pour votre aide.
Cordialement