Steven Posté(e) le 1 novembre 2016 Signaler Posté(e) le 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()
vjoubin Posté(e) le 1 novembre 2016 Signaler Posté(e) le 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é le 1 novembre 2016 par vjoubin
Steven Posté(e) le 1 novembre 2016 Signaler Posté(e) le 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
vjoubin Posté(e) le 1 novembre 2016 Signaler Posté(e) le 1 novembre 2016 MERCI pour tes compétences, ta réactivité je suis tout simplement EPATE!! BRAVO 1
pepite Posté(e) le 1 novembre 2016 Signaler Posté(e) le 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
vjoubin Posté(e) le 2 novembre 2016 Signaler Posté(e) le 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...
Steven Posté(e) le 2 novembre 2016 Signaler Posté(e) le 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
vjoubin Posté(e) le 2 novembre 2016 Signaler Posté(e) le 2 novembre 2016 non rien j ai recopie intégralement ton script
Steven Posté(e) le 2 novembre 2016 Signaler Posté(e) le 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 ?
vjoubin Posté(e) le 2 novembre 2016 Signaler Posté(e) le 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
vjoubin Posté(e) le 2 novembre 2016 Signaler Posté(e) le 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()
vjoubin Posté(e) le 2 novembre 2016 Signaler Posté(e) le 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??
pepite Posté(e) le 2 novembre 2016 Signaler Posté(e) le 2 novembre 2016 Tu n'as pas une autre scene qui est liée àla variable JourChome ?
vjoubin Posté(e) le 2 novembre 2016 Signaler Posté(e) le 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
pepite Posté(e) le 2 novembre 2016 Signaler Posté(e) le 2 novembre 2016 Ca gere tes volets aussi cela non ? fibaro:call(255, "pressButton", "2") 2
vjoubin Posté(e) le 2 novembre 2016 Signaler Posté(e) le 2 novembre 2016 non ca appuie sur la lampe salon pour l eteindre
Steven Posté(e) le 2 novembre 2016 Signaler Posté(e) le 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.
vjoubin Posté(e) le 2 novembre 2016 Signaler Posté(e) le 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
vjoubin Posté(e) le 2 novembre 2016 Signaler Posté(e) le 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??
Steven Posté(e) le 2 novembre 2016 Signaler Posté(e) le 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
vjoubin Posté(e) le 2 novembre 2016 Signaler Posté(e) le 2 novembre 2016 hier jourchome etait àoui et est passé a non cette nuit àminuit
vjoubin Posté(e) le 2 novembre 2016 Signaler Posté(e) le 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é le 2 novembre 2016 par vjoubin
vjoubin Posté(e) le 2 novembre 2016 Signaler Posté(e) le 2 novembre 2016 bonne soirée à tous les deux merci pour votre aide moi dodo
Steven Posté(e) le 3 novembre 2016 Signaler Posté(e) le 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
Messages recommandés