Aller au contenu

Messages recommandés

Posté(e)

Bonjour a tous

 

j'ai un problème, problématique, je n'arrive pas à  stoppé une série de commande.  

 

j'ai un groupe de volets contrôler par SWIPE, mai il y a un incident quand ma fille a malheureusement passer sa main de le SWIPE et fermer les volets roulant, donc DANGER.

 

comment j'ai attribué a GEA le SWIPE:

Chaque mouvement active une variable "SWIPE"  = 100 open etc....

 

ci-dessous mon idée pour avertir que les volet ce ferme:

 

Tout les 5s le volet exécute une descente de: 15% puis 25%  puis   40%  et fermeture.

 

 

mai voila si je me rend compte qu'il y a un objet sous un volet, je souhaite STOPE les commandes et ouvrir les volets.. 

   local groupeVolet = {  
---cuisine
 id["VL_BAR"], id["VL_PRINCIPAL"]
 
}
 
   for i=1 , #groupeVolet do
    
	---Mode Départ SWIPE
    GEA.add({"Global", "SWIPE", "100"},   -1, "OPEN", {{"open", groupeVolet[i], 100}})
 
   end  
  
	---Mode Départ SWIPE
    local stop =  GEA.add({"Global", "SWIPE", "10"},   -1, "", {{"close", id["VL_PRINCIPAL"], 15}, {"close", id["VL_BAR"], 15}})
    local stop = GEA.add({"Global", "SWIPE", "10"},   -1, "", {{"Function", function() fibaro:sleep(10000) end}, {"close", id["VL_PRINCIPAL"], 25}, {"close", id["VL_BAR"], 25}})
    local stop = GEA.add({"Global", "SWIPE", "10"},   -1, "", {{"Function", function() fibaro:sleep(15000) end}, {"close", id["VL_PRINCIPAL"], 40}, {"close", id["VL_BAR"], 40}})
    local stop = GEA.add({"Global", "SWIPE", "10"},   -1, "", {{"Function", function() fibaro:sleep(25000) end}, {"close", id["VL_PRINCIPAL"], 100}, {"close", id["VL_BAR"], 100}})

 GEA.add({"Global", "SWIPE", "101"}, -1, " S T O P ", {{"StopTask", stop}})  

FF

 

FF

Posté(e)

Bonjour a tous,

 

Tout marche très bien sur une seul ligne du coup :-)

 

Un grand merci pour votre aide.

 

Bonne journée a tous

Posté(e)

Comment faites-vous cela dans le GEA? J'ai essayé plusieurs façons différentes, mais je ne peux pas le faire fonctionner comme je veux.

Équipement: capteur de mouvement Fibaro (id = 120), Siren (id = 99)

Fonction: Lorsque le capteur de mouvement est "armed" et il est un mouvement en face du capteur de mouvement, la sirène sera activée.

Que dois-je spécifier sous %% properties? 120 value ou 120 armed

Posté(e)

@971jmd,

ton code fonctionne comme tu l'as ecrit pour les variables "stop" ?

Je passerais  par le value du volet en condition en plus du swipe 10, ce qui permet d'eviter le StopTask mais tu devrais ecrire plusieurs lignes.

Sinon tu pourrais tout ecrire en 1 ligne si tu gardes ta declaration de STOP

Avec des volets, il serait bon de raouter les conditionsde position, c'est mieux ;-)
Comme ceci peut-etre
 

local stop =  GEA.add({"Global", "SWIPE", "10"},   -1, "", {
                {"close", id["VL_PRINCIPAL"], 15}, {"close", id["VL_BAR"], 15},
                {"Function", function() fibaro:sleep(10000) end}, {"close", id["VL_PRINCIPAL"], 25}, {"close", id["VL_BAR"], 25},
                {"Function", function() fibaro:sleep(15000) end}, {"close", id["VL_PRINCIPAL"], 40}, {"close", id["VL_BAR"], 40},
                {"Function", function() fibaro:sleep(25000) end}, {"close", id["VL_PRINCIPAL"], 100}, {"close", id["VL_BAR"], 100}
                })
GEA.add({"Global+", "SWIPE", "100"}, -1, " S T O P ", {{"StopTask", stop}})


@Borgs
Sous %%properties, 120 value

GEA.add(120, -1, "", {{"Armed"}, {"turnOn", 99}})

 

  • Upvote 1
Posté(e)

salut @Pepite et merci pour ton aide

 

j'ai réaliser ça mai le STOP ne fonctionne toujours pas 

