Aller au contenu

Messages recommandés

Posté(e)


local detec1 = GEA.add({id["DETECTEUR_MOUVE"], {"value", "RGBW", "0"}, {"value", "LAMPE_SALON", "0"}} , -1, "", {{"turnOn", id["LAMPE_SALON"]}})

Posté(e)

local detec1 = GEA.add({id["DETECTEUR_MOUVE"], {"value", ID["RGBW"], "0"}, {"value", ID["LAMPE_SALON"], "0"}} , -1, "", {{"turnOn", id["LAMPE_SALON"]}})

Posté(e)

non :(  pas possible deux jour de combat avec ce code et il manque  [  ]

 

moi qui pensais que c'est la présence de ma femme qui me déconcentrait, mai c ma vue B)

 

merci Steven et Pépite

 

je teste le code  

  • Upvote 1
Posté(e)

Et rajoute les { } pour la condition:

local detec1 = GEA.add({id["DETECTEUR_MOUVE"], {"value", ID["RGBW"], "0"}, {"value", ID["LAMPE_SALON"], "0"}} , -1, "", {{"turnOn", id["LAMPE_SALON"]}})

 

Edit: Oups, j'ai rien dit, ils sont déjà  présents, je suis fatigué :98:

  • Upvote 2
Posté(e) (modifié)

voici le code mai rien ne fonctionne  :(

le RestartTask ne lance toujours  pas lampetimer1

--[[
%% autostart
lampetimer1
lampetimer2
lampetimer3
lampetimer4
%% properties

337 sceneActivation
204 sceneActivation
377 value
190 value
221 value
274 value
277 value
%% globals
jour_nuit

--]]
  GEA.add({id["DETECTEUR_MOUVE"], {"value", id["RGBW"], "0"}, {"value", id["LAMPE_SALON"], "0"}} , -1, "ok", {{"RestartTask", lampetimer1}})
 
  local lampetimer1 = GEA.add(true , -1, "lampetimer1", {{"turnOn", id["LAMPE_SALON"]}, {"RestartTask", lampetimer2}})
  local lampetimer2 = GEA.add(true , 1*60, "lampetimer2", {{"turnOff", id["LAMPE_SALON"]}, {"RestartTask", lampetimer3}})
  local lampetimer3 = GEA.add(true , 40, "lampetimer3", {{"turnOn", id["RGBW"]}, {"RGB", 36, 12, 255, 99}, {"RestartTask", lampetimer4}})
  local lampetimer4 = GEA.add(true , 1*60, "off", {{"turnOff", id["RGBW"]}})

ou 

la ligne 2 mes si la lampe salon est = value=1  il lance la ligne 4 

local detec1 = (id["DETECTEUR_MOUVE"]), {"value", id["RGBW"], "100"}, {"value", id["LAMPE_SALON"], "0"}
  
                    GEA.add({detec1 }, -1, "lampetimer1", {{"turnOn", id["LAMPE_SALON"]}, {"RestartTask", lampetimer2}})
local lampetimer2 = GEA.add(true , 1*60, "lampetimer2", {{"turnOff", id["LAMPE_SALON"]}, {"RestartTask", lampetimer3}})
local lampetimer3 = GEA.add(true , 40, "lampetimer3", {{"turnOn", id["RGBW"]}, {"RGB", 36, 12, 255, 99}, {"RestartTask", lampetimer4}})
local lampetimer4 = GEA.add(true , 1*60, "off", {{"turnOff", id["RGBW"]}}) 

Modifié par 971jmd
Posté(e)

! GEA est séquentiel, donc si tu fais un restartTask d'une tâche qui n'est pas encore définie '(ici lampetimer1) cela ne fonctionnera pas, 

Posté(e) (modifié)

dans mon exemple :

local detec1 = (id["DETECTEUR_MOUVE"]), {"value", id["RGBW"], "0"}, {"value", id["LAMPE_SALON"], "0"}
 
                    GEA.add({detec1 }, -1, "lampetimer1", {{"turnOn", id["LAMPE_SALON"]}, {"RestartTask", lampetimer2}})
local lampetimer2 = GEA.add(true , 1*60, "lampetimer2", {{"turnOff", id["LAMPE_SALON"]}, {"RestartTask", lampetimer3}})
local lampetimer3 = GEA.add(true , 40, "lampetimer3", {{"turnOn", id["RGBW"]}, {"RGB", 36, 12, 255, 99}, {"RestartTask", lampetimer4}})
local lampetimer4 = GEA.add(true , 1*60, "off", {{"turnOff", id["RGBW"]}})

ca fonctionne si RGBW = 0 et lampe SALON = 0  et active ligne 4 la lampe s'allume  et active lampetimer2 qui passe a OFF dans 1mm et active lampetimer3 qui allume le RGBW

mai n'active pas lampetimer4 et le RGBW ne s'éteint pas 

Modifié par 971jmd
Posté(e)

pour ce code, as-tu essayé l'ordre des instructions comme suit ?

local detec1 = (id["DETECTEUR_MOUVE"]), {"value", id["RGBW"], "0"}, {"value", id["LAMPE_SALON"], "0"}
local lampetimer4 = GEA.add(true , 1*60, "off", {{"turnOff", id["RGBW"]}})
local lampetimer3 = GEA.add(true , 40, "lampetimer3", {{"turnOn", id["RGBW"]}, {"RGB", 36, 12, 255, 99}, {"RestartTask", lampetimer4}})  
local lampetimer2 = GEA.add(true , 1*60, "lampetimer2", {{"turnOff", id["LAMPE_SALON"]}, {"RestartTask", lampetimer3}})
GEA.add({detec1 }, -1, "lampetimer1", {{"turnOn", id["LAMPE_SALON"]}, {"RestartTask", lampetimer2}})
Posté(e) (modifié)

oui mai le RGB ne s'éteint pas 

 

je n'arrive pas comprend comme fonctionne GEA  :(

 

dans exemple suivant, va t-il exécuter    lampetimer2, lampetimer3 en meme temps ?

  GEA.add({detec1 }, -1, "lampetimer1", {{"turnOn", id["LAMPE_SALON"]}, {"RestartTask", lampetimer2}, {"RestartTask", lampetimer3}})
Modifié par 971jmd
Posté(e)

j'abandonne :(  trois jours sur un code  

 

 Comment fonctionne :

 

RestartTask ou  StopTask ou  NotStarted
 
et impossible de d'activé un code en   -1
local lampetimer1 = GEA.add(true , -1, "on", {{"turnOn", id["LAMPE_SALON"]}})

GEA.add(id["DETECTEUR_MOUVE"], -1, "detection", {{"RestartTask", lampetimer1}})
Posté(e)

 

 

{“RestartTaskâ€, <id_tâche>} Redémarre une tâche selon son <id_tâche> {“StopTaskâ€, <id_tâche>} Stoppe une tâche selon son <id_tâche> {“NotStartedâ€} Empêche la tâche de démarrer automatiquement (voir RestartTask)

la bible : https://gea.piccand.me/doku.php/syntaxe

Posté(e)

merci @jojo    mai j'ai deja consulté le lien 

{“RestartTaskâ€, <id_tâche>} Redémarre une tâche selon son <id_tâche> {“StopTaskâ€, <id_tâche>} Stoppe une tâche selon son <id_tâche> {“NotStartedâ€} Empêche la tâche de démarrer automatiquement (voir RestartTask)

mai je ne comprend toujours pas comment fonctionne 

 

j'ai fait le teste avec 1 mai la lampe ne allume pas  (local lampetimer1 = GEA.add(true , 1, "on",.....

local lampetimer1 = GEA.add(true , 1, "on", {{"turnOn", id["LAMPE_SALON"]}})
 
GEA.add(id["DETECTEUR_MOUVE"], -1, "detection", {{"RestartTask", lampetimer1}})
Posté(e)

sorry, mais je n'ai pas suivi depuis le début. J'ai n peu de temps maintenant ;-)

Quel est le scénario que tu veux faire UNIQUEMENT pour la LAMPE_SALON (il faut faire une chose àla fois)

Posté(e)

concernant la lampe salon c'est un exemple pour essayer de comprend comment fonctionne RestartTask

 

je revient à  ta proposition:

 

a la détection le RestartTask   lance RestartTask 2, 3, 4  en meme temps et c'est pas bon.

 

le bon fonctionnement : si  détection   et que lampe salon et RGBW  value=0  active lampetimer2 et lampetimer3 en meme temps(1) et lampetimer4 a la fin du processus  de lampetimer3 

(1) le RGBW doit s'allumer 1mm avant l'extinction de la lampe du salon... 

local detec1 = (id["DETECTEUR_MOUVE"]), {"value", id["RGBW"], "0"}, {"value", id["LAMPE_SALON"], "0"}
local lampetimer4 = GEA.add(true , 1*60, "off", {{"turnOff", id["RGBW"]}})
local lampetimer3 = GEA.add(true , 40, "lampetimer3", {{"turnOn", id["RGBW"]}, {"RGB", 36, 12, 255, 99}, {"RestartTask", lampetimer4}})  
local lampetimer2 = GEA.add(true , 1*60, "lampetimer2", {{"turnOff", id["LAMPE_SALON"]}, {"RestartTask", lampetimer3}})
GEA.add({detec1 }, -1, "lampetimer1", {{"turnOn", id["LAMPE_SALON"]}, {"RestartTask", lampetimer2}}) 
Posté(e)

restartTask, StopTask, NotStarted.

 

Une tâche est donc une action qui doit s'exécuter si une (ou plusieurs) condition(s) est (sont) remplie(s) durant un certain temps. Donc par défaut toutes les tâches sont Started.

 

Mais avec NotStarted, on peut définir une tâche qui ne s'exécutera pas immédiatement, mais sous certaines conditions.

Et donc on crée une tâche qui va vérifier ces conditions supplémentaires, et avec le RestartTask, on peut dire que cette tâche qui avait été mise "en pause"/"en attente" soit exécutée (avec les conditions de cette tâches...)

Pour le SopTask, tu peux dire qu'une tâches ne doit plus être vérifiée si certaines autres conditions sont remplies. Pour qu'elle soient exécutée, il lui faudra un RestartTask.

 

mais je ne comprend pas bien ce que tu veux faire 

 

 

si  détection   et que lampe salon et RGBW  value=0  active lampetimer2

 et la tâche "lampetimer2" va éteindre la lampe du salon après une minute, alors que la contions que tu as décrite dans ton scénario est que la lampe du salon soit à  0 (donc éteinte) ??

 

Si j'essaye de repriser ton besoin :

"si plus de détection de mouvement pendant 1 min, allumer RGBW. et si toujours pas de mot pendant 1 min éteindre lampe salon et RGBW. Mais si met dans la minute, éteindre RGBW et laisser lampe salon allumée" ?

Posté(e) (modifié)



---- Detection n1 si RGBW et Lampe salon OFF alors commande N1
local N1= (id["DETECTEUR_MOUVE"]), {"value", "[RGBW]", "0"}, {"value", "[LAMPE_SALON]", "0"}
---- Detection n2 si RGBW=OFF et Lampe salon=ON Acommande N2
local N2= (id["DETECTEUR_MOUVE"]), {"value", "[RGBW]", "0"}, {"value", "[LAMPE_SALON]", "1"}
---- Detection n3 si RGBW=ON et Lampe salon=ON Acommande N3
local N3= (id["DETECTEUR_MOUVE"]), {"value", "[RGBW]", "100"}, {"value", "[LAMPE_SALON]", "1"}
---- Detection n4 si RGBW=ON et Lampe salon=OFF Acommande N4
local N4= (id["DETECTEUR_MOUVE"]), {"value", "[RGBW]", "100"}, {"value", "[LAMPE_SALON]", "0"}


 ---- si Detection    si  RGBW et Lampe salon OFF alors commande N1

 

 ---- si Detection    si  RGBW=OFF   et Lampe salon=ON  commande N2

 

 ---- si Detection   si  RGBW=ON   et Lampe salon=ON   commande N3

 

 ---- si Detection   si  RGBW=ON   et Lampe salon=OFF  commande N4

 

Jusque la pas de souci 

 

 

N1 = lampe salon ON et Off dans 3mm   et   RGB ON dans 2mm et Off dans 5mm ( la lampe salon et RGB  ce croise sur 1mm, pour ne pas rester dans l’obscurité)  

 

N2 = relance le processue au debut..

 

N3 = éteindre RGB et relance le processue au debut..

 

N4 = éteindre RGB et relance le processue au debut..

;)

