BenjyNet 1 200 Signaler ce message Posté(e) 21 septembre 2019 Bah là c'est pareil non ? Partager ce message Lien à poster Partager sur d’autres sites
MAM78 408 Signaler ce message Posté(e) 21 septembre 2019 (modifié) ou faire un boucle dans la scène pour chaque zone. Modifié 21 septembre 2019 par MAM78 Partager ce message Lien à poster Partager sur d’autres sites
BenjyNet 1 200 Signaler ce message Posté(e) 21 septembre 2019 Bah oui voilà Partager ce message Lien à poster Partager sur d’autres sites
BenjyNet 1 200 Signaler ce message Posté(e) 21 septembre 2019 Heu non même pas tu fais ça dans le VD, normalement le JSON a toutes les zones. Partager ce message Lien à poster Partager sur d’autres sites
MAM78 408 Signaler ce message Posté(e) 21 septembre 2019 (modifié) Alors pourquoi tu indiques la ville dans ton VD ? Modifié 21 septembre 2019 par MAM78 Partager ce message Lien à poster Partager sur d’autres sites
BenjyNet 1 200 Signaler ce message Posté(e) 21 septembre 2019 Bah vi Partager ce message Lien à poster Partager sur d’autres sites
MAM78 408 Signaler ce message Posté(e) 21 septembre 2019 Donc il faut bien 2 scenes ou une boucle pour traiter chacune des académies. Partager ce message Lien à poster Partager sur d’autres sites
BenjyNet 1 200 Signaler ce message Posté(e) 21 septembre 2019 Mais non, ta VG n'est pas filtrée, elle récupère l'ensemble des vacances, c'est dans le VD que tu filtres la ville. Donc une scène et 2 VD à la rigueur. Partager ce message Lien à poster Partager sur d’autres sites
MAM78 408 Signaler ce message Posté(e) 21 septembre 2019 Il me semble sans avoir analysé tout ton code que tu filtres bien sur la ville selon la ligne de code ci-dessous. Ou alors j'ai loupé quelque chose if jsonTable[j].fields.location == Ville and jsonTable[j].fields.annee_scolaire == Annee then Partager ce message Lien à poster Partager sur d’autres sites
BenjyNet 1 200 Signaler ce message Posté(e) 21 septembre 2019 Oui, dans le VD et non dans la scène. Donc je te le redis, la variable globale issue de la scène (le json de l'état) renvoi bien l'ensemble des vacances. Donc tu fais 2 VD et une scène si tes enfants sont dans 2 acad différentes. Partager ce message Lien à poster Partager sur d’autres sites
MAM78 408 Signaler ce message Posté(e) 21 septembre 2019 (modifié) Ou là, je suis un gros boulet. j'ai inversé la lecture du code de la scène et du VD. Laisse tomber ça fait au mois 6 mois que je n'ai pas remis les mains sur ma HC2. Désolé pour la perte de temps. Modifié 21 septembre 2019 par MAM78 Partager ce message Lien à poster Partager sur d’autres sites
BenjyNet 1 200 Signaler ce message Posté(e) 21 septembre 2019 Huhu non non c'est pas une perte de temps. Par contre je pense qu'il y aura un soucis sur la bascule d'année scolaire. Coder en dur la date du mois d'Aout ça me gène. Partager ce message Lien à poster Partager sur d’autres sites
Rem's 59 Signaler ce message Posté(e) 7 octobre 2019 Bonjour à tous, j’essaye de faire fonctionner ce VD, mais j’ai un message d’erreur : ERROR] 17:41:17: line 176: bad argument #1 to 'difftime' (number expected, got nil) Une idée ...? D’avance merci du coup de main ! Partager ce message Lien à poster Partager sur d’autres sites
BenjyNet 1 200 Signaler ce message Posté(e) 7 octobre 2019 T'as modifié avec la dernière MAJ des messages précédents ? Partager ce message Lien à poster Partager sur d’autres sites
Rem's 59 Signaler ce message Posté(e) 13 octobre 2019 Désolé, le boulet, je n'y arrive pas !! [ERROR] 20:15:49: line 41: attempt to index field '?' (a nil value) Partager ce message Lien à poster Partager sur d’autres sites
TonyC 457 Signaler ce message Posté(e) 13 octobre 2019 Salut @Rem's essaye de mettre l’académie dont tu depends et non pas ta ville, j.ai eu le même souci. Partager ce message Lien à poster Partager sur d’autres sites
Rem's 59 Signaler ce message Posté(e) 22 octobre 2019 Bonjour à tous, J'essaye en vain de faire tourner ce VD, je voudrais me servir des variables vacances pour mes scènes. local Ville = "Marseille" local dayofchange = 31 -- Jour du changement d'Année scolaire local monthofchange = 8 -- Mois du changement d'Année scolaire local Annee = "2019" local data = fibaro:getGlobal("VacancesScolaire") local i = 1 local now = os.time() local holiday = false local holidayd1 = false local vacance = {} -- -------------------------------------------------------------------------------------------------------------- -- Determine l'Année Scolaire par rapport aux paramètres monthofchange & dayofchange -- -------------------------------------------------------------------------------------------------------------- local dateofchange = os.time({day=dayofchange,month=monthofchange,year=os.date("%Y"),hour=0,min=0,sec=0}) if now > dateofchange then Annee = os.date("%Y").."-"..(os.date("%Y") + 1) else Annee = (os.date("%Y") -1).."-"..os.date("%Y") end -- -------------------------------------------------------------------------------------------------------------- -- Calcule le nombre de jours entre 2 dates -- -------------------------------------------------------------------------------------------------------------- function delai(dated, dateparam) diff = os.difftime(dated, dateparam) return math.floor(diff / (60*60*24)) end -- -------------------------------------------------------------------------------------------------------------- -- Transforme une date en string en date exploitable -- -------------------------------------------------------------------------------------------------------------- function getDateFormat(sdate) year,month,day = sdate:match("(%d+)-(%d+)-(%d+)") return os.time({day=day,month=month,year=year,hour=0,min=0,sec=0}) end local status, jsonTable = pcall(function() return json.decode(data) end) for j = 1, #jsonTable do if jsonTable[j].fields.location == Ville and jsonTable[j].fields.annee_scolaire == Annee then local Description = jsonTable[j].fields.description local Annee_Scolaire = jsonTable[j].fields.annee_scolaire local Start_date = tostring(jsonTable[j].fields.start_date) local End_date = tostring(jsonTable[j].fields.end_date) Zone = jsonTable[j].fields.zones --local Ville = jsonTable[j].fields.location if (now > getDateFormat(Start_date) and now < getDateFormat(End_date)) then holiday = true elseif ( getDateFormat(Start_date) > now and not holiday) then if nextholiday ~= nil then if getDateFormat(Start_date) < nextholiday then nextholiday = getDateFormat(Start_date) end else nextholiday = getDateFormat(Start_date) end end if (now+24*60*60 > getDateFormat(Start_date) and now+24*60*60 < getDateFormat(End_date)) then holidayd1 = true end table.insert(vacance, getDateFormat(Start_date).." - "..getDateFormat(End_date).." | "..Description) end end fibaro:call(fibaro:getSelfId(), "setProperty", "ui.ville.value", Ville) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.zone.value", Zone) table.sort(vacance) for k, v in pairs(vacance) do local date1 = string.match(v, "(%d+)%s"); local date2 = string.match(v, "-%s(%d+)%s"); local libelle = string.match(v, "|%s(.+)"); fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..k..".value", os.date("%d.%m.%Y", date1) .. " - " .. os.date("%d.%m.%Y", date2) .. " | " .. libelle) end if holiday then fibaro:call(fibaro:getSelfId(), "setProperty", "ui.today.value", "Oui") else fibaro:call(fibaro:getSelfId(), "setProperty", "ui.today.value", "Non") fibaro:call(fibaro:getSelfId(), "setProperty", "ui.status.value", "Dans ".. delai(nextholiday, now) .. " Jours") end if holidayd1 then fibaro:call(fibaro:getSelfId(), "setProperty", "ui.tomorrow.value", "Oui") else fibaro:call(fibaro:getSelfId(), "setProperty", "ui.tomorrow.value", "Non") end Un coup de main serait chouette !! d'avance merci !! Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 22 octobre 2019 Bonjour, Le fork (scene + VD) d'ADN est OK chez moi, as-tu une erreur ? Partager ce message Lien à poster Partager sur d’autres sites
TonyC 457 Signaler ce message Posté(e) 22 octobre 2019 @Rem's, dans mon post précédent, je te disais qu'il fallait mettre le nom de l'académie dont tu dépends, or l'académie dont tu dépends n'est pas Marseille mais"Aix-Marseille" . ps: il faut respecter les majuscules comme dans l'exemple. 1 Partager ce message Lien à poster Partager sur d’autres sites
Rem's 59 Signaler ce message Posté(e) 22 octobre 2019 En fait j'ai même essayé avec Lille et Rouen !! (les pauvres, c'est une honte ...) J'ai toujours l'erreur : [ERROR] 21:04:34: line 41: attempt to index field '?' (a nil value) J'ai essayé avec Marseille, Aix - Marseille, Aix-Marseille, aix - marseille, 13 Faut il bien renseigner l'année entre les "" : soit 2019 ? Merci pour ton aide, au top Partager ce message Lien à poster Partager sur d’autres sites
TonyC 457 Signaler ce message Posté(e) 22 octobre 2019 @Rem's as tu créé la variable globale puis exécuté le script comme indiqué ici : ? ce dernier va stocker la liste le VD va la parser pour récupérer les info. Il faut que la variable est le même nom que celui déclaré au niveau du VD. Tiens nous au jus. Partager ce message Lien à poster Partager sur d’autres sites
Rem's 59 Signaler ce message Posté(e) 27 octobre 2019 bonjour à tous, J'avance, mais doucement , ... quel boulet !! j'ai une erreur : [ERROR] 19:17:53: line 26: bad argument #1 to 'difftime' (number expected, got nil) J'ai bien la scène qui au début : succès. Une idée ? Partager ce message Lien à poster Partager sur d’autres sites
Sakkhho 469 Signaler ce message Posté(e) 29 février 2020 ca fonctionne chez vous ? la scene mets success, mais j'ai l'impression qu'il y a rien dans la variable ? Partager ce message Lien à poster Partager sur d’autres sites
Sakkhho 469 Signaler ce message Posté(e) 29 août 2020 (modifié) @BenjyNet j'ai voulu voir si ce VD ce mets à jour, le json semble bien contenir l'année 2021 par contre si je change la date dans le bouton du VD pour prendre le changement d'année scolaire j'ai ca ? [ERROR] 09:09:14: line 39: field 'day' missing in date table Modifié 29 août 2020 par Sakkhho Partager ce message Lien à poster Partager sur d’autres sites
BenjyNet 1 200 Signaler ce message Posté(e) 29 août 2020 Yep, je pense que c'est parce qu'il n'y a pas de date de vacances d'été encore. Faut rajouter un test pour éviter cette erreur. Partager ce message Lien à poster Partager sur d’autres sites