Aller au contenu

Messages recommandés

Posté(e)

je viens de retrouver le code que j'utilisais.

Même principe donc, et le repeat fonctionnait

Je pilotais un rgbw, dans une timeframe et sans dimming, mais la tâche se relançait bien.

J'ai mis des notificatons pour aider la lecture

 

  GEA.add({id2["SDB_MVTZ"],{"Sensor-", id2["RGBW_DRESSING_SDB"],1},estNotHouse_Manuel}, -1, "",{{"Time", "Sunset+120", "Sunrise+45"},{"RGB", id2["RGBW_DRESSING_SDB"], 0, 0, 0, 10}})
  local malampesdb = GEA.add({{"Sensor+", id2["RGBW_DRESSING_SDB"],1},{"Sensor-", id2["RGBW_DRESSING_SDB"],20}}, 5*30, "",{{"RGB", id2["RGBW_DRESSING_SDB"], 0, 0, 0, 0}})
  GEA.add(id2["SDB_MVTZ"], -1, "mouvement 0 - 1", {{"RestartTask", malampesdb}})
  GEA.add(id2["SDB_MVTZ"], 30, "mouvement continu", {{"RestartTask", malampesdb},{"Repeat"}})
Posté(e)

bon je c plus . J'ai enlevé des lignes pour juste avoir les spots qui s'éteint après 3 min puis je relance si détection mais comme d'hab sa ne marche pas. code si dessous

	-- Si déjà  Allumé, Re-Allumage à  65% dès que détection mouvement sauf si module déjà  a + de 64% (économie Z-Wave)
GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1},{"Value-", id["SPOT_CUISINE"],64}}, -1, "Allumage",{{"Value", id["SPOT_CUISINE"], 65}})
	-- Après 3 min on met la lampe à  65% (prète pour prochain allumage) puis on éteint, uniquement si la lampe est entre 1 et 35 
local malampesamdim = GEA.add(id["SPOT_CUISINE"], 3*60,"extinction",{{"Value", id["SPOT_CUISINE"], 65},{"Function", function() fibaro:sleep(300) end},{"turnOff"}},{"Repeat"})
    -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA)
