Aller au contenu

Messages recommandés

Posté(e)

Bien vu, pas vraiment je m'y suis repris à4 fois..... :)

-- Si ALARME inactive (donc active pour toi) ET SceneNOUNOU vrai depuis 60 s, ALORS si nous sommes Lundi, Mardi,... Vendredi, et qu'il est ente 15h30 et 15h31, démarrer alarme (donc arréter por toi)
GEA.add ({id["ALARMEACT"],sceneNOUNOU}, 60 ,"Alarme OFF à15h30", {{"Inverse"},{"Days", "Monday, Tuesday,Thursday, Friday"},{"Time", "15:30","15:31"}, {"turnON", id["ALARMEACT"]}})

Nicolas

Posté(e)

eh bien Nico, en tt cas encore un grand MERCI, super

je débute GEA depuis lundi, j'ai énormément appris en 48h, merci à  toi

(il y a encore des zones d'ombres Evidemment, notamment les "," "]" "{" ...............  )

Posté(e)

Sur le VD, ci joint

 

j'aimerai que l’icon en haut a gauche, reste comme il etait avant que j'appuie sur un "-1" ou "+0.5" ou "+1"....

comment fait on

 

Posté(e)

 En fait si je comprends bien tu veux par exemple dans la ligne suivante remplacer le 19 par la valeur d'une variable globale qui peut être amener à  bouger c'est ça?

-- allumage de la chaudière entre lever et coucher du soleil, si présent et température < 19°C depuis 2 min
GEA.add ({id["CHAUDIERE"], id["ALARMESTATUT"], {"value-", id["TEMPERATURE"], 19},sceneON}, 2*60, "Chaudière ON", {{"Inverse"}, {"Time", "06:30", "22:45"}, {"turnOn", id["CHAUDIERE"]}})

 Je ne pense pas que tu puisses le faire directement, la condition est évaluée à  chaque cycle mais ses composantes sont invariables. Par contre beaucoup plus lourd et pas sà»r que ça marche mais GEA possède dans ses conditions une possibilité de fonction:

{“Functionâ€, function() return true or false, value end}

 Donc pour ta condition évoquée au dessur nous aurions:

-- allumage de la chaudière entre lever et coucher du soleil, si présent et température < 19°C depuis 2 min
-- Une fonctione est executée à  chaque cycle: elle compare la valeur de la temperature du device id["TEMPERATURE"] avec la valeur
-- de la variable globale 'T_CONSIGNE'. Si elle est inférieur alors elle retourne true
GEA.add ({id["CHAUDIERE"], id["ALARMESTATUT"], {"Function", function() if ( tonumber(fibaro:getValue(id["TEMPERATURE"], "value")) < tonumber(fibaro:getGlobalValue('T_CONSIGNE'))) then return true end end},sceneON}, 2*60, "Chaudière ON", {{"Inverse"}, {"Time", "06:30", "22:45"}, {"turnOn", id["CHAUDIERE"]}})

C'est beaucoup plus lourd et attention aux erreurs de syntaxe. Il y a certainement plus simple....

 

 

Pour le VD pour mon bouton +0.5, qui ajoute 0.5 à  la variable globale T_CONFORT:

local temp = tonumber(fibaro:getGlobalValue('T_CONFORT'))
temp = temp+0.5

if ( temp > 24 ) then temp = 24 end
fibaro:setGlobal('T_CONFORT', temp)

--Actualisation du VD
fibaro:call(fibaro:getSelfId(),"setProperty", "ui.Label2.value",string.format("%.01f ",temp))

Nicolas

Posté(e)

voici le bouton +0.5 de mon VD

 

local consigneT;
local id = {};
id.display = 123;
-- incremantation de +0.5 la variable globale consigneT
fibaro:setGlobal('consigneT', fibaro:getGlobalValue('consigneT') + 0.5);
-- puis on affiche la variable dans le champs consigne du VD (lblcorr)
consigneT= fibaro:getGlobal("consigneT");
fibaro:debug(consigneT);
fibaro:call(id.display, "setProperty", "ui.lblCorr.value", consigneT.." °C");

par exemple, dans mon VD, la T° consigne est à  22, je touche le bouton +1, la variable "consigneT" passe à  23 

cette valeur est récupérée par le VD pour l'afficher dans le champs à  cote du T° consigne.

 

donc je me dis, que mon script GEA, pourrait récupérer aussi cette valeur, dans l'exemple 23, et ainsi la comparer à  la temperature actuelle, pour savoir si il arrete ou non la chaudiere.

il me faudrait alors remplacer en ligne 14, le 19.7

Posté(e)

Oui c'est bien ce que j'avais compris donc je te reformule "la solution lourde", présentée différemment:

-- Création d'une fonction de controle de la température par rapport à  la consigne
function getTemp()
if ( tonumber(fibaro:getValue(id["TEMPERATURE"], "value")) >= tonumber(fibaro:getGlobalValue('consigneT')))
    then
        return true
    else
        return false
    end
end

--extinction de la chaudière si (température > consigneT) ET Chaudiere allumée et SceneOn, depuis 2 min
GEA.add ({{"Function", function() return getTemp() end}, id["CHAUDIERE"],sceneON}, 2*60, "Chaudière OFF car température = #value#", {{"turnOff", id["CHAUDIERE"]}})


Nicolas

Posté(e)

exact NICO,

 

local sceneON = {"Global","SceneON","ON"}
local sceneOFF = {"Global","SceneON","OFF"}
local sceneNOUNOU = {"Global","SceneNouNou","ON"}  
local consigneT;
  local id = {
CHAUDIERE = 103,  ALARMESTATUT = 54, TEMPERATURE = 49 , ALARMEACT = 60  }
  -- ici ALARMESTATUT = correspond au statut, au retour d'alarme 
  -- l'actionneur alame est en ID 60 , on push ON et ca stop alarme


--AUTO
-- allumage de la chaudière entre lever et coucher du soleil, si présent et température < 19°C depuis 2 min
GEA.add ({id["CHAUDIERE"], id["ALARMESTATUT"], {"value-", id["TEMPERATURE"], 19.3},sceneON}, 1*60, "Chaudière ON car T°<19° Mode AUTO", {{"Inverse"}, {"Time", "06:30", "22:45"}, {"turnOn", id["CHAUDIERE"]}})
-- extinction de la chaudière si température > 19.8°C depuis 4 min
--GEA.add ({{"value+", id["TEMPERATURE"], 19.8}, id["CHAUDIERE"],sceneON}, 4*60, "Chaudière OFF car température = #value#° > à  19.5° depuis 2 minutes Mode AUTO", {{"turnOff", id["CHAUDIERE"]}})
GEA.add ({{"Function", function() if ( tonumber(fibaro:getValue(id["TEMPERATURE"], "value")) > tonumber(fibaro:getGlobalValue('consigneT'))) then return true end end},sceneON}, 1*60, "Chaudière OFF car température = #value#° > à  T°consigne depuis 2 minutes Mode AUTO", {{"turnOff", id["CHAUDIERE"]}})
-- extinction de la chaudière si le soir
GEA.add ({id["CHAUDIERE"],sceneON}, 1, "Chaudière OFF car 22h45 Mode AUTO", {{"Time", "22:45", "06:30"}, {"turnOff", id["CHAUDIERE"]}})
-- extinction de la chaudière car alarme branchée depuis 1 min
GEA.add ({id["ALARMESTATUT"], id["CHAUDIERE"],sceneON}, 1*60, "Chaudière OFF car alarme branchée Mode AUTO", {{"Inverse"}, {"turnOff", id["CHAUDIERE"]}})


--MANU  
  -- allumage de la chaudière si mode MANU et température < 20°C depuis 30sec
GEA.add ({id["CHAUDIERE"], {"value-", id["TEMPERATURE"], 20.2},sceneOFF},1*30, "Chaudière ON car T°<20° en mode MANU", {{"Inverse"}, {"turnOn", id["CHAUDIERE"]}})
-- extinction de la chaudière si température > 21.7°C depuis 5 min
--GEA.add ({{"value+", id["TEMPERATURE"], 21.7}, id["CHAUDIERE"],sceneOFF}, 5*60, "Chaudière OFF car température = #value# >21° en Mode MANU", {{"turnOff", id["CHAUDIERE"]}})  
GEA.add ({{"Function", function() if ( tonumber(fibaro:getValue(id["TEMPERATURE"], "value")) > tonumber(fibaro:getGlobalValue('consigneT'))) then return true end end},sceneOFF}, 1*60, "Chaudière OFF car température = #value# > à  T°consigne depuis 2 minutes Mode MANU", {{"turnOff", id["CHAUDIERE"]}})


--NOUNOU 
-- extinction de l'alarme à  15h30 le lundi mardi jeudi vendredi si appuie sur bouton ON NOUNOU
GEA.add ({id["ALARMEACT"],sceneNOUNOU},60, "Alarme OFF à  15h30 Mode NOUNOU",{{"Inverse"},{"Days", "Monday, Tuesday, Thursday, Friday"},{"Time", "15:30","15:31"}, {"turnON", id["ALARMEACT"]}})
end
Posté(e)

c'est un detail, mais maintenant, le #value# ne m'affiche plus la valeur, il affiche #value# dasn le message push.

 

sinon, je vais donc pouvoir maintenant ajouter une variable pour la T° mini puisqu'ici en fait c'est la T°maxi

ou alors ajouter la notion d’hystérésis

pour l'allumage, si je souhaite une T°consigne de 21°, est que la temperature de la sonde est inferieur à  0,7° de ma T°consigne alors allumage

exemple:

-je veux sur mon vd T°consigne 21°, si la T°sonde est < à  20.3 alors allumage

-je veux sur mon vd T°consigne 21°, si la T°sonde est > à  21.7 alors extinction

 

 

Nico, pourquoi dis tu que la fonction est "lourde"

Posté(e)

Oui je n'avais pas corrigé le commentaire. C'est normal, le #value# correspond à  la valeur de retour de la condition principale donc ici true. C'est donc normal de ne rien avoir

 

Nicolas

Posté(e)

Il y a toujours moyen......:

 

Par exemple dans les options, ajouter encore une fonction avec le sendPush.

local telephone = 385
GEA.add ({{"Function", function() if ( tonumber(fibaro:getValue(id["TEMPERATURE"], "value")) > tonumber(fibaro:getGlobalValue('consigneT'))) then return true end end},sceneOFF}, 1*60, "", {{"turnOff", id["CHAUDIERE"]},{"Function",function() fibaro:call(telephone,'sendPush',"Chaudière OFF car température = "..tonumber(fibaro:getValue(id['TEMPERATURE'], 'value')).. "> à  T°consigne depuis 2 minutes Mode MANU") end }})

Nicolas

 

Posté(e)

excellent ca fonctionne

super Nico  :60:  :13:  :13:  :13:

 

 

il me reste encore 2 choses (peut etre 3)  :)  (pas chiant le gars   :)

