Aller au contenu

Recommended Posts

Ah, ben dans ce cas, il y a juste à changer mon "<" en ">" ce qui signifiera : 

Au lever du soleil si ce dernier est SUPERIEUR à 7h25, lorsque le lever du soleil sera inférieur à 7h25, ce sera 7h25 qui sera pris en compte

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 5 minutes, pepite a dit :

Ah, ben dans ce cas, il y a juste à changer mon "<" en ">" ce qui signifiera : 

Au lever du soleil si ce dernier est SUPERIEUR à 7h25, lorsque le lever du soleil sera inférieur à 7h25, ce sera 7h25 qui sera pris en compte

Cela reveint bien à ce que j'avais prévu?

 

    {"Time", "07:25<Sunrise", "07:35<Sunrise+10"}

 

Ou faut il que "Sunrise", soit en début du test?

 

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est dans l'autre sens je pense, mais à tester tout de même

 

{"Time", "Sunrise>07:25", "Sunrise+10>07:35"}

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour

 

Il est possible avec GEA de relancer automatiquement une scène toutes les 24h?

Ou si non de quel façon?

 

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour, oui c'est faisable.
GEA.add(true, 30, "", {{"Time", "20:00", "20:01"}, {"Scenario", id_de_la_scene}})

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello

 

petite question pour savoir si j'ai bon

 

J'ai à la cave un FGMS qui empêche l'extinction quand il voit un mouvement. Mais il ne peut pas prendre tous les coins de la piece.

donc je voulais faire que tant que la porte qui descends à la cave est ouvert on ne fait rien. et on relance la tache quand elle est fermée.

j'ai bon ?

 

	--Eclairage Cave
	local Ecl_Cave1 = GEA.add({id["MOV_CAVE"], {"Value+", id["ECL_CAVE"], 0}}, 2*60,"Lumière OFF cave", {{"Inverse"}, {"turnOff", id["ECL_CAVE"]}, {"Repeat"}})
	local Ecl_Cave2 = GEA.add({id["MOV_CAVE"], {"Value+", id["ECL_BUANDERIE"], 0}}, 2*60,"Lumière OFF buanderie", {{"Inverse"}, {"turnOff", id["ECL_BUANDERIE"]}, {"Repeat"}})
	GEA.add(id["OUV_CAVE"], 60,"", {{"StopTask", Ecl_Cave1},{"StopTask", Ecl_Cave2}})
	GEA.add(id["OUV_CAVE"], 60,"", {{"Inverse"},{"RestartTask", Ecl_Cave1},{"RestartTask", Ecl_Cave2}})
    --fin Cave

 

 

merci

 

Modifié par Sakkhho

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 04/03/2017 à 10:51, pepite a dit :

Bonjour, oui c'est faisable.
GEA.add(true, 30, "", {{"Time", "20:00", "20:01"}, {"Scenario", id_de_la_scene}})

Merci une fois de plus pour votre aide.

La scène est exécuté dans les 30 secondes entre 20hàà et 20h01, c'est bien cela?

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut a tous,

 

Nouvelle prise commandée, nouveau problème lol.

 

J'ai commandé un nouvelle prise commandée pour mon lave vaisselle, jusque la pas de problème.

 

