Aller au contenu

Support Gea


Steven

Recommended Posts

Par défaut, GEA ne vérifie le code utilisateur que toutes les 30 secondes. Il faudrait donc que tu le mettes à  15 secondes.

 

Ensuite, voici le code .

GEA.add(48, 15, "", {{"Inverse"},{"turnOff", 17}})

Si le module 48 est éteint (inverse) plus de 15 secondes, on éteint (turnOff) le module 17. Tout simple.

 

De plus, Shyrka973 a optimisé la gestion des motion sensors lors de la dernières version de GEA.

Lien vers le commentaire
Partager sur d’autres sites

@JM13

-- Ci-dessous le module qui me pose problème 
GEA.add(id["PORTE_ENTREE"], -1, "", {
   {"Time", "18:00", "20:00"},
   {"If",{
      {"Global", "Sortie", "0"},
      {"Global", "WD_JM", "TRUE"}}
   },
   {"VirtualDevice", id["PUSH"], 10}}
)

 

Merci ça marche super  :60:   je vais pouvoir garder qqles cheveux  ;)

 

Au fait, je commence à  avoir pas mal de commandes GEA.add dans mon script (~50)...et j'ai l'impression que ce n'est pas terminé. 

As-tu estimé une limite ? Puis-je voir quelque part si j'approche de la limite ?

 

Je te pose cette question, car en ce moment je teste le TTS sur mon SONOS , j'ai aussi mis en marche la détection de device wifi avec le plugin Freebox (toute le 2 secondes)  ...et donc je me pose la question car même si le HC2 a l'air puissant...il doit avoir ses limites  ;)

Lien vers le commentaire
Partager sur d’autres sites

Je ne pense pas JM13, c'est un atom dual core dedans, donc ce qu'on lui fait faire là  c'est un peu de la gnognotte pour lui.

 

Sinon Steven merci, je teste cela tout à  l'heure. J'avais fais presque cela, mais j'ai du me rater dans une parenthèse ou qque chose, je reteste et te dis !

Lien vers le commentaire
Partager sur d’autres sites

J'ai une +40 instructions et il me les traitent en 0.03 secondes, donc, en effet, je pense qu'on a de la marge.)

 

Oui, dès qu'il y a un IF dans les environs, tu es presque obligé de te louper dans les parenthèse. Pour limiter ce genre de soucis, j'aime bien sortir les IF. De plus, cela permet de les réutiliser. Exemple : 

local JMestDeRetour = {"If",{ {"Global", "Sortie", "0"}, {"Global", "WD_JM", "TRUE"} }}

-- Ci-dessous le module qui me pose problème 
GEA.add(id["PORTE_ENTREE"], -1, "", {
   {"Time", "18:00", "20:00"},
   JMestDeRetour,
   {"VirtualDevice", id["PUSH"], 10}}
)
Lien vers le commentaire
Partager sur d’autres sites

Non, c'est pas bien, pas bien du tout de cracher sur les boxes moins performante, c'est pas bien du tout du tout du tout, tu devrais avoir honte de toi et honte d'insulter ta propre ZiBASE ... oups, je l'ai nommée .. non ? 

 

 

 

 

 

 

 

PS. Nous plaisantons, nous sommes amoureux de notre Zibase et de notre HC2, c'est juste un délire historique entre nous et Casper :)

Lien vers le commentaire
Partager sur d’autres sites

bonjour

 

je souhaite etre informer par la voix de SARAH que la porte de la chambre est ouverte

 

Id VirtualDevic   59 bouton 1

 

 

voici mon code 

 

GEA.add( id["DETECTEUR"], 2*60,("VirtualDevice", id["VD_SARA"],"1"},{"Repeat"}})

 

mai un probleme avec la parenthèse...

Lien vers le commentaire
Partager sur d’autres sites

Pour diminuer le problème de parenthèses, j'ai adopté une notation "verticale". En plus je crois qu'il manque des guillements à  ta commande GEA.

GEA.add( id["DETECTEUR"], 2*60, "",
    {
    {"VirtualDevice", id["VD_SARA"],"1"},
    {"Repeat"}
    })

j'ai de plus en plus de commandes "longues" et cela devient indispensable. Exemple ci-dessous, 

GEA.add(id["PORTE_ENTREE"], -1, "", 		-- Quand la porte d'entrée s'ouvre WELCOME au new comer
    {
    {"If",
	{
	{"Global", "Sortie", "0"},			-- Si la variable Sortie est 0, cela veut dire que qql'un est en train d'entrer
	{"Global", "WD_JM", "TRUE"}			-- Si c'est JM qui rentre ( Wifi Device détecté)
	}
    },
    {"Time", "17:00", "22:00"},				     -- Le soir uniquement 
    {"Days", "Monday, Tuesday, Wednesday, Thursday, Friday"},    -- Seulement les jours de la semaine travaillés
    {"Global", "SONOS_Num_Message", "8"},	-- Message "Bonjour JM" dans la salon 
    {"VirtualDevice", id["SONOS"], 1},	 	-- en TTS
    {"VirtualDevice", id["PUSH"], 10}		-- Petit PUSH à  C & C
    })

