Aller au contenu

Messages recommandés

Posté(e)

merci de ton retour @Sakkhho j'ai fait ce que tu m'as dit de faire mais rien y fait depuis la mise à  jour en 4.7 tout M :angry:  :angry:  :angry:  :angry: .

 

Je sais que le code fonctionne car il a marché mais depuis c aléatoire je me demande même si ce n'est pas un problème avec mon chrome ou mon antivirus je sais pas si sa peu bloqué des choses .

 

Je sens que de vais faire un factory reset de la fibaro

Posté(e)

c'est quand meme bizarre. Moi je penche pour un problème dans ton GEA. Chrome ou autre n'ont rien à  voir.

Je suis en 4.070 est donc est parfaitement opérationnelle chez moi.

La plupart de nos problèmes viennent souvent de nos erreurs. Et je parle pour moi déjà , je suis pas developpeur, donc je fais que des conneries :-)

Mais Steven & co sont là  pour nous proposer des codes bien propres.

 

Reprends ton GEA ligne par ligne et regarde ce qui ne marche pas.

 

Comme le fibaro sleep dans GEA ça doit pas être terrible mais les experts me contrediront peut être...

Posté(e)

 

avec la double accolade alors ?

GEA.add(110, -1,"", {{"VirtualDevice", 96, 1}})

 

Oh ca fonctionne super bien !

 

Un grand merci pour ton aide @Sakkhho 

 

Excellent we 

Posté(e)

@soulac,

 

j'essayai de regarder ton code 

GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", malampesam},{"Repeat"}})   
GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", malampesamdim},{"Repeat"}})   
 

ca se marche pas dessus ça ?

en gros, si mouvement dans le salon et que Spot cuisine est allumé alors on joue ma lampesam et malampesamdim en meme temps pas glop

 

et pourquoi tu mets un fibaro sleep alors que GEA pourrait faire la verif pour toi ? ou alors jouer avec des variables globales (perso c'est ce que je fais tout le temps car la logique est tellement simple du coup pour mon petit cerveau)

Certes je dois souvent créer des VGs pour rien, car on pourrait fair plus simple mais c'est tellement efficace.

Posté(e)

@Sakkhho tout d'abord merci car sa me remotive un peux.

 

Je viens de refaire mon GEA en ne laissant que les ligne que j'ai besoin je vais re-tester.

 

En ce qui concerne les lignes 

 

  1. GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", malampesam},{"Repeat"}})
  2. GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", malampesamdim},{"Repeat"}})

 

Avant j'avais sa voir ci dessous

    -- 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, "", {{"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, "", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}}) 


Mais Pepite ma dit qd version 4.70 il fallait mieux faire 2 lignes c'est pour cela que j'ai fait sa.

 

Sinon pour les lignes 

-- Si déjà  Allumé, Re-Allumage à  70% 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}, 1*60, "",{{"Value", id["SPOT_CUISINE"], 54},{"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"],55},{"Value+", id["SPOT_CUISINE"], 1}}, 1*60,"dim",{{"Value", id["SPOT_CUISINE"], 65},{"Function", function() fibaro:sleep(300) end},{"turnOff"}},{"Repeat"})
    

Se sont des lignes que j'ai repris de @Sebcbien et cela fonctionné très bien en version 3.56

Posté(e)

moi je ferai des tests comme cela

GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1},{"Value-", id["SPOT_CUISINE"],64}}, -1, "allumage",{{"Value", id["SPOT_CUISINE"], 70}})
GEA.add({"Value+", id["SPOT_CUISINE"],69}, 10*60, "dim",{{"Value", id["SPOT_CUISINE"], 34},{"Repeat"}})
GEA.add({{"Value-", id["SPOT_CUISINE"],35},{"Value+", id["SPOT_CUISINE"], 1}}, 3*60,"Off",{{"turnOff", id["SPOT_CUISINE"]},{"Repeat"}})

jusque la ça doit le faire

avec bien sur l'id mouv salon dans l'entete

 

ensuite les restart task, je connais pas trop car j'utilise pas mais

GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1},{"Value-", id["SPOT_CUISINE"],64}}, -1, "allumage",{{"Value", id["SPOT_CUISINE"], 70}})
local dimlampe = GEA.add({"Value+", id["SPOT_CUISINE"],69}, 10*60, "dim",{{"Value", id["SPOT_CUISINE"], 34},{"Repeat"}})
local lampeoff = GEA.add({{"Value-", id["SPOT_CUISINE"],40},{"Value+", id["SPOT_CUISINE"], 1}}, 3*60,"Off",{{"turnOff", id["SPOT_CUISINE"]},{"Repeat"}})

GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", dimlampe},{"Repeat"}})
GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", lampeoff},{"Repeat"}})

ça devrait faire ce que tu veux non ?

Posté(e)

Bon allé je recommence depuis le début.

 

1- Suppression de mes deux variables GEA_Prod et GEA_Test

2- Suppression de mes deux scènes GEA

3- Puis j'ai débranché électriquement ma fibaro ( Dans le doute)

 

Après mise sous tension de ma fibaro

 

1- Création des deux variables GEA_Prod et GEA_Test

2- Création d'une scène GEA_Test dans lequel j'ai mie les lignes suivantes :

--[[
%% autostart
%% properties
168 value
%% globals
--]]
 

 	local id = { 
	
	-- entree --
--	OUVERTURE_ENTREE = 25,
--  	SPOT_ENTREE = 118,
	
	-- salon --
--	VR_SALON = 129,
--    OUVERTURE_SALON = 40,
--    LUSTRE_SALON = 114,
    D_MOUV_SALON = 168,
--    D_LUM_SALON = 123,
--    D_TEMP_SALON = 122,
--    NEATO = 116,
	
	-- salle a manger --
--	VR_SAM = 76,
--    OUVERTURE_SAM = 34,
--    LUSTRE_SM = 80,
	 
	-- cuisine --
--	OUVERTURE_CUI = 28,
    SPOT_CUISINE = 82,
	
	-- chambre mateo --
--	VR_CHAMBRE_M = 131,
--    OUVERTURE_CH_M = 42,
--    D_MOUV_CHM = 95,
	
	-- chambre parental --
--	VR_CHAMBRE_P = 142,
--    LUSTRE_PARENTAL = 140,
--    D_MOUV_PARENTAL = 134,
	
	-- couloir --
	
	-- salle de bain --
	
	-- exterieur --
--	D_LUM_EXT = 148,
--    D_TEMP_EXT = 147,
--    D_MOUV_EXT = 146,
	  
	   
	-- Virtual Device --
    
--	VD_PRESENCE_SEB = 161,
--    VD_PRESENCE_CEL = 164,
    
--    VD_SUNSET_SUNRISE = 112,
	
--	VD_TEMP = 144,
	
	} 

puis les lignes sans les relances

	-- ==================================================
    -- CUISINE
    -- ==================================================
  
	-- Si déjà  Allumé, Re-Allumage à  70% 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}, 2*60, "dim",{{"Value", id["SPOT_CUISINE"], 54},{"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"],55},{"Value+", id["SPOT_CUISINE"], 1}}, 3*60,"off",{{"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, "", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}})   
--	GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"RestartTask", malampesam},{"Repeat"}})   
--	GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "", {{"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, "", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}}) 
--	GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "", {{"RestartTask", malampesam}}) 
--	GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "", {{"RestartTask", malampesamdim}}) 
 

Sans oublier

GEA.globalTasks = "GEA_Test" 

et la miracle des temps modernes cela fonctionne.

 

Maintenant je vais voir pour les relances

Posté(e)

Bonjour,

 

Je souhaiterais mettre 2 conditions dans une action GEA :

 

Voici une ligne que je souhaiterais modifier : 

GEA.add(id ["Statut_Alarme"], 1, "", {{"Inverse"}, {"Time", "Sunset", "23:59"}, {"turnOn", id["Interrupteur_Evier_Gauche"]}})

J'ai un capteur universel Fibaro FGBS qui me sert pour savoir si on est en Tempo Rouge (valeur du capteur à  1) ou si on est en Tempo Blanc ou Bleu (valeur du capteur à  0). Ce capteur s'appelle "Valeur_Tempo" dans mon GEA.

 

 