J'ai réutilisé le script du lave linge que j'ai appliqué au lave vaisselle, ça marche nickel.

 

	GEA.add({{"Sensor+", id["LAVE_VAISSELLE"], 1.0},{"Sensor-", id["LAVE_VAISSELLE"], 2.5}, {"Global", "LAVEVAISSELLE", "WAITING"}}, 30*60, "Le LAVE_VAISSELLE est arrêté depuis #duration#", {{"Global", "Pushbullet", "Le LAVE_VAISSELLE est arrêté depuis #durationfull#"},{"Global", "Pushbullet_ama", "Le LAVE_VAISSELLE est arrêté depuis #durationfull#"}, {"IMPERIHOME",1}, {"Email",2},{"Repeat"}})
	GEA.add({"Sensor-", id["LAVE_VAISSELLE"], 1.5}, 2*60, "", {{"turnOff"}, {"Global", "LAVEVAISSELLE", "OFF"}})
	GEA.add({"Sensor+", id["LAVE_VAISSELLE"], 3}, 2*60, "", {{"Global", "LAVEVAISSELLE", "RUNNING"}})
	GEA.add({{"Sensor+", id["LAVE_VAISSELLE"], 1.0},{"Sensor-", id["LAVE_VAISSELLE"], 2.5}, {"Global", "LAVEVAISSELLE", "RUNNING"}}, 5*60, "", {{"Global", "LAVEVAISSELLE", "WAITING"}})
	GEA.add({{"Sensor+", id["LAVE_VAISSELLE"], 1.0},{"Sensor-", id["LAVE_VAISSELLE"], 2.5}, {"Global", "LAVEVAISSELLE", "OFF"}}, 2*60, "", {{"Global", "LAVEVAISSELLE", "PREPARATION"}})
	

 

Mais maintenant j'aimerais que mon lave vaisselle ne démarre que pendant les heures creuses, mais je ne peux pas arrêter le lv simplement entre 6h30 et 22h30, car l'interface de programmation nécessite que le LV soit allumée.

 

Mon idée était donc d'allumer le lave vaisselle en même temps que la lumière de la cuisine, (très simple)

Si au bout de 5minutes la conso ne change pas on éteint le lave vaisselle, (très simple)

	GEA.add(id["LAMPE_CUI"], -1, "", {{"turnOn", id["LAVE_VAISSELLE"]}})
	local veillelavevaisselle = GEA.add({"Sensor-", id["LAVE_VAISSELLE"], 5}, 30*60, "",  {{"turnOff", id["LAVE_VAISSELLE"]},{"Repeat"}})

par contre si la conso augmente et que nous sommes entre 6h30 et 22h30 on coupe le LV pour le rallumer à 22h30 (il reprendra sont cycle en HC du coup) mais j'ai strictement aucune idée de comment faire ca...

Help me please

Modifié par samhuin

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @samhuin,

 

Tu veux que si ta conso augmente tu veux un turnOff de la prise entre 6h30 et 22h30 ?
 

GEA.add({"Sensor+", id["LAVE_VAISSELLE"], 5}, 30*60, "", {{"Time", "06:30", "22:30"}, {"turnOff", id["LAVE_VAISSELLE"]},{"Repeat"}})


@flacon030

oui c'est cela. mais à tester pour savoir si cela répond bien à ton besoin.

Modifié par pepite

Partager ce message


Lien à poster
Partager sur d’autres sites

ca marche nickel, je cherchais a faire trop compliquer lol

 

Merci beaucoup

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour à Tous je débute avec GEA, j'ai beau essayé de trouver la solution je tourne en rond:

 

GEA_task créer dans les variable ok

 

voici l'erreur que je rencontre

 

[DEBUG] 14:09:25: line 126: attempt to index global 'GEA' (a nil value)

 

Voic le début du sript GEA:

--[[
%% autostart
%% properties
218 value
225 value
229 value
218 armed
229 armed
225 armed
%% globals
--]]


-- v 5.42
-- ==================================================
-- GEA : Gestionnaire d'Evénements Automatique
-- ==================================================
-- [FR] Scénario permettant de contrôler si un périphérique est
-- activé depuis trop longtemps ou lancer un push d'avertissement.
-- Ce scénario permet une annotation plus simple que le code LUA
-- il nécessite néanmoins quelques connaissances.
--
-- [EN] This scene allow you to check every X second the status
-- of a module and send actions if the module is activated since too long.
-- This scene allow you a more simple annotation than LUA
-- it requires some knowledge
--
-- Auteur : Steven P. with modifications of Hansolo and Shyrka973
-- Version : 5.42
-- Special Thanks to :
-- jompa68, Fredric, Diuck, Domodial, moicphil, lolomail, byackee,
-- JossAlf, Did,  sebcbien, chris6783, tibahut and all other guy from Domotique-fibaro.fr
-- ------------------------------------------------------------
-- Historique / History
-- ------------------------------------------------------------
-- L'historique complet est diponible ici / the full history is available here :
-- http://www.domotique-fibaro.fr/index.php/topic/1082-gea-gestionnaire-dévénements-automatique/?p=12428

