Sakkhho Posté(e) le 8 mars 2015 Signaler Posté(e) le 8 mars 2015 c'est parfait ! merci pour optimiser je me dis qu'il faudrait passer une variable ALARME à ON si un device est armé et donc je mettrai 3 conditions dans l'entete car ici je l'ai push tout le temps, meme si aucun device n'est armé lool
pepite Posté(e) le 8 mars 2015 Signaler Posté(e) le 8 mars 2015 @971jmd @sakkhho Pour le "!", moi je le traduis en "Different de " et comme ca, plus de soucis dans ma petite tete ;-) Pas d'idee pour mon instance GEA instantané ?
sebcbien Posté(e) le 8 mars 2015 Signaler Posté(e) le 8 mars 2015 je dirais que ça ne sert à rien de les mettre dans deux instances séparées. Met tout dans instantanné et vérifie bien que l'id de WP_HALOGENE est bien dans l'entète...
synthetic Posté(e) le 8 mars 2015 Signaler Posté(e) le 8 mars 2015 Bonsoir, Sur les conseils de Pepite, je poste mon sujet ici pour avoir un peu (beaucoup) d'aide. Je sais déjà que ma syntaxe GEA n'est pas bonne... J'essaye d'apprendre tant bien que mal le GEA grâce aux tutos de Steven et Sebcbien (un grand merci à eux au passage). C'est pourtant bien expliqué mais j'avoue que j'ai beaucoup de mal à comprendre car ce "language" est tout nouveau pour moi. Je recevrais la semaine prochaine 3 modules QUBINO ZMNHJA2 pour "piloter" mon chauffage via les fils pilôtes (1 module par Zone). Je voudrais créer des scénarios qui seront lancés par des boutons d'un virtuel device accessibles à distance suivant mes horaires et ceux de mon amie en utilisant les fonctions CONFORT, ECO et HORS GEL. Voici ce que j'ai préparé pour l'instant pour cibler le fonctionnement de chaque bouton (8 au total) :- 1x Bouton "JE PARS" (de la maison)- 1x Bouton "JE RENTRE" (chez moi)- 4x Boutons "BONNE NUIT" (je vais dormir) : il y a 4 boutons différents car mon amie (Cécile) est infirmière avec les horaires qui vont avec (de matin ou d'après midi) dont des scénarios différents en fonction de ses horaires et des miens.- 1x Bouton "DOUCHE"- 1x Bouton "VACANCES" Sur le principe, je sais très bien que je veux faire, mais sur la forme...y a comme un souci Pourriez-vous juste m'aiguiller afin que j'apprenne le GEA et que j'arrive à m' auto-corriger ? Merci. PROGRAMATION CHAUFFAGE : (3 zones > Z1 : JOUR / Z2 : NUIT / Z3 : Salle de Bain) Bouton JE PARS : (activé par le dernier à partir de la maison) --[[ %% autostart %% properties ?Z1 value ?Z2 value ?Z3 value %% globals --]] local id = { --Chauffage ZONE_JOUR = ?Z1, ZONE_NUIT = ?Z2, ZONE_SDB = ?Z3, } GEA.checkEvery = 30 -- On vérifie toutes les X secondes GEA.portables = {70} -- Liste des portables devant recevoir une notification {70, 71}-- JE PARS -- Confort : valeur = 99 -- Eco : valeur = 30 -- Hors Gel: valeur = 20 ------------------------- -- BOUTON JE PARS ------------------------- -- Passage de la zone jour en éco GEA.add( {"Value", ?Z1, 99}, {"Value", ?Z1, 30}) -- Passage de la zone nuit en éco GEA.add( {"Value", ?Z2, 99}, {"Value", ?Z2, 30}) -- Passage de la zone salle de bain en éco GEA.add( {"Value", ?Z3, 99}, {"Value", ?Z3, 30}) -- Démarrage du scénario GEA.run() Bouton JE RENTRE : --[[ %% autostart %% properties ?Z1 value ?Z2 value ?Z3 value %% globals --]] local id = { --Chauffage ZONE_JOUR = ?Z1, ZONE_NUIT = ?Z2, ZONE_SDB = ?Z3, } GEA.checkEvery = 30 -- On vérifie toutes les X secondes GEA.portables = {70} -- Liste des portables devant recevoir une notification {70, 71}-- JE RENTRE -- Confort : valeur = 99 -- Eco : valeur = 30 -- Hors Gel: valeur = 20 ------------------------- -- BOUTON JE RENTRE ------------------------- -- Passage de la zone jour en confort GEA.add( {"Value", ?Z1, 30}, {"Value", ?Z1, 99}) -- Passage de la zone nuit en confort à partir de 21H30 (si je rentre avant 21H30) GEA.add( ({"Value", ?Z2, 30}, {"Time", "10:01", "21:29"}), {"Value", ?Z2, 99}) -- Passage de la zone nuit en confort (si je rentre après 21H30) GEA.add( ({"Value", ?Z2, 30}, {"Time", "21:31", "09:59"}), {"Value", ?Z2, 99}) -- Passage de la zone nuit en éco à partir de 10H00 GEA.add( {"Value", ?Z2, 99}, ({"Value", ?Z2, 30}, {"Time", "10:00", "09:59"})) -- Zone salle de bain : pas de changements -- Démarrage du scénario GEA.run() Bouton BONNE NUIT 1 : (Cécile travaille le lendemain matin) --[[ %% autostart %% properties ?Z1 value ?Z2 value ?Z3 value %% globals --]] local id = { --Chauffage ZONE_JOUR = ?Z1, ZONE_NUIT = ?Z2, ZONE_SDB = ?Z3, } GEA.checkEvery = 30 -- On vérifie toutes les X secondes -- Confort : valeur = 99 -- Eco : valeur = 30 -- Hors Gel: valeur = 20 ------------------------- -- BOUTON BONNE NUIT 1 (Cécile travaille le lendemain matin) ------------------------- -- Passage de la zone jour en eco puis en confort de 04H30 à 8H00 GEA.add( {"Value", ?Z1, 99}, {"Value", ?Z1, 30}) GEA.add( ({"Value", ?Z1, 30}), ({"Value", ?Z1, 99}, {"Time", "04:30", "08:00"})) -- Passage de la zone nuit en confort GEA.add( {"Value", ?Z2, 30}, {"Value", ?Z2, 99}) -- Passage de la zone salle de bain en confort de 04H30 à 8H00 GEA.add( ({"Value", ?Z3, 30}), ({"Value", ?Z3, 99}, {"Time", "04:30", "08:00"})) -- Démarrage du scénario GEA.run() Bouton BONNE NUIT 2 : (Cécile travaille le lendemain après-midi et moi la journée) --[[ %% autostart %% properties ?Z1 value ?Z2 value ?Z3 value %% globals --]] local id = { --Chauffage ZONE_JOUR = ?Z1, ZONE_NUIT = ?Z2, ZONE_SDB = ?Z3, } GEA.checkEvery = 30 -- On vérifie toutes les X secondes -- Confort : valeur = 99 -- Eco : valeur = 30 -- Hors Gel: valeur = 20 ------------------------- -- BOUTON BONNE NUIT 2 (Cécile travaille le lendemain après-midi) ------------------------- -- Passage de la zone jour en eco puis en confort à partir de 06H00 GEA.add( {"Value", ?Z1, 99}, {"Value", ?Z1, 30}) GEA.add( ({"Value", ?Z1, 30}), ({"Value", ?Z1, 99}, {"Time", "06:00", "05:59"})) -- Zone nuit : pas de changements -- Passage de la zone salle de bain en confort de 06H00 à 8H00 GEA.add( ({"Value", ?Z3, 30}), ({"Value", ?Z3, 99}, {"Time", "06:00", "08:00"})) -- Démarrage du scénario GEA.run() Bouton BONNE NUIT 3 (pas de travail demain pour Cécile mais pour moi oui) : > même config que BOUTON BONNE NUIT 2 --[[ %% autostart %% properties ?Z1 value ?Z2 value ?Z3 value %% globals --]] local id = { --Chauffage ZONE_JOUR = ?Z1, ZONE_NUIT = ?Z2, ZONE_SDB = ?Z3, } GEA.checkEvery = 30 -- On vérifie toutes les X secondes -- Confort : valeur = 99 -- Eco : valeur = 30 -- Hors Gel: valeur = 20 ------------------------- -- BOUTON BONNE NUIT 3 (pas de travail demain pour Cécile) > même config que BOUTON BONNE NUIT 2 ------------------------- -- Passage de la zone jour en eco puis en confort à partir de 06H00 GEA.add( {"Value", ?Z1, 99}, {"Value", ?Z1, 30}) GEA.add( ({"Value", ?Z1, 30}), ({"Value", ?Z1, 99}, {"Time", "06:00", "05:59"})) -- Zone nuit : pas de changements -- Passage de la zone salle de bain en confort de 06H00 à 8H00 GEA.add( ({"Value", ?Z3, 30}), ({"Value", ?Z3, 99}, {"Time", "06:00", "08:00"})) -- Démarrage du scénario GEA.run() Bouton BONNE NUIT 4 (pas de travail demain pour Cécile et moi) : --[[ %% autostart %% properties ?Z1 value ?Z2 value ?Z3 value %% globals --]] local id = { --Chauffage ZONE_JOUR = ?Z1, ZONE_NUIT = ?Z2, ZONE_SDB = ?Z3, } GEA.checkEvery = 30 -- On vérifie toutes les X secondes -- Confort : valeur = 99 -- Eco : valeur = 30 -- Hors Gel: valeur = 20 ------------------------- -- BOUTON BONNE NUIT 4 (pas de travail demain pour Cécile et moi) ------------------------- -- Passage de la zone jour en eco puis en confort à partir de 07H00 GEA.add( {"Value", ?Z1, 99}, {"Value", ?Z1, 30}) GEA.add( ({"Value", ?Z1, 30}), ({"Value", ?Z1, 99}, {"Time", "07:00", "06:59"})) -- Zone nuit : pas de changements. -- Zone salle de bain : pas de changements. -- Démarrage du scénario GEA.run() Bouton DOUCHE : --[[ %% autostart %% properties ?Z1 value ?Z2 value ?Z3 value %% globals --]] local id = { --Chauffage ZONE_JOUR = ?Z1, ZONE_NUIT = ?Z2, ZONE_SDB = ?Z3, } GEA.checkEvery = 30 -- On vérifie toutes les X secondes -- Confort : valeur = 99 -- Eco : valeur = 30 -- Hors Gel: valeur = 20 ------------------------- -- BOUTON DOUCHE ------------------------- -- Zone jour : pas de changements. -- Zone nuit : pas de changements. -- Passage de la zone salle de bain en confort pendant 2H00 puis retour en eco GEA.add( {"Value", ?Z3, 30}, {"Value", ?Z1, 99}) GEA.add( ({"Value", ?Z3, 99}, 120*60), {"Value", ?Z1, 30}) -- Démarrage du scénario GEA.run() Bouton VACANCES : (ce bouton rique de prendre un peu la poussière ! ) --[[ %% autostart %% properties ?Z1 value ?Z2 value ?Z3 value %% globals --]] local id = { --Chauffage ZONE_JOUR = ?Z1, ZONE_NUIT = ?Z2, ZONE_SDB = ?Z3, } GEA.checkEvery = 30 -- On vérifie toutes les X secondes -- Confort : valeur = 99 -- Eco : valeur = 30 -- Hors Gel: valeur = 20 ------------------------- -- BOUTON VACANCES ------------------------- -- Passage de la zone jour en hors gel si zone en confort ou éco GEA.add( {"Value", ?Z1, 99}, {"Value", ?Z1, 20}) GEA.add( {"Value", ?Z1, 30}, {"Value", ?Z1, 20}) -- Passage de la zone nuit en hors gel si zone en confort ou éco GEA.add( {"Value", ?Z2, 99}, {"Value", ?Z2, 20}) GEA.add( {"Value", ?Z2, 30}, {"Value", ?Z2, 20}) -- Passage de la zone salle de bain en hors gel si zone en confort ou éco GEA.add( {"Value", ?Z3, 99}, {"Value", ?Z3, 20}) GEA.add( {"Value", ?Z3, 30}, {"Value", ?Z3, 20}) -- Démarrage du scénario GEA.run()
synthetic Posté(e) le 9 mars 2015 Signaler Posté(e) le 9 mars 2015 Je viens de tomber sur ce sujet : http://www.domotique-fibaro.fr/index.php/topic/128-module-radiateur-avec-fil-pilote-thermostat-de-zone/ Pensez-vous que je puisse partir sur cette base pour mes besoins ?
magic_281 Posté(e) le 9 mars 2015 Signaler Posté(e) le 9 mars 2015 Bonjour, J'ai un script qui ne fonctionne pas mais aucune erreur dans le debug.. des idées? Le but: lorsque la lumière "lampe_cave" est allumée, alors on allume "lampe_cave2" après 8 sec. lorsque cave est éteinte, on eteint tout de suite cave 2. GEA.add({ "Value", id["lampe_cave"], "On"}, 8,"", {{"turnOn", id["lampe_cave2"]}}) GEA.add({ "Value", id["lampe_cave"], "Off"}, -1,"", {{"turnOff", id["lampe_cave2"]}})
sebcbien Posté(e) le 9 mars 2015 Signaler Posté(e) le 9 mars 2015 Gea, c'est 30 secondes minimum. Il y a moyen de mettre un sleep dans la ligne gea, mais ce n'est pas recommandé car ça décale tout
Steven Posté(e) le 9 mars 2015 Auteur Signaler Posté(e) le 9 mars 2015 @pepite Recherche sur les posts concernant 2 instances de GEA car il faut modifié la variable GEA.globalTasks = "GEA_Tasks" Par exemple créer une variable GEA_Tasks_Immediat dans le panneau des variables puis met GEA.globalTasks = "GEA_Tasks_Immediat" dans ton instance qui gère les déclenchements immédiats. Sinon tu va avoir des confusion entre tes 2 instances.
pepite Posté(e) le 9 mars 2015 Signaler Posté(e) le 9 mars 2015 @syntetic : oui si cela correspond a tes besoins, lis bien le sujet et si c'est dans tuto de chauffage c'est que tu peux lutiliser en faisant confiance ;-) Après avec GEA tu appuies sur les boutons du Module Virtuel pour changer de mode. si tu as besoin @magic_281, simplifie le code, je l'ecrirais comme cela moi GEA.add(id["lampe_cave"], 30,"", {{"turnOn", id["lampe_cave2"]}}) GEA.add(id["lampe_cave"]}, -1,"", {{"Inverse"},{"turnOff", id["lampe_cave2"]}})
Steven Posté(e) le 9 mars 2015 Auteur Signaler Posté(e) le 9 mars 2015 @syntheticIl y a confusion je pense. GEA ne doit pas être mis dans un bouton d'un module virtuel mais uniquement dans une scène. Créer une variable (panneau des variables) du style "Chauffage" Derrière chacun de tes boutons met le codefibaro:setGlobal("Chauffage", "PARS") ou fibaro:setGlobal("Chauffage", "RENTRE") ou fibaro:setGlobal("Chauffage", "NUIT_1") selon le bouton en question Copie GEA dans un scénario et enlève tout le superflu Dans l'entête, met --[[%% autostart%% properties%% globalsChauffage--]]Ainsi la scène sera déclenchée chaque fois que la variable "Chauffage" sera modifiée Dans yourcode, tu vas devoir mettre ton code... voici l'exemple pour le mode "PARS"GEA.add({"Global", "Chauffage", "PARS"}, -1, "", {{"Value", ?Z1, 99}, {"Value", ?Z1, 30}})-- Passage de la zone nuit en écoGEA.add({"Global", "Chauffage", "PARS"}, -1, "", {{"Value", ?Z2, 99}, {"Value", ?Z2, 30}}) -- Passage de la zone salle de bain en éco GEA.add({"Global", "Chauffage", "PARS"}, -1, "", { {"Value", ?Z3, 99}, {"Value", ?Z3, 30}})les ?z1, ?z2, ?z3 doivent être remplacé pour les ID de tes modules.Ensuite, tu continues a écrire tes autres lignes en remplacant "PARS" par "RENTRE" et changeant les valeurs. Suis-je clair ?
Steven Posté(e) le 9 mars 2015 Auteur Signaler Posté(e) le 9 mars 2015 @magic_281 Comme il s'agit d'un déclenchement instantané, on peux faire une pause de 8 secondes sans tout casser GEA.add({ id["lampe_cave"]}, -1,"", {{"Function", function() fibaro:sleep(8000) end},{"turnOn", id["lampe_cave2"]}}) GEA.add({ id["lampe_cave"], -1, "", {{"Inverse"}, {"turnOff", id["lampe_cave2"]}})
synthetic Posté(e) le 9 mars 2015 Signaler Posté(e) le 9 mars 2015 @Pepite, Merci encore une fois pour m'avoir répondu. Je vais étudier le tuto chauffage au moins pour comprendre comment çà fonctionne. @Steven, Je ne m'attendais pas à une réponse aussi complète. MERCI. Oui, ton explication est très claire...la preuve j'ai compris Je vais "mélanger" tes conseils avec les explications du tuto chauffage. Il ne me reste plus qu'à m'attaquer à mycode dès que j'aurais un peu de temps.
pepite Posté(e) le 9 mars 2015 Signaler Posté(e) le 9 mars 2015 @Steven, j'ai bien 2 noms de variable GEA différentes qui sont bien créés dans le panneau Tests de ce matin : si je mets ca dans l'instance GEA normal --local halogene = GEA.add(id["WP_HALOGENE"], 5*60,"Extinction #name# de #room# après 5 mins à #time# le #date#",{{"VirtualDevice", id["VD_SMSFREE"], 4},{"turnOff", id["WP_HALOGENE"]}, {"Repeat"}}) GEA.add({presence},30,"Allumage Halogène SAM le #date# à #time#", {{"Days", "All"},{"Time", "7:42", "7:43"},{"Time", "23:05", "23:06"}, {"RestartTask", halogene},{"VirtualDevice", id["VD_SMSFREE"], 3},{"Email", 2, "Allumage Halo"}, {"Email", 32, "Allumage Halo Salon"}, {"turnOn", id["WP_HALOGENE"]}}) Et ca dans mon instance instantanée l local halogene = GEA.add(id["WP_HALOGENE"], 5*60,"Extinction #name# de #room# après 5 mins à #time# le #date#",{{"VirtualDevice", id["VD_SMSFREE"], 4},{"turnOff", id["WP_HALOGENE"]}, {"Repeat"}}) GEA.add(id["WP_HALOGENE"], -1, "",{{"StopTask", halogene}}) Mon Halo s'est bien allumée, sauf que GEA normal ne connait pas "halogene", donc ne redemarre pas ma tache GEA instantané arrete bien la tache halogene, je n'ai donc pas d'extinction de l'halo au bout de 5 mimns, ce qui semble etre normal d'apres ce que je comprends. Si je fais ca dans GEA normal l ocal halogene = GEA.add(id["WP_HALOGENE"], 5*60,"Extinction #name# de #room# après 5 mins à #time# le #date#",{{"VirtualDevice", id["VD_SMSFREE"], 4},{"turnOff", id["WP_HALOGENE"]}, {"Repeat"}}) GEA.add({presence},30,"Allumage Halogène SAM le #date# à #time#", {{"Days", "All"},{"Time", "7:42", "7:43"},{"Time", "23:05", "23:06"}, {"RestartTask", halogene},{"VirtualDevice", id["VD_SMSFREE"], 3},{"Email", 2, "Allumage Halo"}, {"Email", 32, "Allumage Halo Salon"}, {"turnOn", id["WP_HALOGENE"]}}) et ca dans GEA instantané : local halogene = GEA.add(id["WP_HALOGENE"], 5*60,"Extinction #name# de #room# après 5 mins à #time# le #date#",{{"VirtualDevice", id["VD_SMSFREE"], 4},{"turnOff", id["WP_HALOGENE"]}, {"Repeat"}}) GEA.add(id["WP_HALOGENE"], -1, "",{{"StopTask", halogene}}) GEA normal eteint bien la lampe au bout de 5 mins, GEA instantané arrete bien la tache donc c'est bien GEA "normal"qui gere. Si j'allume manuellement, GEA eteint au bout de 5 mins, GEA instantané ne fait rien. Ca a l'iar d'etre en conflit mais je ne comprends pas bien. Je vois bien que cela vient de ma declaration de variable local halogene mais si je ne la mets que dans le GEA instantané, je n'ai plus d'extinction du tout, si je la mets dans les 2 GEA, je n'ai plus d'arret de la tache en allumage manuel, si je ne la mets que dans le GEA normal, meme en allumage manuel : extinction. Mes noms de variable GEA sont-ils trop proches ? --panneau : GEA_Instantane et GEA_Tasks -- Scenes : GEA.globalTasks = "GEA_Tasks" GEA.globalTasks = "GEA_Instantane" Ou alors, pas de prise de tete et pour des declenchements instantanés concernant unqiuement des StopTasks je laisse dans mon GEA normal.
pepite Posté(e) le 9 mars 2015 Signaler Posté(e) le 9 mars 2015 MErci Steven, j'ai encore appris : je pensais qu'en rajoutant un function sleep, on allait tout decaler..comme sebcbien ;-)
Steven Posté(e) le 9 mars 2015 Auteur Signaler Posté(e) le 9 mars 2015 Mixé des Instantanés avec des StopTaks, RestatTasks est une vrai misère. Moi j'ai tout laissé dans une seule instance. Je ne subit qu'un décalage de 1 à 2 secondes ce qui me va donc si c'est bon aussi pour toi, pas de prise de tête et une seule instance. J'attends sur Fibaro pour qu'il corrige leur problème de performance.
pepite Posté(e) le 9 mars 2015 Signaler Posté(e) le 9 mars 2015 je vais faire cela je crois aussi, ce petit declaage pour les arrets de tache me convient aussi, bcp plus simple ;-) pour mon petit niveau hihihihi je garde l'instantané pour les vrais declenchements porte-lumiere ou autres ;-)
Steven Posté(e) le 9 mars 2015 Auteur Signaler Posté(e) le 9 mars 2015 Pour le sleep ... normalement c'est à bannir mais lors d'un déclenchement instantané, la HC2 démarre une autre copie de GEA qui tourne en parallèle de l' instance principale de GEA. On peut donc être plus permissif dans celle-ci. Dans cette copie de GEA, je ne charge QUE les GEA.add() qui concerne l'ID du module qui a déclenché le scénario et uniquement s'il y a un -1 ... ainsi c'est une copie allégée qui tourne en parallèle. Cela reste néanmoins toujours délicat a utiliser donc le bannir le plus possible est la clé du succès EDIT : Un sleep dans l'instance principale (un seul et pas trop long) est acceptable car GEA recalcule le temps entre deux execution (30 seconds - le temps d'execution)
synthetic Posté(e) le 9 mars 2015 Signaler Posté(e) le 9 mars 2015 je vais faire cela je crois aussi, ce petit declaage pour les arrets de tache me convient aussi, bcp plus simple ;-) pour mon petit niveau hihihihi J'ai vraiment hâte d'avoir un "petit" niveau comme toi tu sais Me reste plus qu'à mettre "le manuel du GEA pour les nuls" sur ma table de chevet.
Sebbrunie1 Posté(e) le 9 mars 2015 Signaler Posté(e) le 9 mars 2015 @sakkhho : lol @sebbrunie : --> super soluce de @971jmd, comme ca tu sais ou tu en es --> ou alors, tu forces toi meme avec GEA la variable de ta valeur Vacances --> ou tu simplifies ton code avec un "DIFFERENT de " sans le inverse : GEA.add({{"Global!", "Vacances", "1"}, {"Global", "Mamie", "1"}, {"Global", "FemmeMenage", "1"}, id["COINORDINATEUR"]}, 30, "coin ordi ON à 7h00 et 18h semaine", {{"turnOn", id["COINORDINATEUR"]},{"Time", "07:00", "07:02"}, {"Time", "18:01", "18:02"}}) Bonjour, je suis désolé d'insister mais cette solution, certes très intéressante, ne peut pas aller car l'{INVERSE} était là surtout pour signifier au systeme qu'il devait appliquer la tache que si id["COINORDINATEUR"] n'était pas sur ON. Je veux allumer la prise du coin ordi à 7h et 18h que si elle n'est pas encore allumé, si je ne suis pas en vacance, si la grand mère n'est pas à la maison (elle a un traitement de faveur plus loin , c'est ma belle mère !!!) et si la femme de ménage n'est pas là également Y a t'il plus simple....... Merci 1
pepite Posté(e) le 9 mars 2015 Signaler Posté(e) le 9 mars 2015 @sebbrunie : comme ca alors, voir dans le debug ce que ca donne : l local pasvacances = {"Global!", "Vacances", "1"} local mamiepasla = {"Global", "Mamie", "1"} local femmedemenagepasla = {"Global", "FemmeMenage", "1"} GEA.add({id["COINORDINATEUR"], pasvacances, mamiepasla, femmedemenagepasla}, 30, "coin ordi ON à 7h00 et 18h semaine", {{"Inverse"}, {"turnOn", id["COINORDINATEUR"]},{"Time", "07:00", "07:02"}, {"Time", "18:01", "18:02"}})
Steven Posté(e) le 9 mars 2015 Auteur Signaler Posté(e) le 9 mars 2015 Si "1" signifie "Oui" alors local pasEnVacances = {"Global!", "Vacances", "1"} local pasMamie = {"Global!", "Mamie", "1"} local pasFemmeMenage = {"Global!", "FemmeMenage", "1"} GEA.add({pasEnVacances, pasMamie, pasFemmeMenage}, 30, "coin ordi ON à 7h00 et 18h semaine", {{"turnOn", id["COINORDINATEUR"]},{"Time", "07:00", "07:02"}, {"Time", "18:01", "18:02"}}) Note que ce n'est pas Global mais Global! : qui inverse la condition, Tu n'as pas besoin de vérifier si le Coin Ordi est déjà allumé ou pas, GEA s'en charge automatiquement par contre il laisse les lignes apparaîtres dans le debug. Avant d'envoyer un turnOn ou turnOff, il vérifie toujours si cela est nécessaire. Si tu veux vraiment contrôler toi même, ajoute local coinOrdiEteint = {"Value", id["COINORDINATEUR"], 0} GEA.add( {coinOrdiEteint, pasEnVacances, pasMamie, pasFemmeMenage}, ....) Voilà
Steven Posté(e) le 9 mars 2015 Auteur Signaler Posté(e) le 9 mars 2015 Sinon la solution de pepite est bonne car {"Inverse"} n'inverse QUE la 1ERE CONDITION. Par contre, vérifier les Mamie = 1, FemmeMenage = 1
Sebbrunie1 Posté(e) le 9 mars 2015 Signaler Posté(e) le 9 mars 2015 l'{INVERSE} ne va pas essayer de faire l'inverse des variable pasvacances, mamiepasla et femmedemenagepasla? Si le coin ordi est allumé, pourquoi essayer qu'il s'allume... J'économise une tache !!!! Je ,n'avais pas intégré que c'était que la première condition qui était inversée... Merci à Tous
synthetic Posté(e) le 9 mars 2015 Signaler Posté(e) le 9 mars 2015 @synthetic ... Créer une variable (panneau des variables) du style "Chauffage"... Derrière chacun de tes boutons met le codefibaro:setGlobal("Chauffage", "PARS")...selon le bouton en question Copie GEA dans un scénario et enlève tout le superflu Dans l'entête, met --[[ %% autostart %% properties %% globals Chauffage --]] Ainsi la scène sera déclenchée chaque fois que la variable "Chauffage" sera modifiée Dans yourcode, tu vas devoir mettre ton code... voici l'exemple pour le mode "PARS"GEA.add({"Global", "Chauffage", "PARS"}, -1, "", {{"Value", ?Z1, 99}, {"Value", ?Z1, 30}}) ... les ?z1, ?z2, ?z3 doivent être remplacé pour les ID de tes modules. Ensuite, tu continues a écrire tes autres lignes en remplacant "PARS" par "RENTRE" et changeant les valeurs. Suis-je clair ? Steven, Dois-je mettre ce que tu indiques en 3., 4. & 5. dans la boucle principale du module virtuel ? ... j'avais pas tout compris en fait
Steven Posté(e) le 9 mars 2015 Auteur Signaler Posté(e) le 9 mars 2015 Non, GEA doit être copié dans une nouvelle scène en mode LUA
Messages recommandés