Aller au contenu

Gea : Gestionnaire D'événements Automatique


Steven

Messages recommandés

Exemple de scénario tordu.

 

Chez moi je n'ai pas de capteur de présence .. j'aime pas et pourtant je veux pouvoir allumer la lumière quand je rentre mais pas quand je sors. J'ai une armoire dans l'entrée ou l'on met nos vestes, chaussures. Donc on est obligé d'ouvrir cette armoire avant de sortir.

 

L'idée est donc la suivante. Si la porte de l'armoire s'ouvre, cela signifie que nous allons sortir et qu'il ne faudra pas allumé la lumière quand la porte d'entrée va s'ouvrir. Je vais utiliser une variable "Sortie" pour savoir ou j'en suis. 1 = sortie en cours,.

 

Ensuite, il va falloir que cette variable soit remise à  0 pour que quand je rentre la lumière s'allume. Je vais donc faire en sorte que si la variable est à  1 pendant plus de 5 minutes, je la remet à  0 .. j'ai donc 5 minutes pour sortir.

 

Plus tard, quand je rentre à  la maison et qu'il fait nuit, la variable sortie étant revenue à  0, je souhaite que la lumière de l'entrée s'allume pendant 5 minutes seulement et allume la lumière du salon. Cela nous permet de débarrasser nos vestes et chaussures et de quitter le hall d'entrée. Pour savoir si la lumière a été allumée par le script, je met la variable sortie à  2 ... attention, si j'ouvre la porte de l'armoire je ne dois pas remettre à  1 sinon je perd l'information.

 

Après 5 minutes, si la variable "Sortie" est à  2, j’éteins la lumière et je remets "Sortie" à  0

 

De plus, je veux savoir quand la femme de ménage arrive et repart les lundi et jeudi entre 16:00 et 19:30.

 

 

Et ben voilà , ce scénario tordu et compliqué tiens dans 5 lignes de code ;)

-- Si l'armoire (21) s'ouvre je bascule la variable globale à  1 seulement si elle est à  0
GEA.add(21, -1, "", {{"Global", "Sortie", "1"},{"If",{{"Global", "Sortie", "0"}}}})
-- Après 5 minutes si la variable est à  1, je la remets à  0 
GEA.add({"Global", "Sortie", "1"}, 5*60, "", {{"Global", "Sortie", "0"}})

-- Si la porte d'entrée (6) s'ouvre et que la variable est 0 et que le soleil est couché alors j'allume la lumière à  l'entrée (65) et je met ma variable à  2 indiquant ainsi que c'est le script qui a allumé la lumière
GEA.add(6, -1, "", {{"If",{{"Global", "Sortie", "0"}}}, {"Time", "Sunset", "Sunrise"}, {"turnOn",65}, {"VirtualDevice", 43, "8"}, {"Global", "Sortie", "2"}})

-- Si la la lumière (65) a été allumée par le script, je l'éteint après 5 minutes et remet la variable à  0
GEA.add({"Global", "Sortie", "2"}, 5*60, "", {{"turnOff", 65}, {"Global", "Sortie", "0"}})

-- Les lundis et jeudi, je souhaite savoir quand la femme de ménage arrive
GEA.add(6, -1, "Porte entrée ouverte à  #time#", {{"Days","Monday,Tuesday"}, {"Time","16:00","19:30"}})

.

.

.

Partagez vos expériences, cela peux nous aider.

Lien vers le commentaire
Partager sur d’autres sites

Bon il y a un soucis avec la plaque de rue qui est allumée en ce moment

