Aller au contenu

Srt 321 Gestion Du Chauffage Et D'une Clim Reversible Selon La Température Extérieur


Messages recommandés

Posté(e)

c'est normal, la logique n'était pas bonne :

tu allumes le chauffage si la consigne est inférieure à  la température ?

 

J'ai ajouté du débug.

 j'imagine que 17 et 50 correspondent à  tes radiateurs ?

--[[
%% properties
76 value
77 values
%% globals
--]]
 
local temp = fibaro:getValue(77, "value") --Température
local cons = fibaro:getValue(76, "value") --Consigne de température
fibaro:debug("Température = " .. temp .. "°C")
fibaro:debug("Consigne = " .. cons .. "°C")
 
if tonumber(cons) >= tonumber(temp) then
	fibaro:call(17, "turnOn")
	fibaro:call(50, "turnOn")
else
	fibaro:call(17, "turnOff")
	fibaro:call(50, "turnOff")
end
Posté(e)

Que je suis bête ;)) Merci bcp

 

Pour réalisé ma petite idée je pensais du coup créer une scène qui choisi entre chauffage ou clim en fonction de la température extérieur. Si il fait plus de 5° alors lancement de la scène chauffage sinon lancement de la scène clim. Comment fait on pour appeler une scène depuis une autre scène?

Ma logique sur ce projet est elle correct? 

Posté(e)

Donc ceci fonctionne ?

 

je mettrais tout dans une seule scène.

Pour l'instant tu as 2 triggers :

if température extérieure >= 5 then
  la scène actuelle
else
 la scène de clim
end

modification de la température de la pièce, et la modification de la consigne de température.

La scène actuelle est bien la scène de chauffage ?

 

il suffit de rajouter ceci

Posté(e)

Je sens que je ne suis plus très loin. Jojo toi qui a un zxt 120 peux tu m'aider ànouveau ày voir plus clair. J'arrive àcontrôler le on off mais pas la consigne


--[[
%% properties
76 value
77 value
%% globals
--]]
 
local temp = fibaro:getValue(77, 'value') --Température
local cons = fibaro:getValue(76, 'value') --Consigne de température
local tex = fibaro:getValue(88, "value") -- Température ext Gd terrasse

fibaro:debug("Température = " .. temp .. "°C")
fibaro:debug("Consigne = " .. cons .. "°C") 
fibaro:debug("Température ext = " .. tex .. "°C") 

if tonumber(tex) < 7 then  -- Si il fait moins de 7°
  
  if tonumber(cons) > tonumber(temp) then -- Chauffage
	fibaro:call(17, "turnOn")
	fibaro:call(50, "turnOn")
    fibaro:call(94, "setMode","0")
  else
	fibaro:call(17, "turnOff")
	fibaro:call(50, "turnOff")
    
  end
  
else                        --Si il fait plus de 7°
  
  if tonumber(cons) > tonumber(temp) + 1
    
    then                                      -- Clim
    
    fibaro:call(94, "setMode","1")                 -- Mode Chaud 
    fibaro:call(92, "setValue", cons )
    fibaro:call(95, "setMode","1")
    fibaro:call(17, "turnOff")                -- Chauffage Off
	fibaro:call(50, "turnOff")
    
  if tonumber(cons) < tonumber(temp) + 1
      
    then
    fibaro:call(94, "setMode","2")                -- Mode foid
    fibaro:call(92, "setValue", cons )
    fibaro:call(95, "setMode","1")
    fibaro:call(17, "turnOff")
	fibaro:call(50, "turnOff")               -- Chauffage Off
  end
end
end
Posté(e)

J'ai découvert un sujet auquel tu a participé sur les zxt 120et j'y ai trouvé plein d'info si bien que ca marche. Trop content merci beaucoup

Pour ceux que ca peut intéresser:

http://www.domotique-fibaro.fr/index.php/topic/1581-remotec-zxt-120-thermostat-ir-pour-climatiseur/page-9

--[[
%% properties
76 value
77 value
%% globals
--]]
 
local temp = fibaro:getValue(77, 'value') --Température
local cons = fibaro:getValue(76, 'value') --Consigne de température
local tex = fibaro:getValue(88, "value") -- Température ext Gd terrasse

fibaro:debug("Température = " .. temp .. "°C")
fibaro:debug("Consigne = " .. cons .. "°C") 
fibaro:debug("Température ext = " .. tex .. "°C") 

if tonumber(tex) < 7 then  -- Si il fait moins de 7°
  
  if tonumber(cons) > tonumber(temp) then -- Chauffage
	fibaro:call(17, "turnOn")
	fibaro:call(50, "turnOn")
    fibaro:call(94, "setMode","0")
  else
	fibaro:call(17, "turnOff")
	fibaro:call(50, "turnOff")
    
  end
  
else                        --Si il fait plus de 7°
  
  if tonumber(cons) > tonumber(temp) + 1
    
    then                                      -- Clim
    
    fibaro:call(94, "setMode","1")                 -- Mode Chaud 
    fibaro:call(92, "setThermostatSetpoint", "1", cons)
    fibaro:call(95, "setFanMode","1")
    fibaro:call(17, "turnOff")                -- Chauffage Off
	fibaro:call(50, "turnOff")
    
  if tonumber(cons) < tonumber(temp) + 1
      
    then
    fibaro:call(94, "setMode","2")                -- Mode foid
    fibaro:call(92, "setThermostatSetpoint", "2", cons)
    fibaro:call(95, "setFanMode","1")
    fibaro:call(17, "turnOff")
	fibaro:call(50, "turnOff")               -- Chauffage Off
  end
