Aller au contenu

Messages recommandés

Posté(e)
GEA.add({"Global+", "index", 0},  -1, "Valeur : #value#", {{"Function", function() fibaro:call(13, "setValue", fibaro:getGlobal("index")) end}}) 

@pepite

C'est tout a fait possible mais pas implémenté dans le GEA actuel,

 

A vu d'oeil, il faudrait juste remplacer : 

fibaro:call(id, "setValue", entry[GEA.keys["PARAMS"]][i][2])
-- et
fibaro:call(id, "setValue", entry[GEA.keys["PARAMS"]][i][3])

avec 

fibaro:call(id, "setValue", GEA.getMessage(entry[GEA.keys["PARAMS"]][i][2]))
-- et
fibaro:call(id, "setValue", GEA.getMesage(entry[GEA.keys["PARAMS"]][i][3])) 

GEA.getMessage() étant la fonction qui a pour but de rempalcer les #value#, .. par les valeurs.

Posté(e)

oh m...j'ai compris..faut faire attention @steven, je vais pouvoir partir en paix lol

 

Sans modif de GEA est-ce que la version 2 que j'ai proposée est possible ? avec le function en conditions et en Options.

Posté(e)

Presque juste  ;)

 

Tu avais une toute petite erreur :

fibaro:getGlobal("index") > 1

fibaro:getGlobal("index") retourne une chaîne de caractères que tu compares avec un number ... il manque juste tonumber(...) > 1

Posté(e) (modifié)

j'ai un petit probleme 

 

maintenant je tente de d’attribué la valeur de la LPDECO dans la variable index, mai ça ne fonctionne pas

 

 c'est la lampe deco qui attribut la valeur a la variable index et une foi attribuer elle déclenche la Lampesalon ID13 et la règle cette dernier avec la valeur de la variable index.

GEA.add({"Value+",  id["LPDECO"], 0},  -1, "", {
      {"Function", function() fibaro:call(174, "getValue", fibaro:setGlobal("index")) end}})  
  
  

GEA.add({"Global-", "index", 100},  -1, "", {
      {"Function", function() fibaro:call(13, "setValue", fibaro:getGlobal("index")) end}})  
  
  

Modifié par 971jmd
Posté(e)

@971jmd,

 

Han tu n'as pas bien lu ;-) ca fonctionne le #value# dans le sens que tu souhaites

GEA.add({"Value+", id["LPDECO"], 0}, -1, "Valeur : #value", {{"Global", "index", "#value#"}})
 
-- Tu peux meme l'écrire comme ceci, je crois
 
GEA.add(id["LPDECO"], -1, "Valeur : #value", {{"Global", "index", "#value#"}})

Et la ligne pour remettre la valeur sur la lampe "13" ne fonctionne que si tu as modifié ton GEA avec GEA.getMessage...

Posté(e)
GEA.add({"Global+", "index", 0},  -1, "Valeur : #value#", {{"Function", function() fibaro:call(13, "setValue", fibaro:getGlobal("index")) end}}) 

@pepite

C'est tout a fait possible mais pas implémenté dans le GEA actuel,

 

A vu d'oeil, il faudrait juste remplacer : 

fibaro:call(id, "setValue", entry[GEA.keys["PARAMS"]][i][2])
-- et
fibaro:call(id, "setValue", entry[GEA.keys["PARAMS"]][i][3])

avec 

fibaro:call(id, "setValue", GEA.getMessage(entry[GEA.keys["PARAMS"]][i][2]))
-- et
fibaro:call(id, "setValue", GEA.getMesage(entry[GEA.keys["PARAMS"]][i][3])) 

GEA.getMessage() étant la fonction qui a pour but de rempalcer les #value#, .. par les valeurs.

 

 

j'ai fait une recherche dans GEA et je ne trouve pas 

Posté(e)

Voila merci a vous deux, tout fonctionne nikel   :60:

 

mai il le manque quel que chose, je suis à  la recherche d'une formation en LUA, payant ou pas  ;)

-----Attribue la valeur de l luminosité à  la variable index 
  GEA.add({"Value-",  id["LPDECO"], 100},  -1, "", {
      {"Function", function() fibaro:setGlobal('index', fibaro:getValue(174, "value")) end}}) 


-----Affecte la valeur de la variable index à  ma lampe 
GEA.add({"Global-", "index", 100},  -1, "", {
      {"Function", function() fibaro:call(13, "setValue", fibaro:getGlobal("index")) end}})  
  
  
  
  • Upvote 1
Posté(e)