--Mode Départ 
	---Mode Départ 2 clic  et Active la variable secu
    local stop =  GEA.add({"SceneActivation", id["VL_BAR"] , 24},   -1, "", {
	{"Global", "SECU_VOLET", "1"},
      {"Function", function() fibaro:sleep(5000) end}, {"close", id["VL_BAR"], 100}, 
      {"Function", function() fibaro:sleep(20000) end}, {"close", id["VL_PRINCIPAL"], 100}})

  ---- STOP
  GEA.add({{"SceneActivation", id["VL_BAR"] , 24}, {"Global", "SECU_VOLET", "1"}}, -1, " S T O P ", {{"StopTask", stop}})
  
  ---inversser 2 clic
   GEA.add({{"SceneActivation", id["VL_BAR"] , 24}, {"Global", "SECU_VOLET", "1"}},   -1, "", {
   {"open", id["VL_BAR"], 100}, {"open", id["VL_PRINCIPAL"], 100}})
  ---- remise zero secu volet
  GEA.add({"SceneActivation", id["VL_BAR"] , 24}, -1 , "", {{"Function", function() fibaro:sleep(50000) end}, {"Global", "SECU_VOLET", "0"}})
  
Posté(e)

le stop annule la ligne  6 et 7

 

ciment ça fonctionne :

 

2 clic le volet VL BAR descend dans 5ss puis le VL PRINCIPAL 20s après, mai si il y à  un probleme j’effectue un 2 clic de nouveau pou arrêté le compte a rebours et inverse les volets (ligne 13).

Posté(e) (modifié)

j'ai fait un test et j'ai   une erreur

local stop = GEA.add({"SceneActivation", id["VL_BAR"] , 24},   -1, "", {
	{"Global", "SECU_VOLET", "1"}, tempo, {"close", id["VL_BAR"], 100}, tempo, {"close", id["VL_PRINCIPAL"], 100}})

GEA.add({"Global", "swip_r", "100"},  -1, " S T O P ", {{"StopTask", stop}})

erreur


[DEBUG] 10:20:15: GEA Version 5.40 : en exécution...
[DEBUG] 10:20:15: [ swip_r=100 ] sendActions : traitement des actions (ID: 2) [StopTask,1]
[DEBUG] 10:20:15: [ swip_r=100 ] !!! ERREUR !!! : vérification (ID: 2) [StopTask,1]

Modifié par 971jmd
Posté(e) (modifié)

j'ai trouver le probleme mai pas solution

