Aller au contenu

ADN182

Membres confirmés
  • Compteur de contenus

    436
  • Inscription

  • Dernière visite

Réputation sur la communauté

139 Excellent

4 abonnés

À propos de ADN182

  • Rang
    Membre passionné
  • Date de naissance 15 septembre

Profile Information

  • Sexe :
    Homme
  • Ville :
    LOMME
  • Intéret :
    IT, Electonique, Domotique...
  • Box
    Home Center 2
  • Version
    4.170

Visiteurs récents du profil

1 992 visualisations du profil
  1. ADN182

    Vacances Scolaires De Monsieur Steven Adapté

    Faut enlever le local dans la boucle "for", j'ai corrigé le post avec le code.
  2. ADN182

    Vacances Scolaires De Monsieur Steven Adapté

    Tu sais me donner tes paramètres @BenjyNet ?
  3. ADN182

    Vacances Scolaires De Monsieur Steven Adapté

    Hello, Voici le code avec les modifs demandées (j'ai mis à jour mon post avec le VD) : local Ville = "Lille" local dayofchange = 31 -- Jour du changement d'Année scolaire local monthofchange = 8 -- Mois du changement d'Année scolaire local Annee = "" 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, " du "..Start_date.." au "..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 fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..k..".value", v) 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
  4. ADN182

    Vacances Scolaires De Monsieur Steven Adapté

    Venez habité sur Lille ça fonctionne [emoji14] plus sérieusement faut que je regarde, j'ai dû bien tombé avec Lille, faut rajouter le stockage des date et vérifier la plus proche quelques choses du genre. Envoyé de mon Nexus 5X en utilisant Tapatalk
  5. ADN182

    Vacances Scolaires De Monsieur Steven Adapté

    Pour toi @BenjyNet : local Ville = "Lille" local dayofchange = 31 -- Jour du changement d'Année scolaire local monthofchange = 8 -- Mois du changement d'Année scolaire local Annee = "" local data = fibaro:getGlobal("VacancesScolaire") local i = 1 local now = os.time() local holiday = false local holidayd1 = false local stats = false -- -------------------------------------------------------------------------------------------------------------- -- 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) local 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 and not state) then nextholiday=getDateFormat(Start_date) state = true end if (now+24*60*60 > getDateFormat(Start_date) and now+24*60*60 < getDateFormat(End_date)) then holidayd1 = true end fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..i..".value", " du "..Start_date.." au "..End_date.." "..Description) i = i + 1 end fibaro:call(fibaro:getSelfId(), "setProperty", "ui.zone.value", Zone) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.ville.value", Ville) 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 Il faut désormais renseigner la ville et le jour et mois souhaitais pour le changement d'année scolaire. (par défaut 31 Aout)
  6. ADN182

    Probleme Meteo All Plugin

    Intéressant je connaissais pas Z-uno, petite question@Lazer comment tu fait pour passé tous ces capteurs dans ta maison, c'est des capteurs filaire c'est bien ça ? Envoyé de mon Nexus 5X en utilisant Tapatalk
  7. ADN182

    Vacances Scolaires De Monsieur Steven Adapté

    Bon finalement voici (c'est bien parce que tu me l'as demandé @pepite ) : Création d'une varibale global VacancesScolaire, Créer la scéne ci-dessous, importer le module virtuel ci-joint et modifier dans le premier bouton votre ville et les dates souhaitez. Ensuite faire runner la scène une fois par jour avec GEA par exemple Scene : --[[ %% properties %% events %% globals --]] local id_vd = xxx local http = net.HTTPClient() http:request("https://www.data.gouv.fr/fr/datasets/r/000ae493-9fa8-4088-9f53-76d375204036", { success = function(response) if response.status == 200 then if response.data and response.data ~= "" then fibaro:setGlobal("VacancesScolaire", response.data) fibaro:call(id_vd, "pressButton", "1") fibaro:debug("Success") else fibaro:debug("Error : empty response data") end else fibaro:debug("Erreur : status=" .. tostring(response.status) .." Message : " .. tostring(response.data)) end end, error = function(err) fibaro:debug("Erreur : " .. err) end, options = { method = 'GET', timeout = 3000, headers = {['content-type']='application/json'}, checkCertificate = false, } }) VD : Vacances_Scolaire.vfib
  8. ADN182

    Vacances Scolaires De Monsieur Steven Adapté

    @pepite, malheureusement je n'ai pas le temps :s j'utilise même pas ce VD je sais même pas comment il fonctionne. C'était pour aider dans un premier temps à récupérer le fichier.
  9. ADN182

    Vacances Scolaires De Monsieur Steven Adapté

    Hello, Petit démarrage pour récupérer le fichier reste à exploiter le retour json. Le truc c'est que ça doit être initier dans une scéne puisque https. Après je json peut être stocker dans une variable global pour être traiter à posteriori par le VD. local http = net.HTTPClient() http:request("https://www.data.gouv.fr/fr/datasets/r/000ae493-9fa8-4088-9f53-76d375204036", { success = function(response) if response.status == 200 then if response.data and response.data ~= "" then local jsonTable = json.decode(response.data) --fibaro:debug(jsonTable[0].datasetid) fibaro:debug("Success") else fibaro:debug("Error : empty response data") end else fibaro:debug("Erreur : status=" .. tostring(response.status) .." Message : " .. tostring(response.data)) end end, error = function(err) fibaro:debug("Erreur : " .. err) end, options = { method = 'GET', timeout = 3000, headers = {['content-type']='application/json'}, checkCertificate = false, } })
  10. ADN182

    Xiaomi Vaccum

    Je pense pas car j'ai des pertes de paquets, puis impossible de le joindre pour ma part lorsqu'il se retrouve a des endroits éloigné de la borne wifi après est ce que la base joue un rôle bonne question Envoyé de mon Nexus 5X en utilisant Tapatalk
  11. ADN182

    Xiaomi Vaccum

    Du coup il ne doit plus y en avoir avec le site xiaomi non plus Envoyé de mon Nexus 5X en utilisant Tapatalk
  12. ADN182

    Xiaomi Vaccum

    Je n'avais pas lu ta précédente réponse, du coup si tu coupe l'alimentation de la base le robot n'a plus de wifi c'est ça ? Envoyé de mon Nexus 5X en utilisant Tapatalk
  13. ADN182

    Xiaomi Vaccum

    Hello, en faut le module fonctionne ainsi : Tu clique sur le bouton du VD (ex : play) ce dernier déclenche la scène en demandant d'encrypter la trame pour faire un play et la stocke dans une variable (xiaomi_send) de mémoire, ensuite la scène appel le bouton "envoyer" du VD pour envoyer la trames crypter au robot. La réponse et ensuite renvoyer vers la scène pour décryptage et la réponse apparaît dans le debug de la scene. Du coup si tu vois que la scène attend un réponse tu peux regarder dans les logs du bouton envoyer du VD voir ce qu'il y a dans les logs il fait 5 retry si il n'a pas eu de réponse du robot et arrête. Pour l'actualisation c'est pareil il forme la trame d'actualisation demande a la scène d'encrypter envoie la trame avec le bouton envoyer et le bouton envoyer renvoi la réponse crypter a la scène qui met a jour les valeurs du VD. Tu n'as pas rajouter de bouton a ton VD ? Envoyé de mon Nexus 5X en utilisant Tapatalk
  14. ADN182

    Xiaomi Vaccum

    Exact, ou 15s en fonctionnement et 30s en veille. Je pense plus a un problème de connexion wifi si tu fait un ping de ton aspi tu as des pertes de paquets ? Envoyé de mon Nexus 5X en utilisant Tapatalk
  15. ADN182

    Nvidia Shield Android TV (16 Go)

    Je confirme c'est ça ! Envoyé de mon Nexus 5X en utilisant Tapatalk
×