Aller au contenu

Messages recommandés

Posté(e)
il y a une heure, 971jmd a dit :

tout seul le code si-dessus fonctionne

Heu, tu ne devrais pas avoir à isoler tout le reste du code pour que cela fonctionne

J'ai des lignes avec VariableCache (j'adore ne pas avoir à passer par une globale si ca reste en pur GEA (je crois même que la suggestion vient de moi..;;-)) et je n'ai aucun souci.

  • Haha 1
Posté(e)
Il y a 2 heures, Steven a dit :

Ce test ne me plaît pas, il manque les accolades à la 1ère ligne et il faut bien sûr que la porte reste ouverte plus de 30s.

 

Cela fonctionne très bien si on respecte la règle de "la même instance".

 

 

afin de bien comprendre, que veux dire:   même instance 

Posté(e)

bonjour 

 

j'ai un autre petit problème

 

quand il y à VirtualDevice le Scénario 4 ne s'exécute pas  

 

je souhaiterai rajoutée un temps de 5s entre chaque ligne d’exécution

 

il me semple qu'il existe une fonction qui ce substitut a SLEEP mai qui ne perturbe pas mon GEA

GEA.add({"Global", "TELECOMAND", "B"}, -1, "Désactivation du mode Projo", {  {"Scenario", 4}, 
      {"VirtualDevice", id["APPEL_TV"], 8}, -----appel TV bouton menu
      {"Open", 27}, ---- Open rideau
      {"Open", 13},  ----- Open ecrant
      {"turnOff", id["LAMPE_DECO"]} , 
      {"Global", "TELECOMAND", "0"}
     
    })

 

Posté(e)

@971jmd

 

Au fait, désolé pour la réponse tardive.

Lorsque tu lances une scène, cela fait 1 instance.

En fonction de ce que tu demandes de faire à la scène, cela lance parfois 1 AUTRE instance.

C'est le cas dans GEA avec les déclenchements instantanés.

 

Je m'explique :

 - lancement de GEA : 1 instance avec le GEA.checkEvery par défaut à 30

 - Déclenchement instantané dans GEA : 1 autre instance ....

 

Pour les SLEEP dont tu parles, regarde justement l'option "SLEEP" qui n'est pas un sleep LUA (ou autre)mais fait un setTimeout, donc n’arrête pas la scène, ne perturbe donc pas GEA.

- SLEEP (LUA..) : mets en pause la scène, tout le code ce situant dessous ne sera lu qu'à la fin de la durée du sleep

- SLEEP "GEA" :

     --> execute un setTimeout "LUA"

     --> ne mets pas en pause la scène, le code situé dessous est lu.

    --> à la fin de la durée du setTimeout, le code situé sous le setTimeout est lu.

 

 

Posté(e)

nikel merci, j'ai trouver la syntaxe GEA

 