Je pense que la domotique doit être transparante et adaptée pour ne pas être pénible à  la longue...donc les messages doivent être le plus ciblés possibles (jours, heures, adapté à  la personne, etc...)...donc les commandes s'allongent  ;)

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

GEA.add( id["DETECTEUR"], 2*60,"",{{"VirtualDevice", id["VD_SARA"],"1"},{"Repeat"}})

Ha oui, @JM13 a raison, les guillemets après 2*60 manques.

 

C'est le message de notification, si pas besoin il faut mettre "" 

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Pour diminuer le problème de parenthèses, j'ai adopté une notation "verticale". En plus je crois qu'il manque des guillements à  ta commande GEA.

GEA.add( id["DETECTEUR"], 2*60, "",
    {
    {"VirtualDevice", id["VD_SARA"],"1"},
    {"Repeat"}
    })

j'ai de plus en plus de commandes "longues" et cela devient indispensable. Exemple ci-dessous, 

GEA.add(id["PORTE_ENTREE"], -1, "", 		-- Quand la porte d'entrée s'ouvre WELCOME au new comer
    {
    {"If",
	{
	{"Global", "Sortie", "0"},			-- Si la variable Sortie est 0, cela veut dire que qql'un est en train d'entrer
	{"Global", "WD_JM", "TRUE"}			-- Si c'est JM qui rentre ( Wifi Device détecté)
	}
    },
    {"Time", "17:00", "22:00"},				     -- Le soir uniquement 
    {"Days", "Monday, Tuesday, Wednesday, Thursday, Friday"},    -- Seulement les jours de la semaine travaillés
    {"Global", "SONOS_Num_Message", "8"},	-- Message "Bonjour JM" dans la salon 
    {"VirtualDevice", id["SONOS"], 1},	 	-- en TTS
    {"VirtualDevice", id["PUSH"], 10}		-- Petit PUSH à  C & C
    })

Je pense que la domotique doit être transparante et adaptée pour ne pas être pénible à  la longue...donc les messages doivent être le plus ciblés possibles (jours, heures, adapté à  la personne, etc...)...donc les commandes s'allongent  ;)

 

j'aime bien ta methode, ou pourrai je trouver un tuto une aide sur le placement parenthèse,  guillements....

Lien vers le commentaire
Partager sur d’autres sites

attention, je crois que tu commets une erreur sur la syntaxe du "virtual device"

 

il ne faut pas mettre des guillemets avant et après le 1

 {"VirtualDevice", id["VD_SARA"], 1}	
Lien vers le commentaire
Partager sur d’autres sites

non c bien les guillemets qui manquai pfffffff deux jours pour faire fonction une ligne  :P

 

GEA.add( id["DETECTEUR"], 1*60,"",{{"VirtualDevice", id["VD_CH"],"1"},{"Repeat"}})

Lien vers le commentaire
Partager sur d’autres sites

bonjour

 

 

je progresse

 

voici mon code, mai je souhaite entre chaque déclenchement des bouton virtuel  3sec et que le scénario s'active q'un seul foi.

 

actuellement a chaque foi que j'ouvre ma porte ma tv change de chaine  :D

 

GEA.add( id["DETECTEUR"], -1,"RADIO", {"Time", "08:10", "08:15"},{"Days","Monday,Tuesday,Thursday,Friday"},{{"VirtualDevice", id["RADIO"], 1,2,5}})

Lien vers le commentaire
Partager sur d’autres sites

tu comptes sur tes doigts  :D un, deux  :D

 

Je plaisante car j'ai cherché aussi...c'est juste un ordre croissant ...comprenant aussi les labels

Lien vers le commentaire
Partager sur d’autres sites

Je ne suis pas sur de comprendre ce que tu veux faire...mais tu peux essayer ça

GEA.add({"Global", "", ""}, 30, "RADIO", 
   {
   {"If",
      {{"Value-",id["DETECTEUR"],1}}
   },
   {"Time", "08:10", "08:11"},
   {"Days","Monday,Tuesday,Thursday,Friday"},
   {"VirtualDevice", id["RADIO"], 1,2,5}
   })

Le déclenchement "une seule fois" me pose aussi problème et donc je réduis la durée par un {"Time", "08:10", "08:11"} sachant que le test se fait toutes les 30sec.

Lien vers le commentaire
Partager sur d’autres sites