- lorsque je clique sur une valeur de mon VD (+0.5 ou -1....) j'ai l'icon de mon module qui change en bleu box, 

est il possible que l'icon reste ou revienne dans l'etat initial, comme il était avant que je modifie la consigne, dans le mode auto ou manu. 

pour info, si je rentre le code "fibaro:call(fibaro:getSelfId(), "pressButton", "1") " dans mon VD chauffage bouton -0.5 -1 +0.5+1, oui ca fonctionne, mais dans ce cas je replace le mode AUTO en prioritaire, or ce n'est pas le but

il faudrait qu'il revienne dans l'etat initial.

 

- j'ai un module chaudière (id 103) donc l'icon change en fonction de MARCHE/ARRET, est il possible de faire apparaître ce module visuellement dans mon VD? 

 

Posté(e)

Pour le problème d'icone lorsque tu cliques sur +/-0.5.

 

Comment est conditionné ton mode AUTO/MANU ? Est-ce AUTO = Variable Globale 'SceneON' = ON et MANU = Variable Globale 'SceneON' = OFF ? (A force je ne sais plus..)

 

Si c'est le cas tu peux ajouter ça dans chaque bouton d'ajustement de température: (pas testé donc à  voir...)

local statut = fibaro:getGlobalValue('SceneOn')