Modifié par 971jmd
Posté(e)

 

salut  @ pepite 

le code fonctionne à  50% et subit une cure amaigrissement ;)  

 

si détection n1 :

  • la lampe salon s'allume
  • le RGBW s'allume   (1mm avant la lampe salon)
  • la lampe salon s'éteint   (1mm après la lampe salon)
  • le RGB s'éteint 

mai le processus fonctionne qu'un fois

 

j'ai essayer de mettre de {"Repeat"}  toujours pareille 

 ---- Detection n1   si  RGBW et Lampe salon OFF alors commande off1
  local off1 = {id["DETECTEUR_MOUVE"], {"value", id["RGBW"], "0"}, {"value", id["LAMPE_SALON"], "0"}}
  ---- Detection n2   si  RGBW=OFF   et Lampe salon=ON  Acommande off2 
  local off2 = {id["DETECTEUR_MOUVE"], {"value", id["RGBW"], "0"}, {"value", id["LAMPE_SALON"], "1"}}
  ---- Detection n3   si  RGBW=ON   et Lampe salon=ON  Acommande off3 
  local off3 = {id["DETECTEUR_MOUVE"], {"value", id["RGBW"], "99"}, {"value", id["LAMPE_SALON"], "1"}}
  ---- Detection n4   si  RGBW=ON   et Lampe salon=OFF  Acommande off4 
  local off4 = {id["DETECTEUR_MOUVE"], {"value", id["RGBW"], "99"}, {"value", id["LAMPE_SALON"], "0"}} 
  
  
