Steven Posté(e) le 7 août 2014 Auteur Signaler Posté(e) le 7 août 2014 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.
JM13 Posté(e) le 8 août 2014 Signaler Posté(e) le 8 août 2014 @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 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
Nico Posté(e) le 8 août 2014 Signaler Posté(e) le 8 août 2014 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 !
Steven Posté(e) le 8 août 2014 Auteur Signaler Posté(e) le 8 août 2014 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}} )
fredo Posté(e) le 8 août 2014 Signaler Posté(e) le 8 août 2014 @Steven ... ce n'est pas comme avec une certaine autre box Bon j'arrête c'est pas bien !
Steven Posté(e) le 8 août 2014 Auteur Signaler Posté(e) le 8 août 2014 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
fredo Posté(e) le 8 août 2014 Signaler Posté(e) le 8 août 2014 pas grave, les fantômes n'ont pas d'oreille !
971jmd Posté(e) le 10 août 2014 Signaler Posté(e) le 10 août 2014 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...
HANSOLO Posté(e) le 10 août 2014 Signaler Posté(e) le 10 août 2014 GEA.add( id["DETECTEUR"], 2*60,{{"VirtualDevice", id["VD_SARA"],"1"},{"Repeat"}}) Ça devrait mieux fonctionner {{ àla place de ( juste avant VirtualDevice.
JM13 Posté(e) le 10 août 2014 Signaler Posté(e) le 10 août 2014 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 1
971jmd Posté(e) le 10 août 2014 Signaler Posté(e) le 10 août 2014 BONJOUR merci bien, effectivement le code n'ai plus signaler comme défaut mai il ne declanche tojour pas VirtualDevice
HANSOLO Posté(e) le 10 août 2014 Signaler Posté(e) le 10 août 2014 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 "" 1
971jmd Posté(e) le 10 août 2014 Signaler Posté(e) le 10 août 2014 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....
JM13 Posté(e) le 10 août 2014 Signaler Posté(e) le 10 août 2014 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}
971jmd Posté(e) le 10 août 2014 Signaler Posté(e) le 10 août 2014 non c bien les guillemets qui manquai pfffffff deux jours pour faire fonction une ligne GEA.add( id["DETECTEUR"], 1*60,"",{{"VirtualDevice", id["VD_CH"],"1"},{"Repeat"}})
971jmd Posté(e) le 10 août 2014 Signaler Posté(e) le 10 août 2014 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 GEA.add( id["DETECTEUR"], -1,"RADIO", {"Time", "08:10", "08:15"},{"Days","Monday,Tuesday,Thursday,Friday"},{{"VirtualDevice", id["RADIO"], 1,2,5}})
971jmd Posté(e) le 11 août 2014 Signaler Posté(e) le 11 août 2014 autre question comment faire pour trouver le numero d'un bouton quand t'il est en double
JM13 Posté(e) le 11 août 2014 Signaler Posté(e) le 11 août 2014 tu comptes sur tes doigts un, deux Je plaisante car j'ai cherché aussi...c'est juste un ordre croissant ...comprenant aussi les labels
JM13 Posté(e) le 11 août 2014 Signaler Posté(e) le 11 août 2014 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.
Steven Posté(e) le 11 août 2014 Auteur Signaler Posté(e) le 11 août 2014 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
JM13 Posté(e) le 11 août 2014 Signaler Posté(e) le 11 août 2014 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).
Steven Posté(e) le 11 août 2014 Auteur Signaler Posté(e) le 11 août 2014 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
JM13 Posté(e) le 11 août 2014 Signaler Posté(e) le 11 août 2014 Merci ..j'avais qqle chose de similaire ... mais moins élégant. Comme on dit aux chiffres et aux lettres : "Pas mieux"
Steven Posté(e) le 11 août 2014 Auteur Signaler Posté(e) le 11 août 2014 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
971jmd Posté(e) le 11 août 2014 Signaler Posté(e) le 11 août 2014 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
Messages recommandés