-- Ajuster avec le bon numéro d'icone
local icon = { AUTO = 1001 , MANU = 1002 }
	
if (statut == "ON")
-- Mode AUTO
fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", icon['AUTO']) 
else
-- Mode MANU
fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", icon['MANU']) 
end

Pour l'item de la chaudière tu veux un Label (comme ta température) avec le statut ON ou OFF qui s'affiche au changement d'état ?

 

Nicolas

Posté(e)

Nico, t'assures

ca fonctionne parfaitement, c'est exactement ça, j'ai juste ajouter "then" (pour une fois que je trouve un truc)

 

sinon OUI, pour item, si je ne peux pas afficher l'icon ON/OFF de la chaudiere dans un label, alors je me contenterai du text on/off

et oui, qui s'affiche au changement d’état, ca m’évite de changer de panneau, ici sur mon VD, j'aurai une vision global

Posté(e)

Oui désolé pour le then je ne m'étais pas relu....

 

Alors 2 solutions au moins:

 

Sois par GEA, tu ajoutes 2 lignes qui modifient ton label au changement d'état de la chaudière:

 

-- Ne pas ublier de mettre l'id de la chaudiere dans l'entete GEA

-- Remplacer par le bon ID du Virtual Device (ainsi que le ui.Label1.value)
local VD_CHAUFFAGE = 100
GEA.add(id["CHAUDIERE"],-1,"",{{"Label", VD_CHAUFFAGE, "ui.Label1.value", "MARCHE"}})
GEA.add(id["CHAUDIERE"],-1,"",{{"Inverse"},{"Label", VD_CHAUFFAGE, "ui.Label1.value", "ARRET"}})

