Aller au contenu

Recommended Posts

bonjpur

 

voilà  je voudrait peaufiner mes ouvertures de volets,

en ce moment, le volet du salon s'ouvre au lever du soleil, et se ferme au coucher du soleil + 40 mn...grosso modo

j'ai variable jours chomés/travail

 

j'aimerai avoir une ligne de commande, qui vérifie s'il est déjà  ouvert,

et ne s'ouvre pas avant 6 h 30 les jours de travail (8h30 jours chômés), et ne se ferment pas après 22 h. (pour l'été)

GEA.add(true, 1*60, "Ouverture Volet SALON", {estTravail,{"Time", "Sunrise>06:30", "Sunset"},{"Open", id["VOLET_SALON"], 100}})

GEA.add(true, 1*60, "Ouverture Volet SALON", {estChome,{"Time", "Sunrise>08:30", "Sunset"},{"Open", id["VOLET_SALON"], 100}})


je ne vois pas ou mettre la condition si déjà  ouvert et ne suis pas sà»r de ma ligne de commande

 

 

pour la fermeture j'ai cela actuellement

--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}})

merci pour votre aide

Partager ce message


Lien à poster
Partager sur d’autres sites

@PITP2
 
Portant cette ligne fonctionne chez moi:
 

GEA.add(id["OP_SALON"], -1, "Capteur armé", { {"Inverse"}, {"Armed"}, {"turnOn", id["LAMPE_BUREAU"]}, })

J'ai utilisé cette règle hier sur un capteur de porte et quand j'arme le capteur et que la porte est fermée, je reçois une notification et la lampe s"allume.

 

Quelqu'un d'autre peut tester cette règle en adaptant les id à  chez vous ?

N'oubliez pas de mettre l'id dans l'entête de GEA ainsi:

29 armed

La porte doit être fermé, puis vous armez le capteur.

 

Merci.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@shyrka, cela marche aussi chez moi maintenant que j'ai mis  "29 armed"

j'avais testé ce week end sur une box et ce matin je suis sur une autre et je n'y ai plus pensé .. désolé pour le dérangement  :(

Et merci beaucoup pour ta solution qui fonctionne bien  :D

 

ne me reste plus qu'à  comprendre pourquoi sur mes autres lignes GEA je n'arrive pas à  faire fonctionner les conditions à  chaque fois  :huh:

il doit y avoir des subtilités dans la syntaxe que je ne comprends pas

Partager ce message


Lien à poster
Partager sur d’autres sites

@Shyrka973

 

29 armed 

 

C'est pas une bonne idée car lors de l'armement / désarmement, le scénario va se lancer .. mais on s'en fiche, c'est quand 

 

29 value

 

change que cela nous intéresse. Dans ce cas, là , GEA va vérifier l'état du détecteur ET s'il est Armed

 

:)

Partager ce message


Lien à poster
Partager sur d’autres sites

Ou j'ai pas compris la question ...

 

 

Le but est d'allumer la lumière lors de l'armement ? Si oui ... prend mon précédent message et LANCE LE à  la poubelle .. à  côté de mon cerveau.

Partager ce message


Lien à poster
Partager sur d’autres sites

hum ça sent la case "Do not allow alarm to stop scène while alarm is running" décochée.

Partager ce message


Lien à poster
Partager sur d’autres sites

@steven, elle est ou ta poubelle que je récupère un morceau de ton cerveau ? pour que je comprenne pourquoi je n'arrive jamais à  faire marcher les conditions  :D

En effet je voulais allumer une lampe lorsqu'un détecteur était "armed" et je confirme bien que avec 29 armed c'est ok alors que 29 value cela ne fonctionne pas.

 

@hansolo, cela ne sent meme pas ca  :P

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@Steven

Si l'id 29 est le capteur d'une porte, pour

29 value

GEA se déclenchera quand la porte s'ouvrira. Pour

29 armed

GEA se déclenchera quand le capteur vient d'être armé.

@PITPI2 voudrait que la règle s'exécute lors que le capteur vient d'être armé.

Je pense que "Armed" n'est pas vraiment fait pour un déclenchement immédiat.

Envoyé de mon iPhone en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Content de voir qu'il n'y a pas que moi qui lit la totalité des posts :)

 

@PITP2

 

Essaie cela stp. 

1ère ligne ... GEA_Heure passe à  0 1 heure après que GEA_Heure soit passé à  1 et non pas n'importe quand :)