GEA.add({{"Value",id["D_MOUV_SALON"], 1},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "relance 30s de mouvement", {{"RestartTask", malampesamdim},{"Repeat"}})
  
 

Et toujours la même erreur

 

[DEBUG] 13:14:41: En cours : aucun traitement a effectuer pour l'ID:40
[DEBUG] 13:15:06: [ Value [121|D_Mouv_salon] = 1 ] sendActions : traitement des actions (ID:3) [RestartTask,2] [Repeat] [if..]
[DEBUG] 13:15:06: [ Value [121|D_Mouv_salon] = 1 ] !!! ERREUR !!! : vérification (ID:3) [RestartTask,2] [Repeat] [if..]
[DEBUG] 13:15:36: [ Value [121|D_Mouv_salon] = 1 ] sendActions : traitement des actions (ID:3) [RestartTask,2] [Repeat] [if..]
[DEBUG] 13:15:36: [ Value [121|D_Mouv_salon] = 1 ] !!! ERREUR !!! : vérification (ID:3) [RestartTask,2] [Repeat] [if..]
[DEBUG] 13:15:36: Durée des traitements : 0s nouveau délai : 30s / tourne depuis 1h
[DEBUG] 13:16:06: [ Value [121|D_Mouv_salon] = 1 ] sendActions : traitement des actions (ID:3) [RestartTask,2] [Repeat] [if..]
[DEBUG] 13:16:06: [ Value [121|D_Mouv_salon] = 1 ] !!! ERREUR !!! : vérification (ID:3) [RestartTask,2] [Repeat] [if..]
[DEBUG] 13:16:36: [ Value [121|D_Mouv_salon] = 1 ] sendActions : traitement des actions (ID:3) [RestartTask,2] [Repeat] [if..]

Posté(e)

Une nouvelle "version" de GEA a été ajoutée dans github par un certain tibahut.

Il a réalisé un énorme "nettoyage" du code, correction traduction etc. mais n'a a priori pas modifié le code lui même.

voici son commentaire:

 

Voici mon humble contribution pour un script que j'apprécie et que j'utilise. 

Celle-ci est destinée à  améliorer la lisibilité du code et à  ajouter un peu de doc pour les gens qui veulent utiliser GEA.

Le fichier de base a été beautifié. Il en résulte un second fichier minifié pour les box de production.

J'ai utilisé le service de minification en ligne : https://mothereff.in/lua-minifier

Le fichier Readme.md a été rempli pour inviter les gens à  utiliser GEA.

Le fichier sample a été créé pour donner des exemples afin d'éviter que les novices soient trompés en copiant le code de GEA dans leur box et que le script ne fonctionne pas.

Malheureusement, je n'ai pas assez de module variés pour tester les régressions.

Si des gens peuvent tester plus en profondeur que moi, ce serait appréciable.

 

Pour le moment je n'ai pas le temps de tester ça, mais si certains d'entre vous on envie de tester, c'est le moment..

Tout ça est disponible ici https://github.com/sjauquet/GEA et dans ma signature

 

Oui, désolé, j'ai un pseudo différent sur le forum et sur GitHub, je pense que je vais harmoniser tout ça. je pensais mais en fait non ^^

J'ai fait de la beautification en essayant de ne pas tout casser.

La version que j'ai faite en PR fonctionne bien sà»r chez moi. Je ne me permettrai pas de proposer un travail non fini.

Mais comme je n'ai pas beaucoup de modules et de cas particuliers pour l'instant, je n'ai pas pu tout tester.

 

Encore merci pour avoir créé GEA qui me rend bien service. (et aussi le forum ^^ )

  • Upvote 1
Posté(e)

@soulac, tu n'as pas enleve le 1 de la ligne 7 pour "MOUV_SALON", c'est false ou true, donc dans ce cas, true !

tu devrais le reecrire comme cela :

GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1}}, 30, "relance 30s de mouvement", {{"RestartTask", malampesamdim},{"Repeat"}})

ou

 

GEA.add({{"Value",id["D_MOUV_SALON"], "true"},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "relance 30s de mouvement", {{"RestartTask", malampesamdim},{"Repeat"}})
Posté(e)

bonjour messieurs,

 

Bon avec tout c'est modif et code que vous m'avez envoyé je mis perd un peux. Encore merci pour votre aide.

 

Ce matin j'ai encore fait une tentative avec le code si dessous :

   -- Si déjà  Allumé, Re-Allumage à  65% dès que détection mouvement sauf si module déjà  a + de 64% (économie Z-Wave)
GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1},{"Value-", id["SPOT_CUISINE"],64}}, -1, "Allumage",{{"Value", id["SPOT_CUISINE"], 65}})
    -- Après 10min on dimme la lampe à  34% si pas de mouvement 
local malampesam = GEA.add({"Value+", id["SPOT_CUISINE"],64}, 5*60, "dim a 34",{{"Value", id["SPOT_CUISINE"], 34},{"Repeat"}})
-- Après 3 min on met la lampe à  65% (prète pour prochain allumage) puis on éteint, uniquement si la lampe est entre 1 et 35 
local malampesamdim = GEA.add({{"Value-", id["SPOT_CUISINE"],35},{"Value+", id["SPOT_CUISINE"], 1}}, 3*60,"extinction",{{"Value", id["SPOT_CUISINE"], 65},{"Function", function() fibaro:sleep(300) end},{"turnOff"}},{"Repeat"})
    -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA)
GEA.add({{"Value",id["D_MOUV_SALON"], "true"},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "relance 30s de mouvement", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}})   
-- Relance des tâches en cas de détection si la lampe est allumée (économise GEA)
GEA.add({{"Value",id["D_MOUV_SALON"], "true"},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "relance mouvement 0 a 1", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}}) 