Je ne comprends pas du tout ceci :

{"VirtualDevice", id["RADIO"], 1,2,5}

Tu souhaites faire quoi ? Appuyer sur les boutons 1, 2 et 5 ? Si oui il faut répéter l'instruction VirtualDevice :

GEA.add( id["DETECTEUR"], -1,"RADIO", {"Time", "08:10", "08:15"},{"Days","Monday,Tuesday,Thursday,Friday"},{"VirtualDevice", id["RADIO"], 1}, {"VirtualDevice", id["RADIO"], 2}, {"VirtualDevice", id["RADIO"], 5}})

"actuellement a chaque foi que j'ouvre ma porte" ... en effet, le code id["DETECTEUR"], -1  signifie  dès que mon détecteur est en alerte, donc oui, ce code sera exécuter à  chaque fois. Si cela ne doit pas être le cas, comment souhaite tu que le système fasse la différence entre l'ouverture qui doit déclencher le script et l'ouverture que ne dois pas le déclencher ?

 

Cordialement

Lien vers le commentaire
Partager sur d’autres sites

Steven,

 

J'ai un peu le même problème avec le "je voudrais le faire qu'une seule fois".

 

Dans mon cas, je souhaiterai diffuser un message sonore UNE seule fois entre 19h45 et 20h00 si quelqu'un est dans la salon.

 

Si je fais la commande ci-dessous :



GEA.add(id["PRESENCE_SALON"], -1, "Arrosage dans 15 minutes", -- Quand je détecte quelqu'un dans le salon
{
{"Time", "19:45", "20:00"},
{"Global", "SONOS_Num_Message", "26"}, -- L'arrosage va commencer dans 15 minutes
{"VirtualDevice", id["SONOS"], 1}
})


Entre 19h45 et 20h00 chaque fois que quelqu'un va passer le message va se dire !!! et je ne trouve pas de manière simple de faire (si je dois passer par une variable globale je vais le faire mais j'aurais souhaité rester avec une seule commande GEA).

Lien vers le commentaire
Partager sur d’autres sites

Miracle impossible :)

 

Les déclenchements immédiat lance un instance séparée de GEA. Donc chaque fois que ta porte s'ouvre, c'est un GEA qui démarre (comme tout les autres scénarios). Donc pour connaitre un état entre deux scénarios, il n'y a que les Variables Globales ou les Modules Virtuels qui sont capable de stocker un état.

 

Voici une proposition avec une Variable Globale "PRESENCE_SALON" qui faudra précédemment créer :

local dejaEntrer = {"If", {{"Global", "PRESENCE_SALON", "Non"}}}

GEA.add(id["PRESENCE_SALON"], -1, "Arrosage dans 15 minutes",  -- Quand je détecte quelqu'un dans le salon
{
    {"Time", "19:45", "20:00"},     
    {"Global", "SONOS_Num_Message", "26"},                     -- L'arrosage va commencer dans 15 minutes
    {"VirtualDevice", id["SONOS"], 1},
    dejaEntrer,
    {"Global", "PRESENCE_SALON", "Oui"}
})
GEA.add({"Global", "PRESENCE_SALON", "Oui"}, 1, "", {{"Time", "20:01", "20:02"}, {"Global", "PRESENCE_SALON", "Non"}})

Sinon, tu peux ajouter un label (exemple Label1)  à  ton Module Virtuel "SONOS" et faire exactement la même chose :

local dejaEntrer = {"If", {{"Label", id["SONOS"], "Label1", "Non"}}}
...

Voilà , il y a peut-être d'autre solution mais je ne vois pas :(

Lien vers le commentaire
Partager sur d’autres sites

:)

 

Il faut juste faire attention à  l'ordre des conditions. Le IF doit être avant le changement de la variable Globale :

...    
dejaEntrer,
{"Global", "PRESENCE_SALON", "Oui"}
...

Sinon, c'est foutu ... je le sais ... je le fait tout le temps et après je me tape sur la tête puis ... a force de me taper sur la tête, je ne comprends plus ce que je fais ... donc je tape plus fort. et pour finir, cela donne un code bizarre et tordu ... Et oui, je suis entrain de t'expliquer la naissance de GEA :)

Lien vers le commentaire
Partager sur d’autres sites

bonjour a tous

 

1- le truc que chaque bouton doive ce déclencher avec un intervalle de 3sec et que quand j'ai ouverte la porte de ma ch la scène  ce déclenche q'une seule fois (une seul foi par jour dans une tranch horaire de 6 a 9H .

 

ouverture de la porte 

1- active le bouton mise en marche la TV

2- active le bouton mise en marche du decodeur

3- active le bouton mise en marche du Systems audio 

4- active le bouton radio

5- active le bouton Cherie FM :15:

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...