Aller au contenu

Messages recommandés

Posté(e)

je vais pe dire une betise, mais c'est le message que tu veux avoir avec la distance ?

GEA.add({"Global-", "DistanceMaison", "0.1"}, 30, "Je suis à  moins de #value# m à  #time# de la maison", {{"MaxTime", "1"}})

Si oui, avec un MaxTime à  1 tout s'explique ;-)

 

Ces lignes

  • local DistanceBureau1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(fibaro:getValue(238, "Location"), EmplacementBureau1))/1000 end}

Sont appelees ici par exemple :

GEA.add(DistanceBureau1, 30, "", {{"Global", "DistanceBureau", "#value#"}, {"Label", id["DISTANCE"], "Label2", "#value# km"}})

 

lorsque mes coordonnées geo changent.

 

C'est le cas : si valeur Variable "Distance Maison" inferieure à  0,1 tu recois le message

 

  • GEA.add({"Global-", "DistanceMaison", "0.1"}, 30, "Je suis à  moins de #value# m à  #time# de la maison", {{"MaxTime", "1"}})

--> Mets un Repeat et enleve le MaxTime :

 

-- {"MaxTime", <number>} -- Stop après X execution // Stop after X run

 

 

Posté(e)

ce code est trop compliqué pour moi ...

 

Steven m'avais proposé un code comme celui-ci pour mettre des tâches en attente.

Peux-être peux-tu adapter ton code  ?

 -- Mettre ECS==Oui si LUM_SDBREZ_DOUCHE est ON et ECS == Non
     -- Tache en sommeil (NotStarted)
     -- Cette tache va passer la variable à  Non si elle est à  Oui depuis plus de 20 minutes
     local autoECSNon = GEA.add (estECS, 20*60, "Variable ECS à  OUI depuis #durationfull#", {{"VirtualDevice", VdID["VAR_ECS"], 4}, {"NotStarted"}})
     -- Cette tache va passer la variable à  Oui si la lumière de la douche est allumée depuis 1 min et que la variable ECS est à  non
     -- Elle va aussi redémarrer la tache si dessus
     GEA.add({DeviceID["LUM_SDBREZ_DOUCHE"], pasECS}, 1*60, "",{{"VirtualDevice", VdID["VAR_ECS"], 3}, {"RestartTask", autoECSNon}})

Posté(e)

Bonjour a tous 

comment devrais je formuler le code si je veux par ex que si mon detecteur de mouvement ne detecte rien pendant 5min alors il m arme l alarme 

car je suis un peu perdu 

 

merci encore 

s :74:  :13:

Posté(e)

@flechg

 

Peut-etre que :

GEA.add(id["detecteur"], -- ton detecteur de mouvement en condition, GEA verifie son etat
 5*60, -- duree 
 "pas de detect depuis #duree#",  --message 
{
{"Inverse"}, --inverse la condition ON de id["detecteur"], donc regarde s'il est OFF
 {"setArmed", <id_module>} --arme le module
})
  • Upvote 1
Posté(e)

@Pepite

 

j'ai essayer mai effectivement ça ne fonctionne pas

le truc est que Steven utilise surement le meme module pour quatre fonctions : allume et éteindre et active et désactive le mode auto manu

Posté(e)

Bon je reviens sur mon sujet, désolé de vous embêter

 

mes tests d'hier on rien donné

http://www.domotique-fibaro.fr/index.php/topic/1211-support-gea/?p=64101

 GEA.add({id["ECL_CHAMBRE_PARENTS"], Intrusion }, -1, "Mode Panic OFF", {{"Inverse"}, {"turnOff", id["WP_LAVE_LINGE"]}, {"VirtualDevice", id["ETAT_ALARME"], 1}})

je ne sais pas comment mettre en condition l'appui sur l'interrupteur, car ici ca stope la scene de suite, car la scene justement fait clignoter le dimmer

Posté(e)

peut être une alernative car j'ai un dimmer,

si dans ma scene je dit, de passer de value 80 à  20

mais que dans GEA je trouve le moyen d'arrêter la scene si value à  0 

ca pourrait marcher non ?

 

EDIT

 

ben non, ca fonctionne pas mais en meme temps ca s'explique :-)

 

j'ai bien modifié ma scene pour faire un va et vient entre 20 et 80

puis j'ai mis ca

  local Ecl_Parents_off = {"Value", id["ECL_CHAMBRE_PARENTS"], 0}
  GEA.add({Ecl_Parents_off, Intrusion}, -1, "Mode Panic OFF", {{"VirtualDevice", id["ETAT_ALARME"], 1}})

sauf que quand j'appuie sur l'inter (donc value 0), la scene le remet à  20 ou 80 de suite et je pense que GEA à  pas le temps de modifier la variable

[DEBUG] 20:30:36: GEA Version 5.33 : en exécution...
[DEBUG] 20:30:36: [ Value [181|Ecl_Chambre_Parents] = 0 ] Add Property : ajout de la tache pour lancement instantané (ID:22) [VirtualDevice,182,1] [If..]


