Aller au contenu

Messages recommandés

Posté(e)

A partir du moment ou tu as une temporisation àmettre entre les actions (3 sec), tu ne peux plus utiliser GEA.

Posté(e)

Si c'est uniquement pour ça tu dois pouvoir arriver à  te débrouiller avec un truc simple avec un seul VD en utilisant un fibaro:sleep (3secondes)  :)  non ?

Posté(e)

Il y a une astuce.

local dodo = {"Function", fonction() fibaro:sleep(3000) end}

GEA.add(...,-1,"", {{"VirtualDevice",id["SONOS"],1}, dodo, {"VirtualDevice",id["SONOS"],2}, dodo,...})

Envoyé de depuis la voiture donc pas top du tout.

Posté(e)
local dodo = {"function()", function() fibaro:sleep(3000) end}  

 

      GEA.add( id["DETECTEUR"], -1,"", {{"VirtualDevice",id["RADIO"],1}, dodo, {"VirtualDevice",id["RADIO"],2}, dodo, {"VirtualDevice",id["RADIO"],3}})

  

J'ai plus de message erreur , mai sa ne demarre pas

 

 

sa veux dire quoi @#€@# de dictionnaire 

Posté(e)

F majuscule et sans les parenthèse
local dodo = {"Function", function() fibaro:sleep(3000) end} 

local dodo = {"Function", function() fibaro:sleep(3000) end}  
 
GEA.add( id["DETECTEUR"], -1,"", {{"VirtualDevice",id["RADIO"],1}, dodo, {"VirtualDevice",id["RADIO"],2}, dodo, {"VirtualDevice",id["RADIO"],3}})

Testé et approuvé mais faut faire un peu attention, a recopier ce qu'on te dis sinon, on perd un peu trop de temps

C'est déjà  pas facile de comprendre ce que les gens veulent alors si en plus il font pas attention, je m'en sors plus.

Posté(e)

@Hansolo Tu as déjà  essayer de taper du code sur ton smartphone en conduisant ? ... J'adore le challenge :)

 

Plus sérieusement, je fais beaucoup plus attention à  la route qu'à  ce que je tape ... d'ou les erreurs.

Posté(e)
voici le résultat  

 

[DEBUG] 17:26:25: GEA Version 3.70 : running...

[DEBUG] 17:26:25: [ 30 | porte CH id30 ] sendActions : traitement des actions [VirtualDevice,61,1] [Function..] [VirtualDevice,61,2] [Function..] [VirtualDevice,61,3]

[DEBUG] 17:26:25: [ 30 | porte CH id30 ] sendActions : !ACTION! : VirtualDevice 61,1 [VirtualDevice,61,1] [Function..] [VirtualDevice,61,2] [Function..] [VirtualDevice,61,3]

[DEBUG] 17:26:25: [ 30 | porte CH id30 ] sendActions : !ACTION! : Function OK [VirtualDevice,61,1] [Function..] [VirtualDevice,61,2] [Function..] [VirtualDevice,61,3]

[DEBUG] 17:26:25: [ 30 | porte CH id30 ] sendActions : !ACTION! : VirtualDevice 61,2 [VirtualDevice,61,1] [Function..] [VirtualDevice,61,2] [Function..] [VirtualDevice,61,3]

[DEBUG] 17:26:25: [ 30 | porte CH id30 ] sendActions : !ACTION! : Function OK [VirtualDevice,61,1] [Function..] [VirtualDevice,61,2] [Function..] [VirtualDevice,61,3]

 

 

mai il répète l'action trois fois 

Posté(e)

Version 3.75

  • [Nouveauté] GEA devient multilingue. Par défaut le français est conservé.

La traduction de la documentation suivra dès que possible

 

Le code est comme à  son habitude ICI

  • Upvote 1
Posté(e)

GROS MERCI Steven J'ai beaucoup appris

 

sa fonction bien,  j'ai augmenter sur la temps DODO

 

comme quoi il est possible de marier LUA et GEA :wub: 

 

local dodo = {"Function", function() fibaro:sleep(6000) end}   

 
     GEA.add( id["DETECTEUR"], -1,"", {{"VirtualDevice",id["RADIO"],1}, dodo, {"VirtualDevice",id["RADIO"],3}, dodo, {"VirtualDevice",id["RADIO"],4}})
 
:60:
Posté(e)

Oui mais attention, je t'ai donné cette astuce car tu utilises un déclenchement immédiat (dès que la porte s'ouvre).

 

Dans le cas d'un déclenchement immédiat, la Home Center crée un nouvelle instance de GEA en mémoire. A ce moment précis, tu as donc 2 GEA qui tourne en parallèle, celui qui tourne toutes les X secondes et celui qui vient de se lancer à  l'ouverture de la porte.

 

Si tu veux mettre des sleep(XXXXXX) dans le deuxième, pas de soucis mais mettre des sleep dans celui qui tourne toutes les X secondes serait catastrophique. Pour résumé sur tu mets :

 

GEA.add(..., -1, ...) tu peux faire ce que tu veux

GEA.add(..., 1 ou plus, ...) ne jamais utiliser de sleep

 

 

Edit : Content que cela fonctionne ... on y arrive toujours  :P

Posté(e)

qu'est que vous appeler catastrophique

 

 

j'ai pas bien compris la fonction de :

 

GEA.add(..., -1, ...) tu peux faire ce que tu veux

GEA.add(..., 1 ou plus, ...) ne jamais utiliser de sleep

 

