Page 3 sur 8

Re: Consigne Chauffage

Publié : 09 mars 2015, 17:02
par vil1driver
si ton inter se nome toto :p

tu peux ajouter ceci juste après le 'commandArray = {}'

Code : Tout sélectionner

if (otherdevices['toto']=='On') then
	local consigne = 20
else
	local consigne = 17
end
tu pourras même du coups supprimer la ligne

Code : Tout sélectionner

local consigne = 20  --Température de consigne

Re: Consigne Chauffage

Publié : 09 mars 2015, 17:07
par rico891089
Genial je test cela de suite !

Re: Consigne Chauffage

Publié : 09 mars 2015, 17:13
par rico891089
Donc en gros, grace a cela je n'ai besoin que d'un seul interrupteur ?
Si il est On alors 20° et si il est Off alors 17°c ?

Du coup, 3 interupteurs (1 par piece) et 3 scripts (1 par interrupteur). C'est sur que sa allege le truc mdr

Re: Consigne Chauffage

Publié : 09 mars 2015, 17:18
par vil1driver
Oui voila mais si à un moment 20 ne te suffit pas :+)

Au lieu de fixer 20, tu peux utiliser les setpoint de thermostat
Image

du coups ça donne quelque chose comme ceci:

Code : Tout sélectionner

if (otherdevices['toto']=='On') then
   local consigne = tonumber(otherdevices_svalues['thermostat_salon'])
else
   local consigne = 17
end

Re: Consigne Chauffage

Publié : 09 mars 2015, 17:53
par rico891089
vil1driver a écrit :Oui voila mais si à un moment 20 ne te suffit pas :+)

Au lieu de fixer 20, tu peux utiliser les setpoint de thermostat
Image

du coups ça donne quelque chose comme ceci:

Code : Tout sélectionner

if (otherdevices['toto']=='On') then
   local consigne = tonumber(otherdevices_svalues['thermostat_salon'])
else
   local consigne = 17
end

Mais pour cela ce n'est plus un interrupteur que je dois creer si ?

Re: Consigne Chauffage

Publié : 09 mars 2015, 18:08
par rico891089
Mon script foire :
2015-03-09 18:07:37.556 Error: /home/pi/domoticz/scripts/lua/script_device_salon.lua:32: attempt to perform arithmetic on global 'consigne' (a nil value)

Cela en rajoutant le code que vous m'avez indiquer et en supprimant LOCAL CONSIGNE = 20 comme indiqué precedemment.

Ps: je viens de rajouter ma consigne que j'avais supprimer et le script refonctionne.

Re: Consigne Chauffage

Publié : 09 mars 2015, 18:09
par vil1driver
l'interrupteur tu le gardes, pour te permettre de switcher entre 20 et 17,

sauf que 20 ne sera plus une valeur figée dans le script.

pour créer le setpoint, il te faut créer un matériel virtuel ("dummy device") tu l'as certainement déjà fait pour créer ton interrupteur...
et sur ce matériel tu clic sur "créer capteurs virtuels", et tu choisis "consigne de thermostat"

on corrigera ton script après si tu veux bien.

Re: Consigne Chauffage

Publié : 09 mars 2015, 18:27
par rico891089
Yep on resumera tout sa ^^

Bon maintenant que tout est en place, je m’aperçois que quelques chose ne va pas.
Mon chauffage se met en route, puis se coupe. Pour se remettre en route.
Logiquement il devrait rester en marche tant que j’atteins pas le degré demandé, on n'est d'accord ?

Logs :

Code : Tout sélectionner

2015-03-09 18:24:31.566 LUA: -- Gestion du thermostat pour le salon --
2015-03-09 18:24:31.566 LUA: Allumage du chauffage dans le salon
2015-03-09 18:24:31.569 Script event triggered: /home/pi/domoticz/scripts/lua/script_device_salon.lua
2015-03-09 18:24:31.509 (Rfxcom) Temp + Humidity (thermostat salon)
2015-03-09 18:24:32.501 (Rfxcom) Lighting 1 (radiateur salon)
2015-03-09 18:24:54.764 (Rfxcom) Temp + Humidity (thermostat timeo)
2015-03-09 18:25:00.640 Hardware Monitor: Fetching data (System sensors)
Des que la derniere ligne apparait, cela me coupe le radiateur.

Ps: si sa ne te derange pas, mon systeme est libre d'acces, si en MP tu veux y faire un tour pour regarder, n'hesite pas a me MP

Re: Consigne Chauffage

Publié : 09 mars 2015, 18:28
par vil1driver
ne t'en préoccupe pas trop :p

dès que tu as tout créé, tu poste ici le nom de tout les inter (virtuel et réel de chauffage) et thermostat et colle le script, je corrige et hop :D

si tu as le temps on fait ça de suite.

Re: Consigne Chauffage

Publié : 09 mars 2015, 18:33
par rico891089
Voici mes inters :

Image

et le script que j'utilise pour chaque piece (en modifiant le nom des inters bien sur)

Code : Tout sélectionner

-- Alexandre DUBOIS - 2014
-- Ce script permet de maintenir la température de salon entre 19°C et 21°C quand l'interrupteur
-- virtuel 'Thermostat salon' est activé.

--------------------------------
------ Variables à éditer ------
--------------------------------

local consigne = 20  --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 = 'thermostat salon' --Nom de la sonde de température
local thermostat = 'consigne salon 20' --Nom de l'interrupteur virtuel du thermostat
local radiateur = 'radiateur salon' --Nom du radiateur à allumer/éteindre
--------------------------------
-- Fin des variables à éditer --
--------------------------------

commandArray = {}

if (otherdevices['consigne salon']=='On') then
   local consigne = 20
else
   local consigne = 17
end

--La sonde Oregon 'thermostat 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 salon
    --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