-- Paramétrage de GEA / GEA configuration
function config()
  GEA.isVersionFour           = true -- On est en version 4.017 Beta ou supérieure /
  GEA.language                = "FR" -- Votre langue : FR (default) / Your language : EN
  GEA.checkEvery              = 30 -- On vérifie toutes les X secondes  (default : 30) / Check every X seconds
  GEA.portables               = {214} -- Liste des portables devant recevoir une notification {70, 71} / Smartphones you want to be notified
  GEA.debug                   = false -- Affichage des traces dans la console (default : false) / Show trace in the debug window
  -- GEA.getGlobalForActivation = {"SuspendreGEA", "non"} -- active ou désactive l'exécution de GEA via une variable globale / active or deactive GEA execution with a global variable
  -- GEA.catchError             = false
  GEA.optimize                = GEA.typeOptimize["IMMEDIATE_ONLY"]
  -- option : GEA.typeOptimize["NONE"], GEA.typeOptimize["IMMEDIATE_ONLY"], GEA.typeOptimize["ALL"]
  -- permet d'optimiser les soucis liés au getName et getRoom de fibaro mais n'affiche plus le nom des modules concernés.
end

-- Ajouter ici les événements à exécuter / Add here events to schedule
-- Une liste d'exemples est disponible dans un fichier annexe samples.lua / A samples list is available in another file called samples.lua
 
local id = {
--inconnu
YRAWEATHER = 3, 
--Salon
NETATMO = 59, TEMPERATUREASALONAN = 61, CO2ASALON = 62, HUMIDITEASALON = 63, NETATMOAPRESSION = 64, NETATMOABRUIT = 65, 
--Coursive
NETATMOAOUTDORATEMPERATURE = 66, NETATMOAOUTDORAHUMIDITY = 67, 
--Parents
TEMPERATUREAPARENTNA = 68, HUMIDITEAPARENTS = 69, CO2APARENTS = 70, 
--Romane
TEMPERATUREAROMANEAN = 71, HUMIDITEAROMANE = 72, CO2AROMANE = 73, 
--Escalier
ECLAIRAGEASPOT = 78, 
--Salon
SWIPE = 111, 
--Escalier
DETECTIONAHAUT = 119, TEMPERATUREAHAUT = 120, LUMINOSITEAHAUT = 121, DETECTIONABAS = 124, TEMPERATUREABAS = 125, LUMINOSITEABAS = 126, 
--Mathilde
ECLAIRAGEAMATHILDE = 130, 
--Romane
ECLAIRAGE = 134, 
--Mathilde
DETECTIONAMATHILDE = 137, TEMPERATUREAMATHILDE = 138, LUMINOSITEAMATHILDE = 139, 
--Romane
DETECTIONAROMANE = 142, TEMPERATUREAROMANE = 143, LUMINOSITEAROMANE = 144, 
--Salle de Bain
ECLAIRAGEASDB = 154, 
--Cuisine
PRISEAFRIGOABEKO = 157, 
--inconnu
DETECTEURAFUMEA1 = 159, DETECTEURAFUMEA1_INCONNU = 160, FGSDA1ATEMPERATUREA = 161, FGSDA2 = 163, FGSDA2_INCONNU = 164, FGSDA2ATEMPERATUREA = 165, FGSDA3 = 167, FGSDA3_INCONNU = 168, FGSDA3ATEMPERATUREA = 169, FGSDA4 = 171, FGSDA4_INCONNU = 172, FGSDA4ATEMPERATURE = 173, FGSDA5 = 175, FGSDA5_INCONNU = 176, FGSDA5ATEMPERATUREA = 177, 
--Salon
PRISEATVASAMSUNG = 180, PRISEAWIAU = 181, PRISEAPPLEATV = 182, PRISEAWIAPAD = 183, PRISEAFREBOXATV = 184, PRISEACAMERAWELCOME = 185, 
--Buanderie
PRISEARLO = 205, PRISEASYNOLOGY = 206, PRISEAHOMEACENTERA2 = 207, PRISEA4 = 208, PRISEAMYFOXALINK = 209, PRISEA6 = 210, 
--Wc
FENETREAWC = 216, 
--Garage
GARAGEASTATUS = 218, 
--Garage
PORTEAGARAGE = 225, OUVERTUREAFERMETURE = 229, 
--inconnu
NETATMOATHERMOSTAT = 231, 
--Salon
AQUARIUM = 234, 
--Mathilde
VEILLEUSEAMATHILDE = 236, 
--Terrasse
TEST = 237, 
--Buanderie
MACHINEAALAVER = 241, 
--inconnu
NETATMOAINDORATEMPERATURE = 242, NETATMOAINDORAHUMIDITY = 243, NETATMOAINDORACO2 = 244, 
}

