Aller au contenu

Messages recommandés

Posté(e)

si maintenant ça marche nickel c'est une consolation.

On aura au moins créé une version pour l'oeil qui fonctionne.

 

Je pense que la meilleure version est celle-ci:

   -- Si déjà  Allumé, Re-Allumage à  65% dès que détection mouvement sauf si module déjà  a + de 64% (économie Z-Wave)
GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1},{"Value-", id["SPOT_CUISINE"],64}}, -1, "Allumage",{{"Value", id["SPOT_CUISINE"], 65}})
    -- Après 10min on dimme la lampe à  34% si pas de mouvement 
local malampesam = GEA.add({"Value+", id["SPOT_CUISINE"],64}, 5*60, "dim a 34",{{"Value", id["SPOT_CUISINE"], 34},{"Repeat"}})
-- Après 3 min on met la lampe à  65% (prète pour prochain allumage) puis on éteint, uniquement si la lampe est entre 1 et 35 
local malampesamdim = GEA.add({{"Value-", id["SPOT_CUISINE"],35},{"Value+", id["SPOT_CUISINE"], 1}}, 3*60,"extinction",{{"Value", id["SPOT_CUISINE"], 65},{"Function", function() fibaro:sleep(300) end},{"turnOff"}},{"Repeat"})
    -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA)
GEA.add({id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "relance 30s de mouvement", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}})   
-- Relance des tâches en cas de détection si la lampe est allumée (économise GEA)
GEA.add({id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "relance mouvement 0 a 1", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}}) 

Confirme moi que ça fonctionne bien, avec le dim et alors l'humanité aura fait un pas de géant. (Buzz l'éclair)

  • Upvote 1
Posté(e)

@sebcbien j'ai copié ton code puis coller dans mon GEA mais erreur ligne 9 donc j'ai modifié comme ceci :

     -- Si déjà  Allumé, Re-Allumage à  65% dès que détection mouvement sauf si module déjà  a + de 64% (économie Z-Wave)
GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1},{"Value-", id["SPOT_CUISINE"],64}}, -1, "Allumage",{{"Value", id["SPOT_CUISINE"], 65}})
    -- Après 10min on dimme la lampe à  34% si pas de mouvement 
local malampesam = GEA.add({"Value+", id["SPOT_CUISINE"],64}, 5*60, "dim a 34",{{"Value", id["SPOT_CUISINE"], 34},{"Repeat"}})
-- Après 3 min on met la lampe à  65% (prète pour prochain allumage) puis on éteint, uniquement si la lampe est entre 1 et 35 
local malampesamdim = GEA.add({{"Value-", id["SPOT_CUISINE"],35},{"Value+", id["SPOT_CUISINE"], 1}}, 3*60,"extinction",{{"Value", id["SPOT_CUISINE"], 65},{"Function", function() fibaro:sleep(300) end},{"turnOff"}},{"Repeat"})
    -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA)
GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "relance 30s de mouvement", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}})   
-- Relance des tâches en cas de détection si la lampe est allumée (économise GEA)
GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "relance mouvement 0 a 1", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}}) 
 

Bon j'ai pas d'erreur dans le débug, je reçoit bien toute les 30s les Push la lampe ce dim à  34% après 5 mn puis s'éteint .

 

Je suis pas chez moi, je teste demain pour vous confirmer que sa marche.  ;)

Posté(e)

@Sebcbien donc je viens de copier coller ton code mais j'ai une erreur sur les ligne 9 et 11 .

 

Donc j'ai procédé au modification qui donne ceci :

    -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA)
GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "relance 30s de mouvement", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}})   
-- Relance des tâches en cas de détection si la lampe est allumée (économise GEA)
GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "relance mouvement 0 a 1", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}}) 

Je reçois bien les push toute les 30s je suis en phase de test en ce qui concerne l'incrémentation du temps pendant la periode ou je suis dans la cuisine et donc que mes spots reste allumé à  65%

 

Je vous tiens au courant. 

Posté(e)

bonjour messieurs

 

Après 4 jours de testes voici mes remarques.

 

Cas 1:

 

J'allume mes spots de ma cuisine manuellement je pars, au bout de 5 mn mes spots dim à  34%, je reviens mes spots se ré-allume à  64%.

Puis je repars 5 mn, dim 34% puis s’éteint.

 

Cas 2 :

 

J'allume mes spots de ma cuisine manuellement, je reste dans ma cuisine dès fois les spots reste allumé plus de 5 mn (fonctionnement normal puisque je suis toujours dans ma cuisine) et des fois les spots dim à  34 % je bouge dans ma cuisine mon détecteur me voix mes pas de ré-allumage les spots s'éteint au bout de 3mn.

 

Pour ce cas la j'ai l'impression que si je pars de ma cuisine le détecteur ne capte rien puis je reviens et la sa ce rallume.

 

Je ne sais pas comment vous expliquer, j'ai l'impression que l’Å“il de fibaro ne repasse pas à  0 . Je m'explique :

 