Ma ligne GEA me permet d'allumer une lumière dans une plage horaire si l'alarme est inactive (c'est à  dire si nous sommes à  la maison). Je voudrais rajouter que la lumière doit s'allumer si en plus on est pas en Tempo Rouge.

 

Comment puis-je écrire ma ligne GEA pour intégrer ces 2 conditions?

 

Merci.

Posté(e)

@soulac,

 

bien vu, c'est bien le bug  aleatoire sur les scenes et VD de la 4.07x, en repartant depuis une scene toute propre, ca fonctionne.

 

@frederic,

 

t'as un souci sur le nombre d 'instances ?

10 pour moi aussi.

 

@elacombe,

 

Comme ceci,

Si alarme desactivee et valeur de "Valeur_tempo" est differente de 1

GEA.add({id ["Statut_Alarme"], {"Value!", id["Valeur_Tempo"], 1}}, 1, "", {{"Inverse"}, {"Time", "Sunset", "23:59"}, {"turnOn", id["Interrupteur_Evier_Gauche"]}})
Posté(e)

 

@frederic,

 

t'as un souci sur le nombre d 'instances ?

10 pour moi aussi.

 

oui, "out of memory" pour GEA et Fibaro m'envoi un tuto pour apprendre à  créer des scène en bloc avec les instances  :P

  • Upvote 1
Posté(e)

@Pepite

 

oui une fois tout refait à  zéro cela fonctionne avec le code suivant :

	-- ==================================================
    -- CUISINE
    -- ==================================================
  
	-- Si déjà  Allumé, Re-Allumage à  70% 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}, 2*60, "dim",{{"Value", id["SPOT_CUISINE"], 54},{"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"],55},{"Value+", id["SPOT_CUISINE"], 1}}, 1*60,"off",{{"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, "", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}})   
--	GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "Restart lampe", {{"RestartTask", malampesam},{"Repeat"}})   
--	GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "Restart lampeDim", {{"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", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}}) 
	GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "R allumage", {{"RestartTask", malampesam}}) 
	GEA.add({{id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "R dim", {{"RestartTask", malampesamdim}}) 
	

J'ai remis mon GEA Prod en route et Mon GEA Test et tout cela fonctionne.

 

La suite au prochaine épisode enfin je pense que je réfléchirais à  deux fois avant de faire une mise à  jour Fibaro.

  • Upvote 1
Posté(e)

@ Pepite

 

Je viens d'essayer cette ligne : 

GEA.add({id ["Statut_Alarme"], {"Value!", id["Valeur_Tempo"], 1}}, 1, "", {{"Inverse"}, {"Time", "Sunset-30", "23:59"}, {"turnOn", id["Interrupteur_Evier_Gauche"]}})

mais elle ne marche malheureusement pas. Ma valeur "Valeur_Tempo" provient de l'état d'ouverture du détecteur universel paramétré en détecteur d'ouverture. En gros, porte ouverte = Tempo blanc ou bleu et porte fermée = Tempo Rouge. C'est quand on est en Tempo Rouge que l'action ne doit pas s'effectuer...Que faut-il modifier pour que ça marche? Il n'y a aucune erreur dans le débug...

Posté(e)

 Salut @elcombe,

Voici ce que j'ai pour couper ma VMC uniquement les jours rouges:

GEA.add({236, {"Global", "Tempo", "Rouge"}}, 30, "", {{"VirtualDevice", 235, 1},{"Dates","01/10","31/12"},{"Dates","01/01","30/04"},{"Repeat"}}) -- VMC arrêtée si jour rouge entre 01/10 et 30/04

Id 236: mon module VMC, Id 235: module virtuel VMC, bouton 1 arrêt VMC.

Posté(e)

@elacombe,

 

On est bien d'accord : Tempo rouge = 1, tempo blanc ou bleu = 0

 

Porte ouverte = blanc ou bleu

Porte fermée : Rouge

 

Tes valeurs seraient donc 0 pour rouge et 1 pour blanc/bleu non ?

 

Ton besoin : en tempo rouge (0), la ligne ne doit pas se faire, pas d'allumage interrupteur ?

 

Alarme desactivee, valeur de Tempo = 0 (rouge),

GEA.add({id ["Statut_Alarme"], {"Value", id["Valeur_Tempo"], 0}}, 1, "", {{"Inverse"}, {"Time", "Sunset-30", "23:59"}, {"turnOn", id["Interrupteur_Evier_Gauche"]}})

 

@did a raison, mais pour une Variable globale.

Posté(e)

@ DID,

 

J'ai 2 contraintes par rapport à  cela : 

- Je ne récupère pas l'info Tempo d'un VD, mais directement d'un module ZWave (donc pas de valeur "Rouge")

- J'ai 2 conditions : Alarme inactive (je suis chez mois), et Tempo Rouge, donné par mon module universel Fibaro (porte ouverte pour tempo Blanc/bleu, porte fermée pour Tempo Rouge).

 

C'est donc difficilement adaptable.

 

Il faudrait peut-être que je revienne à  ma première idée qui est de créer 2 instances GEA (une pour les Tempo Rouge et une pour les Tempo Bleu/Blanc) et d'activer/désactiver chacune des 2 scène en fonction de la valeur Tempo...

Mais ça je pense qu'il faut faire une scène LUA...et là  encore, je ne sais pas faire...

 

Quelqu'un aurait une idée?

×
×
  • Créer...