Aller au contenu

Messages recommandés

Posté(e)

tu sais je ne suis pas au niveau des "experts".. Redis nous ce que tu souhaites faire pour pouvoir comparer avec les lignes GEA :D

Posté(e) (modifié)

Merci @pepite

je viens de voir encore une erreur, ci-après la correction.

	-- Si Sunset et ouverture porte ou detection garage alors Lampe allumée, puis extinction après 3 minutes
	local nuit = {"Global", "JOUR_NUIT", "NUIT"}
	local coursOn = {"Global", "Cours", "1"}
	local coursOff = {"Global", "Cours", "0"}

  	GEA.add({id["SENSOR_ENTPRIN"], nuit}, -1, "Cours On Sensor", {{"VirtualDevice", id["VD_IPX800"], "1"}})  
  	GEA.add({coursOn, nuit}, -1, "Cours On", {{"VirtualDevice", id["VD_IPX800"], "1"}})  
  	local LumCours = GEA.add(coursOff, 1*30, "", {{"VirtualDevice", id["VD_IPX800"], "9"}})
	GEA.add(coursOn, -1, "", {{"RestartTask", LumCours}})
	GEA.add({id["SENSOR_ENTPRIN"], coursOff}, 1*40, "", {{"VirtualDevice", id["VD_IPX800"], "9"}})

	GEA.add(coursOff, 5*60, "", {{"VirtualDevice", id["VD_IPX800"], "9"}})

J'ai un IPX qui commande la lampe extérieure. id["VD_IPX800"]. On en 1, Off en 9, de plus, il y a une tempo Off sur ce relais à  3 minutes pour l'extinction. 

J'ai un détecteur de mouvement à  l'extérieur branché sur l'IPX, il met à  jour la variable "Cours" à  1 lorsque allumé, à  0 lorsque éteint 

Je récupère la variable "Cours dans GEA {"Global", "Cours", "1"} ou {"Global", "Cours", "0"}

id["SENSOR_ENTPRIN"] correspond à  un sensor Fibaro de détection d'ouverture de porte/fenêtre

Bien sur, je souhaite que tout cela ne fonctionne que la nuit, je me sers de la variable {"Global", "JOUR_NUIT", "NUIT"}

 

Si le détecteur extérieur capte un mouvement, celui-ci met à  jour la variable "Cours" à  1, GEA (enfin je crois :mellow: ) allume le relais de l'IPX.

GEA.add({coursOn, nuit}, -1, "Cours On", {{"VirtualDevice", id["VD_IPX800"], "1"}})

 

3 minutes après, à  l'extinction du relais de la lampe extérieure, la variable "Cours" passe à  0 si aucun mouvement n'est détecté. cependant si un mouvement est détecté avant ces 3 minutes, le timer est relancé.

local LumCours = GEA.add(coursOff, 1*30, "", {{"VirtualDevice", id["VD_IPX800"], "9"}})

    GEA.add(coursOn, -1, "", {{"RestartTask", LumCours}})

(Je laisse cependant une chance au détecteur (30 s) pour être sur qu'il n'y ai pas d'autre détection  B) pas sur que cela serve à  grand chose, je voulais tester la fonction Timer, d'ailleurs je ne suis pas sur que cela fonctionne comme cela...  :huh:

 

je pratique de la même manière avec le id["SENSOR_ENTPRIN"] que pour l'IPX. Sauf que je n'ai pas mis de Timer avec de RestartTask, juste 40s, oui, je sais, je lui laisse aussi une chance, la dernière de détecter une ouverture....  :)

 

Enfin, j'ai ajouter une dernière sécurité, avec la ligne suivante

GEA.add(coursOff, 5*60, "", {{"VirtualDevice", id["VD_IPX800"], "9"}}) Extinction de la lampe extérieur si Variable "Cours" à  zéro pendant au moins 5 minutes. Curieusement, ce job s'arrête.

(Modif: en fait c'est normal qu'il s'arrête, puisque l'actionneur est coursOff, si pas de changement d'état, GEA n'a rien à  faire), alors pourquoi cette P... de lampe se rallume....

 

Maintenant, vous allez me dire, pourquoi ne pas avoir commandé directement le relais IPX avec le Détecteur IPX, parce qu'en effet, cela fonctionne parfaitement....

Ben parce que lorsque j'ouvre la porte d'entrée, le sensor allumait bien la lampe extérieure, puis le détecteur prenait le relais, j'avais été obligé de mettre un ordre Off sur lampe pour que la lampe extérieure s'éteigne bien au bout d'un moment. Du coup, si je restait dehors plus longtemps que le délai indiqué pour faire le Off, la lampe extérieur s'éteignait, j'était alors obligé de faire un mouvement à  l'extérieur pour la rallumer.