Donc résultat pas d'erreur dans le debug c'est déjà  sa, mais toujours le même problème pas de notification pour les relances et donc la lumière varie à  34% après les 3 min  puis s’éteint .

Posté(e)

essaye encore avec les deux dernières lignes comme ceci:

Mais si tu n'a pas de notification c'est que ton capteur ne fontionne pas.

L'id est bien dans l'entete ?

    -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA)
GEA.add({id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "relance 30s de mouvement", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}})   
-- Relance des tâches en cas de détection si la lampe est allumée (économise GEA)
GEA.add({id["D_MOUV_SALON"]},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "relance mouvement 0 a 1", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}}) 
Posté(e)

tien, est-ce un bug ou est-ce normal ?

je voulais utiliser la notification par email pour des tâches moins importantes.

 

Avec ceci, je reçois un mail et un push différents:

GEA.add(id2["CELLIER_MVT"], -1, "restart instant push", {{"Email", 2, "restart instant mail"},{"RestartTask", malampecellier}})

Avec ceci, je reçois juste un email:

GEA.add(id2["CELLIER_MVT"], -1, "restart instant push", {{"Email", 2},{"RestartTask", malampecellier}})

Avec ceci, je ne reçois rien.

GEA.add(id2["CELLIER_MVT"], -1, "", {{"Email", 2, "restart instant mail"},{"RestartTask", malampecellier}})

Normal ? pas normal ?

Posté(e)

je ferais bien des tests pour vérifier, car j'ai toujours été dans le premier cas.

Ceci dit j'ai 1 question :

GEA.add(id2["CELLIER_MVT"], -1, "restart instant push", {{"Email", 2"},{"RestartTask", malampecellier}})

s'agit-il d'une faute de frappe "{"Email", 2"}", car j'aurais vu "{"Email", 2}". En effet, dans le wiki, il faudrait expliquer la différence entre 1 et  2.

Comme il n'y a pas de message précisé dans 3, cela me semble logique qu'il n'envoie rien.

Posté(e)

oui, le ->"<- est une faute de frappe qui j'ai modifié en suite

le 2 c'est le user No2, soit Admin, donc envoyé au mail de l'admin

dans le 3 le message est spécifié dans l'option email -> {"Email", 2, "restart instant mail"}

Posté(e)

ok, my bad.

{"Email", <id_user>,}                 -- Envoi le message par email à  l'utilisateur {"Email", 2}

{"Email", <id_user>,<sujet>}          -- Envoi le message par email à  l'utilisateur {"Email", 2, "Sujet du message"}

 

Ca sert à  changer le sujet du message, le corps lui vient du même endroit que pour les push

impossible donc de n'envoyer que un email, il faut se farcir aussi la notification.

Tout ça vien tdu constat que trop de notification tue le principe.

J'aurais voulu réserver le push uniquement aux trucs importants.

Pour la vérification que tout va bien par email c suffisant

Je vais essayer en spécifiant un id de device qui n'existe pas

Posté(e)

en spécifiant un portable fake, ça fonctionne, je ne reçoit que un email.

{"Portable", id["PHONE_FAKE"]},{"Email", id["Admin"]}

id PHONE_FAKE renvoie l'id 97 qui est inexistant

  • Upvote 1
Posté(e)

bonsoir donc j'ai écouté tes conseil sebcbien mais rien à  faire sa ne marche pas.

 

Voici mes testes :

 

Avec ce code 

 -- Si déjà  Allumé, Re-Allumage à  65% dès que détection mouvement sauf si module déjà  a + de 64% (économie Z-Wave)
GEA.add({{"Value",id["D_MOUV_SALON"], "true"},{"Value+", id["SPOT_CUISINE"], 1},{"Value-", id["SPOT_CUISINE"],64}}, -1, "Allumage",{{"Value", id["SPOT_CUISINE"], 65}})
    -- Après 10min on dimme la lampe à  34% si pas de mouvement 
local malampesam = GEA.add({"Value+", id["SPOT_CUISINE"],64}, 3*60, "dim a 34",{{"Value", id["SPOT_CUISINE"], 34},{"Repeat"}})
-- Après 3 min on met la lampe à  65% (prète pour prochain allumage) puis on éteint, uniquement si la lampe est entre 1 et 35 
local malampesamdim = GEA.add({{"Value-", id["SPOT_CUISINE"],35},{"Value+", id["SPOT_CUISINE"], 1}}, 3*60,"extinction",{{"Value", id["SPOT_CUISINE"], 65},{"Function", function() fibaro:sleep(300) end},{"turnOff"}},{"Repeat"})
    -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA)
GEA.add({{"Value",id["D_MOUV_SALON"], "true"},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "relance 30s de mouvement", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}})   
-- Relance des tâches en cas de détection si la lampe est allumée (économise GEA)
GEA.add({{"Value",id["D_MOUV_SALON"], "true"},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "relance mouvement 0 a 1", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}})

