Aller au contenu

Recommended Posts

ok, now i get it.

 

First example with message translation the function both gets triggered and exists.

trigger:

local oldFunction = GEA . getMessage

 

In this example we create another function but let the "gea.add" condition trigger the function.

 

Thanks alot!

Partager ce message


Lien à poster
Partager sur d’autres sites

somehow i can not get this to work:

 

    GEA.add( {{HomeEveningAwakeDark}, {id["Kitchen_Sink"]}}, 1, "", {
       {"Hue", id["HUE_kitchen"], "hue", 1}, --helder
      {"Hue", id["HUE_kitchen"], "bri", 254},
     {"Hue", id["HUE_kitchen"], "sat", 121}     
 })

 

trying to get 2 conditions ( local HomeEveningAwakeDark and the On condition of a device ) to trigger the settings of HUE_kitchen

Partager ce message


Lien à poster
Partager sur d’autres sites

bon j'ai mis la 6.06

ca semble ok :-)

 

j'ai des choses nouvelles

 

[DEBUG] 21:38:30: GEA a démarré le 31.01.18 à 21:38:30 ...
[DEBUG] 21:38:30: ... vérification en cours #0 @0s...
[DEBUG] 21:38:30:    [Démarrage] #2 [true]
[DEBUG] 21:39:00: ... vérification en cours #1 @30s...
[DEBUG] 21:39:00: Optimisation en cours ...
[DEBUG] 21:39:00: Suppression d'option inutile : slider
[DEBUG] 21:39:00: Suppression d'option inutile : dayevenodd

 

du coup je suis un peu perdu... lol

 

cette version est bien différente des autres :o dans le debug

 

[DEBUG] 21:41:30: ... vérification en cours #6 @180s...
[DEBUG] 21:41:30:    [Démarrage] #15 [true][VirtualDevice, [546,5]] *répété*
[DEBUG] 21:41:41: --------------------------------------------------------------------------------
[DEBUG] 21:41:41: Démarrage par évenement de GEA 6.06 (mode property [67])
[DEBUG] 21:41:41: --------------------------------------------------------------------------------
[DEBUG] 21:41:50: --------------------------------------------------------------------------------
[DEBUG] 21:41:50: Démarrage par évenement de GEA 6.06 (mode property [250])
[DEBUG] 21:41:50: --------------------------------------------------------------------------------
[DEBUG] 21:41:53: --------------------------------------------------------------------------------
[DEBUG] 21:41:53: Démarrage par évenement de GEA 6.06 (mode property [147])
[DEBUG] 21:41:53: --------------------------------------------------------------------------------
[DEBUG] 21:42:00: ... vérification en cours #7 @210s...

c'est quoi toutes ces vérifications ?

Modifié par Sakkhho

Partager ce message


Lien à poster
Partager sur d’autres sites

Édit.
Pas de bug de Gea mais la funtion slider ne passe pas.
Faut que je test avec slider seul.

Partager ce message


Lien à poster
Partager sur d’autres sites

Je reviens sur le sujet de mes volets et je vous confirme que 

   - {"Time", "20:25"} fonctionne correctement avec un seul horaire

   - {"Time", "Sunset+60"} fonctionne correctement

 