local stop = GEA.add({"SceneActivation", id["VL_BAR"] , 24},   1*60, "", {{"close", id["VL_BAR"], 100}.......

.

GEA.add({"Global", "swip_r", "100"},  -1, " S T O P ", {{"StopTask", stop}})

la pas de souci , le stop fonctionne

mai si rajoute une fonction comme {"Function", function() fibaro:sleep(50000) end} dans une ligne,  le STOP ne fonctionne plus

local stop = GEA.add({"SceneActivation", id["VL_BAR"] , 24}, -1 , "", {{"Function", function() fibaro:sleep(50000) end}, {"Global", "SECU_VOLET", "0"}}) 

GEA STOP la commande jusqu’à :  GEA.add({"SceneActivation", id["VL_BAR"] , 24}, 1*60,

mai n'a pas d'effet sur le reste de la ligne 

Modifié par 971jmd
Posté(e) (modifié)

j'ai réaliser un petit test 

et non impossible de Stoppée un   fibaro:sleep 

 

si dans les 20s j'active ma variable "  swip_r   "  le conteur continue ...

 

avez-vous une solution pour stoper fibaro:sleep  :13: 

 

​si il n'y a pas de solution,  comment arrêter  la scène dans son ensemble quand j’active ma variable  swip_r   

soit en GEA ou LUA

--[[
%% properties
%% events
%% globals
swip_r
--]]
 MaVariable = fibaro:getGlobal("swip_r")
 fibaro:debug('value = ' .. MaVariable) 

if (MaVariable == "100") then
   fibaro:call(52, "stop")
  end

fibaro:sleep(20000)
fibaro:call(52, "close")
Modifié par 971jmd
Posté(e)

Bonsoir,

 

Il y a quelques semaines j'ai installé le module virtuel "arrosage plante" qu'on trouve sur le fofo histoire de ne pas oublier d'arroser mes plantes.

Dans le topic il est mis la ligne de commande suivante pour GEA:

GEA.add({"Global-", "Date_Arrosage", os.time()}, 20*60, "", {{"VirtualDevice", id["VD_ARROSAGE_PLANTE"], "2"},{"Time", "19:00", "20:00"}}) 

J'ai adapté la ligne comme suis:

GEA.add({"Global-", "Date_Arrosage", os.time()}, 20*60, "", {{"VirtualDevice", id["VD_ARROSAGE_PLANTE"], 2}, {"Time", "19:00", "20:00"}, {"Repeat"}})

Le problème que j'ai est que cela me déclenche le rappel via le bouton 2 du VD seulement quand la date est dépassée la première fois. Quand je confirme que j'ai arrosé cela repousse de 7 jours et le problème et que la nouvelle notif ne marche pas 7 jours après. Seul moyen, redémarrer la box ou relancer GEA, à  ce moment là  j'ai la notif.

 

Une idée de l'origine du problème? Pour info je suis toujours en v3.600.

 

Merci :)

Posté(e) (modifié)

bonjour à  tous :)

 

j'ai constater un probleme avec GEA  sous 4.080 à  partager

 

Ma Lampe ne s’allume pas si Mavariable est entre 1 et 9

 

Ma lampe s'allume à  partir de 10 et plus 

 

peut être un probleme propre à  moi meme

GEA.add({"Global", "variable", "1"},              -1, "", {{"turnOn",........
Modifié par 971jmd
Posté(e)

Salut,

 

@971jmd,

Où en es-tu alors ? avec ton STOP ?

Et pour ta lumiere, d'après ta ligne, elle ne s'allume que lorsque ta variable est = 1

 

@lolomail

Normal que tu recoives la notif après le "save" de GEA, puisqu'il relit toutes les lignes ;-) et en fonction des conditions, agit ou non.

mais je ne sais pas pourquoi tu ne recois pas la notif à  chaque fois. Vais aller jeter un oeil au VD arrosage ;-)

Posté(e)
--[[
%% properties
%% events
%% globals
swip_r
--]]

MaVariable = fibaro:getGlobal("swip_r")
fibaro:debug('value = ' .. MaVariable) 
 
if (MaVariable == "100") then
   fibaro:call(52, "stop")
  end
 
fibaro:sleep(20000)
if (MaVariable ~= "100") then fibaro:call(52, "close") end

Pas besoin de stopper, il suffit de tester avant d'exécuter le "close".

Posté(e)

salut @Steven

 

c'est presque ça

 

 

le probleme est que quand je réalise un "STOP" il stoppe bien les volet mai si le fibaro:sleep(20000) est toujours en coure, il relance la fermeture 

Posté(e)

pour mieux comprend 

 

quand je lance la scène fermeture des volets et que je me rencontre que le volet n2 a un obstacle,  je lance une scène qui STOP les volets, 

les volets ce stop bien mai 20s apres  la fermeture reprend.

 

le probleme est le    fibaro:sleep(20000)    comment l'arrêtée complètement? 

----------scène fermeture 
----volet n1
fibaro:sleep(20000)
if (MaVariable ~= "100") then fibaro:call(52, "close") end
----volet n2
fibaro:sleep(20000)
if (MaVariable ~= "100") then fibaro:call(53, "close") end
----volet n3
fibaro:sleep(20000)
if (MaVariable ~= "100") then fibaro:call(54, "close") end
----volet n3
fibaro:sleep(20000)
if (MaVariable ~= "100") then fibaro:call(55, "close") end
Posté(e)

Si ta variable est à100 (stop), les close ne seront pas exécuté, peu importe le sleep. A moins que quelque chose change ta variable pendant ces 20 secondes.

Posté(e)

j'ai fait le test les volet reprenne leurs fermeture .

 

mai j'ai surement trouver la solution par un arrêt complet de la scène

 

comment par un code LUA  ou par un bouton virtuel, peut on arrête une scène ?.

Posté(e)

j'ai trouver 

 

fibaro:killScenes(ID_Scène à  stopper);
 
fibaro:startScene(ID_Scène à  relancer);
 
 
 

mai y-a-t-il un moyen d'executer les deux fonction dan GEA

Posté(e) (modifié)

salut,

 

donc comme steven a dit, tu as bien qqch qui change ta variable pdt ton sleep ,-)

 

Dans GEA, utilise un function, mais j'ai un vague souvenir que cela avait été prévu dans une des versions, mais la..je vais essayer de chercher, sinon jette un oeil dans le code de GEA

 

Retrouve :

{"Scenario", id}
{"StopScenario", id}
{"EnableScenario", id}
{"DisableScenario", id}

Plus très sur des majuscules, mais cela ne devrait pas poser de soucis.

Modifié par pepite
Posté(e)

Bonjour,

 

Est-il possible d'avoir un log des action effectuées par GEA mais hors du HC2.

En ce moment, pour chaque commande GEA, j'envoi un mail dans un boîte dédiée mais ce n'est pas super pratique. Le top serait un envoi dans une DB pour que sais-je ...

 

Avez-vous déjà  creusé le sujet ?

 

A+

Posté(e)

Bonjour,

 

Est-il possible d'avoir un log des action effectuées par GEA mais hors du HC2.

En ce moment, pour chaque commande GEA, j'envoi un mail dans un boîte dédiée mais ce n'est pas super pratique. Le top serait un envoi dans une DB pour que sais-je ...

 

Avez-vous déjà  creusé le sujet ?

 

A+

 

Si l'on pouvait aussi envoyer tous les "events" de la box dans une DB, cela serait possible de revoir cela plus tard et de faire des recherches plus fines, voir des tableaux de bord en fonction d'une pièce ou d'un type d’événement

auriez vous une idée si cela a déjà  été fait?

×
×
  • Créer...