Aller au contenu

Support Gea


Steven

Messages recommandés

Salut les copains,

 

Les scenactivation ne fonctionnent plus V5.20 ?

 

J'ai cette ligne la dans GEA :

-- Allumer les leds par triple clique sur FGD si elles sont éteintes
	GEA.add({"sceneActivation", id["EclairageChambre1"] , 15}, -1, "", {{"turnOn", id["LedChambre1"] }, {"If", {{"Value-", id["LedChambre1"], 1}}}})
Lien vers le commentaire
Partager sur d’autres sites

@pepite, @Arbu-jl

 

Je vous propose de simplifier ainsi : en ajoutant une variable "LumCours" sur laquelle on va s'appuyer

--[[
%% autostart
%% properties
XXXX <id de la porte entree>
%% globals
Cours
LumCours
--]]

local nuit = {"Global", "JOUR_NUIT", "NUIT"} 
local presence = {"Global", "Cours", "1"} 
local allumerCours = {"Global", "LumCours", "Allumer"} 

-- Eteindre la cours si elle est allumée plus de 3mn, on repasse la variable LumCours à  "Eteint" 
local eteindreCours = GEA.add( allumerCours, 3*60, "Eteindre la cours si allumer plus de 3mn", {{"VirtualDevice", id["VD_IPX800"], "9"}, {"Global", "LumCours", "Eteint"}}) 

-- Si une présence est détectée dans la cours on demande d'allumer la cours 
GEA.add( {presence, nuit}, -1, "Mouvement dans la cours", {allumerCours} ) 
-- Si la porte s'ouvre on demande d'allumer la cours 
GEA.add({id["SENSOR_ENTPRIN"], nuit}, -1, "detection porte", {allumerCours} ) 

-- Allumage effective de la cours et on redémarre le compteur des 3mn avant extinction. 
GEA.add( allumerCours, -1, "Allumer la cours", {{"VirtualDevice", id["VD_IPX800"], "1"}, {"RestartTask", eteindreCours}})
Il faudra donc pas oublier de créer la variable globale LumCours

 

@Yohan

Il n'y a pas eu de changement sur SceneActivation cela devrait donc fonctionner si les ID sont corrects.

Lien vers le commentaire
Partager sur d’autres sites

@Steven,

 

Merci pour Arbu-jl, j'etais loin de ce code. Ca s'appelle l'EXPERT ;-).

Merci beaucoup STEVEN, j'ai encore appris, je ne pense pas assez aux variables globales je crois, ca donne tellement de possibilité supplémentaires !!  et plus simple à  la lecture !!

 

Je ne sais pas si le code que j'ai proposé aurait fonctionné, mais peux-tu me dire si tu as le temps où sont mes erreurs ? si t'as le temps bien sur !!

 

Merci !!

 

@ tous les experts :

On parle souvent d'ID modifies, alors n'est-il pas possible de s'affranchir de cette perte et

soit :

- creer une scene ou VD qui recupere les ID et hop on les a tous de nouveau et on remodifie tout

ou soit :

- un moyen de recuperer les ID, les mettre dans une table et reinjecter la table dans GEA ou Vd ou SCENES (je sens que ca va parler json.encode et decode...)

 

J'ai pas l'impression d'etre clair, en gros, eviter pour minimiser les risques de modification d'ID, donc de "bugs" de scenes plantees ou GEA plantes d'ecrire

local id = { 
    toto = 12,
    titi = 10
}

mais plutot

json.encode(id) et pouvoir mettre dans GEA(true,30,"",{"turnOn", (json.decode(id, value))} ou autre chose !!

je me demande si jai pas vu passer quelquechose comme ca au moment du nouveau firm mais je ne remets pas la main dessus ;-)

 

Pas très clair le gars sur ce coup la ..

Modifié par pepite
Lien vers le commentaire
Partager sur d’autres sites

L'idée est justement de ne pas mettre d'ID dans GEA afin de pouvoir lire une ligne.

Il est plus lisible :
GEA.add(id["TV"], -1, "", {{"Value", id["LAMPE"], 50}})
que
GEA.add(12, -1, "", {{"Value", 30, 50}})

de plus cela permet de centraliser les ID en un seul point et de ne pas avoir besoin de chercher partout dans GEA l'ID 24 pour le remplacer par 132 s'il a changer.

Par contre, je comprends bien ta question ... et ta douleur quand il s'agit de tout remettre en ordre. Je pense qu'il y a des solutions mais rien de magique.

Pour le code que tu as fourni, voici ce qui m'a dérangé et pourquoi :)
 

--Detection mouvement exterieur : allume le relais
local lumierecours = GEA.add({{"Global", "Cours", "1"},nuit},-1, "Cours On", {{"VirtualDevice", id["VD_IPX800"], "1"}})
 
-- Si detection pendant les 3 mins, relance de la tache pour 3 mins
GEA.add({{"Global", "Cours", "1"},nuit},-1,"Detection mouvement cours relance tache allumage", {{"RestartTask", lumierecours}})
 
-- SI pas de detection extinction après 3 mins, on repete tant que la condition est vraie : lampe cours allumée
GEA.add({nuit},3*60,"Extinction lumiere cours",{{"VirtualDevice", id["VD_IPX800"], "9"},{"Repeat"}})