GEA.add(98 , 15*60, "", {{"turnOn"},{"Inverse"},{"Time", "Sunset", "Sunrise"}}) -- Allumer au coucher du soleil + 15min
GEA.add(98 , 60, "", {{"turnOff"},{"Time", "22:29", "22:30"}, {"NOTDST"}}) -- Eteindre à  22:30 en hiver
GEA.add(98 , 60, "", {{"turnOff"},{"Time", "23:29", "23:30"}, {"DST"}}) -- Eteindre à  23:30 en été
GEA.add(98 , 60, "", {{"turnOn"},{"Inverse"},{"Time", "07:29", "07:30"}, {"NOTDST"}}) -- Allumer à  7:30 en hiver
GEA.add(98 , 60, "", {{"turnOff"},{"Time", "Sunrise", "Sunset"}, {"NOTDST"}}) -- Eteindre au lever du soleil en hiver
[DEBUG] 01:57:08: [ 98 | Eclairage Interphone ] Check : activé depuis 660/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 01:57:38: [ 98 | Eclairage Interphone ] Check : activé depuis 690/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 01:58:08: [ 98 | Eclairage Interphone ] Check : activé depuis 720/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 01:58:38: [ 98 | Eclairage Interphone ] Check : activé depuis 750/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 01:59:08: [ 98 | Eclairage Interphone ] Check : activé depuis 780/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 01:59:38: [ 98 | Eclairage Interphone ] Check : activé depuis 810/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 02:00:08: [ 98 | Eclairage Interphone ] Check : activé depuis 840/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 02:00:38: [ 98 | Eclairage Interphone ] Check : activé depuis 870/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 02:01:08: [ 98 | Eclairage Interphone ] Check : activé depuis 900/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 02:01:08: [ 98 | Eclairage Interphone ] sendActions : traitement des actions [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 02:01:08: [ 98 | Eclairage Interphone ] sendActions : !ACTION! : turnOn [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 02:01:08: [ 98 | Eclairage Interphone ] Done : tache effectuée et suspendue [turnOn] [Inverse] [Time,Sunset,Sunrise]

Je soupconne le {"Inverse"} de la ligne 2, c'est cela?

 

Lien vers le commentaire
Partager sur d’autres sites

Version 3.21

  • [Modification] #duration# affiche dorénavant la vrai durée et au format Xh Xm Xs (La porte est ouverte depuis 5m 30s)
  • [Nouveauté] Ajout de l'action {"Stop"} et {"Stop", <id>}

 

Je vais laisser le code pendant quelques jours sauf s'il y a des bugs bloquants.

 

@Tarentino

J'ai ajouté le Stop mais je ne vois pas trop comment cela pourrait t'aider  :(

 

@Diuck 

Oui "Open" recoit le pourcentage d'ouverture souhaité soit 100 pour 100% ouvert. Tu peux mettre "Close" 0 pour 0% fermé .. lol ... je te taquine.

 

Cela me permet de stopper le volet puis de le redescendre, je pensais que ca fonctionnerais mais apparemment non.

 

Merci a toi

 

La valeur (value) n'est prise en compte qu'a l'arrêt du volet, donc je stop une fois qu'il est stoppé, donc je fait rien :-)

Lien vers le commentaire
Partager sur d’autres sites

Whaouu maintenant c'est la précision Suisse ma porte ; )

Merci Steven. Ps : pas de probleme cette nuit avec les ouvrants. Je reste vigilant aujourd'hui. J'ai les cameras pour voir a distance au cas ou.

Envoyė avec Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

Question Steven, pourrais tu faire une commande qui serait déclencher sur une période de temps définie àl'aide de date? Par exemple entre le 15 juin et les 28 août?

J'ai dans l'idée de faire exécuter des actions a des périodes de l'année précise, par exemple mes lever de volets de manière plus simple que via les conditions que je t'avais exposé.

Merci :)

Lien vers le commentaire
Partager sur d’autres sites

Bon il y a un soucis avec la plaque de rue qui est allumée en ce moment

GEA.add(98 , 15*60, "", {{"turnOn"},{"Inverse"},{"Time", "Sunset", "Sunrise"}}) -- Allumer au coucher du soleil + 15min
GEA.add(98 , 60, "", {{"turnOff"},{"Time", "22:29", "22:30"}, {"NOTDST"}}) -- Eteindre à  22:30 en hiver
GEA.add(98 , 60, "", {{"turnOff"},{"Time", "23:29", "23:30"}, {"DST"}}) -- Eteindre à  23:30 en été
GEA.add(98 , 60, "", {{"turnOn"},{"Inverse"},{"Time", "07:29", "07:30"}, {"NOTDST"}}) -- Allumer à  7:30 en hiver
GEA.add(98 , 60, "", {{"turnOff"},{"Time", "Sunrise", "Sunset"}, {"NOTDST"}}) -- Eteindre au lever du soleil en hiver
[DEBUG] 01:57:08: [ 98 | Eclairage Interphone ] Check : activé depuis 660/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 01:57:38: [ 98 | Eclairage Interphone ] Check : activé depuis 690/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 01:58:08: [ 98 | Eclairage Interphone ] Check : activé depuis 720/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 01:58:38: [ 98 | Eclairage Interphone ] Check : activé depuis 750/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 01:59:08: [ 98 | Eclairage Interphone ] Check : activé depuis 780/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 01:59:38: [ 98 | Eclairage Interphone ] Check : activé depuis 810/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 02:00:08: [ 98 | Eclairage Interphone ] Check : activé depuis 840/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 02:00:38: [ 98 | Eclairage Interphone ] Check : activé depuis 870/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 02:01:08: [ 98 | Eclairage Interphone ] Check : activé depuis 900/900 [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 02:01:08: [ 98 | Eclairage Interphone ] sendActions : traitement des actions [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 02:01:08: [ 98 | Eclairage Interphone ] sendActions : !ACTION! : turnOn [turnOn] [Inverse] [Time,Sunset,Sunrise]
[DEBUG] 02:01:08: [ 98 | Eclairage Interphone ] Done : tache effectuée et suspendue [turnOn] [Inverse] [Time,Sunset,Sunrise]

Je soupconne le {"Inverse"} de la ligne 2, c'est cela?

 

C'est bien la ligne 2 ...

 

Voici ce que tu as demandé au système 

 

0 = Allumer si éteint plus de 15 mn
X = Eteindre si allumer plus d'une minute
C = Couché du soleil
L = Levé du soleil
 
 00000000000X00000000000000000000000000000000000000000000
 C                                                      L

 

Donc à  22h45, ta lampe va se rallumer.

 

Voici ce que tu souhaiterais

 

 00000000000X--------------------------------------------
 C                                                      L
 
Que la lampe s'allume du couché du soleil jusqu'à  22.30
 
-- L'été ---
GEA.add(98 , 15*60, "", {{"turnOn"},{"Inverse"},{"Time", "Sunset", "23:29"}}, {"DST"}) -- Allumer au coucher du soleil + 15min jusqu'à  22:30
GEA.add(98 , 60, "", {{"turnOff"},{"Time", "23:30", "23:31"}, {"DST"}}) -- Eteindre à  23:3
0 en été

-- L'hiver ---
GEA.add(98 , 15*60, "", {{"turnOn"},{"Inverse"},{"Time", "Sunset", "22:29"}}, {"NOTDST"}) -- Allumer au coucher du soleil + 15min jusqu'à  22:30
GEA.add(98 , 60, "", {{"turnOff"},{"Time", "22:30", "22:31"}, {"NOTDST"}}) -- Eteindre à  22:30 en hiver
GEA.add(98 , 60, "", {{"turnOn"},{"Inverse"},{"Time", "07:29", "07:30"}, {"NOTDST"}}) -- Allumer à  7:30 en hiver
GEA.add(98 , 60, "", {{"turnOff"},{"Time", "Sunrise", "Sunset"}, {"NOTDST"}}) -- Eteindre au lever du soleil en hiver
Lien vers le commentaire
Partager sur d’autres sites

@Tarentino

 

As-tu essayé en mode "Immédiat" ... imaginons que ton volet soit le numéro 101

 

Tu ajoutes 101 value dans les 1ère lignes du scripts

--[[
%% autostart
%% properties
101 value
%% globals
--]]

Puis tu ajoutes (après "A VOUS DE JOUER")

GEA.add(101, -1, "Volet arrêté", {{"Stop"},{"Time", "20:00", "08:00"}}

Dès que le volet change de valeur, le script devrait être exécuté.

 

Je ne peux pas tester, je n'ai pas de volets :(

Lien vers le commentaire
Partager sur d’autres sites

Question : 

 

#duration# fonctionne aussi dans une phrase lapin ?

 

Pas pour l'instant ... mais de toute façon  ... entendre ton lapin dire "ouvert depuis 3h 5m c'est pas terrible. Il faudrait que dans ce cas, on envoi "ouvert depuis 3 heures 5 minutes"

 

 

Edit : pour la prochaine version tu auras #durationfull# que tu pourras mettre dans n'importe quel message {"Global", "Karotz", "Ouvert depuis #durationfull#"}. Cela donnera "Ouvert depuis 3 heures 5 minutes 30 secondes". Tu pourras aussi mettre #time#, #date#, ...

Lien vers le commentaire
Partager sur d’autres sites

Question Steven, pourrais tu faire une commande qui serait déclencher sur une période de temps définie à  l'aide de date? Par exemple entre le 15 juin et les 28 aoà»t?

J'ai dans l'idée de faire exécuter des actions a des périodes de l'année précise, par exemple mes lever de volets de manière plus simple que via les conditions que je t'avais exposé.

Merci :)

 

 

Nouveauté : {"Dates", "01/06/2014", "31/12/2014"}

 

Soit du 01/06/2014 jusqu'au 31/12/2014 inclus

 

Disponible dans la prochaine version

Lien vers le commentaire
Partager sur d’autres sites

Pas pour l'instant ... mais de toute façon  ... entendre ton lapin dire "ouvert depuis 3h 5m c'est pas terrible. Il faudrait que dans ce cas, on envoi "ouvert depuis 3 heures 5 minutes"

 

 

Edit : pour la prochaine version tu auras #durationfull# que tu pourras mettre dans n'importe quel message {"Global", "Karotz", "Ouvert depuis #durationfull#"}. Cela donnera "Ouvert depuis 3 heures 5 minutes 30 secondes". Tu pourras aussi mettre #time#, #date#, ...

En effet, j'avais placé le code mais pas vu le résultat sur le smartphone.

Du coup j'avais rajouté à  #duration# minutes...

Je me suis retrouvé avec "La porte est ouverte depuis 10m minutes" lol

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

@Tarentino

 

As-tu essayé en mode "Immédiat" ... imaginons que ton volet soit le numéro 101

 

Tu ajoutes 101 value dans les 1ère lignes du scripts

--[[
%% autostart
%% properties
101 value
%% globals
--]]

Puis tu ajoutes (après "A VOUS DE JOUER")

GEA.add(101, -1, "Volet arrêté", {{"Stop"},{"Time", "20:00", "08:00"}}

Dès que le volet change de valeur, le script devrait être exécuté.

 

Je ne peux pas tester, je n'ai pas de volets :(

 

C'est ce que je voulais faire (c'est pourquoi je t'avais demander de me rajouter l'option stop), mais malheureusement, la valeur doit être modifié au moment du stop et pas pendant la montée (ou la descente). Donc je suis encore bloqué.

 

Merci quand même.

Lien vers le commentaire
Partager sur d’autres sites

Nouveauté : {"Dates", "01/06/2014", "31/12/2014"}

Top, merci :D . Tu pourrais aussi faire en sorte que cela ne tienne pas compte de l'année?

 

Une idée de ce que cela signifie : {"Time", "Sunrise<07:30", "Sunset<21:00"}

Oh que oui je sens bien que tu vas avoir réussi a faire une condition qui fait que le levé de soleil est plus tôt que 7h30 l'action ne se déroule qu'à  7h30 et si le levé est plus tard l'action se déroule au levé!! Trop fort le Steven :60:

Lien vers le commentaire
Partager sur d’autres sites

@lolomail

 

J'avais vu l'inverse c'est à  dire "au lever du soleil" s'il est avant 7:30 sinon à  7:30.

 

Est-ce que cette interprétation te semble correcte ? Sinon j'inverse.

 

 

 

 

@Tarentino

 

Désolé :(

Lien vers le commentaire
Partager sur d’autres sites

Bah moi c'est plus dans l'inverse pour le levé de soleil car je souhaite pas être réveillé par mes volets qui s'ouvre à  6h du mat de part le levé de soleil quand je me lève à  7h30... Après pour le soir c'est dans le bon sens car autant que les volets de ferment à  maxi 22h puis avant fonction du coucher de soleil.

Le mieux serait de pouvoir faire les deux avec soit sunset>07:30 ou sunset<07:30 mais je ne sais pas si cela va pas gérer une usine à  gaz...

 

Je sais je te demande un truc tordu :15: .

 

En tout cas respect pour tout le taff que tu fais et la prise en compte de nos demandes ;). Mes volets fonctionnent nickel avec la température, faut que je regarde à  mettre d'autres actions dans le GEA :60:

Lien vers le commentaire
Partager sur d’autres sites

C'est déjà  le cas, tu peux faire > ou <

 

Si Sunrise et à  6:17

 

"Sunrise>07:30" = 07:30   06:17>07:30 = faux = 07:30   ... au plus tôt 07:30

"Sunrise<07:30" = 06:17   06:17<07:30 = vrai = 06:17   ... au plus tard 07:30

 

Et identique pour le couché

 

 

 

Edit : pour les dates, c'est tout bon {"Dates", "01/06", "15/06"}  ou {"Dates", "01/06/2014", "15/06/2014"} 

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...