Bon avec le temps qu'il fait en HauteSavoie, ce n'est pas un problème en ce moment....

 

d'ailleurs en lisant mes explications, suis pas sur d'être très logique, un vrai boulet quoi  :D

Voili, voila, ....

Modifié par Arbu-jl
Posté(e)

Après tests, je sèche un peu j'ai le code ci-dessous mais j'ai le message d'erreur : [ERROR] 22:10:13: line 27: attempt to index global 'GEA' (a nil value)

--[[
%% autostart
%% properties
5 value
68 value
58 value
56 value
25 value
112 value

%% globals
--]]
-- ==================================================
-- DECLENCHEMENT INSTANTANE
-- ==================================================
local DETECTEUR_HALL = 18
local ECLAIRAGE_HALL = 8
local LUMINOSITE_HALL = 20
local DETECTEUR_COUR = 38
local LUMINOSITE_COUR = 41
local ECLAIRAGE_COUR = 11

-- == REZ DE CHAUSSEE - HALL ========================
  
-- Si détecte présence alors on allume la lumière
local lumiHall = {"If",{{"Value-",LUMINOSITE_HALL,200}}}
GEA.add( DETECTEUR_HALL, -1, "", {{"turnOn", ECLAIRAGE_HALL}, lumiHall })

Il y a surement une maladresse, mais je n'ai plus les yeux en fasse des trous

 

Posté(e)

A la place de DETECTEUR_HALL, ne dois tu pas mettre id["DETECTEUR_HALL"). La même chose pour ECLAIRAGE_HALL....

D'ailleurs la déclaration d'un id doit être sous cette forme...

local id = {

DETECTEUR_HALL = 18

ECLAIRAGE_HALL = 8

}

Alors que les déclencheurs doivent être entre

%% properties

18 value

8 value

%% globals

Posté(e)

@Arbu-Jl : J'ai toujours la même erreur sur le premier GEA.add avec le code au propre ci-dessous :

--[[
%% autostart
%% properties
8 value
11 value
18 value
38 value

%% globals
--]]

local id = {
	DETECTEUR_HALL 		= 18,
  	DETECTEUR_COUR 		= 38,	
    ECLAIRAGE_HALL 		= 8,
  	ECLAIRAGE_COUR 		= 11,  
  	LUMINOSITE_HALL 	= 20,
  	LUMINOSITE_COUR 	= 41,
  	PORTE_COUR 			= 89,
    PORTE_JARDIN 		= 91,
    TEMPERATURE_HALL 	= 19,
    WP_SALLE 			= 24,
    WP_SALON 			= 21
    
}

------------------- REZ DE CHAUSSEE - HALL -------------------
  
-- Si détecte présence alors on allume la lumière
local lumiHall = {"If",{{"Value-",id["LUMINOSITE_HALL"],200}}}
GEA.add(id["DETECTEUR_HALL"], -1, "", {{"turnOn", id["ECLAIRAGE_HALL"]}, lumiHall })
-- Si la lumière est allumée depuis 5 min on éteint
local RTHall = GEA.add(id['ECLAIRAGE_HALL'], 5*60, "", {{"turnOff"}})
GEA.add(id["DETECTEUR_HALL"], -1, "", {{"RestartTask", RTHall}})

------------------- EXTERIEUR - COUR -------------------
-- Si détecte présence alors on allume la lumière
local lumiCour = {"If",{{"Value-",id['LUMINOSITE_COUR'],200}}}
GEA.add( id["DETECTEUR_COUR"], -1, "", {{"turnOn", id["ECLAIRAGE_COUR"]}, lumiCour })  	
-- Si la lumière est allumée depuis 5 min on éteint
local RTCour = GEA.add(id['ECLAIRAGE_COUR'], 5*60, "", {{"turnOff"}})
GEA.add(id["DETECTEUR_COUR"], -1, "", {{"RestartTask", RTCour}})

Posté(e)

Tu dois isoler le problème , il y a trop.

Je te suggère de commenter tout sauf 1 ligne, sauver, vérifier si ça va, puis 2 lignes etc.

Pour commenter une section:

--[[

code a commenter

--]]

Il suffit de déplacer le crochet de début ou de fin pour "libérer" du code

Sent From my Vic20

  • Upvote 1
Posté(e)

Et dire que c'est un des conseils que je donne àmes équipes et je ne l'applique pas. Je ne serai pas très crédible si il voyait ça... :P

Je ferai du step by step demain. Merci pout ton aide @sebcbien, je te dirai quoi