Avec ce code

 -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA)
GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1}}, 30, "relance 30s de mouvement", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}})   
-- Relance des tâches en cas de détection si la lampe est allumée (économise GEA)
GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1}}, -1, "relance mouvement 0 a 1", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}})

Mon module est bien déclaré

-- salon
	VR_SALON = 129, OUVERTURE_SALON = 40, LUSTRE_SALON = 114, D_MOUV_SALON = 168,

Et en début de GEA 

--[[
%% autostart
%% properties
168 value
95 value
%% globals
--]]

J'ai supprimé mon module puis installé mon module toujours rien.

J'ai changé de module et toujours rien   :angry:  :(  :(

 

SI quelque a une idée ou faire la même chose avec un D_MOUV de fibaro je suis preneur.

 

Merci par avance

Posté(e)

Hello,

depuis ce matin ma scène GEA est plantée avec ce message dans le debug

 

 

[DEBUG] 13:32:31: 

[ GEA_heure=1 ] Add Autostart : ajout de la tache pour 3600 secondes (ID:1) [Global,GEA_heure,0]
[DEBUG] 13:32:31: [1;31m2015-09-29 13:32:31.837274 [ fatal] Runtime error: /opt/fibaro/scenes/767.lua:626: attempt to concatenate a nil value[0m
[DEBUG] 13:32:54: [ Scene [99|Telco Entree] = 4 ] Add Property : ajout de la tache pour lancement instantané (ID:5) [Close,5,100] [Close,11,100] [Function..]
[DEBUG] 13:32:54: [1;31m2015-09-29 13:32:54.349691 [ fatal] Runtime error: /opt/fibaro/scenes/767.lua:626: attempt to concatenate a nil value[0m

J'ai essayé de recréer la scene mais j' ai toujours le même problème ....

Je n'ai pas touché à  la config GEA depuis un moment donc cela ne doit pas venir de cela.

J'ai juste fait un soft reconfig ce matin d'un module RGBW

 

J4ai aussi rebooté la box mais toujorus le même message.

 

C'est la première fois que j'ai ce genre de problème ..  :huh:

Posté(e)

Tu as quoi à  la ligne 626 de ton GEA ?

 

Fibaro a enfin compris comment utiliser les Error() :-) et au lieu de remonter l'erreur que cela provoque dans leur code, il remonte l'erreur qui est à  l'origine ... c'est vraiment plus pratique.

 

[ fatal] Runtime error: /opt/fibaro/scenes/767.lua:626: attempt to concatenate a nil value[0m

Posté(e)

J'ai ceci en 625

 

 

elseif (type(id) == "table" and string.lower(id[1]) == "sceneactivation") then
 

 

 

et en 626 ceci

return "Scene [" .. id[2].."|"..fibaro:getName(tonumber(id[2])) .. "] = " ..id[3], GEA.getRoom(tonumber(id[2]))

et le Rgb est bien en rgb

 

Les autres scènes fonctionnent bien

Posté(e)

Tu as donc un soucis avec un SceneActivation, c'est comme si fibaro n'arrive pas trouver le nom de ton module ... vérifie que le module lié àun SceneActivation n'a pas changer d'ID stp.

Posté(e)

C'était bien cela, un problème d'id de sceneactivation qui a sauté suite à  un softreconfig du module Rgb

 

Merci Steven et Hansolo pour le coup de main  :60:

  • Upvote 1
Posté(e)

bonsoir donc j'ai écouté tes conseil sebcbien mais rien à  faire sa ne marche pas.

 

Voici mes testes :

 

Avec ce code 

 -- Si déjà  Allumé, Re-Allumage à  65% dès que détection mouvement sauf si module déjà  a + de 64% (économie Z-Wave)
GEA.add({{"Value",id["D_MOUV_SALON"], "true"},{"Value+", id["SPOT_CUISINE"], 1},{"Value-", id["SPOT_CUISINE"],64}}, -1, "Allumage",{{"Value", id["SPOT_CUISINE"], 65}})
    -- Après 10min on dimme la lampe à  34% si pas de mouvement 
local malampesam = GEA.add({"Value+", id["SPOT_CUISINE"],64}, 3*60, "dim a 34",{{"Value", id["SPOT_CUISINE"], 34},{"Repeat"}})
-- Après 3 min on met la lampe à  65% (prète pour prochain allumage) puis on éteint, uniquement si la lampe est entre 1 et 35 
local malampesamdim = GEA.add({{"Value-", id["SPOT_CUISINE"],35},{"Value+", id["SPOT_CUISINE"], 1}}, 3*60,"extinction",{{"Value", id["SPOT_CUISINE"], 65},{"Function", function() fibaro:sleep(300) end},{"turnOff"}},{"Repeat"})
    -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA)
GEA.add({{"Value",id["D_MOUV_SALON"], "true"},{"Value+", id["SPOT_CUISINE"], 1}}, 30, "relance 30s de mouvement", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}})   
-- Relance des tâches en cas de détection si la lampe est allumée (économise GEA)
GEA.add({{"Value",id["D_MOUV_SALON"], "true"},{"Value+", id["SPOT_CUISINE"], 1}}, -1, "relance mouvement 0 a 1", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}})

