Aller au contenu

Recommended Posts

Bonjour Pepite,

 

Merci pour ton aide, je vais tenter ainsi voir si cela ne déclenche que lorsque le capteur est armé.

Je reviens tenir au courant, cela pourra aider d'autres personnes qui ont le même problème

Partager ce message


Lien à poster
Partager sur d’autres sites

Quelle est la méthode la plus simple pour m'indiquer la température de ma piscine ?

 

Je l'allume comme ça : 

GEA.add(PiscineOK, 60, "Piscine ON à  #time#", {{"turnOn", id["PISCINE"]},{"Time", "09:00", "09:05"}})

Mais j'aimerais include dans le message push en plus de l'heure, la température...

 

Avec une scène, je faisais simplement comme ça :

 

if PiscineOK == 1 then  
    if Heure == "09:00" then
      fibaro:call(IDPiscine, "turnOn");
      local message = "Piscine ON à  09h00 avec temp : " .. (fibaro:getValue(478, "value")) .. "°";
      fibaro:setGlobal("Push", message);    
    end
end

Partager ce message


Lien à poster
Partager sur d’autres sites

@kioneoranga

 

 

je vais essayer d'etre clair

 

Dans le cas de @kioneoranga, cette ligne GEA n'est pas conseillee, cela arreterait le videoproj sans attendre le refroidissement de la lampe

GEA.add({{"Property", id["WP_HIFI_VIDEO_PARENTS"], "value", 0}}, 5*60, "Arret automatique video projecteur", {{"turnOff", id["WP_VIDEO_PROJECTEUR_PARENTS"]}})

L'idee est de passer par une variable (non globale) (sans utiliser le sleep non conseille dans GEA) afin d'augmenter la duree d'attente
 et d'utiliser en condition la valeur de la variable qui a change

 

-- Initialisation de la variable : false

local videoproj = false

--Lorsque la condition Property est = 0, on change la valeur de la variable à  true

GEA.add({{"Property", id["WP_HIFI_VIDEO_PARENTS"], "value", 0}}, -1, "Arret automatique video projecteur", {{"Function", function videoproj = true  end}})

-- puis utilisation de la variable en condition (devenue true) en lui mettant une duree (sans le sleep de 5 ou 10 mins qui decalerait toutes les lignes de GEA).

donc 10 mins apres le passage de property à  0, on peut eteindre le videoproj en supposant que la lampe ait bien ete refroidie en 10 mins

-- remise de la variable à  false

GEA.add({"Function", function() return videoproj end}, 10*60, "Refroidissement de la lampe depuis #durationfull#", {{"turnOff", id["WP_VIDEO_PROJECTEUR_PARENTS"]}, {"Function", function videoproj = false end}})

 

Concernant l'histoire du vidéo projecteur, je suis désolé mais la proposition de @pepite ne va pas fonctionner  :(

 

En effet, la variable "videoproj" est mise à  true lors d'un appel immédiat ( -1 ) alors que la vérification de cette dernière "videoproj" est fait dans un appel standard ( 10*60 ). Hors lors d'un appel immédiat, le moteur LUA charge une nouvelle instance de GEA. A ce moment précis, nous avons donc 1 instance de GEA qui traite le videoproj = true et une autre instance de GEA dans laquelle videoproj est et restera toujours à  false.

 

Ce genre de traitement fonctionne parfaitement mais uniquement avec des appels standards.

 

Dommage car l'idée était vraiment bonne.

 

Je n'ai pas étudié le code et la logique en profondeur, mais il suffit de mettre 60, 30 (ou moins) au lieu de -1

Le fonctionnement ne sera pas instantané, mais je pense que 30s c'est acceptable et la logique sera la même.

 

Exemple chez moi pour mettre la musique deux minutes après être rentré après une absence de au moins 30 minutes, sauf si l'ampli est déjà  allumé et uniquement si on sort du mode nuit ou du mode alarme "on", dépendant de la période le matin et le soir, lancer des radios différentes via mon VD MARANTZ_SALON.