De doc officiel, j'en connais pas. Par contre @Tomzebest avait fait un travail de titan en traduisant la doc d'une vieille version (je ne sais plus laquelle). Mais cela n'a pas beaucoup évoluer.

 

Voici le lien http://www.domotique-fibaro.fr/index.php/cp/2-api-fibarofr/ mais il suffit de cliquer sur "API Fibaro.fr" dans le menu de ce même forum.

 

Encore bravo à  @Tomzebest.

  • Upvote 1
Posté(e)

Salut, mon GEA qui fonctionne à  merveille depuis plusieurs mois déconne un peu ces temps ci. Entre autres, il ne me mets plus à  jour certaines variables globales. 

Je suis passé en 4.1 et ma version de GEA est la 5.40, suis-je le seul à  rencontrer des problèmes ?

Posté(e)

Non tu n'es pas le seul, voir.le fil du firmware 4.1 ... :-( j'aurais du rester en .092 ...

Sent from my Note4

  • Upvote 1
Posté(e)

Non tu n'es pas le seul, voir.le fil du firmware 4.1 ... :-( j'aurais du rester en .092 ...

Sent from my Note4

 

argh, merci j'y jette un oeil de ce pas (damn it, il me semblait pourtant avoir lu des RAS, j'ai encore été trop confiant pour installer un eversion dite "stable")

Posté(e)

Je suis aux anges .. ma box me refuse de faire la mise à  jour vers la 4.100, je suis donc bloqué en 4.090 et cela pour mon plus grand bonheur  :60:

  • Upvote 3
Posté(e)

Merci :)

 

Oui, tout à  fait. Mais pour l'instant je n'ai pas eu trop de soucis avec ma box et mes modules et donc j'ai voulu privilégier la lisibilité et trouver un nom plus intuitif pour écrire le code plus rapidement ^^

Déformation professionnelle peut-être.

Posté(e)

regarde au dbut de mon GEA, tu veras comment sont només les devices par le générateur d'ID, il faut juste bien choisir la nomenclature, et c'est très lisible (en tout cas moi, je comprends)

Posté(e)

Oui, en effet, c'est lisible quand on relis les IDs mais ce que je recherche, c'est que lorsque j'écris les lignes de commande GEA, je ne cherche pas comment écrire les IDs.

Ils sont structurés par pièce et ont une syntaxe commune en essayant d'éviter les abréviations.

 

Au début, j'utilisais aussi cette manière d'écrire mais je devais tout le temps me référer à  la liste d'IDs  :(

Après, je pense qu'il est difficile de faire un nommage parfait, mais mon exemple montre qu'il y a plusieurs possibilités pour définir ses IDs ou groupes d'IDs.

 

J'utilise sublime text pour faire mes scripts GEA. Et en entrant le nom de la pièce et ".", il m'affiche la liste des modules qui existent (en plus de fonctions Lua prérenseignées).

  • Upvote 1
Posté(e)

@jojo 

dis, avec ton code ci-dessous:

je ne comprends pas comment to restart task fonctionne pour relancer la tâche d'extinction avec la condition suivante ???

Si la lumière est alumée, pas de restart en cas de mouvement non ? ou alors j'ai loupé une astuce...

{"Value", DeviceID["LUM_HALLNUIT_SDJ"], 0}
-- Hall de Nuit
  -- Lampe SdJ
    -- Extinction automatique de la lampe après 30s.
     local autoOffSdJ = GEA.add ({DeviceID["LUM_HALLNUIT_SDJ"], auth_LumInterieur, pasIncendie}, 31, "", {{"turnOff", DeviceID["LUM_HALLNUIT_SDJ"]}, {"NotStarted"}})
    -- Appuie sur l'interrupteur de la lampe, on stoppe l'extinction automatique.
     GEA.add (DeviceID["LUM_HALLNUIT_SDJ"], -1, "", {{"StopTask", autoOffSdJ}})
    -- Allumage de la lampe sur détection mouvement
     GEA.add ({DeviceID["MVT_HALLNUIT_SDJ"], auth_LumInterieur, estNuit, {"Value", DeviceID["LUM_HALLNUIT_SDJ"], 0}}, -1, "", {{"turnOn", DeviceID["LUM_HALLNUIT_SDJ"]}, {"RestartTask", autoOffSdJ}})
    -- Extinction de la lampe dans tous les cas après 10 min
     GEA.add ({DeviceID["ALARME_ACTIVE"], DeviceID["LUM_HALLNUIT_SDJ"], pasIncendie}, 10*60, "Extinction du Hall de Nuit SdJ, car allumée depuis #duration#. (#date# à  #time#)", {{"Inverse"}, {"turnOff", DeviceID["LUM_HALLNUIT_SDJ"]}, {"Email", UserID["Vincent"], "ALERTE - Lumière Hall de Nuit"}})