ou pourrais je trouver un dico sur les fonctions (Function...... )

Posté(e)

Pour résumer 

 

 A l'ouverture de la porte de ma chambre entre 6H et 7H30

 

1- active le bouton mise en marche la TV

6 seconde après 

2- active le bouton mise en marche du decodeur

6 seconde après 

3- active le bouton mise en marche du Systems audio 

6 seconde après 

4- active le bouton radio

6 seconde après 

5- active le bouton Cherie FM  :15:

 

post-112-0-10525400-1407805183_thumb.jpg

post-112-0-57400000-1407805301_thumb.jpg

 

local dodo = {"Function", function() fibaro:sleep(6000) end}   
 
     
     GEA.add( id["DETECTEUR"], -1,"", {{"Time","19:00", "20:05"}, {"VirtualDevice",id["RADIO"],9}, dodo, {"VirtualDevice",id["RADIO"],8}, dodo, {"VirtualDevice",id["RADIO"],7}, dodo, {"VirtualDevice",id["RADIO"],1}, dodo, {"VirtualDevice",id["RADIO"],6}})
 
 
Merci a Steven, Hansolo et tout les autre 
  • Upvote 1
Posté(e)

Salut Steven,


 


Je constate que tu as ajouté l'action "Function". Je pensais à  quelque chose comme cela, mais en fait, tu l'avais déjà  ajoutée.  :D 


Je ne sais pas depuis quelle version de GEA, elle est disponible, mais depuis la 3.75, il y a deux exemples à  son sujet.


 


Dès que tu as deux minutes, peux-tu ajouter cette option dans la liste des actions possibles dans le post décrivant GEA ? ;) Merci.


 


Une question à  ce sujet:


Le résultat de la fonction exécutée peut-il être utilisé par GEA ?


Posté(e)

Non, je ne vais pas décrire cette fonction dans la documentation car je la trouve trop dangereuse, donc plus on l'oublie, mieux je me porte ;) . Elle existe depuis la version 3.60  et oui elle peut être mise comme coddition.

GEA.add({"Function", function() return true, 1000 end}, 30, "la valeur #value# est de 1000"} 

Le 1er paramètre retourné doit être true ou false

Le 2ème paramètre est la valeur stockée dans #value#

Posté(e)

Si j'ai bien compris, elle peut être mise en tant que déclencheur et aussi en tant qu'action ?


 


Peut-on l'utiliser dans un {"If", ...} ?


Posté(e)

En effet, par contre, je n'ai pas tester dans le IF mais il n'y a pas de raison que cela ne fonctionne pas.

Posté(e)

Oui mais attention, je t'ai donné cette astuce car tu utilises un déclenchement immédiat (dès que la porte s'ouvre).

 

Dans le cas d'un déclenchement immédiat, la Home Center crée un nouvelle instance de GEA en mémoire. A ce moment précis, tu as donc 2 GEA qui tourne en parallèle, celui qui tourne toutes les X secondes et celui qui vient de se lancer à  l'ouverture de la porte.

 

Si tu veux mettre des sleep(XXXXXX) dans le deuxième, pas de soucis mais mettre des sleep dans celui qui tourne toutes les X secondes serait catastrophique. Pour résumé sur tu mets :

 

GEA.add(..., -1, ...) tu peux faire ce que tu veux

GEA.add(..., 1 ou plus, ...) ne jamais utiliser de sleep

 

 

Edit : Content que cela fonctionne ... on y arrive toujours  :P

 

 

bonsoir 

 

je me rencontre que les mots catastrophiques, dangereux reviennent de temps en temps.

 

pouvez-vous nous enduire plus sur les danger de ce code 

Posté(e)

Quelqu'un a relu le code ?

Je pense qu'on est tous infecté par un vers malicieux répondant au doux nom de GEA, et n'obéissant qu'àson maitre Steven, qui est parti s'enduire de crème solaire pour ses vacances en compagnie de Fredo...

:rolleyes:

  • Upvote 1
Posté(e)

@Lazer ... lol, pas encore, demain

 

@97ljmd

GEA est un système qui fonctionne grace à  des mots clés telle que "TIme", "Day", "turnOff". Cela permet d'avoir un script qui est contrôlé. En laissant accès à  l'utilisateur de saisir son propre code LUA, il peut très facilement faire n'importe quoi et "casser" le fonctionnement du script.

 

Quand je dis catastrophique ou dangereux ... la PIRE chose qui puisses arriver c'est que le script ne fonctionne plus donc pas de panique. Par contre, si cela arrive quand on vous êtes en vacances c'est pas terrible du tout car éventuellement si le script "plante" il ne pourra plus allumer votre chaudière, descendre vos volets, ...

 

Quand on ajoute une ligne GEA.add(...,-1,...) avec le -1, c'est uniquement cette ligne que l'on peut planter sans que cela ne se voit donc c'est pas très grave. Par contre quand on dit à  GEA de vérifier toutes les X secondes GEA.add(..., 30, ...) c'est toutes les lignes qui peuvent être impactée. Voici un exemple.

 

GEA.checkEvery = 30;

GEA va donc vérifier toutes les 30 secondes toutes les commandes qu'on lui a dit de traiter. Maintenant si dans une de ces lignes l'utilisateur mais un fibaro:sleep(35000) (35 secondes)  GEA ne pourra plus respecter le délai des 30 secondes et va donc effectuer des traitements complètement décalés.

×
×
  • Créer...