local estAt_Home = {"Global", "PresentState", "At_Home"}
local estAway = {"Global", "PresentState", "Away"}
local estNotAway = {"Global!", "PresentState", "Away"}
local estNight_All_Off = {"Global", "PresentState", "Night_All_Off"}
local estNotNight_All_Off = {"Global!", "PresentState", "Night_All_Off"}
local estAwayOrNigh_All_Off = {"Global", "PresentState", "Night_All_Off|Away"}

----------------MUSIQUE SALON------------------
  isLongAwayOrNightAllOff_AMPLI = false
  GEA.add(estAwayOrNigh_All_Off, 30*60, "", {{"function",function() isLongAwayOrNightAllOff_AMPLI = true end}}) -- après 30 minutes met long away à  true
	-- Ampli déjà  allumé, désactive Auto on after long away
  GEA.add({{"Sensor+", id2["TV___AMPLI"], 40},{"function",function() return isLongAwayOrNightAllOff_AMPLI end}}, 60, "", {{"function",function() isLongAwayOrNightAllOff_AMPLI = false end}}) -- désactive si l'ampli est allumé (manuellement ou pas) et que isLongAwayOrNightAllOff_AMPLI = true 
	-- At Home entre 6h et 11h - Marantz Scénario Matin
  GEA.add({estAt_Home,{"function",function() return isLongAwayOrNightAllOff_AMPLI end}}, 2*60, "",{{"Time", "06:00", "11:00"}, {"VirtualDevice", id2["MARANTZ_SALON"], 23},{"Portable", id["PHONE_FAKE"]},{"Email", id["ADMIN"],"Notification GEA V5 Instance 1"},{"function",function() isLongAwayOrNightAllOff_AMPLI=false end}})
	-- At Home entre 17h et 19h30 - Marantz Scénario Soir
  GEA.add({estAt_Home,{"function",function() return isLongAwayOrNightAllOff_AMPLI end}}, 2*60, "",{{"Time", "17:00", "19:30"}, {"VirtualDevice", id2["MARANTZ_SALON"], 24},{"Portable", id["PHONE_FAKE"]},{"Email", id["ADMIN"],"Notification GEA V5 Instance 1"},{"function",function() isLongAwayOrNightAllOff_AMPLI=false end}})
-----------------------------------------------

donc essaye avec cette ligne:

GEA.add({{"Property", id["WP_HIFI_VIDEO_PARENTS"], "value", 0}}, 30, "Arret automatique video projecteur", {{"Function", function videoproj = true  end}})
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

aux admins, @lazer @moicphil etc, le fil showroom GEA donne souvent des serveur error 500... les pages sont trop lourdes, il n'y a pas moyen de les faire plus courtes pour ce fil ?

 

http://www.domotique-fibaro.fr/index.php/topic/2143-showroom-configs-gea/

Partager ce message


Lien à poster
Partager sur d’autres sites

@ Sebcbien

 

juste une question 

 

il ne manque pas un LOCAL devant   isLongAwayOrNightAllOff_AMPLI = false

----------------MUSIQUE SALON------------------
  isLongAwayOrNightAllOff_AMPLI = false
  GEA.add(estAwayOrNigh_All_Off, 30*60, "", {{"function",function() isLongAwayOrNightAllOff_AMPLI = true end}}) -- après 30 minutes met long away à  true

Partager ce message


Lien à poster
Partager sur d’autres sites

non, pas besoin, ça fonctionne comme ça depuis des mois,

Mais local est sans doute plus propre.

Y'avait un post sur les déclarations de variables de lazer ou steven ou autre, quelquepart sur le forum.

 

Sinon ceci marcherais aussi je pense:

GEA.add({{"Sensor-", id2["WP_HIFI_VIDEO_PARENTS"], 10}}, 30, "Arret automatique video projecteur", {{"Function", function videoproj = true end}})

ce qui veut dire: si la conso du WP est inférieure à  10 W pendant 30 secondes, passer la variable videoproj à  true

 

edit, je n'ai pas trouvé dans ce forum mais voici:

mettre local ou pas permet de définir une variable dans un environnement plus restreint