Ou alors via le Main Loop de ton Virtual Device (sera mit à  jour toutes les 3 secondes

-- id du module chaudiere
local chaudiere = 300


if (tonumber(fibaro:getValue(chaudiere, "value")) > 0 ) then
	fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label1.value", "MARCHE")
else
	fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label1.value", "ARRET")
end

Nicolas

 

  • Upvote 1
Posté(e)

ok, j'ai adopté la deuxième solution, et ca fonctionne parfaitement.

est il possible d'afficher un icon pour Marche et un icon pour ARRET àla place du texte marche/arret?

Posté(e)

Si c'est pour consulter UNIQUEMENT sur interface web, alors tu peux insérer du code html dans l'étiquette par exemple, mais c'est pas terrible...

fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label1.value", '<img height="48" width="48" src="https://cdn1.iconfinder.com/data/icons/ui-icons-2/512/checkbox-on-1-01-128.png" />')

Nicolas

Posté(e)

salut Nico,

je vais tester ça.

j ai un petit problem avec les messages push du script GEA

je pense que tu pourrais m aider une fois de plus

les temperatures affichées ds message, ne correspondent pas aux Temperatures "actu et consigne"

j expose le probleme dans le post suivant

http://www.domotique-fibaro.fr/index.php/topic/6335-variable-gea/?p=95494#entry95494

post qui fait un peu doublon

Posté(e)

Oui dans ton GEA, dans la partie Push, les seules parties variables gérées par le script sont de type #value#, #time#,... qui sont préétablis. Donc quand tu écris

GEA.add ({id["CHAUDIERE"], {"Function", function() if ( tonumber(fibaro:getValue(id["TEMPERATURE"], "value")) < ((tonumber(fibaro:getGlobalValue('consigneT')))-(tonumber(fibaro:getGlobalValue('hysteresis'))))) then return true end end},sceneOFF}, 1*30, "Chaudière ON "..tonumber(fibaro:getValue(id['TEMPERATURE'], 'value')).. "< "..tonumber(fibaro:getGlobalValue('consigneT')).. " - "..tonumber(fibaro:getGlobalValue('hysteresis')).. " depuis 30sec Mode MANU", {{"Inverse"},{"turnOn", id["CHAUDIERE"]}})

ton commentaire est généré au lancement de GEA, donc les parties concaténées ne sont générées qu'a ce moment là . Si tu veux des commentaires variables, consultes le post #37 de ce topic, avec la partie "Function" dans les options...

 

Je pense que ton problème vient de là 

 

Nicolas

Posté(e)

ok, ce qui donnerait ça

 

ligne concernant l'allumage AUTO chaudiere avec message "chaudiere ON parce que la T° (sonde) est < à  la T°consigne - T° hysteresis ( exemple 19°< 20-0.3)

 

local telephone = 100

GEA.add ({id["CHAUDIERE"], id["ALARMESTATUT"],{"Function", function() if ( tonumber(fibaro:getValue(id["TEMPERATURE"], "value")) < ((tonumber(fibaro:getGlobalValue('consigneT')))-(tonumber(fibaro:getGlobalValue('hysteresis'))))) then return true end end},sceneON}, 1*30,{{"Inverse"}, {"Time", "06:30", "22:45"}, {"turnOn", id["CHAUDIERE"]}, {"Function",function() fibaro:call(telephone,'sendPush',"Chaudière ON "..tonumber(fibaro:getValue(id['TEMPERATURE'], 'value')).. "< "..tonumber(fibaro:getGlobalValue('consigneT')).. " - "..tonumber(fibaro:getGlobalValue('hysteresis')).. " depuis 1 minute Mode AUTO" end }})

sauf que je ne maîtrise pas bien la ponctuation

 

ton message d'origine poste 37

 

local telephone = 385
GEA.add ({{"Function", function() if ( tonumber(fibaro:getValue(id["TEMPERATURE"], "value")) > tonumber(fibaro:getGlobalValue('consigneT'))) then return true end end},sceneOFF}, 1*60, "", {{"turnOff", id["CHAUDIERE"]},{"Function",function() fibaro:call(telephone,'sendPush',"Chaudière OFF car température = "..tonumber(fibaro:getValue(id['TEMPERATURE'], 'value')).. "> à  T°consigne depuis 2 minutes Mode MANU") end }})

Nicolas

Posté(e)

Oui en gros c'est ça, par contre attention à  ne pas utiliser {"Function"} à  outrance car ce n'est pas le but de GEA à  la base. De plus, ça devient de plus en plus indigeste à  lire, ce qui va aussi à  l'encontre du principe de GEA.... Enfin c'est mon avis...

 

N'hésites pas à  utiliser espaces et retour à  la ligne.... cela facilite le tout lorsque l'on cherche les erreurs. Par exemple dans ton code tu as supprimé la partie "" après la période de contrôle donc tu auras une erreur.

function isTooLow()
    if ( tonumber(fibaro:getValue(id["TEMPERATURE"], "value")) < ((tonumber(fibaro:getGlobalValue('consigneT')))-(tonumber(fibaro:getGlobalValue('hysteresis'))))) then return true end
end
   

function sendAlarm()
    local telephone = 100
    local msg = "Chaudière ON "..tonumber(fibaro:getValue(id['TEMPERATURE'], 'value')).. "< "..tonumber(fibaro:getGlobalValue('consigneT')).. " - "..tonumber(fibaro:getGlobalValue('hysteresis')).. " depuis 1 minute Mode AUTO"
    fibaro:call(telephone,'sendPush', msg)
end

GEA.add ({id["CHAUDIERE"], id["ALARMESTATUT"],{"Function", function() return isTooLow() end},sceneON}, 1*30, "" , {{"Inverse"}, {"Time", "06:30", "22:45"}, {"turnOn", id["CHAUDIERE"]}, {"Function",function() sendAlarm() end }})

Nicolas

Posté(e)

en effet j'ai une erreur

mais a quoi servent les "" ?

 

effectivement c'est bcp plus lisible comme tu fais

pcq j'avoue que ca commençait à  être indigeste

 

ici pour chaque message, je dois donc créer un "msg"?

 

je teste toute à  l'heure

c'est vraiment super Nico

Posté(e)

Les "" contiennent les message àenvoyer en push. Si il n'y a rien àenvoyer on laisse vide mais on ne les enlève pas. Cela fait partie de la syntaxe de GEA:

GEA.add(<condition>, <durée en secondes|-1>, <message ànotifier>[, <options>])

Ce que j'ai écris est un exemple. Il ne faut pas créer une fonction pour chaque message mais par exemple modifier la fonction et en fonction d'un paramètre envoyer tel ou tel message:

function isTooLow()
    if ( tonumber(fibaro:getValue(id["TEMPERATURE"], "value")) < ((tonumber(fibaro:getGlobalValue('consigneT')))-(tonumber(fibaro:getGlobalValue('hysteresis'))))) then return true end
end
   
 
function sendAlarm(item)
    local telephone = 100
    local msg = ''
	if (tonumber(item) == 1 ) then
			msg = "Chaudière ON "..tonumber(fibaro:getValue(id['TEMPERATURE'], 'value')).. "< "..tonumber(fibaro:getGlobalValue('consigneT')).. " - "..tonumber(fibaro:getGlobalValue('hysteresis')).. " depuis 1 minute Mode AUTO"
	elseif (tonumber(item) ==  2 ) then
			msg = "Un autre mesage"
	elseif (tonumber(item) ==  3 ) then
			msg = "Encore un autre message différent"
	end
    fibaro:call(telephone,'sendPush', msg)
end
 
GEA.add ({id["CHAUDIERE"], id["ALARMESTATUT"],{"Function", function() return isTooLow() end},sceneON}, 1*30, "" , {{"Inverse"}, {"Time", "06:30", "22:45"}, {"turnOn", id["CHAUDIERE"]}, {"Function",function() sendAlarm(1) end }})

Nicolas

  • Upvote 2
Posté(e)

super Nico, je teste en ce moment

c'est vraiment plus propre

 

est il possible dans le message, qu'au lieu d'afficher T°consigne + hysteresis, il m'affiche le resultat? exemple: la T° sonde de 20° est < 21-0.3 ====== T°sonde de 20° est < 20.7°

 

msg = "Chaudière ON "..tonumber(fibaro:getValue(id['TEMPERATURE'], 'value')).. "< "..tonumber(fibaro:getGlobalValue('consigneT')).. " - "..tonumber(fibaro:getGlobalValue('hysteresis')).. " depuis 1 minute Mode AUTO"

local sceneON = {"Global","SceneON","ON"}
local sceneOFF = {"Global","SceneON","OFF"}
local sceneNOUNOU = {"Global","SceneNouNou","ON"}  
local consigneT;
local hysteresis;
local telephone = 100
local id = {CHAUDIERE = 103,  ALARMESTATUT = 54, TEMPERATURE = 49 , ALARMEACT = 60  }
  -- ici ALARMESTATUT = correspond au statut, au retour d'alarme 
  -- l'actionneur alame est en ID 60 , on push ON et ca stop alarme
function isTooLow()
    if ( tonumber(fibaro:getValue(id["TEMPERATURE"], "value")) < ((tonumber(fibaro:getGlobalValue('consigneT')))-(tonumber(fibaro:getGlobalValue('hysteresis'))))) then return true end
end
function isTooHight()
    if ( tonumber(fibaro:getValue(id["TEMPERATURE"], "value")) > ((tonumber(fibaro:getGlobalValue('consigneT')))+(tonumber(fibaro:getGlobalValue('hysteresis'))))) then return true end
end

function sendAlarm(item)
    local telephone = 100
    local msg = ''
if (tonumber(item) == 1 ) then
msg = "Chaudière ON "..tonumber(fibaro:getValue(id['TEMPERATURE'], 'value')).. "< "..tonumber(fibaro:getGlobalValue('consigneT')).. " - "..tonumber(fibaro:getGlobalValue('hysteresis')).. " depuis 1 minute Mode AUTO"
elseif (tonumber(item) ==  2 ) then
msg = "Chaudière OFF "..tonumber(fibaro:getValue(id['TEMPERATURE'], 'value')).. "> "..tonumber(fibaro:getGlobalValue('consigneT')).. " + "..tonumber(fibaro:getGlobalValue('hysteresis')).. " depuis 1 minute Mode AUTO"
elseif (tonumber(item) ==  3 ) then
msg = "Chaudière ON "..tonumber(fibaro:getValue(id['TEMPERATURE'], 'value')).. "< "..tonumber(fibaro:getGlobalValue('consigneT')).. " - "..tonumber(fibaro:getGlobalValue('hysteresis')).. " depuis 30sec Mode MANU"
elseif (tonumber(item) ==  4 ) then
msg = "Chaudière OFF "..tonumber(fibaro:getValue(id['TEMPERATURE'], 'value')).. "> "..tonumber(fibaro:getGlobalValue('consigneT')).. " + "..tonumber(fibaro:getGlobalValue('hysteresis')).. " depuis 1 minute Mode MANU"
    elseif (tonumber(item) ==  5 ) then
msg = "Chaudière OFF car 22h45 Mode AUTO"
    elseif (tonumber(item) ==  6 ) then
msg = "Chaudière OFF car alarme activée Mode AUTO"
    elseif (tonumber(item) ==  7 ) then
msg = "extinction de l'alarme à  15h30 Mode NOUNOU"
    end
    fibaro:call(telephone,'sendPush', msg)
end

--AUTO
-- allumage de la chaudière entre 6h30 et 22h45, si présent et température < T°consigne - hysteresis depuis 1 min
GEA.add ({id["CHAUDIERE"], id["ALARMESTATUT"],{"Function", function() return isTooLow() end},sceneON}, 1*60, "" , {{"Inverse"}, {"Time", "06:30", "22:45"}, {"turnOn", id["CHAUDIERE"]}, {"Function",function() sendAlarm(1) end }})
-- extinction de la chaudière si température > à  la T° de consigne + hysteresis depuis 1 min
GEA.add ({id["CHAUDIERE"],{"Function", function() return isTooHight() end},sceneON}, 1*60, "" ,{{"turnOff", id["CHAUDIERE"]}, {"Function",function() sendAlarm(2) end }})
-- extinction de la chaudière si le soir
GEA.add ({id["CHAUDIERE"],sceneON}, 1, "" ,{{"Time", "22:45", "06:30"},{"turnOff", id["CHAUDIERE"]}, {"Function",function() sendAlarm(5) end }})
-- extinction de la chaudière car alarme ACTIVEE depuis 1 min
GEA.add ({id["ALARMESTATUT"], id["CHAUDIERE"],sceneON}, 1*60, "" ,{{"Inverse"},{"turnOff", id["CHAUDIERE"]}, {"Function",function() sendAlarm(6) end }})    
  
--MANU  
-- allumage de la chaudière si mode MANU et température < T°consigne - hysteresis depuis 30sec
GEA.add ({id["CHAUDIERE"], {"Function", function() return isTooLow() end},sceneOFF}, 1*30, "" , {{"Inverse"}, {"turnOn", id["CHAUDIERE"]}, {"Function",function() sendAlarm(3) end }})
-- extinction de la chaudière si température > à  la T° de consigne + hysteresis depuis 1 min
GEA.add ({id["CHAUDIERE"],{"Function", function() return isTooHight() end},sceneON}, 1*60, "" ,{{"turnOff", id["CHAUDIERE"]}, {"Function",function() sendAlarm(4) end }})    

--NOUNOU 
-- extinction de l'alarme à  15h30 le lundi mardi jeudi vendredi si appuie sur bouton ON NOUNOU
GEA.add ({id["ALARMEACT"],sceneNOUNOU},60, "",{{"Inverse"},{"Days", "Monday, Tuesday, Thursday, Friday"},{"Time", "15:30","15:31"}, {"turnON", id["ALARMEACT"]},{"Function",function() sendAlarm(7) end }})

end
×
×
  • Créer...