Steven 2 335 Signaler ce message Posté(e) 1 novembre 2016 Voici une proposition --[[ %% autostart --]] function tempFunc() local currentDate = os.date("*t") local sourceTrigger = fibaro:getSourceTrigger() local JourChome = fibaro:getGlobalValue("JourChome") local heureTravail = (JourChome == "NON") and (os.date("%H:%M", os.time()-30*60) == fibaro:getValue(1, "sunriseHour")) local heureConge = (JourChome == "OUI") and (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "08:45")) local auto = sourceTrigger["type"] == "autostart" if (heureTravail or heureConge or not(auto) then fibaro:call(112, "open") if (auto) then fibaro:call(255, "pressButton", "2") end setTimeout(function() fibaro:startScene(33); end, 10000) setTimeout(function() fibaro:startScene(32); end, 15000) setTimeout(function() fibaro:startScene(34); end, 20000) setTimeout(function() fibaro:startScene(37); end, 25000) end if (auto) then setTimeout(tempFunc, 60*1000) end end tempFunc() Partager ce message Lien à poster Partager sur d’autres sites
vjoubin 1 Signaler ce message Posté(e) 1 novembre 2016 (modifié) SUPER merci STEVEN je suis un pietre debutant et j'ai une erreur [DEBUG] 17:46:44: line 12: unexpected symbol near ')' je ne vois pas ou ?? merci de ton aide autre question possible de faire cela en GEA?? je louche à force de lire le support GEA et je n 'en suis qu"à la page 97 en une semaine!! Modifié 1 novembre 2016 par vjoubin Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 1 novembre 2016 if (heureTravail or heureConge or not(auto) ) then ma faute, j'ai oublié cette fin de parenthèse. Oui, en GEA, c'est possible mais par contre, il n'y a pas d'option pour différer l'ouverture des volets comme tu le fais avec 5s d'intervalle. Après, un bon script qui fonctionne n'a pas de raison d'être remplacé. Page 97 ... tu m'as battu j'en suis toujours à la 12 Partager ce message Lien à poster Partager sur d’autres sites
vjoubin 1 Signaler ce message Posté(e) 1 novembre 2016 MERCI pour tes compétences, ta réactivité je suis tout simplement EPATE!! BRAVO 1 Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 1 novembre 2016 Joli code @Master, J'ai encore appris, je ne pensais aps qu'on pouvait déclarer une variable dans laquelle on peut comparer ;-) 1 Partager ce message Lien à poster Partager sur d’autres sites
vjoubin 1 Signaler ce message Posté(e) 2 novembre 2016 Bonjour STEVEN, désolé de revenir sur le sujet mais cette nuit à minuit ouverture de mes volets !! sinon ce matin pas de soucis as tu une idée d'ou cela peut venir? ma variable JourChome se met à jour à minuit... Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 2 novembre 2016 As-tu mis quelques choses dans l'entête de ton script, autre que %%%autostart? Envoyé de mon SM-G935F en utilisant Tapatalk Partager ce message Lien à poster Partager sur d’autres sites
vjoubin 1 Signaler ce message Posté(e) 2 novembre 2016 non rien j ai recopie intégralement ton script Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 2 novembre 2016 J'ai relu le code, et je ne pense pas qu'il soit en faute. N'y aurait t'il pas une autre scene qui déclenche celle-ci àminuit ? Partager ce message Lien à poster Partager sur d’autres sites
vjoubin 1 Signaler ce message Posté(e) 2 novembre 2016 desole pour la reponse tardive je suis en voiture a priori non je verifie tte a l heure et je vois cette nuit si ca recommence la mise a jour de la variable jourchome a minuit n entraine pas le pb? je reviens vers toi demain soir merci encore Partager ce message Lien à poster Partager sur d’autres sites
vjoubin 1 Signaler ce message Posté(e) 2 novembre 2016 voici mon script STEVEN --[[ %% autostart --]] function tempFunc() local currentDate = os.date("*t") local sourceTrigger = fibaro:getSourceTrigger() local JourChome = fibaro:getGlobalValue("JourChome") local heureTravail = (JourChome == "NON") and (os.date("%H:%M", os.time()-30*60) == fibaro:getValue(1, "sunriseHour")) local heureConge = (JourChome == "OUI") and (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "08:45") local auto = sourceTrigger["type"] == "autostart" if (heureTravail or heureConge or not(auto)) then fibaro:call(258, "pressButton", "1") if (auto) then fibaro:call(255, "pressButton", "2") end setTimeout(function() fibaro:startScene(33); end, 10000) setTimeout(function() fibaro:startScene(32); end, 15000) setTimeout(function() fibaro:startScene(34); end, 20000) setTimeout(function() fibaro:startScene(37); end, 25000) end if (auto) then setTimeout(tempFunc, 60*1000) end end tempFunc() Partager ce message Lien à poster Partager sur d’autres sites
vjoubin 1 Signaler ce message Posté(e) 2 novembre 2016 je viens de changer manuellement la variable JourChome et JourChomeJ1 à oui puis je lance manuellement le calcul du vd et la j ai mes volets qui s'ouvrent!!! donc cela vient bien de ça! une idée?? Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 2 novembre 2016 Tu n'as pas une autre scene qui est liée àla variable JourChome ? Partager ce message Lien à poster Partager sur d’autres sites
vjoubin 1 Signaler ce message Posté(e) 2 novembre 2016 j ai ca --[[ %% autostart %% properties %% events %% globals --]] local sourceTrigger = fibaro:getSourceTrigger(); function tempFunc() local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if ( ( ((JourChomeJ1 == NON) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "22:40") ) or ( ((currentDate.wday == 2) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "23:00") ) ) then fibaro:call(255, "pressButton", "2"); end setTimeout(tempFunc, 60*1000) end if (sourceTrigger["type"] == "autostart") then tempFunc() else local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if ( startSource["type"] == "other" ) then fibaro:call(255, "pressButton", "2"); end end Partager ce message Lien à poster Partager sur d’autres sites
vjoubin 1 Signaler ce message Posté(e) 2 novembre 2016 je n ai rien d'autre Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 2 novembre 2016 Ca gere tes volets aussi cela non ? fibaro:call(255, "pressButton", "2") 2 Partager ce message Lien à poster Partager sur d’autres sites
vjoubin 1 Signaler ce message Posté(e) 2 novembre 2016 non ca appuie sur la lampe salon pour l eteindre Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 2 novembre 2016 Attention si tu lance manuellement le scénario il va automatiquement ouvrir tes volets peut importe la valeur de JourChome. Tu ne peux donc pas tester ainsi. Créer un scénario qui change la valeur de JourChome pour voir ce qui ce passe. Changer la valeur depuis le panneau des variables ne démarre pas les scénario c c'est pour cela qu'il faut créer un scénario de test. Partager ce message Lien à poster Partager sur d’autres sites
vjoubin 1 Signaler ce message Posté(e) 2 novembre 2016 mon gea met a jour la variable à minuit local id = { --sdb parents SONDE_EXT_SDB = 184, SDB_PARENTS = 172, SECHE_SERVIETTE_PARE = 19, --dressing CHAUF_DRESSING = 23, --chambre parents SONDE_CH_PARENTS = 183, CHAUFF_PARENTS_JARDI = 174, VOLET_PARENTS_JARDIN = 75, CHEVET_SJ = 156, VOLET_PARENT_GARAGE = 73, CHAUFFAGE_PARENTS_GA = 37, SPOTS_PARENTS = 110, TV_PARENTS = 107, --chambre jj CHAUFFAGE_JJ = 69, VELUX_JJ = 129, FENETRE_JJ_ = 239, TEMP_CH_JJ = 241, CHAMBRE_JJ = 132, --sdb jj SECHE_SERVIETTE_JJ = 35, --chambre lj FENETRE_CH_LJ = 243, CHAMBRE_LJ = 134, CHAUFFAGE_LJ = 25, VELUX_LJ = 108, TEMP_CH_LJ = 245, --chambre amis VELUX_AMIS = 130, SPOTS_CH_AMIS = 136, CHAUFFAGE_AMIS = 27, --couloir kids COULOIR_KIDS = 122, ALARME_FUM_ETAGE = 234, DETECTEUR_FUM_ETAGE = 233, TEMP_DETEC_FUM_ETAGE = 235, --sdb amis CHAUFFAGE_SDB_AMIS = 29, SECHE_SERVIETTE_AMIS = 31, --bureau FGD_BUREAU = 138, TEMP_BUREAU = 150, PRESENCE_BUREAU = 149, LUM_BUREAU = 151, --sdj TV_SDJ = 41, SPOTS_SDJ = 43, PORTE_SDJ = 192, --entree _TEMP_ENTRE = 229, PRESENCE_ENTRE = 228, COULOIR_ENTREE = 198, PORTE_ENTREE = 231, ESCALIER = 55, ENTRE = 230, PRESENCE_ENTRE_ENTRE = 227, LUSTRE_ENTRE = 205, --salon TV_SALON = 8, SPOTS_SALON = 47, VOLET_GAUCHE = 13, SONDE_SALON = 181, VOLET_DROITE = 90, VOLET_SAM_ = 92, VOLET_BAIE_SALON = 112, CAPTEUR_FIBARO_SALON = 79, CAPTEUR_FIBARO_SALON_SALON = 80, _OUV_BAIE_SALON = 160, DETECTEUR_FIB_SALON = 78, LAMPE_SALON = 255, --allee CAM_PORTAIL = 216, PORTAIL = 114, SPOTS_ALLEE = 59, --jardin CHAUF_GARAGE = 118, TEMP_GARAGE = 180, TERRASSE_BOIS = 253, PORTE_SALLE_SPORT = 120, SPOTS_JARDIN = 51, --piscine BAIE_PISCINE = 210, SAS_PISCINE = 190, PORTE_PISCINE_16 = 212, --cuisine CAFETIERE = 6, SONDE_EXT_CUISINE = 182, PORTE_CUISINE = 194, VOLET_CUISINE = 93, --chaufferie PORTE_CHAUFFERIE = 196, CHAUFFERIE = 202, TEMP_CHAUFFERIE = 177, DETEC_FUME_CHAUFFER = 176, ALARME_CHAUFFERIE = 178, --scripts et param ESSAI_REBOT = 179, EVENEMENTS = 165, ZIBASE = 98, JOUR_CHEOME = 256, --chambre gj TEMP_CH_GJ = 249, PORTE_GJ = 247,} -- Ajouter ici les événements à exécuter / Add here events to schedule -- Une liste d'exemples est disponible dans un fichier annexe samples.lua / A samples list is available in another file called samples.lua function setEvents() -- eteindre id si allumé depuis x minutes GEA.add(id["LUSTRE_ENTRE"], 2*60, "", {{"turnOff"}}) GEA.add(id["SPOTS_SDJ"], 60*60, "", {{"turnOff"}}) GEA.add(id["ESCALIER"], 1*60, "", {{"turnOff"}}) GEA.add(id["COULOIR_ENTREE"], 2*60, "", {{"turnOff"}}) GEA.add(id["COULOIR_KIDS"], 1*60, "", {{"turnOff"}}) GEA.add(id["SPOTS_ALLEE"], 2*60, "", {{"turnOff"}}) -- Si la variable est à jour et qu'on est après le couché du soleil, on remet à nuit GEA.add({"Global", "jour_nuit", "jour"}, 60, "", {{"Time", "Sunset", "Sunrise"}, {"Global", "jour_nuit", "nuit"}}) -- Si la variable est à nuit et qu'on est après le levé du soleil, on remet à jour GEA.add({"Global", "jour_nuit", "nuit"}, 60, "", {{"Time", "Sunrise", "Sunset"}, {"Global", "jour_nuit", "jour"}}) -- controle etat bateries faibles GEA.add({"Batteries", 25}, 12*60*60, "Message automatiquement remplacé", {{"Repeat"}}) -- Vérifie tout les modules à piles et envoie un message "Pile faible #name# #valeur#" -- si tv salon éteinte entre 21h et 1 h et conso wp tv salon inf à 30w on allume spots salon GEA.add({"Sensor-", id["TV_SALON"], 30}, 5, "", {{"Time", "22:00", "01:00"}, {"turnOn", id["SPOTS_SALON"]}}) -- notif porte entree ouverte entre 23H30 et 6H GEA.add(id["PORTE_ENTREE"], -1, " porte entrée ouverte", {{"Time", "23:30", "06:00"}}) -- calcul jour chome GEA.add({"Global", "", ""}, 30, "", {{"VirtualDevice", id["JOUR_CHEOME"], 3},{"Time", "00:00", "00:01"}}) end Partager ce message Lien à poster Partager sur d’autres sites
vjoubin 1 Signaler ce message Posté(e) 2 novembre 2016 ce que j ai fait toute àl heure j ai changé la variable maunellement de jour chome puis j ai appuyé sur le bouton calcul du vd jour chome et mes volets se sont ouverts ca revient àfaire ce que mon gea fait àminuit par contre si jour chome est deja ànon alors le fait d appuyer sur calcul ne les ouvre pas donc cette nuit ils ne devraient pas s'ouvrir car il n y aura pas de changement dans la vg?? Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 2 novembre 2016 Tu es sûr de ne pas avoir un autre scénario qui traîne avec JourChome dans son en-têtes ? Allez dis moi que oui stp Partager ce message Lien à poster Partager sur d’autres sites
vjoubin 1 Signaler ce message Posté(e) 2 novembre 2016 hier jourchome etait àoui et est passé a non cette nuit àminuit Partager ce message Lien à poster Partager sur d’autres sites
vjoubin 1 Signaler ce message Posté(e) 2 novembre 2016 (modifié) non STEVEN rien avec entete jourchome j ai créé jourchome ce we et je n ai que 2 scenes qui l'utilisent la tienne et celle que j ai posté tte à l heure Modifié 2 novembre 2016 par vjoubin Partager ce message Lien à poster Partager sur d’autres sites
vjoubin 1 Signaler ce message Posté(e) 2 novembre 2016 bonne soirée à tous les deux merci pour votre aide moi dodo Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 3 novembre 2016 Le soucis est qu'il est impossible que le changement de la variable "JourChome" ne déclenche le scénario. Ce qu'il faudrait faire pour tester c'est : - supprimer %% autostart du scènario - changer la variable JourChome et appuyer sur le bouton de ton VD comme tu l'as fait précédément. - Vérifier les stores - remettre %%autostart - rechanger la viariable et appuyer sur le bouton - revérifier les stores Cela a pour but de discriminer ou non ce scénario. Tiens maintenant que j'y pense, il y a quoi dans ton scénario 33 (curiosité) ? 1 Partager ce message Lien à poster Partager sur d’autres sites