ce que lua appelle global n'a rien à  voir avec les variable globales de Fibaro (enfin je crois)

des pointures pourront sans doute préciser tout ça..

 

http://wxlua.free.fr/Tutoriel_Lua/Tuto/Variables/sorte.php

En Lua, il existe deux sortes de variables:
-- La variable globale, qui n'a pas besoin d'être déclarée.
nomVariable = la valeur que l'on veut lui affecter

-- La variable locale, qui se déclare de la façon suivante:
local nomVariable = la valeur que l'on veut lui affecter

Toute variable est supposée être globale, sauf si explicitement elle a été déclarée en tant que locale.

La variable globale existe pour l'ensemble du programme, alors que la variable locale n'existe qu'à  l'intérieur de l'environnement dans lequel elle a été créée.

Avant sa première affectation, la valeur d'une variable, est égale à  nil.

Toujours utiliser, autant que faire se peut, les variables locales. Ces dernières occupent moins de place en mémoire et sont plus rapides.

Partager ce message


Lien à poster
Partager sur d’autres sites

aux admins, @lazer @moicphil etc, le fil showroom GEA donne souvent des serveur error 500... les pages sont trop lourdes, il n'y a pas moyen de les faire plus courtes pour ce fil ?

 

http://www.domotique-fibaro.fr/index.php/topic/2143-showroom-configs-gea/

 

 

Oui , merci seb, Yohan est au courant. Je pense plutot que quelqu'un a du posté un un code GEA complet, ca fait plusieurs jours que je n'arrive plus à  aller sur ce fil.

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors ça devrait être la 2e ou 3e page qui devrait planter non?, ici c'est la première page qui plante... àmoins que qqun n'aie édité un post de la première page évidemment... :-/

Sent from my Note4

Partager ce message


Lien à poster
Partager sur d’autres sites

Je n'ai accés ni à  la 1er ni seconde page du showroom...

 

La solution sinon seb pour alléger les post est de mettre tout les codes avec une balise "spoiler" BBC spécial 

 

exemple : 

local estAt_Home = {"Global", "PresentState", "At_Home"}
local estAway = {"Global", "PresentState", "Away"}
local estNotAway = {"Global!", "PresentState", "Away"}
local estNight_All_Off = {"Global", "PresentState", "Night_All_Off"}
local estNotNight_All_Off = {"Global!", "PresentState", "Night_All_Off"}
local estAwayOrNigh_All_Off = {"Global", "PresentState", "Night_All_Off|Away"}

----------------MUSIQUE SALON------------------
isLongAwayOrNightAllOff_AMPLI = false
GEA.add(estAwayOrNigh_All_Off, 30*60, "", {{"function",function() isLongAwayOrNightAllOff_AMPLI = true end}}) -- après 30 minutes met long away à  true
-- Ampli déjà  allumé, désactive Auto on after long away
GEA.add({{"Sensor+", id2["TV___AMPLI"], 40},{"function",function() return isLongAwayOrNightAllOff_AMPLI end}}, 60, "", {{"function",function() isLongAwayOrNightAllOff_AMPLI = false end}}) -- désactive si l'ampli est allumé (manuellement ou pas) et que isLongAwayOrNightAllOff_AMPLI = true
-- At Home entre 6h et 11h - Marantz Scénario Matin
GEA.add({estAt_Home,{"function",function() return isLongAwayOrNightAllOff_AMPLI end}}, 2*60, "",{{"Time", "06:00", "11:00"}, {"VirtualDevice", id2["MARANTZ_SALON"], 23},{"Portable", id["PHONE_FAKE"]},{"Email", id["ADMIN"],"Notification GEA V5 Instance 1"},{"function",function() isLongAwayOrNightAllOff_AMPLI=false end}})
-- At Home entre 17h et 19h30 - Marantz Scénario Soir
GEA.add({estAt_Home,{"function",function() return isLongAwayOrNightAllOff_AMPLI end}}, 2*60, "",{{"Time", "17:00", "19:30"}, {"VirtualDevice", id2["MARANTZ_SALON"], 24},{"Portable", id["PHONE_FAKE"]},{"Email", id["ADMIN"],"Notification GEA V5 Instance 1"},{"function",function() isLongAwayOrNightAllOff_AMPLI=false end}})