Visuellement l’Å“il me détecte tout le temps quand je suis dans ma cuisine que je reste ou que je pars .

J'ai l'impression que quand je reste dans ma cuisine il voit les mouvements mais comme il y a toujours des mouvements il ne change pas d'état si on peut dire comme sa. Si il n'y a pas de mouvement pendant  x temps alors changement d'état puis mouvement je rechange d'état.

 

Je sais je ne suis pas très clair .

 

SI vous avez des idées je suis preneur. 

Posté(e)

Regarde dans la doc, je ne l'ai plus sous les yeux, mais cette valeur ne doit pas descendre en dessous d'un autre paramètre.

Perso je crois que je suis descendu à15s sur mes capteurs.

Posté(e)

Salut,

 

Pour pouvoir palier a un problème de reconnaissance de certain module sur Imperihome, je rentre les valeurs "power" de certains modules dans des variables.

 

Jusque la aucune problème ça marche très bien, mais dans GEA impossible de le planifier.

quand je fait la save le script s’exécute bien, mais pas toutes les 5 minutes comme je voudrais.

 

Voici les lignes en question:

	GEA.add( true , 5*60, "", {
	fibaro:setGlobal('CONSO_GLOBAL', fibaro:getValue(70, 'power')),
	fibaro:setGlobal('CONSO_PAC', fibaro:getValue(71, 'power'))
	})

Auriez vous une idée du problème par hasard?

 

Merci par avance

Posté(e)

Meme resultat

	GEA.add( true , 5*60, "", {
	fibaro:setGlobal('CONSO_GLOBAL', fibaro:getValue(70, 'power'),"Repeat"),
	fibaro:setGlobal('CONSO_PAC', fibaro:getValue(71, 'power'),"Repeat"),
	})
Posté(e)

il est mal placé ton REPEAT :

 

Essaye :

GEA.add( true, 5*60, "", {
	fibaro:setGlobal('CONSO_GLOBAL', fibaro:getValue(70, 'power')),
	fibaro:setGlobal('CONSO_PAC', fibaro:getValue(71, 'power')),
	{"Repeat"}
})
Posté(e)

J'avais essayé comme ça dans un premier temps mais j'ai une erreure

 

1;31m2015-10-10 21:27:27.022628 [ fatal] Runtime error: /opt/fibaro/scenes/156.lua:239: attempt to index field '?' (a nil value)[0m

Posté(e)

ah :(

 

moi ce qui me gène c'est le fibaro:getValue dans un fibaro:setValue

essaye de décomposer les étapes, en passant par des variables, sur plusieurs lignes.

ensuite, petit à  petit tu essaye de fusionner les lignes comme tu as fait..... principe général en programmation :)

Posté(e)

C'est bien ce que j'avais fait au début(avant de factoriser le code) mais comme ça marché en lancement instantané.

 

Si je met la ligne dans une scène que j’exécute toutes les 5mintes ça marche par exemple.

 

Scene :

--[[
%% properties

%% globals
--]]


fibaro:setGlobal('CONSO_GLOBAL', fibaro:getValue(70, 'power'))
fibaro:setGlobal('CONSO_PAC', fibaro:getValue(71, 'power'))	

GEA:

	GEA.add( true , 1*60, "", {
	{"Scenario", 186}
	})

d'ou l'idée d'integrer la ligne directement dans GEA

Posté(e)

hey mais j'avais pas fait attention.... GEA ne prend pas les commande lua standard, il a son propre interpréteur de commande.

Je t'invite àrelire la doc de GEA pour voir la syntaxe des fonctions àutiliser pour lire et écrire une variable.

Posté(e)


GEA.add( true, 5*60, "", {

{"Function", function() fibaro:setGlobal('CONSO_GLOBAL', fibaro:getValue(70, 'power')),

fibaro:setGlobal('CONSO_PAC', fibaro:getValue(71, 'power')) end},

{"Repeat"}

})

Posté(e)

SANS garantie, àessayer :

GEA.add({"Value!", 70, 0}, 5*60, "", {{"Global", "CONSO_GLOBAL", #value#}, {"Repeat"}})

peut-être qu'il faut des " autour de #value#

puis idem pour le 71

Posté(e)

Merci a tous pour vos réponses, du coup j'ai testé ce qu vous m'aviez donné.

 

HANSOLO j'ai exactement la même erreur nil value

 

Par contre la solution de jojo fonctionne :-) avec "

GEA.add({"Value!", 70, 0}, 5*60, "", {{"Global", "CONSO_GLOBAL", "#value#"}, {"Repeat"}})

J'arrive du coup à  refaire des jauges de consommation sur Imperihome sur les périphériques qui ne remonte pas

 

Encore merci à  tous

Posté(e)

c'est MAITRE Steven qu'il faut remercier d'avoir inclus cela dans son interpréter, je n'y croyais pas, il a TOUT prévu

×
×
  • Créer...