Aller au contenu

Messages recommandés

Posté(e)

@joesab, je dois pas etre bien reveille, je comprends pas bein ce que tu souhaites faire ;-)

 

et sinon, tes conditions en debut de ligne ;-)

Posté(e)

c'est pourtant simple :P

1°) je veux mettre une condition (si volet déjà  ouvert) et bien gea reste couché

2°) je veux mettre une borne horaire d'ouverture pour le lever du soleil, c'est à  dire si le lever du soleil est à  5:00 , je ne veux pas que le volet s'ouvre avant par exemple 7:00

3°) idem pour la borne fermeture soleil... si coucher 23:00, je veux que mes volets se ferment à  22:00

 

et ça selon les jours travail ou chomé....

 

mon test de ce matin, à  fait que tous les volets se sont fermés, et impossible à  ouvrir... il rebaissait aussi sec !!! :angry:

 

 

si dessous ce qui marche à  l'heure actuelle; ouverture volet salon au lever du soleil tous les jours

et les autres selon jours travail ou chomés....

--------------------OUVERTURE VOLETS DEVANT SEMAINE---------------------  
--Ouverture le matin
local estChome = {"If", {{"Global", "JourChome", "OUI"}}}
local estTravail = {"If", {{"Global", "JourChome", "NON"}}}
GEA.add(true, 1*60, "Ouverture Volet BUREAU", {estTravail,{"Time", "07:31", "07:35"},{"Open", id["VOLET_BUREAU"], 100}})  
GEA.add(true, 1*60, "Ouverture Volet CHAMBRE2", {estTravail,{"Time", "07:30", "07:35"},{"Open", id["VOLET_CHAMBRE2"], 100}})  
GEA.add(true, 1*60, "Ouverture Volet ENTREE", {estTravail,{"Time", "07:30", "07:35"},{"Open", id["VOLET_PORTE_ENTRE"], 100}})  
---------------------------------------------------------

-----------------Ouverture volets salon lever du soleil ----------------
GEA.add(true, 1*60, "Ouverture Volet SALON", {{"Time", "Sunrise", "Sunrise-15"},{"Open", id["VOLET_SALON"], 100}}) 
---------------------------------------------------------


--------------------OUVERTURE VOLETS DEVANT we et feries---------------------  
--Ouverture le matin
local estChome = {"If", {{"Global", "JourChome", "OUI"}}}
local estTravail = {"If", {{"Global", "JourChome", "NON"}}}
GEA.add(true, 1*60, "Ouverture Volet BUREAU", {estChome,{"Time", "08:30", "08:35"},{"Open", id["VOLET_BUREAU"], 100}})  
GEA.add(true, 1*60, "Ouverture Volet CHAMBRE2", {estChome,{"Time", "08:30", "08:35"},{"Open", id["VOLET_CHAMBRE2"], 100}})  
GEA.add(true, 1*60, "Ouverture Volet ENTREE", {estChome,{"Time", "08:00", "08:035"},{"Open", id["VOLET_PORTE_ENTRE"], 100}})  

--Fermeture des volets du bureau et de la chambre-----
GEA.add(true, 1*60, "fermeture volets bureau/chambre", {{"Time", "Sunset+20", "Sunset+25"}, {"Close",id["VOLET_BUREAU"],100}, {"Close",id["VOLET_CHAMBRE2"],100}})
-------------Fermeture du volet du salon-------------------------- 
GEA.add(true, 1*60, "fermeture volet salon", {{"Time", "Sunset+45", "Sunset+50"}, {"Close",id["VOLET_SALON"],100}})
--------------------

merci

Posté(e)

et bien c'est l'ébullition sur le support GEA aujourd'hui  :)

 

Merci pour votre aide

 

j'ai essayé le code de Steven

 

 

GEA.add( {"Global", "GEA_heure", "1"}, 60*60, "", {{"Global", "GEA_heure", "0"}})
GEA.add({id["CP_SALON"], {"Global", "GEA_heure", "0"}}, -1 , "", {{"Function", function() TtsTempSalon() end},{"Global", "GEA_heure", "1"}})

 

et donc cela fonctionne mais j'avais déjà  utilisé cette condition {id["CP_SALON"], {"Global", "GEA_heure", "0"} et je l'avais abandonné car lorsque la variable GEA_heure change d'état et bien la diffusion du message est effectuée.

Ceci est normal vu qu'il y a un -1

 il faudrait que j'arrive à  faire un ({id["CP_SALON"], -1} ET {"Global", "GEA_heure", "0"} comme condition.

 

