Aller au contenu

Messages recommandés

Posté(e)

Merci @jojo pour ton code

que je vient de modifier pour mon usage

alors modif faite et teste effectué mais ne fonctionne pas

 -- Lampe Scellier
    -- Extinction automatique de la lampe après 30s.
     local autoOffScellier = GEA.add ({id["LUM_SCELLIER_"]}, 31, "", {{"turnOff"}})
    -- Appuie sur l'interrupteur de la lampe, on stoppe l'extinction automatique.
     GEA.add (id["LUM_SCELLIER_"], -1, "", {{"StopTask", autoOffScellier}})
    -- Allumage de la lampe sur détection mouvement
     GEA.add ({id["DETECTEUR_SCELLIER"], {"Value-", id["LUX"], 5}, {"Value", id["LUM_SCELLIER_"],0}}, -1, "", {{"turnOn", id["LUM_SCELLIER_"]}, {"RestartTask", autoOffScellier}})
    -- Extinction de la lampe dans tous les cas après 10 min
     GEA.add (id["LUM_SCELLIER_"], 10*60, "", {{"Inverse"}, {"turnOff", id["LUM_SCELLIER_"]}})
  
 

id en entête

DETECTEUR_SCELLIER = 290,

LUM_SCELLIER_ = 283,

 LUX_ = 292,

 

dans le debug j'ai ce ci

 [DEBUG] 18:23:42: [ 283 | Lum scellier ] Add Autostart : ajout de la tâche pour 31 secondes (ID: 1) [turnOff] [If..]
[DEBUG] 18:23:42: line 66: Assertion failed: Expected number
[DEBUG] 18:24:08: GEA Version 5.40 : en exécution...
[DEBUG] 18:24:08: En cours : aucun traitement à  effectuer
[DEBUG] 18:24:23: [ 290 | n/a ] Add Property : ajout de la tâche pour lancement instantané (ID: 3) [turnOn,283] [RestartTask,1] [If..]
[DEBUG] 18:24:23: line 396: attempt to compare nil with number

je ne comprend pas un petit coup de main

merci a tous

Posté(e)

merci SAkkhho  rectification faire mais dans le debug j'ai

 [DEBUG] 18:35:15: GEA Version 5.40 : en exécution...
[DEBUG] 18:35:15: En cours : aucun traitement à  effectuer
[DEBUG] 18:35:20: [ 290 | n/a ] Add Property : ajout de la tâche pour lancement instantané (ID: 3) [turnOn,283] [RestartTask,1] [If..]
[DEBUG] 18:35:20: line 396: attempt to compare nil with number
[DEBUG] 18:36:18: [ 290 | n/a ] Add Property : ajout de la tâche pour lancement instantané (ID: 3) [turnOn,283] [RestartTask,1] [If..]
[DEBUG] 18:36:18: line 396: attempt to compare nil with number
[DEBUG] 18:36:22: line 396: attempt to compare nil with number

je pije pas et comme je suis un newb je galere

Posté(e)

j'ai toujour eu du mal avec le debug de GEA ...

Commençons donc simple, et puis rajoutons des conditions pour perfectionner :

    -- Extinction automatique de la lampe après 30s.
     local autoOffScellier = GEA.add ({id["LUM_SCELLIER_"]}, 31, "", {{"turnOff"}})
    -- Appuie sur l'interrupteur de la lampe, on stoppe l'extinction automatique.
     GEA.add (id["LUM_SCELLIER_"], -1, "", {{"StopTask", autoOffScellier}})
    -- Allumage de la lampe sur détection mouvement
     GEA.add (id["DETECTEUR_SCELLIER"], -1, "", {{"turnOn", id["LUM_SCELLIER_"]}, {"RestartTask", autoOffScellier}})
Posté(e)


-- Extinction automatique de la lampe après 30s.

local autoOffScellier = GEA.add ({id["LUM_SCELLIER_"]}, 31, "", {{"turnOff"}})

-- Appuie sur l'interrupteur de la lampe, on stoppe l'extinction automatique.

GEA.add (id["LUM_SCELLIER_"], -1, "", {{"StopTask", autoOffScellier}})

-- Allumage de la lampe sur détection mouvement

GEA.add (id["DETECTEUR_SCELLIER"], -1, "", {{"turnOn", id["LUM_SCELLIER_"]}, {"RestartTask", autoOffScellier}})

la lampe ne s'allume pas et le debug affiche


[DEBUG] 18:54:47: GEA Version 5.40 : en exécution...

[DEBUG] 18:54:47: En cours : aucun traitement àeffectuer

[DEBUG] 18:55:01: [ 290 | n/a ] Add Property : ajout de la tâche pour lancement instantané (ID: 3) [turnOn,283] [RestartTask,1]

[DEBUG] 18:55:01: line 411: attempt to compare nil with number

[DEBUG] 18:55:31: [ 290 | n/a ] Add Property : ajout de la tâche pour lancement instantané (ID: 3) [turnOn,283] [RestartTask,1]

[DEBUG] 18:55:31: line 411: attempt to compare nil with number