local lampetimer1 = GEA.add(true , 2*60, "", {{"turnOff", id["LAMPE_SALON"]}, {"RestartTask", lampetimer2}})
local lampetimer2 = GEA.add(true , 1*60, "", {{"RGB", 36, 12, 255, 99}, {"RestartTask", lampetimer3}})
local lampetimer3 = GEA.add(true , 3*60, "", {{"turnOff", id["RGBW"]}})
  
  
  ---- Commande n1
  ---- si la lampe salon et rgbw OFF
  GEA.add(off1 , -1, "", {{"turnOn", id["LAMPE_SALON"]}, {"RestartTask", lampetimer1}})
  ----- si la lamppe salon ON et rgbw OFF
  GEA.add(off2 , -1, "", {{"RestartTask", lampetimer1}})
  ---- si Lampe salon ON et RGBW ON
  GEA.add(off3 , -1, "", {{"turnOff", id["RGBW"]}, {"RestartTask", lampetimer1}})
  ------ si la lampe salon OFF  et rgbw  ON
  GEA.add(off4 , -1, "", {{"turnOff", id["RGBW"]}, {"RestartTask", lampetimer1}})
  

 

@971jmd

Tu ne lis pas tout ce qu'on te dit ;-)

Ce code ci-dessus est dans le bon "ordre" et c'est toi qui l'avais posté mais dans ceux d'apres tu as tout remelangé ;-)