-- usage :
-- fibaro:getValue(id["NETATMOAINDORACO2"], "value")
-- GEA.add(id["NETATMOAINDORACO2"], 30, "")

-- ID Telephone Portable
local phone= {
  phone_nico = 214
  }

------DEBUT GARAGE---------------------
-- Le scénario enverra un push toutes les 10mn tant que la porte sera ouverte
  GEA.add( id["OUVERTUREAFERMETURE"], 10*60, "La porte du garage est ouverte depuis plus de #duration#",{"Repeat"})
------FIN GARAGE-----------------------

Partager ce message


Lien à poster
Partager sur d’autres sites

A mon avis, tu n'as pas copier le script au complet avant de l'adapté ?

 

Sinon tu peux m'envoyer un copie du script complet à steven.piccand@gmail.com et je jetterais un oeil ... ou deux si je suis en forme.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello @tibahut,

 

Suite à ton message sur mon sujet ouvert sur la possibilité de passer des paramètres lors de l'appel d'une scène.

 

Nous souhaiterions pouvoir disposer dans GEA lors de l'appel d'une scène pouvoir ajouter des paramètres qui seront pris en compte par la scène en question.

 

Voici ci-dessous pour la syntaxe de l'appel d'une scène avec 4 paramètres passés lors de l'appel de la scène 24 :

  • fibaro:startScene(24, {{param1 = 74}, {param2=0}, {param3="cyan"}, {param4="Coucou"}})

 