end
end  
  • 2 semaines après...
Posté(e)

Salut

Et bien ca avance doucement mais je bloque un peu sur le début de la scène ou j'ai du faire une erreur quelque part. Quelqu'un peut il ànouveau m'aider. Merci d'avance


--[[
%% properties
97 value
98 value
%% globals
--]]
 

temp = fibaro:getValue(98, 'value') --Température
cons = fibaro:getValue(97, 'value') --Consigne de température
tex = fibaro:getValue(88, "value") -- Température ext Gd terrasse

fibaro:setGlobal("temp", temp )
fibaro:setGlobal("cons", cons )
fibaro:setGlobal("tex", tex )


if fibaro:getGlobalValue("sleepState") == (Dodo)
and fibaro:getGlobalValue("ChaudFroid") == (Chaud)
  then fibaro:setGlobal("consigne", (fibaro:getGlobal("cons")-1.5))


if fibaro:getGlobalValue("presentState") == (Away)
and fibaro:getGlobalValue("ChaudFroid") == (Chaud)
  then fibaro:setGlobal("consigne", (fibaro:getGlobal("cons")-2))


if fibaro:getGlobalValue("presentState") == (Holidays)
and fibaro:getGlobalValue("ChaudFroid") == (Chaud)
  then fibaro:setGlobal("consigne", (fibaro:getGlobal("cons")-3))


if fibaro:getGlobalValue("presentState") == (Away)
and fibaro:getGlobalValue("ChaudFroid") == (Froid)
  then fibaro:setGlobal("consigne", (fibaro:getGlobal("cons")+1))

  
if fibaro:getGlobalValue("presentState") == (Holidays)
and fibaro:getGlobalValue("ChaudFroid") == (Froid)
  then fibaro:setGlobal("consigne", (fibaro:getGlobal("cons")+2))

  
else fibaro:setGlobal("consigne", (fibaro:getGlobal("cons")))
  
end
  end
    end
  end
end
       
        
fibaro:debug("Température = " .. temp .. "°C")
fibaro:debug("Consigne = " .. cons .. "°C") 
fibaro:debug("Consigne modifiée = " .. consigne .. "°C") 
fibaro:debug("Température ext = " .. tex .. "°C") 
          
      

if tonumber(tex) < 12 then fibaro:setGlobal("ChaudFroid" , Chaud) -- Si il fait moins de 12°
  
  if tonumber(consigne) > tonumber(temp) then -- Chauffage
	fibaro:call(17, "turnOn")
	fibaro:call(50, "turnOn")
    fibaro:call(94, "setMode","0")
    
  else
	fibaro:call(17, "turnOff")
	fibaro:call(50, "turnOff")
    
  end
  
else       --Si il fait plus de 12°
  
  if tonumber(consigne)+1 > tonumber(temp)
    
    then fibaro:setGlobal("ChaudFroid", Chaud )                                     -- Clim
    
                  -- Mode Chaud 
    fibaro:call(92, "setThermostatSetpoint", "1", consigne)
    fibaro:call(94, "setMode","1")   
    fibaro:call(95, "setFanMode","1")
    fibaro:call(17, "turnOff")                -- Chauffage Off
	fibaro:call(50, "turnOff")
    
  if tonumber(consigne)+1 <= tonumber(temp)
      
    then fibaro:setGlobal("ChaudFroid", Froid)
               -- Mode foid
    fibaro:call(92, "setThermostatSetpoint", "2", consigne)
    fibaro:call(94, "setMode","2")    
    fibaro:call(95, "setFanMode","1")
    fibaro:call(17, "turnOff")
	fibaro:call(50, "turnOff")               -- Chauffage Off
      
  end
end
end 
      
[DEBUG] 00:36:36: Température = 21.1°C
[DEBUG] 00:36:36: Consigne = 22°C
[DEBUG] 00:36:36: line 55: attempt to concatenate global 'consigne' (a nil value)
Posté(e)
fibaro:debug("Consigne = " .. cons .. "°C") 
fibaro:debug("Consigne modifiée = " .. consigne .. "°C") 

tu veux afficher dans

fibaro:debug("Consigne modifiée = " .. consigne .. "°C") 

la valeur d'une variable globale "consigne" que tu as définie plus haut.

donc, avant ce debug, tu devrait avoir l'instruction de relecture de cette variable

consigne = fibaro:getGlobal("consigne")
Posté(e)

Merci jojo

En effet ca a résolu le problème mais la valeur de "consigne" ne se modifie pas malgré les changements d'état "sleepState"...

sais tu pourquoi? 

Posté(e)

la scène n'est activée que q'il y a une modification au valeur des devices 97 & 98.

Si tu veux que la scène tourne en cas de modification de la valeur d'une variable, il faut ajouter le nom de la variable dans l'entête, sous %% globals

×
×
  • Créer...