je t'ai dit que GEA lisait ligne par ligne comme te l'a répété @jojo ;-) d'ou le sequentiel !!

 

J'ai modifié le code ci-dessus :

 - accolades modifées pour tes conditions

 - nom des modules modifiés RGBW en id["RGBW"]

 - modif des RGBW en RGB pour l'allumage de ton RGBW et suppression de turnOn RGBW ;-)

 

Je n'ai pas vérifié la logique mais ca resseble a ce dont on parle depuis le début, essaie

 

Sauf si j'ai fait mon boulet, il ne doit plus ounpresque pas rester d'erreurs de syntaxe et de declaration de variables

Posté(e)

pour te faire patienter, voici ce que j'ai fait pour la première condition

local RGBWON = {"value", id["RGBW"], "1"}
local RGBWOFF = {"value", id["RGBW"], "0"}
local SALONON = {"value", id["LAMPE_SALON"], "1"}
local SALONOFF = {"value", id["LAMPE_SALON"], "0"}

GEA.add ({id["DETECTEUR_MOUVE"], RGBWOFF, SALONOFF}, -1, "N1-Salon ON", {{"turnOn", id["LAMPE_SALON"]}})
GEA.add (id["LAMPE_SALON"], 3*60, "N1 - lampe salon allumée depuis #duration#" -> OFF", {{"turnOff", id["LAMPE_SALON"]}})
GEA.add (id["LAMPE_SALON"], 2*60, "N1 - lampe salon allumée depuis #duration#" -> RGBWON", {{"RGB", id["RGBW"], 36, 12, 255, 99}})
GEA.add (RGBWON, 3*60, "N1 - RGBW allumé depuis #duration# -> RGBWOFF", {{"RGB", id["RGBW"], 0, 0, 0, 0}})

N.B. 

1) je n'ai pas de module RGBW chez moi, donc je ne suis pas sà»r du test pour savoir s'il est allumé

2) je suppose que pour arrêter un RGBW il faut mettre tout à  zéro et pas de turnOff (cfr 1))

 