Posté(e)

 le code si dessus ne fonctionne pas non plus rien ne se passe

 

(moi c'est avec GEA que j'ai du mal mais je debute)

Posté(e)

le code de GEA

  end
    elseif (GEA.source["type"] == "property" and tonumber(entry[GEA.keys["SECONDES"]]) < 0) then
      local id = 0
Posté(e)

es-tu sûr de tes ID ? Pas de faute de phrappe ? un _ ou un espace, ou ...

revérifie méticuleusement.

ajoute une ligne àla fois, et regarde la quelle génère l'erreur de syntaxe dans GEA

Posté(e)

j'ai trouver le problem il y avait tres tres loin dessous 2 lignes avec des instance de GEA car je suis sur le GEA de teste avant de le mettre dans le prod

je vient de les commentée et je teste

merci jojo tu ma mi la puce a l'oreille

  • Upvote 1
Posté(e)

Salut à  tous,

 

J'ai passé la journée a débuguer un problème.

Et en isolant entièrement GEA et en ne laissant que ces lignes, je comprends le probleme, mais je n'arrive pas à  le résoudre (je sais je suis un quiche lol).

 

1 Portail et 1 Garage qui doivent réagir a des alertes lumineuses.

Simplement l'une éteint l'autre, car si l'un des ouvrants est à  Off (donc fermé) il me coupe l'alerte lumineuse, et pourtant le deuxieme ouvrant est ouvert.

Comment faire pour que chacun soit indépendant ?

Si on regarde, et bien si le Garage (ou le portail) est à  OFF ça stop l'alerte lumineuse, parce que forcément les lignes disent la meme chose bien que le déclencheur soit différent, je craque.

 

-- GARAGE ----
-- Si la VG EtatGarage est sur "open" alors on lance le programme d'alerte 7 du Ruban.
-- On répète tant que la condition est vraie
GEA.add( {"Global","EtatGarage","open"}, -1, "", {{"turnOn", id["BANDEAU_LED"]}, {"Program", id["BANDEAU_LED"],7}, {"VirtualDevice", id["KAROTZ_NOTIFICATIONS"], "4"}, {"Repeat"}})
 
-- Si la VG EtatGarage est sur "close" ET que le programme en cours du ruban est 7 alors on éteint le ruban + notifier par Karotz que le garage est fermé
GEA.add( {{"Global","EtatGarage","close"}, {"Property", id["BANDEAU_LED"], "currentProgramID", 7}}, 1*60, "", {{"turnOff", id["BANDEAU_LED"]}, {"VirtualDevice", id["KAROTZ_NOTIFICATIONS"], "3"}})


-- PORTAIL -----
-- Si la VG EtatPortail est sur "open" alors on lance le programme d'alerte 7 du Ruban.
-- On répète tant que la condition est vraie
GEA.add( {"Global","EtatPortail","open"}, -1, "", {{"turnOn",id["BANDEAU_LED"]}, {"Program", id["BANDEAU_LED"],7}, {"VirtualDevice", id["KAROTZ_NOTIFICATIONS"], "9"}, {"Repeat"}})
 
-- Si la VG EtatPortail est sur "close" ET que le programme en cours du ruban est 7 alors on éteint le ruban + notifier par Karotz que le portail est fermé
GEA.add( {{"Global","EtatPortail","close"}, {"Property", id["BANDEAU_LED"], "currentProgramID", 7}}, 1*60, "", {{"turnOff", id["BANDEAU_LED"]}, {"VirtualDevice", id["KAROTZ_NOTIFICATIONS"], "10"}})
Posté(e)

je n'ai pas tout compris a tes explications.

Mais en commençant par regarder le code, il y a des {"Repeat"} avec du -1 => pas bon, car le repeat se fait àla fréquence déterminée par le paramètre de temps.

donc, si tu veux une réaction immédiate, tu laisses le -1 et supprime le repeat.

Ensui si tu veux que cela se répète (àquelle fréquence ?) tu fait une deuxième ligne avec les mêmes conditions, la fréquence que tu veux dans la partie durée de l'instruction et le repeat àla fin

Posté(e)

merci a tous car cela fonctione parfaitement

                   -- Lampe Scellier fonctionnement ok
    -- Extinction automatique de la lampe après 30s.
     local autoOffScellier = GEA.add ({id["LUM_SCELLIER_"]}, 31, "", {{"turnOff"}})
    -- Appuie sur l'interrupteur de la lampe, on stoppe l'extinction automatique.
     GEA.add (id["LUM_SCELLIER_"], -1, "", {{"StopTask", autoOffScellier}})
    -- Allumage de la lampe sur détection mouvement
     GEA.add ({id["DETECTEUR_SCELLIER"], {"Value-", id["LUX_"], 5}, {"Value", id["LUM_SCELLIER_"],0}}, -1, "", {{"turnOn", id["LUM_SCELLIER_"]}, {"RestartTask", autoOffScellier}})
    -- Extinction de la lampe dans tous les cas après 10 min
     GEA.add (id["LUM_SCELLIER_"], 3*60, "", {{"Inverse"}, {"turnOff", id["LUM_SCELLIER_"]}})
  --##############################################################