-----------------------------------------------

 

.

 

post-2-0-73319400-1467471559_thumb.png

 

post-2-0-45586200-1467471561_thumb.png

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@pepite,

 

Je viens de tester la ligne que tu m'as corrigée, je n'ai pas d'envoi de notification sur mon tel

	GEA.add(id["A_BUREAU"], -1, "Detection de mouvement dans le bureau a #time# le #date#", {{"Armed"}, {"Portable", 261}, {"setDisarmed", id["A_BUREAU"]}})

l'alarme est bien déclenchée et coupée au passage.

Pour être certain, Portable est une méthode pour envoyer des notifications push vers un portable et 261 et l'ID du portable ?

 

Merci pour ton aide.

Partager ce message


Lien à poster
Partager sur d’autres sites

@pepite,

 

Rectification, l'alarme de se coupe pas, je n'avais pas vu mais je dois couper l'alarme pour relancer GEA .

en LUA j'ai une commande qui fonctionne

--[[
%% properties
289 value
289 armed
%% events
%% globals
--]]

local startSource = fibaro:getSourceTrigger();
if (
 ( (tonumber(fibaro:getValue(289, "value")) > 0 and tonumber(fibaro:getValue(289, "armed")) > 0) )
or
startSource["type"] == "other"
)
then
	fibaro:call(302, "sendDefinedPushNotification", "265");
	fibaro:call(289, "setArmed", "0");
end


Je ne sais pas si c'est la définition des variables ou autre

 

Merci pour ton aide.

Partager ce message


Lien à poster
Partager sur d’autres sites

SalutJerome,

 

Tes ids sont ils les bons dans GEA dans l'entete ?

Soit id["A_BUREAU"] est-il bien 289 et d'apres la scene qui fonctionne le Portable qui doit recevoir le push est 265 et non 261

 

Quelle est ta ligne GEA qui arme ton capteur 289 ?

la lige que je t'ai porposee n'enverra le push que lorsqu'il y aura une detection SI le capteur est deja ARME ..

Partager ce message


Lien à poster
Partager sur d’autres sites

@ikillou

 

A tester comme d'hab ;-) rien de sur

GEA.add({{"Value!", 478, ""}, PiscineOK}, 60, "Piscine ON à  #time# avec temp #value#", {{"turnOn", id["PISCINE"]},{"Time", "09:00", "09:05"}})

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir à  tous, 

Je profite de la mi-temps ...

 

@pepite: le capteur A_BUREAU est bien 289.

La ligne d'armement est :

    GEA.add(true, 1*30, "",{{"Days", "Weekday"}, {"Time", "9:13", "9:17"}, {"setArmed",id["A_BUREAU"]}})

concernant le portable, mes variables sont: 

local Mobileid = { IPHONE_JEROME	= 261
  				 }
  
local id = {
	L_CUBAIN_AMB		= 57,
	L_CUBAIN_HAL		= 141,
	L_SALON_AMB			= 143,
	L_CHAMBRE_PARENTS	= 225,
	L_BUREAU			= 168,
  	L_ESCALIER_01		= 102,
  	L_ESCALIER_12		= 121,
    L_DRESSING			= 176,
    L_SALON				= 203,
    L_SDE_PLAF     		= 211,
    L_SDE_MIROIR   		= 215,
  	V_PARENTS			= 114,
  	V_BUREAU			= 74,
  	V_CHEMINEE			= 137,
  	V_TV				= 139,
	V_BUREAU 			= 74,
    V_MATTEO			= 99,
    V_ANDREA			= 237,
	REFRIGERATEUR 		= 110,
	CONGELATEUR 		= 112,
    GEA_ALARMS_REVEIL	= 223,
    BATTERIES			= 36,
    DESCENTE_MATTEO		= 87,
    DESCENTE_ANDREA		= 132,
    MONTEE_MATTEO		= 89,
    MONTEE_ANDREA		= 143,
    A_SAM				= 228,
    A_BUREAU			= 289,
    A_SALON				= 294,
    A_ESCALIER			= 314,
    A_TONNELLE			= 307
}