Selon moi, la condition 2 ne doit rien faire, donc il ne faut pas la tester

 

Je m'attaque aux N3 et N4

Posté(e)

@jojo

971jmd dit que pour le RGBWON le value est de 99

 

et pour eteindre un RGBW, le turnOff fonctionne, je n'en ai pas non plus mais j'avaos posé la question un jour

 

nickel pour la commande N1 'est exactement ce qu'il veut

on attend N3 et N4 ;-)

 

@971jmd, jojo se lance dans un code pour t'aider il ne devrait pas tarder à  trouver la bonne soluce, tu peux lui faire confiance

 vérifie tout de même le tien ca semblait pas mal et tu l'as ecrit tout seul tu n'etais pas loin du but, c'est bon pour le moral ;-)

  • Upvote 1
Posté(e)

je n'ai pas regardé ce que Steven a fait, ça doit sà»rement être bon. Mais j'ai terminé ce que j'ai commencé.

J'espère que c'est bon, car cela me parait beaucoup plus (trop ?) simple.

 

tes conditions N3 et N4 sont les mêmes : si Détection et RGBW ON (on s'en fou de la Lampe Salon) alors stop RGBW.

 

Donc voici mon code complet

local RGBWON = {"value", id["RGBW"], "99"}
local RGBWOFF = {"value", id["RGBW"], "0"}
local SALONON = {"value", id["LAMPE_SALON"], "1"}
local SALONOFF = {"value", id["LAMPE_SALON"], "0"}

GEA.add ({id["DETECTEUR_MOUVE"], RGBWOFF, SALONOFF}, -1, "N1-Salon ON", {{"turnOn", id["LAMPE_SALON"]}})
GEA.add (id["LAMPE_SALON"], 3*60, "N1 - lampe salon allumée depuis #duration#" -> OFF", {{"turnOff", id["LAMPE_SALON"]}})
GEA.add (id["LAMPE_SALON"], 2*60, "N1 - lampe salon allumée depuis #duration#" -> RGBWON", {{"RGB", id["RGBW"], 36, 12, 255, 99}})
GEA.add (RGBWON, 3*60, "N1 - RGBW allumé depuis #duration# -> RGBWOFF", {{"RGB", id["RGBW"], 0, 0, 0, 0}})
GEA.add ({id["DETECTEUR_MOUVE"], RGBWON}, -1,"N3 & N4", {{"RGB", id["RGBW"], 0, 0, 0, 0}})

à  l'à  peut prêt de la remarque que j'ai faite sur le test du RGBW, ça devrait correspondre à  ce que tu m'as décrit comme besoin

  • Upvote 1
Posté(e)

@ JOJO @ pepite merci de nouveau 

 

J'ai une erreur :

"N1 - lampe salon allumée depuis #duration#" -> OFF"

pour supprimer l’erreur :

"N1 - lampe salon allumée depuis #duration#" 

je continu a tester le code 

×
×
  • Créer...