EDIT2: je sais pas si c'est vraiment une histoire de temps, car si je mets un fibarosleep de 10s dans la scene, ca fonctionne pas non plus

Posté(e)

bon semble avoir trouvé

sans mettre la variable "intrusion" dans la condition et en jouant avec les valeurs 80/20 et 0 quand j'appuie sur l'inter - j'arrive à  changer la variable donc à  arrêter la scene.

 GEA.add(id["ECL_CHAMBRE_PARENTS"], -1, "Mode Panic OFF", {{"Inverse"},{"VirtualDevice", id["ETAT_ALARME"], 1}})

ca fonctionne et c'est le principal, mais je voudrais bien comprendre :-)

 

... Mode gros boulet ... mon local Intrusion = ..... était pas correct.

désolé

Posté(e)

Hello tous,

 

une nouvelle petite question sur GEA.

J'ai un termostat SRT321, et pour envoyer la consigne, dans le module virtuel pour les mdoes manuels, j'appelle la commande suivante:

 

fibaro:call(deviceId_ThermostatPrincipal, "setTargetLevel", 19.00) pour placer à  19° par exemple

 

Pour la partie automatique, je compte utiliser GEA bien plus complet que l'interface heating panel qui est trop limitée.

 

Comment puis je envoyer la consigne en utilisant les options GEA ?
 

Posté(e)

Bonsoir,

Je souhaite actionner un enemble d'interrupteurs en une fois. Quel est le code (autre que individuellement pour chaque lampe) que je devrais utiliser ?

J'ai essayé ceci (mais sans succès, autrement je ne vous poserais pas la question ...)

local groupeLUM = {
    DeviceID["LUM_HALLENTREE"], 
    DeviceID["PRISE_BUREAU"]
    }  
GEA.add (true, 1, "Extinction groupe lumières", {{"turnOff", groupeLUM}})

Merci de vos bonnes idées

Posté(e)

@jojo: Dans ton exemple si tu veux éteindre plusieurs lampes d'un coup il faut mettre:
 

GEA.add (true, 1, "Extinction groupe lumières", {{"turnOff",DeviceID["LUM_HALLENTREE"]},{"turnOff",DeviceID["LUM_HALLENTREE"]}})

 @971jmd: Pour le Restart et Stop, un exemple qui doit fonctionner, en fonction d'une variable globale Nuit/Jour on modifie la tempo d'arret d'un eclairage
 

local Tempo_1 = GEA.add(id["ECL_ESC_SS"], 10*60, "", {{"turnOff", id["ECL_ESC_SS"]}})
local Tempo_2 = GEA.add(id["ECL_ESC_SS"], 20*60, "", {{"turnOff", id["ECL_ESC_SS"]}})

GEA.add({"Global","JOUR","OUI"}, 30 , "Nous sommes le jourr" , {{"RestartTask", Tempo_1},{"StopTask",Tempo_2}})
GEA.add({"Global","JOUR","NON"}, 30 , "Nous sommes la nuit" , {{"RestartTask", Tempo_2},{"StopTask",Tempo_1}})

Nicolas

Posté(e)

@sakkhho : super bien joue, je crois qu'on t'avait conseille de tester sans intrusion aussi ;-), ca depend ce qu'etait "intrusion', la valeur d'une globale je crois ?

 

@jojo : avec ca peut-etre mais faut creer un groupe : jamais utilisé ;-)

{"Group", <numero>}                   -- Attribut cet événement au groupe {"Group", 2}

@atalata : normalement

{"Value", id, temp}

ou alors faire le setTargetLevel dans un Module Virtuel avec differents boutons de differentes temperatures et avec GEA tu appuies sur les boutons :

{"VirtualDevice", id, num bouton}

@971jmd :

oui je t'ai dit j'ai triche en supposant que l'inter etait un zwave qui modifiat une variable ;)

on y retourne alors ;-)

Posté(e)

merci pepite, 

J'vais bien pensé à  cela, mais je ne vois pas comment l'utiliser ? Quelqu'un à  déjà  utilisé cette fonction et aurait un retour d'expérience ?

Posté(e)
Salut,
 
d'abord aimer le script de gea et jouer avec lui.
Vous avez une question moi-même maintenant.
Je veux lire et utiliser la valeur d'une prise murale.
exemple simple:
prise murale est au-dessus de 200 watts envoient ensuite poussoir
 
GEA.add ({"Sensor +" id ["Wasmachine"], 200}, -1, "ON wasmachine")
ou il avec Value+ dans la ligne de script
 
A tout ce que je veux envoyer un poussoir Lorsque lave-linge est en marche et une fois terminé.
 
En regardant et en regardant ce forum ou des exemples, mais ne voit plus jamais soloution

Doit être simple je pense  :rolleyes:

Posté(e)

@dvine

Si tu utilises le -1 il faut mettre l'ID de ta TV dans l'entête du script :

 

