Aller au contenu
ntaravel

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

Recommended Posts

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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? 

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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  

Partager ce message


Lien à poster
Partager sur d’autres sites

:74:

En cherchant, tu finiras par devenir un expert, mais c'est chronophage ...

Partager ce message


Lien à poster
Partager sur d’autres sites

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)

Partager ce message


Lien à poster
Partager sur d’autres sites
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")

Partager ce message


Lien à poster
Partager sur d’autres sites

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? 

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

×