Mais je ne sais pas comment faire  :(

 

@pepite, le code que tu m'as donné ne donne pas satisfaction dommage

@hansolo, j'ai une autre expression vieux motard que jamais  :2:

Posté(e)

Ca ne fonctionne pas maintenant j'ai l'erreur: [ERROR] 19:07:39: line 194: ')' expected near '}'

 
Si je mets une parenthèse (même en faisant des essais partout où c'est possible) j'ai toujours ce message :(
Posté(e)
-- Ouverture d'une fenêtre
GEA.add({"Value",id["Windows_SMG"],"1"}, 30, "", {{"Global", "Windows5", "Ouverts"}}) 
GEA.add({"Value",id["Windows_SMD"],"1"}, 30, "", {{"Global", "Windows5", "Ouverts"}}) 
GEA.add({"Global", "Windows5", "Ouverts"}, 30, "", {{"VirtualDevice", id["Mod_Chauf_SM"], "4"}})
 
-- Les 2 fenêtres sont fermées
GEA.add({"Value",id["Windows_SMG"],"0"}, {"Value",id["Windows_SMD"],"0"}, 30, "", {{"VirtualDevice", id["Mod_Chauf_SM"], "4"}, {"Global", "Windows5", "Fermes"}})

@Steven, la lignes "les deux fenetre sont fermées provotre cette erreur:

 

[ERROR] 19:09:37: line 444: attempt to compare number with nil

 
 
cette ligne à  l'air pourtant d'avoir la bonne syntaxe?
Posté(e)

 

Ca ne fonctionne pas maintenant j'ai l'erreur: [ERROR] 19:07:39: line 194: ')' expected near '}'

 
Si je mets une parenthèse (même en faisant des essais partout où c'est possible) j'ai toujours ce message :(

 

GEA.add({"Global+", "T_Salon", 20}, 10*60, "", {{"Value", id["Chauff_SALON", 20]},{"Time","23:00","06:00"}})

je pense qu'il te manqué les guillemets autour du "value" et a l’envers non?

Posté(e)

Essaye

GEA.add({{"Value",id["Windows_SMG"],"0"}, {"Value",id["Windows_SMD"],"0"}}, 30, "", {{"VirtualDevice", id["Mod_Chauf_SM"], "4"}, {"Global", "Windows5", "Fermes"}})
Posté(e) (modifié)

 

Essaye

GEA.add({{"Value",id["Windows_SMG"],"0"}, {"Value",id["Windows_SMD"],"0"}}, 30, "", {{"VirtualDevice", id["Mod_Chauf_SM"], "4"}, {"Global", "Windows5", "Fermes"}})

Merci @HANSOLO, ça avance, mais j'arrive au même résultat qui me bloquait hier, seul la première "Value" est pris en compte pour la fermeture.

la commande ne prends pas en compte la fermeture du deuxième. 

j'ai fais une scène pour la fermeture en attendent mais c'est dommage...

--[[
%% autostart
%% properties
170 value
265 value
%% globals
--]]

local startSource = fibaro:getSourceTrigger();
if 
 ( tonumber(fibaro:getValue(170, "value")) == 0 ) and ( tonumber(fibaro:getValue(265, "value")) == 0 )

then
        fibaro:sleep(180*1000);
	fibaro:call(372, "pressButton", "3");
	fibaro:setGlobal("Windows5", "Fermes");
    
end

Modifié par Fredric
Posté(e)

@PITP2 : et si tu l'ecrivais en 2 lignes ?

 

 

@frederic , t'es sur de test entetes et tes ID ? tout est declaré ? quelle version de GEA ?

 

Essaie comme ca pour voir : je pense qu'il n'y a pas de guillemet pour le value ;-)

local SMG = {"Value",id["Windows_SMG"],0}
local SMD = {"Value",id["Windows_SMD"],0}
GEA.add({SMG, SMD}, 30, "", {{"VirtualDevice", id["Mod_Chauf_SM"], "4"}, {"Global", "Windows5", "Fermes"}})
Posté(e)

@pepite , pour le coup, je suis plus sur de rien, mais je pense que oui, car si j'inverse SMG avec SMD, c'est celui qui est en premier qui fonctionne.

--[[
%% autostart
%% properties
118 value
210 value
254 value
271 value
54 value
312 value
97 value
32 value
268 value
269 value
111 value
170 value
265 value
114 value
267 value
%% globals
delestage
Windows5
AlarmeGenerale
NetModTempInt
--]]

SMG = 170, SMD = 265

GEA.add({{"Global-", "NetModTempInt", 17},{"Global","AlarmeGenerale","Inactive"}}, 30*60, "Il fait froid dans la chambre de Marion #value# à  #time#",{{"Repeat"}})

en fait, je remarque que ce sont les lignes avec condition qui me posent soucis, cette ligne non plus ne fonctionne pas, seul la première condition est prise en compte.

Là , si la varialbe "NetModTempInt" passe en dessous de 17°, je reçois le puch même si la variable "AlarmeGenerale" est Active, si j'inverse les variable dans la ligne, je reçois le push dés que  "AlarmeGenerale" est Inactive.

même si la température est sur 21°.

 

je vais essayer tes lignes ce soir, merci.

Posté(e)

Ton entete a l'air OK, on retrouve bien SMG et SMD ;-)

 

Effectivement, tu as bien l'air d'avoir des soucis avec tes conditions multiples. Tu as quelle version de GEA ?

 

Je pense que mes lignes ne vont rien changer, puisque tu n'as pas de conditions multiples, mais on ne sait jamais ;-)

Posté(e)

tu as quoi dans ton debug ? je me demande si tu n'as pas souleve un petit bug, je viens de tester et mon debug n'est pas mis à  jour avec les 2 conditions, mais juste une, je ne sais pas si c'est le comportement normal du debug.

 

Attendons les experts ;-)

Posté(e)

@PITP2

Voici la ligne: GEA.add ({"Global-", "T_Salon", 18}, 10*60, "", {{"Value", 20}, id["Chauff_SALON"]},{"Time","07:00","16:00"}})

 

J'ai l'erreur: [ERROR] 13:43:56: line 196: ')' expected near '}'

 

En fait j'ai une accolade en trop à  la fin je pense... si je l'enlève j'ai le message [ERROR] 13:50:51: line 449: attempt to index field '?' (a number value)
Posté(e)

Alors c'est uniquement pour rigoler car cela ne va pas du tout fonctionner :)

 

Voici le même code mais qui "devrait" fonctionner 

local DistanceMaison1 = {"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementMaison1)*100)/100 end}
local DistanceBureau1 = {"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementBureau1)*100)/100 end}
local DistanceCarantec1 = {"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementCarantec1)*100)/100 end}
local DistanceEternoz1 = {"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementEternoz1)*100)/100 end}

GEA.add(DistanceBureau1, 30, "", {{"Global", "DistanceBureau", "#value#"}, {"Label", id["DISTANCE"], "Label2", "#value# m"}})
GEA.add(DistanceMaison1, 30, "", {{"Global", "DistanceMaison", "#value#"}, {"Label", id["DISTANCE"], "Label1", "#value# m"}})
GEA.add(DistanceCarantec1, 30, "", {{"Global", "DistanceCarantec", "#value#"}, {"Label", id["DISTANCE"], "Label3", "#value# m"}})
GEA.add(DistanceEternoz1, 30, "", {{"Global", "DistanceEternoz", "#value#"}, {"Label", id["DISTANCE"], "Label4", "#value# m"}})

-- message maison
GEA.add({"Global-", "DistanceMaison", "100"}, 30, "Je suis à  moins de #value# m à  #time# de la maison", {{"MaxTime", "1"}})

GEA.add ( CONDITION, durée, message, ACTIONS )

 

Lors que GEA vérifie les CONDITIONs, il stock le résultat de la condition dans une variable #value# qu'on peut repassée dans les labels et globals des ACTIONS.

Et donc s'il me retourne #value# dans Global, c'est que le calcul de la distance ne se fait pas?

 

Est ce que le calcul ne se fait pas, par ce que jes coordonées geo sont prises comme du texte et non comme du chiffre?

 

Merci d'avance :)

 

J'espère que j’embête pas tout le forum avec mon problème de distance... :(

Posté(e)

@steven : oops je crois qu'il n'avait vraiment pas bien lu ;-)

oui hansolo a raison et nous nous essayons de t'eviter de repeter en repetant àta place..enfin pour moi dans la limite de ce que j'ai compris ;-)

Posté(e)

Tu n'embêtes pas, ce qui m'embête c'est de prendre la peine et le temps de répondre à  des gens qui, eux, ne prennent pas le peine de lire la réponse :)

 

Garce à  ta re-re-demande :), J'ai vu un soucis :

 

Prenons un exemple : 

local DistanceEternoz1 = {"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementEternoz1)*100)/100 end}

Le soucis est que ta fonction retourne un nombre alors que function doit retourné en 1ER un booléen (vrai ou faux) puis la valeur.

 

Donc dans ton cas, il faudra faire cela :

local DistanceEternoz1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(userLocation, EmplacementEternoz1)*100)/100 end}

un petit true, en plus et cela devrait (je l'espère) résoudre ton soucis.

 

Je te laisse le mettre sur toutes tes lignes, re-tester et nous tenir au courant.

×
×
  • Créer...