De ce que je comprends, le 265 est un message a destination de mon portable. C'est l'association d'un message vers un portable.

 

Merci pour ton aide. 

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut jerome,

 

D'apres ta scene qui fonctionne, tu envoies le message "265" au mobile dont l'id est 302.

Dans tes declarations de variables "Mobileid", tu n'as pas de 302.

 

Teste ceci pour voir si tu recois le push

GEA.add(id["A_BUREAU"], -1, "Detection de mouvement dans le bureau a #time# le #date#", {{"Armed"}, {"Portable", 302}, {"setDisarmed", id["A_BUREAU"]}})

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour pepite,

 

Comme je suis avec un PC, j'ai lancé le HC2Toolkit pour valider mes ID, tu as raison, le téléphone est en 302.

C'est le problème de changer souvent de téléphone, je n'avais pas pensé a le changer ici  :(

 

Cependant, malgré la modification, je n'ai pas de notification et pas de désarmement non plus.

 (le module A_BUREAU est bien en 289.

J'ai attendu 1 minute avant de désarmer manuellement.

Je suis un peu perdu car cela fonctionne en LUA 

 

En tout cas merci pour ton aide.

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut,

 

tu as bien mis dans l'entete de GEA 289 value, nécessaire au déclenchement instantané

 

Va falloir y aller pas à  pas pour trouver dou vient le souci.

 

Essaie de desarmer tout simplement, pense à  armer le module avant

GEA.add(true, 30, "desarmement 289", {{"setDisarmed", 289}})

Recois tu le push ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Pepite,

 

Je viens juste d'ajouter 289 value dans la section %% properties  et cela semble libérer la commande.

Je suis un peu nul en programmation et complètement paumé sans le showroom.

j'ai lancé ta commande et j'ai bien reçu l'alerte et le désarmement de l'alarme... 

J’étends donc la solution à  mes 5 capteurs, les alertes coupent bien l'alarme mais je n'ai pas eu d'envoi vers mon tel !

Sur 1 en test cela a fonctionné et sur 5 pas une seule alerte reçu :(

Les lignes que j'utilise sont:

    GEA.add(id["A_BUREAU"], -1, "Detection de mouvement le bureau a #time# le #date#", {{"Armed"}, {"Portable", Mobileid[IPHONE_JEROME]}, {"setDisarmed", id["A_BUREAU"]}})
    GEA.add(id["A_SAM"], -1, "Detection de mouvement la cuisine a #time# le #date#", {{"Armed"}, {"Portable", Mobileid[IPHONE_JEROME]}, {"setDisarmed", id["A_SAM"]}})
    GEA.add(id["A_SALON"], -1, "Detection de mouvement le bureau a #time# le #date#", {{"Armed"}, {"Portable", Mobileid[IPHONE_JEROME]}, {"setDisarmed", id["A_SALON"]}})
    GEA.add(id["A_ESCALIER"], -1, "Detection de mouvement dans l'escalier a #time# le #date#", {{"Armed"}, {"Portable", Mobileid[IPHONE_JEROME]}, {"setDisarmed", id["A_ESCALIER"]}})
 

la déclaration de mon portable est :

local Mobileid = { IPHONE_JEROME	= 302
  				 } 

Merci pour ton aide, 

Partager ce message


Lien à poster
Partager sur d’autres sites

Pas de souci, pas d'inquietude, ca va le faire ;-)

 

Petit conseil de débutant aussi comme moi, prends l'habitude de ne tester qu'avec 1 seule ligne, et partir du plus simple pour aller au plus compliqué, ce qui permet de vite voir ce qui ne fonctionne pas dans la ligne si elle est complexe ;-)

 

Il faut aussi mettre tous les IDS de tes capteurs SAM, SALON et ESCALIER dans l'entete de GEA comme tu l'as fait pour le 289 value, c'est pour permettre l'utilisation du "-1" dans GEA

 

Alors il te manque aussi des guillemets ;-)

 

Mobileid[iPHONE_JEROME] s'écrit Mobileid["IPHONE_JEROME"]

 

A toi de tester, ca sent bon la fin ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai eu la mauvaise idée de griller les étapes et mettre un changement puis dupliquer la ligne.

J'ai ajouté les guillemets, j'ai armé, je verrai bien en rentrant si cela m'averti mais il n'y a pas de raison.

 

j'ai constaté lors des test qu'il me proposait d'ouvrir l'app Fibaro sur mon tel à  la réception de l'alerte, sais tu s'il stock l'info quelque part ? Je n'ai trouvé que la partie Alarme mais c'est un peu pauvre en info. il y a bien un onglet notification mais c'est toujours vide dedans ...

 

Je reviens confirmer si cela fonctionne 

 

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

@kioneoranga , tu as pu tester ?

 

 

@kioneoranga

 

 

 

Je n'ai pas étudié le code et la logique en profondeur, mais il suffit de mettre 60, 30 (ou moins) au lieu de -1

Le fonctionnement ne sera pas instantané, mais je pense que 30s c'est acceptable et la logique sera la même.

 

Exemple chez moi pour mettre la musique deux minutes après être rentré après une absence de au moins 30 minutes, sauf si l'ampli est déjà  allumé et uniquement si on sort du mode nuit ou du mode alarme "on", dépendant de la période le matin et le soir, lancer des radios différentes via mon VD MARANTZ_SALON.

local estAt_Home = {"Global", "PresentState", "At_Home"}
local estAway = {"Global", "PresentState", "Away"}
local estNotAway = {"Global!", "PresentState", "Away"}
local estNight_All_Off = {"Global", "PresentState", "Night_All_Off"}
local estNotNight_All_Off = {"Global!", "PresentState", "Night_All_Off"}
local estAwayOrNigh_All_Off = {"Global", "PresentState", "Night_All_Off|Away"}

----------------MUSIQUE SALON------------------
  isLongAwayOrNightAllOff_AMPLI = false
  GEA.add(estAwayOrNigh_All_Off, 30*60, "", {{"function",function() isLongAwayOrNightAllOff_AMPLI = true end}}) -- après 30 minutes met long away à  true
	-- Ampli déjà  allumé, désactive Auto on after long away
  GEA.add({{"Sensor+", id2["TV___AMPLI"], 40},{"function",function() return isLongAwayOrNightAllOff_AMPLI end}}, 60, "", {{"function",function() isLongAwayOrNightAllOff_AMPLI = false end}}) -- désactive si l'ampli est allumé (manuellement ou pas) et que isLongAwayOrNightAllOff_AMPLI = true 
	-- At Home entre 6h et 11h - Marantz Scénario Matin
  GEA.add({estAt_Home,{"function",function() return isLongAwayOrNightAllOff_AMPLI end}}, 2*60, "",{{"Time", "06:00", "11:00"}, {"VirtualDevice", id2["MARANTZ_SALON"], 23},{"Portable", id["PHONE_FAKE"]},{"Email", id["ADMIN"],"Notification GEA V5 Instance 1"},{"function",function() isLongAwayOrNightAllOff_AMPLI=false end}})
	-- At Home entre 17h et 19h30 - Marantz Scénario Soir
  GEA.add({estAt_Home,{"function",function() return isLongAwayOrNightAllOff_AMPLI end}}, 2*60, "",{{"Time", "17:00", "19:30"}, {"VirtualDevice", id2["MARANTZ_SALON"], 24},{"Portable", id["PHONE_FAKE"]},{"Email", id["ADMIN"],"Notification GEA V5 Instance 1"},{"function",function() isLongAwayOrNightAllOff_AMPLI=false end}})
-----------------------------------------------

donc essaye avec cette ligne:

GEA.add({{"Property", id["WP_HIFI_VIDEO_PARENTS"], "value", 0}}, 30, "Arret automatique video projecteur", {{"Function", function videoproj = true  end}})

 

 

non, pas besoin, ça fonctionne comme ça depuis des mois,

Mais local est sans doute plus propre.

Y'avait un post sur les déclarations de variables de lazer ou steven ou autre, quelquepart sur le forum.

 

Sinon ceci marcherais aussi je pense:

GEA.add({{"Sensor-", id2["WP_HIFI_VIDEO_PARENTS"], 10}}, 30, "Arret automatique video projecteur", {{"Function", function videoproj = true end}})

ce qui veut dire: si la conso du WP est inférieure à  10 W pendant 30 secondes, passer la variable videoproj à  true

 

edit, je n'ai pas trouvé dans ce forum mais voici:

mettre local ou pas permet de définir une variable dans un environnement plus restreint

ce que lua appelle global n'a rien à  voir avec les variable globales de Fibaro (enfin je crois)

des pointures pourront sans doute préciser tout ça..

 

http://wxlua.free.fr/Tutoriel_Lua/Tuto/Variables/sorte.php

En Lua, il existe deux sortes de variables:
-- La variable globale, qui n'a pas besoin d'être déclarée.
nomVariable = la valeur que l'on veut lui affecter

-- La variable locale, qui se déclare de la façon suivante:
local nomVariable = la valeur que l'on veut lui affecter

Toute variable est supposée être globale, sauf si explicitement elle a été déclarée en tant que locale.

La variable globale existe pour l'ensemble du programme, alors que la variable locale n'existe qu'à  l'intérieur de l'environnement dans lequel elle a été créée.

Avant sa première affectation, la valeur d'une variable, est égale à  nil.

Toujours utiliser, autant que faire se peut, les variables locales. Ces dernières occupent moins de place en mémoire et sont plus rapides.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon les notifications fonctionnent correctement.

J'ai en contre partie un truc qui me gene: To many instances | Scene: GEA Programmé.

J'ai 2 instances actuellement de paramètres, y a t'il une règle ?

 

En fonction de votre retour, je vais ajouter d'autres scènes.

 

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

salut 

 

une tout petit question 

 

est-que   GEA.add({"Time", "14:16", "14:17"}.....   peut servir de déclencheur  ? 

Partager ce message


Lien à poster
Partager sur d’autres sites

@Zebcbien

 

j'essaye de comprendre 

 

le code suivant change à  true la variable   isLongAwayOrNightAllOff_AMPLI qui par defaud est  à   false

  isLongAwayOrNightAllOff_AMPLI = false
  GEA.add(estAwayOrNigh_All_Off, 30*60, "", {{"function",function() isLongAwayOrNightAllOff_AMPLI = true end}}) -- après 30 minutes met long away à  true
	

mes la  je comprend pas

EA.add({{"Sensor+", id2["TV___AMPLI"], 40},{"function",function() return isLongAwayOrNightAllOff_AMPLI end}}, 60, "", {{"function",function() isLongAwayOrNightAllOff_AMPLI = false end}})

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello

 

depuis le passage en 4.083, j'ai ces lignes qui ne fonctionnent plus

    GEA.add({notVacation, notSick, atWork}, 30, "", {{"Days", "Monday"}, {"Time", "20:50", "20:51"}, {"VirtualDevice", id["MODE_MAISON"], 6}}) -- Mode TV


sachant que 

    local atWork = {"Global", "JourChome", "NON"}
    local onVacation = {"Global", "Mode_Maison", "Vacances"}
    local notVacation = {"Global!", "Mode_Maison", "Vacances"}
    local notSick = {"Global!", "Mode_Maison", "Malade"}

j'ai l'impression que le Globaln'est plus pris en compte

 

 

car dans le debug j'ai

[DEBUG] 20:48:12: [ Mode_Maison=Vacances ] Add Autostart : ajout de la tache pour 30 secondes (ID:18) [Days,Monday] [Time,20:50,20:51] [VirtualDevice,142,6] [If..]

ca devrait pas être different ?

 

en tout cas la commande ne passe plus

 

 

EDIT : Mode boulet ON

j'avais pas vu que le VD Jour Chomé est en mode vacances lol 

Modifié par Sakkhho
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×