Posté(e)

Heuuu, cela fonctionne déjà 

GEA.add( {"Slider", 130, "MonSlider", 50}, 30, "")

GEA.add( {"Slider+", 130, "MonSlider", 50}, 30, "")

GEA.add( {"Slider-", 130, "MonSlider", 50}, 30, "")

130 étant le numéro du module virtuel

50 la valeur testée

MonSlider est le nom du slider dans le module virtuel.

 

je me suis mal exprimer 

non c'est justement le contraire 

 

j'ai tout simplement crée des bouton et slider pour prend le Control sur les variables nos variable  GEA

 

L’Exemple suivant permet de maintenir une lampe allumée pendent 5 - 10 - 15 ou fixe (manuel) et me permet d'activer ou pas la détection.

 

post-112-0-56757200-1421807145_thumb.jpg

 

Bien sà»r le toute grâce à  l'aide de la communauté domotique fibaro :60: 

Posté(e)

Bonjour,

 

@Arbu-Jl : je lis tout et te dis ce que j'aurais écrit, mais peux-tu mettre les balises de code pour simplifier la lecture stp ?

 

@Ludwig : et si tu mettais "lumihall" en debut de ligne en conditions multiples ?

Posté(e)

Bonjour,

 

j'ai un thermostat SECURE SRT321. Savez vous comment changer la temperature cible avec GEA

 

 -- Chauffage Noe à  20°C la nuit
GEA.add(id["ThermostaNoe"], 10*60, "", {{"Time", "20:00", "06:00"}, {"Value", 21}})

Mais il ne se passe rien..... :(

 

Merci par avance

Posté(e)

bonjour a tous :)

 

j'ai réaliser un petit code qui fonction très bien enfin presque.

 

J’aurais souhaitai savoir s'il y est possible que ma lampe centretable s’allume instantanément, pour le moment je suis a 30s.

 

j'ai fait le teste avec  -1 sa fonctionne pas 

 

j'ai un autre probleme, Repeat redémarrage ma lampe tous les 30s

local halo = 10 
  local centretable = 40
 
 local lumion = {"If",{{"Value-", halo, 50}}}  
 local lumioff = {"If",{{"Value+", halo, 50}}}  
  
  GEA.add( true, 30, "", {lumion, {"turnOn", centretable}, {"Repeat"}})
  GEA.add( true, 30, "", {lumioff, {"turnOff", centretable}, {"Repeat"}}) 
Posté(e)

pour que le -1 fonctionne il faut que le device soit dans l'entête du script. tu as mis 

40 value

 tout en haut ?

Posté(e)

oui 10et 40

et j'ai le meme problème avec le stop général 

GEA.add( true, 30, "", {{"turnOff", centretable}, {"turnOff", halo}, {"Global", "stop", "1"}})                                            
                                          
Posté(e)

true et -1 c'est un nonsens...

tu dois mettre un déclencheur à  la place de true, sinon ta ligne gea se lance avec quelle condition ??

 

le true plus haut je pensais que tu l'avais is pour débugger...

  • Upvote 1
Posté(e)

Autre chose important depuis la sorti de l v4

 

"power" fonctionne

"value" ne fonctionne pas

 

et pour d'autre "value" fonctionne  

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


local centretable = 221


GEA.add( {"power+", centretable, 10}, 30, "", {{"turnOff", centretable}}) --- fonctionne 
GEA.add( {"value+", centretable, 10}, 30, "", {{"turnOff", centretable}}) --- fonctionne pas
 

@sebcbien 

 

merci effectivement -1 et true font la même chose 

Posté(e)

peut-on crée un déclencheur avec une scène(1) LUA  et l'intégré à  un code GEA ?

 

(1) une scène qui ce déclenche tout les seconde 

Posté(e)

Ce n'est pas exactement la même chose.

-1 annule le compteur (a rebours) et true simule une condition de déclenchement toujours vraie.

Sent From my Vic20

  • Upvote 1
Posté(e)

 

Bonjour,

 

j'ai un thermostat SECURE SRT321. Savez vous comment changer la temperature cible avec GEA

 

 -- Chauffage Noe à  20°C la nuit
GEA.add(id["ThermostaNoe"], 10*60, "", {{"Time", "20:00", "06:00"}, {"Value", 21}})

Mais il ne se passe rien..... :(

 

Merci par avance

 

Posté(e)

si je comprend bien il n'y a pas de solution pour déclencher une lampe instantanément a partir d'une variable 

a partir d'une variable globale ?

si plein, regarde gea showroom dans ma signature, il y a plein d'exemples de déclenchement suite au changement d'une VG

×
×
  • Créer...