Exemple si ton ID est 255

--[[
%% properties
255 power
255 valueSensor
%% globals
--]]

.

.

.

@Sebbrunie1

Quelques {"Repeat"} devrait résoudre ton problème, je te laisse chercher :)

.

.

@ihexley

Voici une proposition (non testée) pour utiliser le setTargetLevel avec GEA.

function setTarget(id, valeur)
	fibaro:call(id, "setTargetLevel", valeur)
end

GEA.add( {"Global", "Presence", "present"}, 30*60, "", {{"Time", "07:00", "01:00"}, {"Function", setTarget(33, 27)}})
Posté(e)

@sebbrunie : tu vois l'expert est passé, des repeat ;-) ..tu avais essaye..pour une fois que j'avais juste ;-)

 

@steven : wasmachine = TV tu crois hihihi ?

j'essaie toujours de piger le coup de l'interrupteur ;-)

 

@jojo :zozotte l'utilise avec ses volets roulants :

-- == VOLETS ROULANTS ==
-- ETE :   fermer partiel les VR a la plage horaire définie si température extérieure > 24 degré et temps clair depuis 15 mins sauf si vacances-- mais les reouvrir si temp < 22 ou temps plus clair pendant 15 mins et enfin à  16h les réouvrir et mettre la variable a 0-- la condition VR_xxx_Auto + la position des VR permet de vérifier si manuel ou automatique-- salon: de 12h à  16h 
local hourAutoOn = {"Time","12:00","16:00"}
local hourAutoFin = {"Time","16:01","16:10"}
GEA.add({{"Value+", id["TERRASSE_TEMP"], 24}, {"Global", "VR_Salon_Auto", "0"}, {"Value+", id["SALON_VR"], 50} , estNotVacances, estEte}, 15*60, "", {hourAutoOn, {"Group", 2}}) -- si temp > 24
GEA.add({{"Property", 3, "weatherConditionConverted", "clear"}, {"Global", "VR_Salon_Auto", "0"}, {"Value+", id["SALON_VR"], 50} , estNotVacances, estEte}, 15*60, "", {hourAutoOn, {"Group", 2}}) -- si temps clair
GEA.add({"Group", 2}, 30, "", {{"Close",id["SALON_VR"],40}, {"Global", "VR_Salon_Auto", "1"}}) -- alors on baisse les volets palier 1 et on change la variable

voila un petit lien pour creer un groupe

http://tutoriels.domotique-store.fr/content/76/175/fr/groupes-et-associations.html

 

@alatala : reponse du maitre : le ptit function ;-)

Posté(e)

GEA Boulette Game 

 

Rapel du scénario :

 

1. l'ouverture de la porte allume la lampe

2. la fermeture de la porte éteint la lampe

3. la lampe s'éteint automatiquement après 10 minutes

4. Si j'appuie sur l'interrupteur de la lampe, l’extinction automatique est stoppée.

 

 

Réponse :

local id_lampe = 100
local id_porte = 200

-- Extinction automatique de la lampe après 10mn.
local autoOff = GEA.add(id_lampe, 10*60, "", {{"turnOff"}})

-- Extinction de la lampe sur fermeture (inverse) de la porte
GEA.add(id_porte, -1, "", {{"Inverse"}, {"turnOff", id_lampe}})
-- Allumage de la lampe sur ouverture de la porte
GEA.add(id_porte, -1, "", {{"turnOn", id_lampe}, {"RestartTask", autoOff}})

-- Appuie sur l'interrupteur de la lampe, on stoppe l'extinction automatique.
GEA.add{id_lampe, -1, "", {{"StopTask", autoOff}})

Le piège : 

Quand on ouvre la porte, cela déclenche un {"turnOn", id_lampe} qui va donc exécuter automatiquement la dernière ligne 14, comme si on appuyait sur l'interrupteur.

 

L'astuce :

GEA agit en séquentiel soit action par action, une après l'autre.

Donc dans notre cas, quand on regarde bien la ligne 11 (ouverture de la porte). Cette ligne va allumé la lampe, ce qui va stopper la tache d’extinction (ligne 14) puis elle va la relancer droit derrière. 

Par contre, si on appuie sur l'interrupteur, on stop l’extinction sans la relancer.

 

Tordu ? Non.

Posté(e)

@pepite

Son code a été modifié ... enfin je crois .. ou je dois changer de cervelle 

 

 

@dvine

Attention au espace ... Becarefull with spaces ... Seien Sie vorsichtig mit den Leerzeichen

--[[
%% properties
255 power
255 valueSensor
--]]

local id = {
   Wasmachine = 255
}

GEA.add({"Sensor+" id["Wasmachine"], 200}, -1, "ON wasmachine")
Posté(e)
Steven,

 

merci pour la réponse rapide.

Je comprends le principe maintenant.

Juste changé le code et déjà  tester avec succès.  :60:

vous êtes le meilleur  B)

  • Upvote 1
×
×
  • Créer...