le debug

 [DEBUG] 19:46:08: [ 283 | Lum scellier ] Add Autostart : ajout de la tâche pour 31 secondes (ID: 1) [turnOff] [If..]
[DEBUG] 19:46:08: [ 283 | Lum scellier ] Add Autostart : ajout de la tâche pour 180 secondes (ID: 4) [Inverse] [turnOff,283]
[DEBUG] 19:46:08: GEA Version 5.40 : en exécution...
[DEBUG] 19:47:00: [ 290 | n/a ] Add Property : ajout de la tâche pour lancement instantané (ID: 3) [turnOn,283] [RestartTask,1] [If..]
[DEBUG] 19:47:00: GEA Version 5.40 : en exécution...
[DEBUG] 19:47:08: [ 283 | Lum scellier ] sendActions : traitement des actions (ID: 1) [turnOff] [If..]
[DEBUG] 19:47:08: [ 283 | Lum scellier ] sendActions : !ACTION! : turnOff (ID: 1) [turnOff] [If..]
[DEBUG] 19:47:08: [ 283 | Lum scellier ] Done : tâche effectuée et suspendue (ID: 1) [turnOff] [If..]
[DEBUG] 19:47:08: [ 283 | n/a ] Add Property : ajout de la tâche pour lancement instantané (ID: 2) [StopTask,1]
[DEBUG] 19:47:08: GEA Version 5.40 : en exécution...
[DEBUG] 19:47:30: [ 290 | n/a ] Add Property : ajout de la tâche pour lancement instantané (ID: 3) [turnOn,283] [RestartTask,1] [If..]
[DEBUG] 19:47:30: GEA Version 5.40 : en exécution... 

merci de votre aide

 

et passez tous de très bonne très bonne fête de noà«l et de fin d'année

Posté(e)

Salut Jojo, merci de te pencher sur mon problème.

 

 

En fait je veux que quand l'un ou l'autre des ouvrants, s'ouvre, ça déclenche mon alerte lumineuse, et que ça répète tant que l'état n'a pas changé.

Je pensais que c'était le principe du repeat :D
 

je n'ai pas tout compris a tes explications.

Mais en commençant par regarder le code, il y a des {"Repeat"} avec du -1 => pas bon, car le repeat se fait à  la fréquence déterminée par le paramètre de temps.

donc, si tu veux une réaction immédiate, tu laisses le -1 et supprime le repeat.

Ensui si tu veux que cela se répète (à  quelle fréquence ?) tu fait une deuxième ligne avec les mêmes conditions, la fréquence que tu veux dans la partie durée de l'instruction et le repeat à  la fin

Posté(e)

oui, c'est le principe du repreat. Le repeat répète l'action tant que les conditions sont remplies àla fréquence déterminée dnas le temps => avec -1, il ne sait rien faire.

mais en fait tu veux que ton alerte lumineuse s'enclenche dès que une des deux porte est ouverte, et s'éteigne si les deux sont fermée.

Donc ce n'est pas un repeat qu'il te faut.

Mais si tu veux un message vocal, il te faut un repeat (toutes les 30 sec), comme je te l'ai expliqué plus haut alors)

Posté(e)

ben merci de tes lumières sur le -1 car TOUT fonctionne maintenant !!

Ptain la journée que j'étais dessus :(

 

:)

 

PS : je n'ai plus de messages vocal mais le jeux d'alertes lumineuses fonctionnent correctement.

En meme temps le lapin parle vraiment quand il veux  donc..

  • 2 semaines après...
Posté(e) (modifié)

Je viens de l'installer.

Je viens de tester sur un dimmer sur une commande mis sur l'exemple

 

GEA.add( 4, 60, "Chambre coco 20%", {{"Time", "18:02", "18:04"}, {"Value", 20}})
  
Si j'ai bien compris l'action:
il est 18h02, je vérifie que l'action est allumé pendant 1 minute et si c'est ok, on réduit. 
C'est plus compréhensible autrement?
 
Je viens d'installer un fgk (id 277) avec un micro switch sur le verrou de la porte. 
Je veux recevoir un push à  chaque vérouillage et dévérouillage sur l'id 11 mais je ne vois pas comment faire
Modifié par cocolabombe0
Posté(e)

pour ta première instruction, l'interprétation que tu as faite est parfaite.

Je te conseille d'utiliser le générateur d'id de Steven pour tes devices

 

Pour le verrou de ta porte :

Ton FGK devrait avoir 2 ID, un pour l'aimant, et un pour le contact.

si l'id 277 est celui de ton contact :

tu dois mettre dans les déclencheurs de la scène :

--[[
%% autostart
%% properties
277 value
%% globals
--]]

instruction GEA :

GEA.add (277, -1, "Verrouillage/déverrouillage porte")
Posté(e)

P.S. : je serais intéressé par la référence de ton microswitch pour saoir si ta porte est verrouillée ou pas.

×
×
  • Créer...