2ème ligne .. Vade retro les if

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"}}) 

Le "Repeat" :

 

Le repeat est utile quand la condition (toujours respectée) ne change pas et qu'on veux quand même recevoir une notification toutes les X secondes. 

Exemple une porte TOUJOURS ouvertes et on veux recevoir une notification toutes les 10mn.

GEA.add(<id_porte>, 10*60, "Merci les courants d'air", {{"Repeat"}})

 

par contre, il est complètement inutile si la condition change ou est à  true ... exemple :

GEA.add( {"Global", "GEA_heure", "1"}, 60*60, "", {{"Global", "GEA_heure", "0"}})  ... dans ce cas la condition de départ est changé par l'action donc le repeat est inutile car lors des prochaines 30 secondes GEA va tester la condition ... elle sera fausse .. il va donc redémarrer le compteur.

 

par très clair mais bon, je me comprends moi-même :)

Partager ce message


Lien à poster
Partager sur d’autres sites

@Shyrka973

Non, tu as raison, mais PITP2 a déjà  confirmé tout cela avant ton message. Idem pour Hansolo qui donne une réponse, plus que valable, mais trop tard :)

 

C'est juste moi qui n'avais pas lu correctement la question et qui donc a donné un réponse à  côté de la plaque ... mais je me suis rendu compte trop tard.

Partager ce message


Lien à poster
Partager sur d’autres sites

@Steven

 

Que penses-tu d'un ajout à  GEA ainsi:

GEA.add({ {"TriggerName", 12, "battery"}, -1, "", ... })

Cela permettrait d'intercepter les triggers comme 29 armed, 29 battery, ...

 

Je vais essayer d'ajouter cette fonctionnalités à  GEA.

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour tout le monde,

 

j'ai un P'ti souci de rien qui me bloc.

 

j'ai une baie vitrée avec un capteur sur chaque ouvrant.

je veux que quand on ouvre un des cotés, cela coupe le chauffage de la pièce.

je l'ai fait pour toutes les autre pièces et cela fonctionne parfaitement, mais il y à  qu'une fenêtre.

local Fentre_SM_open =  {"Value",id["Windows_SMG"],"1"} , {"Value",id["Windows_SMD"],"1"} , {"Global", "Windows5", "Fermes"}
local Fentre_SM_close =  {"Value",id["Windows_SMG"],"0"} , {"Value",id["Windows_SMD"],"0"}, {"Global", "Windows5", "Ouverts"}
GEA.add({Fentre_SM_open}, 30, "", {{"Global", "Windows5", "Ouverts"} , {"VirtualDevice", id["Mod_Chauf_SM"], "4"}}) 
GEA.add({Fentre_SM_close}, 3*60, "", {{"Global", "Windows5", "Fermes"} , {"VirtualDevice", id["Mod_Chauf_SM"], "3"}}) 
  

voici l’idée de code mais pas fonctionnel.

je pense que c'est dans la condition qu'il y à  problème.

Partager ce message


Lien à poster
Partager sur d’autres sites

@Steven,

 

Tu m'as donné ce code:

 

  1. local DistanceMaison1 = {"Function", function() return fibaro:calculateDistance(userLocation, EmplacementMaison1) end}

C'est normal que je n'ai pas de GEA.add au début?

comme cela non?

 

    1. local DistanceMaison1 = GEA.add(true , 30 , "" , {{"Function", function() return fibaro:calculateDistance(userLocation, EmplacementMaison1) end}})

Partager ce message


Lien à poster
Partager sur d’autres sites

@Frederic,

 

a mon sens ta condition {"Global", "Windows5", "Fermes"} ou {"Global", "Windows5", "Ouverts"} dans ta variable locale ne sont pas utiles car tes deux premières le disent déjà ....

 

mais ca ne changera probablement rien à  ton problème.

 

Moi je préfère faire une condition par variable locale... Sinon ca fou le binz

Partager ce message


Lien à poster
Partager sur d’autres sites

@ Hansolo,

 

bou et ben ca marche pas..... c'est moche, je vais vraiment être obligé de passe par une scène

Partager ce message


Lien à poster
Partager sur d’autres sites

@Sebbruniel, en principe, les deux premier me servent pour la condition. si ouvrant droite ou si ouvrant gauche ouvert et que la variable est sur Fermes alors....

et la deuxième pour la fermeture.