Je tente de mettre la condition sur le statut des volet (si le volet est fermé, je ne le ferme pas et si le volet est ouvert je ne l'ouvre pas) c'est clair jusque là !

 

J'ai pris pour hypothèse que le volet prends les valeurs ci-dessous:

   - si volet est ouvert, la valeur est égale à 0 donc j'ai rajouté la condition d'ouvrir le volet uniquement si la valeur du volet est différente de 0 donc {"Value!", id["VOLET_SALON"], 0} 

   - si volet est fermé, la valeur est égale à 100 donc j'ai rajouté la condition de fermer le volet uniquement si la valeur du volet est différente de 100 donc {"Value!", id["VOLET_SALON"], 100}

 

Cela ne fonctionne pas donc mon hypothèse sur la valeur n'est pas bonne.

 

HS : je ne sait malheureusement pas comment lire la valeur d'un module.

J'ai vu qu'il y as une fonction fibaro:getvalue mais je ne sait pas comment la mettre en place afin de connaître la valeur d'un module.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Simple, tu crées un scénario.

Tu y mets simplement :

 

fibaro:debug( fibaro:getValue(<id volet>, "value") )

 

Tu le lances et tu vois directement le résultat.

 

@Sakkhho

Toutes ces lignes dans le debug existent depuis la 6.00. Content que tu n'aies plus d'erreur avec "Function" et oui, tu peux tester le "Slider". Il fonctionne bien chez moi en tout cas.

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 10 heures, Sakkhho a dit :

funtion slider ne passe pas

Heu tu as fait un function avec "Slider" de la syntaxe GEA ?? 

@Sakkhho

tu peux retester "Slider" avec une ligne habituelle sans function. GEA.add(...,30, "", {"Slider", ....}

@Steven Tu as vu dans sa capture d'écran : suppresison inutile : slider ;-)

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@basklj

 

You can do like this and put in the header for exemple

%% properties 
45 value 

 

GEA.add( {id["Kitchen_Sink"], HomeEveningAwakeDark}, -1, "", {
       {"Hue", id["HUE_kitchen"], "hue", 1}, --helder
      {"Hue", id["HUE_kitchen"], "bri", 254},
     {"Hue", id["HUE_kitchen"], "sat", 121}     
 }) 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci @Steven

 

C'étais pas grand chose mais cela m'as permis de voir mon erreur. Alors pour information:

- un volet ouvert prends la valeur 99

- un volet fermé prends la valeur 0

 

J'ai corrigé mon GEA, je vous tiens au courant.

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 24 minutes, pepite a dit :

@Steven Tu as vu dans sa capture d'écran : suppresison inutile : slider ;-)

 

Normal, il utilisait "Label" à la place de "Slider" vu que cela ne fonctionnait pas avant :-)

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 01/02/2018 à 09:34, pepite a dit :

Heu tu as fait un function avec "Slider" de la syntaxe GEA ?? 

@Sakkhho

tu peux retester "Slider" avec une ligne habituelle sans function. GEA.add(...,30, "", {"Slider", ....}

@Steven Tu as vu dans sa capture d'écran : suppresison inutile : slider ;-)

 

ben désolé j'étais en deplacement

 

donc j'ai pas changé ma ligne avec GEA 6.06

ca bug pas, mais la commande slider via une function ne passe pas

 

je vais tester avec la ligne classique du coup {"Slider", ....}

 

edit : 6.06 en place

Modifié par Sakkhho

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut Pepite, 

 

J'ai besoin de ton aide. Je peste sur GEA. Impossible de le faire fonctionner avec le code -1 en instantané. Je  peste. Je ne comprends pas pourquoi cela ne marche pas.

 

Pour faire simple, voici la regle : si (la porte (530) s'ouvre et que la variable "Test_Marc_Prese"=1) alors envoi moi une notification

voila mon code:

       GEA.add({530,{"Global", "Test_Marc_Prese",1}},-1,"GEA3:-1sec Marc is @Home ")
    -- GEA.add(530,-1,"GEA7:-1sec Marc is @Home ",{"Global", "Test_Marc_Prese",1})
    -- GEA.add(530, 0,"GEA5:0 sec Marc is @Home ")
J'ai mis la condition sur la variable avant (GEA) puis après (GEA7), meme resultat.

voici ce que j'ai mis en tete de script:

--[[
%% autostart
%% properties
530 value
%% globals
Test_Marc_Prese
--]]

 

au niveau de la config : j'ai mis un check toutes les seconds (je ne sais pas si c'est le top

GEA.checkEvery = 1 --30
  GEA.debug = false
  GEA.portables = {51}
  GEA.globalvariables = "GEA_Tasks"
  GEA.control = true
  GEA.batteriesWithRoom = true
  GEA.language = "fr"

 

Que fais-je de faux?

Il y a que la commande "GEA.add(530, 0,"GEA5:0 sec Marc is @Home ")" qui fonctionne une seule fois.

 

Suis pas con d'habitude mais là je ne comprends pas.

 

help

Modifié par Lorenzo

Partager ce message


Lien à poster
Partager sur d’autres sites

c'est pas le type dans la variable qui bloque ?

peut être :

 

    GEA.add({530,{"Global", "Test_Marc_Prese","1"}},-1,"GEA3:-1sec Marc is @Home")

?

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut @Lorenzo

 

PAs de panique, on va essayer de débogguer et de comprendre. 

A 1ère vue : si  le déclencheur est la porte (530) inutile de mettre "Test_Marc_Prese" dans l'entête sous %% globals

Quelle version de GEA as-tu ? 

Peux tu essayer simplement cela ? 

 

GEA.add(530,-1,"Test instantané 530")

 

Il y a 3 heures, Lorenzo a dit :

au niveau de la config : j'ai mis un check toutes les seconds (je ne sais pas si c'est le top

C'est effectivement pas le TOP, la préconisation est 30. 

"Toutes les secondes" peut poser un gros problème : supposons que le temps de traitement de ta scène GEA soit > 1 sec ..heu...on voit vite qu'il peut y avoir un bug ;-) 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

messieurs

 

pourquoi j'ai ca :

[DEBUG] 15:09:43: Option : Batteries, 40 n'existe pas

avec ca

 

GEA.batteriesWithRoom = true
GEA.add({"Batteries, 40"}, 24*60*60, "#name#")

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

et j'ai ce problème maintenant en 6.06 - était ok en 6.04

 

-- Camera Ext
    GEA.add({"Label!", id["CAMERA_EXT_PARKING"], "Label6", "Portillon"}, 10*60, "Caméra retour de position #value# - #time#", {{"VirtualDevice", id["CAMERA_EXT_PARKING"], 8},{"Repeat"}}) -- Camera visu portillon.
   -- GEA.add({"Label!", id["CAMERA_EXT_PARKING"], "Label6", ""}, 0, "CAMERA CAMERA_EXT_PARKING est positionnée sur #value# ")

Label6 #value# - renvoi NIL

Label6 étant dans l'interface HC2 "ID" du label,  et le label=nom affiché "Caméra Ext"

 

je dois mettre quoi du coup ?

 

 

 

Modifié par Sakkhho

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 5 heures, pepite a dit :

Salut @Lorenzo

 

PAs de panique, on va essayer de débogguer et de comprendre. 

A 1ère vue : si  le déclencheur est la porte (530) inutile de mettre "Test_Marc_Prese" dans l'entête sous %% globals

 

Quelle version de GEA as-tu ? 

=>la version est 6.04

 

Peux tu essayer simplement cela ? 

 


GEA.add(530,-1,"Test instantané 530")

=> je viens d'essayer et rien ne se passe.

 

C'est effectivement pas le TOP, la préconisation est 30. 

"Toutes les secondes" peut poser un gros problème : supposons que le temps de traitement de ta scène GEA soit > 1 sec ..heu...on voit vite qu'il peut y avoir un bug ;-) 

=> J'ai remis à 30 seconds comme avant mais cela n'a rien change.

 

Il y a 5 heures, pepite a dit :

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

hello les amis, avez vous une idée pour les 2 sujets ci dessus ?

- la syntaxe correcte pour  "batteries" ?

- et la partie label qui marche plus en 6.06 versus 6.04

 

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

J'utilise une ligne similaire pour "batteries" qui marche mais  le guillemet 'est accolée à batteries soit GEA.add({"Batteries",40)...

Partager ce message


Lien à poster
Partager sur d’autres sites

effectivement ! quel gros boulet. - j'ai copié collé la ligne qq posts avant et sans faire attention au "".... merci !

 

me reste mon histoire de label maintenant

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour messieurs,

 

bizarre, bizarre ;-) 

 

@Sakkhho peux tu essayer cela dans une scene stp ?

 

print(fibaro:getValue(id, "ui.Label6.value"))

 

Normal pour ton option,il te manque des guillemets :60: et pas de guillemets qui ferment après 40 ;-)

 

Citation

GEA.add({"Batteries", 40}, 24*60*60, "#name#")

@Lorenzo

 

Il y a 18 heures, Lorenzo a dit :

=> je viens d'essayer et rien ne se passe.

Tu as bien laisse 530 dans l'entête ? 

 

Peux tu faire dans un navigateur : http://iphc2/api/devices/530

 

puis ouvre la porte et regarde si le value change de valeur. 

 

Essaie aussi en remplaçant 30 par -1 qu'on détermine si cela vient des déclenchements instantanés ou en automatique

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

le print donne bien ce qu'il faut à savoir  :

 

[DEBUG] 14:45:45: Portillon

 

Modifié par Sakkhho

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour tout le monde

Bon après 2 ou 3 semaines sans travaillé sur la maitrise et optimisation de GEA version 6

je m'attelle à basculer mes automatiques sur la version 6.05 officielle

 

Je rencontre cependant une erreur avec la gestion des fonctions insérée dans une ligne GEA

J'ai des instructions pour gérer la génération de backup tous les premiers samedi du mois

 

Voici mon bout de code

 -- Fonction déterminant si nous sommes le 1er samedi du mois
  function isFirstSaturday()
    local t = os.date('*t')
    return ( t['day'] < 8 and t['wday'] == 7 )
  end

  -- Backup le 1er samedi du mois
  GEA.add({{"Time","01:30"},{"Function",function() return isFirstSaturday() end}} , 30 , "Backup mensuel de la HC2" , {{"Scenario", id["SC_HC2_BACKUP"]},{"Email", id["USER_ERIC"],"Backup mensuel de la HC2 - #date#","INFO TECHNIQUE - HC2"}})
  GEA.add({{"Time","02:00"},{"Function",function() return isFirstSaturday() end}} , 30 , "Suppression mensuel du plus vieux backup de la HC2" , {{"Scenario", id["SC_HC2_BACKUP_SUPP"]},{"Email", id["USER_ERIC"],"Suppression mensuel du plus vieux backup de la HC2 - #date#","INFO TECHNIQUE - HC2"}})

 

GEA bloque et plante et génère le message d'erreur suivant

[DEBUG] 14:47:51: line 93: Failed to encode value, encoders for function deny encoding

Tout fonctionnait correctement en v5 et en v6.03, il me semble pourtant respecter les consignes données dans syntaxe

- Function : {"Function", function() return true or false, value end} 	        - "RESERVE AUX DEVELOPPEURS" \\Reserved to developers
	CONDITIONS : 
		GEA.add( {"Function",function() return titi end}, 30, "", {ACTIONS} )   - Si la fonction retourne le resultat \\if function returns result 

	ACTIONS : 
		GEA.add( {CONDITIONS}, 30, "", {"Function", function() code end} )		- Execute le code présent dans la fonction \\Execute the code inside the function 

 

 

Y a t il une autre méthode pour faire déclencher mes deux lignes uniquement les premiers samedi de chaque mois

Ou auriez vous une idée ce qui cloche?

 

Merci 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

×