ACTIONS : 
        GEA.add( {CONDITIONS, 30, "", { {"VD", id["TELCO_TV"], telcotv_mute},         - Appui sur bouton mute de la télécommande,
            {"Sleep", 1, {"VD", id["TELCO_TV"], telcotv_ok}} })     

 

  • 2 semaines après...
Posté(e)

Salut.

J'ai installé une store-banne à la maison et bien sur je l'ai domotisé avec un Fibaro Roller Shutter 2. Tout fonctionne bien, c'est déjà ça!

Par contre sur GEA, je souhaite mettre quelques lignes pour des conditions météo qui peuvent poser problème au store-banne.

Voici mon code, j'ai utilisé la syntaxe avec GEA 6.07:

-- ==================================================
-- STORE-BANNE CONDITIONS MÉTÉO
-- ==================================================
GEA.add( {"Weather", "Storm"}, 0, "#value#", {"Close",id["STORE_BANNE"]}) --Tempête
GEA.add( {"Weather", "Snow"}, 0, "#value#", {"Close",id["STORE_BANNE"]}) --Neige
GEA.add( {"Weather", "Rain"}, 0, "#value#", {"Close",id["STORE_BANNE"]}) --Pluie
GEA.add( {"Weather+", "Wind", 35}, 0, "#value#", {"Close",id["STORE_BANNE"]}) --Vent plus de 35 km/h

Voici ce j'obtient sur le debug:

[DEBUG] 23:29:26: [1;31m2018-07-10 23:29:26.553553 [ error] API: Not found
[DEBUG] 23:29:26: [1;31m2018-07-10 23:29:26.563131 [ error] API: Not found

J'ai l'impression qu'il y a un truc qui ne va pas.

 

Et enfin, faut-il mettre les valeurs des conditions avec une majuscule (rain ou Rain, storm ou Storm, etc...) ou pas? J'ai cherché sur la syntaxe GEA mais je n'ai rien trouvé sur ça.

 

Merci de votre aide.

Posté(e)

salut

 

tu a essayé de de testé ligne par ligne 

 

tout seul

GEA.add( {"Weather", "Storm"}, 0, "#value#", {"Close",id["STORE_BANNE"]}) --Tempête

ou si erreur 

 

GEA.add( {"Weather", "Storm"}, 30, "#value#", {"Close",id["STORE_BANNE"]}) --Tempête

 

ou

 

GEA.add(true, 30, "test", {"Close",id["STORE_BANNE"]}) --Tempête

 

etc

 

Posté(e)

Les expert GEA

 

juste pour savoir, est il possible de d’intégrée dans GEA la condition suivante : ( api.get('/weather')['WeatherCondition'] == "clear" )

 

un genre :  GEA.add( {"Function", function()      ( api.get('/weather')['WeatherCondition'] == "cloudy" ) end}........

 

j'ai essayer, mai je suis pas parvenue 

Posté(e)

Bonjour,

 

@fredokl Cette erreur n'est pas due à GEA.

Serais tu passé en 4.503 beta ? C'est l'erreur dont a parlé @Steven. Va voir le topic du firmware ;-)

 

@971jmd je ne comprends pas ce que tu souhaites faire, cela existe déjà :

GEA.add( {"Weather", "Cloudy"}, 0, "#value#", {ACTIONS} )

:60:

Posté(e)

En tout cas, je confirme l'erreur avec la 4.503 ... celle-ci mérite bien le nom de "Béta" car j'ai pas mal d'erreur avec l'utilisation des APIs.

  • Like 1
Posté(e)

salut @pepite

 

moi juste une expérience 

 

le :  

GEA.add( {"Weather", "Cloudy"}, 0, "#value#", {ACTIONS} )

génère en 4.503 une erreur et avec un scène lua avec:  ( api.get('/weather')['WeatherCondition'] == "cloudy" )   ça fonctionne 

 

donc mon teste est de tester ( api.get('/weather')['WeatherCondition'] == "cloudy" )  directement dans une ligne GEA avec:    GEA.add( {"Function", function()  .........

 

 

Posté(e) (modifié)

@pepite et @971jmd Merci pour vos réponses. Oui je suis passé sur 4.503 bêta. J'ai mal compris l'erreur API. Je vais attendre une MAJ de GEA ou une version stable pour la HC2 qui corrigera peut-être ce problème. Mise à part ça, tout roule avec GEA alors je vais le laisser tranquille  pour le moment et utiliser des scènes simples pour mon store-banne.

Modifié par fredokl
Posté(e) (modifié)

Dans l'attente,  tu peux toujours essayer ça 

 

1- crée une scène LUA

2- Et une variable METEO 

--[[
%% properties
%% weather
WeatherCondition
%% events
%% globals
--]]

local startSource = fibaro:getSourceTrigger();
local meteo = fibaro:getGlobalValue("METEO ")
if      ( api.get('/weather')['WeatherCondition'] == "clear" ) 		then fibaro:setGlobal("METEO ", "Dégagé"); --Dégagé
elseif  ( api.get('/weather')['WeatherCondition'] == "cloudy" ) 	then fibaro:setGlobal("METEO ", "Nuageux");--Nuageux
elseif  ( api.get('/weather')['WeatherCondition'] == "rain" ) 		then fibaro:setGlobal("METEO ", "Pluie"); --Pluie
elseif  ( api.get('/weather')['WeatherCondition'] == "snow" ) 		then fibaro:setGlobal("METEO ", "Neige"); --Neige
elseif  ( api.get('/weather')['WeatherCondition'] == "storm" ) 		then fibaro:setGlobal("METEO ", "Tempête");--Tempête 
elseif  ( api.get('/weather')['WeatherCondition'] == "fog" )  		then fibaro:setGlobal("METEO ", "Brouillard"); --Brouillard
end

et dans GEA


GEA.add({"Global", "METEO", "Dégagé"},     -1 , "", {{..........

GEA.add({"Global", "METEO", "Nuageux"},   -1 , "", {{..........

 etc


 

 

 

Modifié par 971jmd
  • Like 1
Posté(e)

@971jmd je viens de créer la scène et il y a la même erreur que sur GEA, soit:

 

[DEBUG] 22:59:53: [1;31m2018-07-11 22:59:53.314287 [ error] API: Not found

Bon je croit que cette bêta pose quand même quelques souci.

Posté(e)

Bizard  FIBARO:P

 

moi non 

 

code complet avec entête 

 

--[[
%% weather
WeatherCondition
%% events
%% globals
--]]

local startSource = fibaro:getSourceTrigger();
local meteo = fibaro:getGlobalValue("Meteo")
if      ( api.get('/weather')['WeatherCondition'] == "clear" ) 		then fibaro:setGlobal("Meteo", "Dégagé"); --Dégagé
elseif  ( api.get('/weather')['WeatherCondition'] == "cloudy" ) 	then fibaro:setGlobal("Meteo", "Nuageux");--Nuageux
elseif  ( api.get('/weather')['WeatherCondition'] == "rain" ) 		then fibaro:setGlobal("Meteo", "Pluie"); --Pluie
elseif  ( api.get('/weather')['WeatherCondition'] == "snow" ) 		then fibaro:setGlobal("Meteo", "Neige"); --Neige
elseif  ( api.get('/weather')['WeatherCondition'] == "storm" ) 		then fibaro:setGlobal("Meteo", "Tempête");--Tempête 
elseif  ( api.get('/weather')['WeatherCondition'] == "fog" )  		then fibaro:setGlobal("Meteo", "Brouillard"); --Brouillard
end

 

Posté(e)

Bonjour,

 

Désolé pour la réponse tardive.

@971jmd WeatherCondition est déjà ce que fait GEA avec Weather ;-)

 

getValue=function(property) if (not property or property=="") then property = "WeatherCondition" end return fibaro:getValue(3, property) end

Posté(e)

merci @pepite

 

oui je sais que GEA le gère, mai c'est juste pour comprend comment fonctionne le :  GEA.add( {"Function", function()  ......... 

si tout foi je souhaite tester une fonctionne que GEA ne gère pas .

 

j'aime comprendre comment fonctionne un truc jusqu'au bout :P

Posté(e) (modifié)

Hello,

 

J'aimerai ajouter à ce code, que il est vrai uniquement 30 minutes avant le coucher de soleil jusqu’à 30 min après le lever du soleil. La lumière de la cage d'escalier fonctionne sur détecteur uniquement 30min avant le coucher de soleil toute la nuit jusqu'a 30min après le lever de soleil.

 

-- Escalier
-- Exctinction automatique après 3 min
local extinction = GEA.add( id["ECL__ESCALIER"], 3*60,"",{{"turnOff", id["ECL__ESCALIER"]}})
-- Allumage automatique lampe sur detection --
local detection = GEA.add( {id["MOTION_ESCALIER"],{"Value-", id["DETECTEUR_LUX_ESCALIER"], 30}}, -1,"", {{"turnOn", id["ECL__ESCALIER"]}, {"RestartTask", extinction}}) 
-- Allumage manuel lampe --
GEA.add(id["ECL__ESCALIER"], -1, "", {{"StopTask", extinction}, {"StopTask", detection}})
-- Exctinction de la lampe
GEA.add(id["ECL__ESCALIER"], -1, "", {{"Inverse"}, {"RestartTask", detection}})

 

J'ai un blanc...:(

 

Modifié par speedoxx007
Posté(e)

salut a tous 

 

j'ai 3 Walplug et je souhaite additionnée la conso de chacun et placée le résultat total dans une variable  

 

avez vous idée 

×
×
  • Créer...