local Fentre_SM_open =  {"Value",id["Windows_SMG"],"1"} , {"Value",id["Windows_SMD"],"1"} , {"Global", "Windows5", "Fermes"}
local Fentre_SM_close =  {"Value",id["Windows_SMG"],"0"} , {"Value",id["Windows_SMD"],"0"}, {"Global", "Windows5", "Ouverts"}

ensuite, dans ces lignes, c'est pour inverser la variable qui me sert ailleurs 

GEA.add({Fentre_SM_open}, 30, "", {{"Global", "Windows5", "Ouverts"} , {"VirtualDevice", id["Mod_Chauf_SM"], "4"}})
GEA.add({Fentre_SM_close}, 3*60, "", {{"Global", "Windows5", "Fermes"} , {"VirtualDevice", id["Mod_Chauf_SM"], "3"}})

Partager ce message


Lien à poster
Partager sur d’autres sites

par contre c'est du "ET" et non du "OU". Tes conditions marchent que si tu ouvres les deux cotés de ta fenetre

Partager ce message


Lien à poster
Partager sur d’autres sites

@Steven

 

Que penses-tu d'un ajout à  GEA ainsi:

GEA.add({ {"TriggerName", 12, "battery"}, -1, "", ... })

Cela permettrait d'intercepter les triggers comme 29 armed, 29 battery, ...

 

Je vais essayer d'ajouter cette fonctionnalités à  GEA.

 

L'idée est bonne mais j'ai peur que l'utilisateur pense que cela va remplacer l'entête. Il faut donc être clair avec cela. Sinon, c'est sà»r que cela permet d'être encore plus restrictif sur les déclenchements instantanés donc plus précis.

 

 

@Fredric 

Pour que tes conditions fonctionnent, il faudrait que les 2 fenêtres soient ouvertes ce qui n'est sà»rement pas le but recherché.

 

Voilà  ce que je mettrais mais sans garanti car non testable : 

-- 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"}})

Partager ce message


Lien à poster
Partager sur d’autres sites

Ce que je fais pour allumer une lampe si une des portes d'un placard est ouverte et éteindre si les deux portes sont fermées.(syntaxe des if datant des premières version de GEA)

	--Gestion lumière placard chb bas
	--Si un des capteurs d'ouverture est on j'allume 18
	GEA.add(id["PlacardChb1"], -1, "" ,{{"turnOn", id["LampePlacardChb"]}})
	GEA.add(id["PlacardChb2"], -1, "" ,{{"turnOn", id["LampePlacardChb"]}})
	--Condition pour éteindre la lumière du placard, les deux détecteurs àOff
	GEA.add(id["PlacardChb1"], -1, "", {{"Inverse"},{"If",{{"Value-",id["PlacardChb2"],1}}},{"turnOff",id["LampePlacardChb"]}})
	GEA.add(id["PlacardChb2"], -1, "", {{"Inverse"},{"If",{{"Value-",id["PlacardChb1"],1}}},{"turnOff",id["LampePlacardChb"]}})
 

Partager ce message


Lien à poster
Partager sur d’autres sites

merci à  vous, avec ça, je devrait me débrouiller  ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

@PITP2 : ecris comme ca pour ta condition tophoraire, a tester

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

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjpur

 

voilà  je voudrait peaufiner mes ouvertures de volets,

en ce moment, le volet du salon s'ouvre au lever du soleil, et se ferme au coucher du soleil + 40 mn...grosso modo

j'ai variable jours chomés/travail

 

j'aimerai avoir une ligne de commande, qui vérifie s'il est déjà  ouvert,

et ne s'ouvre pas avant 6 h 30 les jours de travail (8h30 jours chômés), et ne se ferment pas après 22 h. (pour l'été)

GEA.add(true, 1*60, "Ouverture Volet SALON", {estTravail,{"Time", "Sunrise>06:30", "Sunset"},{"Open", id["VOLET_SALON"], 100}})

GEA.add(true, 1*60, "Ouverture Volet SALON", {estChome,{"Time", "Sunrise>08:30", "Sunset"},{"Open", id["VOLET_SALON"], 100}})


je ne vois pas ou mettre la condition si déjà  ouvert et ne suis pas sà»r de ma ligne de commande

 

 

pour la fermeture j'ai cela actuellement

--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}})

merci pour votre aide

et moi et moi....

j'ai essayé ce matin la première commande, tous les volets se sont fermés !!!

Partager ce message


Lien à poster
Partager sur d’autres sites

×