La ligne 5 relance la ligne 2 ... mais cela ne sert à  rien car la ligne 4 est en déclenchement automatique et elle n'est jamais stoppée. Ce qu'il fallait faire c'est relancer le compteur de l'extinction des lampes afin qu'il reparte à  0 à  chaque détection laissant ainsi 3mn supplémentaire. C'est donc la ligne 8 qu'il fallait relancer. Tu y étais presque, d'ailleurs c'est la lecture de ton code qui ma expliquer ce que Arbu-jl voulait faire ... ce qui prouve que tes lignes étaient (presque) correcte.

Et il y a aussi que pendant toute la nuit, toutes les 3 mn, la HC2 allait demander à  l'IPX d'éteindre la lumière même si cette dernière est déjà  éteinte. Ce qui dans l'ensemble n'est pas grave mais si on peux économiser des appels pour rien :)

 

Voilà  voilà 

Lien vers le commentaire
Partager sur d’autres sites

@Steven : Merci d'avoir pris du temps pour m'expliquer.  Je comprends mieux maintenant ;-) enfin jusqu'à  la prochaine question ;-)

 

merci beaucoup

 

Tiens la question est deja la ;-) : Pour les variables globales : exemple "LumCours" avec "Allumer" et "Eteint", dans le panneau Variables on crée bien la variable avec les 2 valeurs, est-il possible de faire la meme chose avec une variable sans valeurs prédefinies

Lien vers le commentaire
Partager sur d’autres sites

@pepite, @Steven

 

Merci pour votre support.

Je veins de rentrer de voyage et j'ai testé...

J'avoue que je suis parti directement avec le code de Steven.

 

Allumage cours OK avec la porte, cependant 3 à  5 secondes pour que la lumière s'allume

Allumage cours par le détecteur, OK, même topo qu'avec la porte 3 à  5 secondes de délai

C'est un peu gênant. Peut être que cela vient de la mise à  jour des variables ?

Extinction après 3 mn OK avec porte et détecteur de mouvement

Par contre, j'ai observé que si j'ouvre la porte, la lumière de la cours s'allume, mais qu'il n'y a pas de détection de mouvement. C'est bizarre.

Bon j'en ai marre pour ce soir, je verrais cela demain.

En attendant encore merci pour votre patience et votre support

Lien vers le commentaire
Partager sur d’autres sites

Depuis que je suis passé en 4.31 puis en 4.32 sur ma hc2 j'ai une latence avec les commandes sous GEA 1 à  2 secondes entre le déclencheur et l'action.

 

Je n'avais pas ce problème en 3.xxx (du moins pas systématiquement)

 

J'ai l'impression que cette latence n'apparait pas forcément lors d'un upgrade en 4.xx

Lien vers le commentaire
Partager sur d’autres sites

Je viens de finir mes tests  ;)

Définitivement, cela ne vient pas de GEA, d'ailleurs le code proposé par Steven, a mon avis fonctionne parfaitement.

Je pense que j'ai plus un problème avec mon IPX.

D'ailleurs, je modifie ce que j'ai écris hier soir, j'étais pas bien aligné.... la détection fonctionne bien. Encore une fois, je pense que cela vient de l'IPX.

Il faudrait que je poste du coté IPX800, mais comment changeons nous la mise à  jour d'une variable avec la fonction push de l'IPX ? En fait je passe par une action sur un VD qui lui met à  jour la variable. Il doit y avoir plus simple ... :rolleyes:

Lien vers le commentaire
Partager sur d’autres sites

Depuis que je suis passé en 4.31 puis en 4.32 sur ma hc2 j'ai une latence avec les commandes sous GEA 1 à  2 secondes entre le déclencheur et l'action.

 

Je n'avais pas ce problème en 3.xxx (du moins pas systématiquement)

 

J'ai l'impression que cette latence n'apparait pas forcément lors d'un upgrade en 4.xx

 

Salut Hansolo

Je rencontre le même problème  que toi après le passage en 4.031 puis en 4.032 une latence de 2 à  3 secondes avant l'allumage d'une lampe suite à  une détection de mouv je pense aussi que cela proviens de cette MJ car en version 3.xxx je n'ais jamais rencontré ce genre de latence !!!

Lien vers le commentaire
Partager sur d’autres sites

Encore une chose je viens de m'apercevoir que je ne reçois plus de Push pour cette ligne et plusieurs autres

Une idée ?

local si_pas_ouvert_17_25 = {"If", {{"Value-",17, 90},{"Value-",25, 90}}} --                                                                                                                 SALON          AR-CUIS
GEA.add({"Value-",id["CPT_LUX_AR_CUISINE"],200}, 15*60, "Remontée des volets SALON et AR-CUIS à100% par manque de luminosité NOTDST #value# Lux #time#", {{"Time", "13:00", "Sunset"},{"Open",17,98},{"Open",25,99},{"NOTDST"},si_pas_ouvert_17_25})

Pour celle ci ok et d'autres aussi


local si_pas_ferme_17_25_27_29 = {"If", {{"Value+",17, 90},{"Value+",25, 90},{"Value+",27, 90},{"Value+",29, 90}}}                                             
GEA.add({"Value+",id["CPT_LUX_AR_CUISINE"],600}, 5*60, "Fermeture des volets Ouest Partiel NOTDST #value# Lux #time#", {{"Time", "13:00", "Sunset"},{"Close",17,45},{"Close",25,50},{"Close",27,50},{"Close",29,50},{"NOTDST"},si_pas_ferme_17_25_27_29})





Modifié par Diuck
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...