Posté(e)

Salut messieurs,

 

@tibahut, j'aime bien aussi ce type de declaration, mais suis comme les experts, en cas de changement d'IDS, ca ne m'est arrivé qu'1 fois, heuu quelle galere !!

 

++++++111111 pour Sublime TEXT, c'est TOP, ca propose tout hihihi et quand t'es pas dev comme moi, qu'est ce que c'est pratique ;-)

 

@sebcbien et @971jmd, heuuu ben zut alors, moi je comprends @jojo pour le restart hihi Ca veu dire que je vais avoir un GEA de 800 lignes ;-) lol

 

Avez vous vu que c'etait 2 differents : le detecteur de MVT et la LUM ?

Moi je comprends ca :

GEA.add ({DeviceID["MVT_HALLNUIT_SDJ"],-- detection de MVT
 auth_LumInterieur, -- autisation d'allumer
 estNuit, -- fait NUIT (important non )
 {"Value", DeviceID["LUM_HALLNUIT_SDJ"], 0}}, -- SI lumiere eteinte
  -1, "", {{"turnOn", DeviceID["LUM_HALLNUIT_SDJ"]}, -- ALLUME la lumiere
  {"RestartTask", autoOffSdJ}}) -- relance la tache d'extinction
   
  local autoOffSdJ = GEA.add ({DeviceID["LUM_HALLNUIT_SDJ"],  -- lumiere allumée
  auth_LumInterieur, -- autorisation d'allumer
   pasIncendie}, - pas le feu c'est cool
    31, "", {{"turnOff", DeviceID["LUM_HALLNUIT_SDJ"]}, -- on eteint apres 30 secs
     {"NotStarted"}}) -- tache non demarree pour GEA

C'est pas ca ?

  • Upvote 1
Posté(e)

ok, et donc comment tu prolonges la tâche d'extinction de la lumière en cas de mouvement quand la lumière est déjà  allumée ?

 

Moi je fais comme ça, mais avec le code de jojo, je me suis dit que je pourrais supprimer une ligne "-1" mais en fait non.

	-- Allume la lampe du cellier si détection de mouvement et si moins de 1% (économie zwave si lampe allumée)
  GEA.add({id2["CELLIER_MVT"], estNotHouse_Manuel,{"Value-", id2["CELLIER"],1}}, -1, "", {{"Value", id2["CELLIER"], 99}})
	-- Eteindre la lampe du cellier si pas de présence plus de 3 mn.
  local maLampeCellier = GEA.add({id2["CELLIER"],estNotSimu_Presence}, 3*60, "", {{"turnOff",id2["CELLIER"]}})
    -- relance tâche en cas de mouvement.
  GEA.add(id2["CELLIER_MVT"], -1, "", {{"RestartTask", maLampeCellier}})
Posté(e)

A priori il ne veut pas la relancer :60: :60:

 

Pour moi, etant donne que @jojo a mis en condition son VALUE à  0 pour relancer sa tache d'extinction, c'est qu'il ne veut pas relancer la tache sur detection de mouvement si la lumiere est allumee, tu n'as le droit qu'a 30 secs de lumiere chez @jojo dans le HALL ;-)

 

En 2 lignes tu pourrais comme ceci je pense, juste en jouant avec le detecteur de mouvement, soit tu mets une duree, soit tu le fais en "-1" ?

-- Allume la lampe du cellier si détection de mouvement et si moins de 1% (économie Z-Wave si lampe allumée)
  GEA.add({id2["CELLIER_MVT"], estNotHouse_Manuel,{"Value-", id2["CELLIER"],1}}, -1, "", {{"Value", id2["CELLIER"], 99}})
    -- Eteindre la lampe du cellier si pas de detection plus de 3 mn.
GEA.add({id2["CELLIER_MVT"],estNotSimu_Presence}, 3*60, "", {{"Inverse"}, {"turnOff",id2["CELLIER"]}})
Posté(e)

sans "économie" d'ordres zwave, en deux lignes c possible comme ceci:

  local maLampeCellier = GEA.add({id2["CELLIER"],estNotSimu_Presence}, 3*60, "", {{"turnOff",id2["CELLIER"]}})
  GEA.add({id2["CELLIER_MVT"], estNotHouse_Manuel}, -1, "", {{"Value", id2["CELLIER"], 99},{"RestartTask", maLampeCellier}})
×
×
  • Créer...