Principes généraux au niveau des paramètres :

  • Ils doivent rester facultatifs
  • Le nombre de paramètres doit pouvoir être indéfini (au choix de l'utilisateur)
  • Le nommage des paramètres doit pouvoir être libre (au choix de l'utilisateur)
  • Les valeurs peuvent être de tout type (numériques, texte, date, booléen, ...), soit des valeurs en dur telles que renseignées par l'utilisateur ou des valeurs calculées ou disponibles dans GEA. 
  • Lors de l'appel de la scène, la syntaxe doit respecter la forme ci-dessus, notamment avec les crochets qui encadre chacune des variables et les crochets encadrant l'ensemble des variables

 

Exemple d'écriture la chaine de caractères correspondant aux paramètres envoyés : 

 

Idéalement cette chaine de caractères devrait pouvoir être interprétée/évaluée comme du code LUA, comme par exemple :

 

"{{param1 = "..id["ENTREE_SOUS_SOL"].."}, {param2=".."TEXTE LIBRE".."}, {param3 ="..#date# #time#.."}, {param4="..10*60.."}, param5="..{Global, "Nombre de truc"}, param6="..["Nom_Var"].."}}"

 

dont le résultat serait le suivant :

 

"{{param1 = 4}, {param2="TEXTE LIBRE"}, {param3 ="08/03/2017 10:15"}, {param4="600"}, param5=500}, param6="Val_Nom_Var"}}"

 

Explications sur l'exemple :

 

id["ENTREE_SOUS_SOL"] : serait issu d'une variable tableau (soit = 4) créée dans la partie du code GEA accessible pour l'utilisateur du genre :

local id = {
ENTREE_SOUS_SOL            = 4,
SALLE_A_MANGER          = 39,
SALON                   = 42,
}

 

"TEXTE LIBRE" remplacé par TEXTE LIBRE

 

#date# #time# : remplacé par la date et l'heure système

 

10*60 : remplacé par le résultat de la formule, soit 600

 

{Global, "Nombre de truc"} : remplacé par la valeur de la variable globale selon sont type (texte, boolean, number, ...), soit 500 dans l'exemple

 

["Nom_Var"] : remplacé par la valeur d'une variable en conservant sont type (texte, boolean, number, ...) créée dans la partie du code accessible pour l'utilisateur du genre, soit :

  • local Nom_Var = "Val Nom_Var"
  • local Nom_Var = 500
  • local Nom_Var = true

 

Disponibilité de cette fonctionnalité :

 

Cette possibilité d'appeler la scène avec des paramètres devrait être possible via les fonctions :

  • de planification luaDaySchedule:add
  • a compléter par les experts de GEA

 

Je laisse aux autres compléter et corriger le mode d'écriture de la chaine de caractère qui doit être interprétées.

 

Je pense que c'est une bonne base pour de premières spécifications ;)

Modifié par MAM78
  • Upvote 2

Partager ce message


Lien à poster
Partager sur d’autres sites

salut a tous

 

j'ai une petit probleme avec 

 

--[[
%% autostart
%% properties
69 value
69 armed
69 Disarmed
%% globals
--]]

 

GEA.add({"Armed", id["FGK"]}, -1, "Capteur Armed", {{"turnOn", id["APPLIQUE_DU_BAR"]}})
GEA.add({"Disarmed", id["FGK"]}, -1, "Capteur Disarmed ", {{"turnOff", id["APPLIQUE_DU_BAR"]}}

 

 

quand Aemed la lampe s'allume mes je reçois non seulement la notification  Capteur Armed  et également  Capteur disarmed

et quand je d'arme je recois également  les deux notification

Partager ce message


Lien à poster
Partager sur d’autres sites

À oui la question
Comment dissocier les deux mode ?


Envoyé de mon iPhone en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut
@971jmd

Tu n'utilises pas Armed et Disarmed comme il faut. En fait c'est une condition à mettre en OPTIONS, comme "Time" ;-)

 

GEA.add(id["FGK"]}, -1, "Capteur Armed", {{"Armed"},{"turnOn", id["APPLIQUE_DU_BAR"]}})
GEA.add(id["FGK"]}, -1, "Capteur Disarmed ", {{"Disarmed"}, {"turnOff", id["APPLIQUE_DU_BAR"]}}

 

Modifié par pepite

Partager ce message


Lien à poster
Partager sur d’autres sites

salut à

@pepite

 

j'ai deja essayer ça ne fonctionne pas et j'ai meme pas ma lampe qui passe de on OFF

 

GEA.add({id["FGK"]}, -1, "Capteur Armed", {{"Armed"},{"turnOn", id["APPLIQUE_DU_BAR"]}})
GEA.add({id["FGK"]}, -1, "Capteur Disarmed ", {{"Disarmed"}, {"turnOff", id["APPLIQUE_DU_BAR"]}})
 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

voila j'ai trouver 

 

GEA.add({"Value", id["FGK"], 0}, -1, "Capteur Armed", {{"Armed"},{"turnOn", id["APPLIQUE_DU_BAR"]}})
GEA.add({"Value", id["FGK"], 0}, -1, "Capteur Disarmed ", {{"Disarmed"}, {"turnOff", id["APPLIQUE_DU_BAR"]}})
 

 

merci Pepite

Partager ce message


Lien à poster
Partager sur d’autres sites

en faite 

 

si

GEA.add({"Value", id["FGK"], 0}, -1, "Capteur Armed", {{"Armed"},{"turnOn", id["APPLIQUE_DU_BAR"]}})

porte fermer alors amed

 

ou

Citation

GEA.add({"Value", id["FGK"],  1} , -1, "Capteur Armed", {{"Armed"},{"turnOn", id["APPLIQUE_DU_BAR"]}})

porte ouverte alors Amed

 

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Je pense que tu confonds.

 

tu as besoin de quoi ?  :

si porte ouverte : allumer bar

si porte fermee : eteindre bar ???

 

Ne serait-ce pas plutôt cela que tu cherches à faire ?
 

GEA.add(id["FGK"], -1, "Capteur Armed", {{"turnOn", id["APPLIQUE_DU_BAR"]}})
GEA.add(id["FGK"], -1, "Capteur Disarmed ", {{"Inverse"}, {"turnOff", id["APPLIQUE_DU_BAR"]}})

 

Modifié par pepite

Partager ce message


Lien à poster
Partager sur d’autres sites

@MAM78 merci pour les infos, je vais commencer à me remettre dans le code de GEA déjà ^^

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour à tous, 

 

A la recherche de testeur pour de nouvelles aventures GEA :

  •  -- Thermostat SetTargetLevel
    •   {"ThermostatLevel", "id_Thermostat", "Temperature"}
  •  -- Thermostat setTime
    • {"ThermostatTime", "id_Thermostat", "durée_en _mins"}
  •  -- addDebugMessage pour VD 
    • {"DebugMessage", "id_vd", "0 (mainloop)|button_id", "message", "error|debug"}
  •  -- --- fibaro:getDevicesId(filters)
    • {"Filters", "Lights|Blind", "turnOff|Close|Open"}
  • -- TypeNotification :
    • -- {"Notification", "InteractivePush", "idTel", "Question", "Scene_à_lancer"}
    • -- {"Notification", "GatewaySms", "idvdpasserelle", "idbuttonpasserelle"}
    • -- {"Notification", "Popup", "Titre_Popup", "Message"} ou GEA.add(condition, 30, "Message Popup", {{"Notification", "Popup", "Titre Popup"}})
  • -- Frequence {"Frequency", "Day", "Number"}
    • -- {"Frequency", "Monday", "2"} --> Tous les Lundis de Semaine Paire,
    • -- {"Frequency", "Monday", "1"} --> 1er Lundi de chaque mois

 

 

Avec l'aide du master @Steven évidemment pour permission, avis et correction du code ;-)

 

 

Modifié par pepite
  • Upvote 3

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello @pepite est-ce @tibahut qui fait les DEV en question. Si oui est-ce qu'il y aura également mes demandes que je lui ai adressées ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut @971jmd

 

Bien vu, on évite le HS. 

Oui tu peux faire du déclenchement instantané avec les étiquettes de VD : 

 - dans l'entête sous properties tu mets : 

   --> 625 ui.Label1.value

 

Ta ligne GEA est ok pour moi

GEA.add({"Label", 625, "Label1", "activé"} , -1 , "", {.........}) 

 

@MAM78

Heu non désolé, ce n'est pas @tibahut qui l'a fait, mais moi. Avec les erreurs que cela peut engendrer ;-) 

A tester pour tes demandes, @Steven si tu passes par là ;-)

Après réflexion, je pense que ça devrait répondre @MAM78, je vais tester ;-) 

Modifié par pepite
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×