Avec ce code

 -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA)
GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1}}, 30, "relance 30s de mouvement", {{"RestartTask", malampesam},{"RestartTask", malampesamdim},{"Repeat"}})   
-- Relance des tâches en cas de détection si la lampe est allumée (économise GEA)
GEA.add({id["D_MOUV_SALON"],{"Value+", id["SPOT_CUISINE"], 1}}, -1, "relance mouvement 0 a 1", {{"RestartTask", malampesam},{"RestartTask", malampesamdim}})

Mon module est bien déclaré

-- salon
	VR_SALON = 129, OUVERTURE_SALON = 40, LUSTRE_SALON = 114, D_MOUV_SALON = 168,

Et en début de GEA 

--[[
%% autostart
%% properties
168 value
95 value
%% globals
--]]

J'ai supprimé mon module puis installé mon module toujours rien.

J'ai changé de module et toujours rien   :angry:  :(  :(

 

SI quelque a une idée ou faire la même chose avec un D_MOUV de fibaro je suis preneur.

 

Merci par avance

ok, simplifions a l'extrème pour debugger:

 -- Relance des tâches en cas de détection pendant 30 secondes et si la lampe est allumée (économise GEA)
GEA.add({id["D_MOUV_SALON"]}, 30, "relance 30s de mouvement")   
-- Relance des tâches en cas de détection si la lampe est allumée (économise GEA)
GEA.add({id["D_MOUV_SALON"]}, -1, "relance mouvement 0 a 1")

avec ça tu dois au moins recevoir les deux notifications

Posté(e)

bonsoir sebcbien je suis en déplacement mais j'ai put faire les modif et depuis je reçois les notifications "relance 30s de mouvement" et relance mouvement 0 a 1"

 

Maintenant tu penses que je dois ajouter quoi ? histoire de faire étape par étape

×
×
  • Créer...