Aller au contenu

mprinfo

Membres confirmés
  • Compteur de contenus

    14 403
  • Inscription

  • Dernière visite

  • Jours gagnés

    252

Tout ce qui a été posté par mprinfo

  1. Le -20% chez Domadoo ne fonctionne pas pour la hc3 Envoyé de mon BLA-L29 en utilisant Tapatalk
  2. Moi aucun soucis dsm sous esxi xpenology Tu as essayé avec un time out dans http Envoyé de mon BLA-L29 en utilisant Tapatalk
  3. Moi je prendrais au moins un réd 4to vu le prix des HD On commence avec les enregistrements des caméras, documents puis films est on est vite à court d'espace Perso j'ai un 8to ça commence à être juste Envoyé de mon BLA-L29 en utilisant Tapatalk
  4. Je plaisante [emoji12] Envoyé de mon BLA-L29 en utilisant Tapatalk
  5. mprinfo

    HC3 - 5.031.33 - 28/05/2020

    il est tellement triste qu'on va si mettre a 2
  6. mprinfo

    HC3 - 5.031.33 - 28/05/2020

    par contre dark c'est inutilisable pour coder on voit rien Nice arrive
  7. mprinfo

    HC3 - 5.031.33 - 28/05/2020

    pour changer l’icône c'est possible tu fais comme avec la HC2 il faut juste recéper le numéro de icone self:updateProperty("deviceIcon", 1001)
  8. mprinfo

    HC3 - 5.031.33 - 28/05/2020

    tu veux un câlin
  9. mprinfo

    HC3 - 5.031.33 - 28/05/2020

    combien de fois il faut que je te dise que tu dois avoir des gênes de femme entre râler après les livreurs et la j'ai plus aucun doute
  10. mprinfo

    HC3 - 5.031.33 - 28/05/2020

    tu as deja cela toi le fan du timeout Ajout de la fonction fibaro.clearTimeout.
  11. mprinfo

    HC3 - 5.031.33 - 28/05/2020

    @tonyc ajoute cela ca fera plus jolie alors Stable ou Beta faut préciser
  12. mprinfo

    HC3 - 5.031.33 - 28/05/2020

    tricheur Dark Theme - come to the dark side! Possibility to switch active theme automatically based on sunrise and sunset. Lua Scenes Added HTTP and HTTPS clients support.
  13. Et le stp merci ? [emoji16] Envoyé de mon BLA-L29 en utilisant Tapatalk
  14. @barelle exact moi j'utilise cette fonction comme tu dis avec un timestamp ---------------------------------------------------------------------- -- Vérification de l'heure et mise à jour -- -- de la variable si nécessaire -- ---------------------------------------------------------------------- function UpdateJourNuit(NomVG, heure) local valeurs = "Nuit" -- test si on est le jour ou la nuit if (heure >= leverSoleil) and (heure < coucherSoleil) then valeurs = "Jour" end fibaro:debug(string.format("Lever Soleil : %s - Coucher Soleil : %s", leverSoleil, coucherSoleil)) UpdateVG(NomVG, valeurs) -- mise a jour de la VG Jour_Nuit end
  15. Pour résoudre ce problème c'est très simple vu que la nuit est a cheval sur 2 jours trop chiant a guérer la solution Par défaut il fait nuit si sunrise >= 0 et sunset <= 0 il fait jour
  16. a priori mon raisonnement est juste les déclencheurs sont exécuter lors du changement des minutes petit test simple { type = "date", property = "cron", operator = "match", value = {"*", "*", "*", "*", "*", "*"}, isTrigger = true } -- action fibaro.debug("Scene1", "Time : (1 mn) "..os.date("%M mn-%S s")) resultat : [28.05.2020] [11:27:44] [DEBUG] [SCENE1]: Time : (1 mn) 27 mn-44 s [28.05.2020] [11:28:00] [DEBUG] [SCENE1]: Time : (1 mn) 28 mn-00 s [28.05.2020] [11:29:00] [DEBUG] [SCENE1]: Time : (1 mn) 29 mn-00 s [28.05.2020] [11:30:00] [DEBUG] [SCENE1]: Time : (1 mn) 30 mn-00 s donc si on lance la scène en manuel on aura des secondes ce qui est normal par contre si on attend que la scène soit exécuter par les déclarations les secondes seront toujours à 0 pour moi interval est calculer de la manière suite a partir du cron Minutes = MinuteActuelle Minutes = Minutes + interval puis le cron value = {Minutes , "*", "*", "*", "*", "*"}
  17. @krikroff il faut un multiple de 60 pour que cela fonctionne Si tu lances une scène à 8h 01mn 20s avec 2mn d'intervalle Le déclenchement ce fera à 8h03mn00s Donc moins de 2mn Après ce sera à bon puisque les déclenchement ce feront x mm 00s je pense que les déclencheur sont lu 1 fois par minute lorsque la minute change donc a 0s ce qui est logique si on regarde la déclaration cron { type = "date", property = "cron", operator = "match", value = {"30", "12", "13", "6", "1", "2018"}, isTrigger = true } on voit qu'il n'y a pas de secondes le bug ce situe au niveau de interval qui devrait être en minute et non pas en seconde Envoyé de mon BLA-L29 en utilisant Tapatalk
  18. Le QA c'est HC3 et le VD c'est HC2 Beaucoup de QA partagé ici sont des VD réécrit à partir de VD hc2 Envoyé de mon BLA-L29 en utilisant Tapatalk
  19. moi je rencontre un bug voici le code : -- DÉCLARATIONS (Conditions/Déclencheurs) { type = "date", property = "cron", operator = "matchInterval", value = { date = { "0", "12", "5", "4", "*", "2019" }, interval = 90 -- 1mn 30s }, isTrigger = true } -- ACTIONS fibaro.debug("Scene1", "Time : "..os.date("%M mn-%S s")) resultat : [28.05.2020] [09:54:33] [DEBUG] [SCENE1]: Time : 54 mn-33 s [28.05.2020] [09:57:00] [DEBUG] [SCENE1]: Time : 57 mn-00 s [28.05.2020] [10:00:00] [DEBUG] [SCENE1]: Time : 00 mn-00 s [28.05.2020] [10:03:00] [DEBUG] [SCENE1]: Time : 03 mn-00 s [28.05.2020] [10:06:00] [DEBUG] [SCENE1]: Time : 06 mn-00 s pour 3mn pour 90s ? si je mets 10 s j'ai un interval de 1 mn autre exemple avvec 2 mm { type = "date", property = "cron", operator = "matchInterval", value = { date = { "0", "12", "5", "4", "*", "2019" }, interval = 120 }, isTrigger = true } resultat : [28.05.2020] [10:09:10] [DEBUG] [SCENE1]: Time : 09 mn-10 s [28.05.2020] [10:10:00] [DEBUG] [SCENE1]: Time : 10 mn-00 s [28.05.2020] [10:12:00] [DEBUG] [SCENE1]: Time : 12 mn-00 s [28.05.2020] [10:14:00] [DEBUG] [SCENE1]: Time : 14 mn-00 s [28.05.2020] [10:16:00] [DEBUG] [SCENE1]: Time : 16 mn-00 s [28.05.2020] [10:18:00] [DEBUG] [SCENE1]: Time : 18 mn-00 s [28.05.2020] [10:20:00] [DEBUG] [SCENE1]: Time : 20 mn-00 s [28.05.2020] [10:22:00] [DEBUG] [SCENE1]: Time : 22 mn-00 s [28.05.2020] [10:24:00] [DEBUG] [SCENE1]: Time : 24 mn-00 s On voit que la condition est toujours exécuter à 0s après le lancement
  20. mprinfo

    Onduleur Eaton

    Oui c'est le prix Envoyé de mon BLA-L29 en utilisant Tapatalk
  21. @benjynet ça va venir il a livré chez@jojo en main propre donc je pense qu'il n'y a pas de soucis. Envoyé de mon BLA-L29 en utilisant Tapatalk
  22. mprinfo

    Bon anniversaire multiples

    C'est l'anniversaire des hc3 [emoji23] Joyeux anniversaire à vous 2 Envoyé de mon BLA-L29 en utilisant Tapatalk
  23. Je fais 1 passage toutes les 60s Tu veux que je post le code ? j'avais fais la capture juste après avoir sauvegardé -- Generic device type have no default actions to handle -- Module Virtuel "hc2 - Diagnostics" par razowski -- lien : https://www.domotique-fibaro.fr/topic/3719-module-virtuel-hc2-diagnostics/ -- HC3-V2.00 - 24/05/2020 -- QA pour Home Center 3 (ne fonction pas sur HC2 ou HCL) réalisé par mprinfo -- www.domotique-fibaro.fr -- Lien Topic : https://www.domotique-fibaro.fr/topic/14346-quick-app-diagnostics-hc3/ function QuickApp:onInit() self:debug("onInit") --__TAG = "QA"..plugin.mainDeviceId.."_Diagnostics HC3" self:updateView("Version", "text", "Version : HC3-V2.00 - www.domotique-fibaro.fr") if self:getVariable("Rafraichissement") == nil then self:setVariable("Rafraichissement", "60") end self.refresh = tonumber(self:getVariable("Rafraichissement")) self.DoubleClic = 0 -- variable double lic self.NomBouton = {"0", "0"} -- variables double click self:loop(self.refresh) -- Boucle principale end ---------------------------------------------------------------------------------------------- --- Boucle loop ---------------------------------------------------------------------------------------------- function QuickApp:loop(refresh) self:trace("Le QA Diagnostics a été mise a jour : Prochane mise a jours dans ",refresh,"mn--") self:diagnostics() --fibaro.setTimeout(refresh * 60 * 1000, function() self:loop(refresh) --end) end ---------------------------------------------------------------------------------------------- -- bouton "button" avec double clic ---------------------------------------------------------------------------------------------- -- Bouton Reboot function QuickApp:RebootClic() local message1clic = "Ré-appuyer pour confirmer" -- Message de confirmation local messageBouton = "Redemarrage HC3" -- Message bouton default local duree = 2 -- la durée max entre 2 clique (en seconde) local NomBouton = "Reboot" -- ID du bouton qui doit avoir un double clic local time = os.time() if ( self:confirmDoubleClick(message1clic, messageBouton, duree, time, NomBouton) ) == true then -- Si double clic self:updateView(NomBouton, "text", messageBouton) ----------------------------------------- -- code exécuté suite a un double click ----------------------------------------- self:startReboot(NomBouton, messageBouton) self:updateView(NomBouton, "text", "Votre HC3 va Redemarrée....") self.message = string.format("Redemarrage : %s", os.date("%d/%m/%Y à %Hh %Mmn %Ss")) self:updateView("label1", "text", self.message) print("-----------------------------------Reboot") self:Reboot() end end -- Bouton Arret function QuickApp:ArretClick() local message1clic = "Ré-appuyer pour confirmer" -- Message de confirmation local messageBouton = "Arret HC3" -- Message bouton default local duree = 2 -- la durée max entre 2 clique (en seconde) local NomBouton = "Arret" -- ID du bouton qui doit avoir un double clic local time = os.time() if ( self:confirmDoubleClick(message1clic, messageBouton, duree, time, NomBouton) ) == true then -- Si double clic self:updateView(NomBouton, "text", messageBouton) ----------------------------------------- -- code exécuté suite a un double click ----------------------------------------- self:updateView(NomBouton, "text", "Votre HC3 va S'arrêtée....") self.message = string.format("Arret : %s", os.date("%d/%m/%Y à %Hh %Mmn %Ss")) self:updateView("label1", "text", self.message) print("-----------------------------------Arret") self:Arret() end end ---------------------------------------------------------------------------------------------- -- confirmation d un double click ---------------------------------------------------------------------------------------------- function QuickApp:confirmDoubleClick(message1clic, messageBouton, duree, time, NomBouton) if NomBouton ~= self.NomBouton[1] then self:updateView(self.NomBouton[1], "text", self.NomBouton[2]) self.NomBouton = {NomBouton, messageBouton} self:updateView(NomBouton, "text", message1clic) fibaro.setTimeout(duree*1000, function() self:updateView(NomBouton, "text", messageBouton) end) self.DoubleClic = os.time() return false end if time > self.DoubleClic + duree then self.DoubleClic = os.time() self:updateView(NomBouton, "text", message1clic) fibaro.setTimeout(duree*1000, function() self:updateView(NomBouton, "text", messageBouton) self.DoubleClic = 0 end) return false end self.DoubleClic = 0 return true end ---------------------------------------------------------------------------------------------- -- arrondi 2 chiffres apres la virgule ---------------------------------------------------------------------------------------------- function QuickApp:round(num) local a = math.floor(num*100 + 0.5)/ 100 return a,string.format("%.2f",a) end ---------------------------------------------------------------------------------------------- -- creation de la table avec les donnees des CPU ---------------------------------------------------------------------------------------------- function QuickApp:GetTableCPU() local reponse, status = api.get("/diagnostics") -- print (json.encode(reponse)) if tonumber(status) == 200 then local TableCPU ={} for i = 0, 3 do TableCPU[i] = { ["cpu_user"] = tonumber(reponse.cpuLoad[i+1].user), ["cpu_nice"] = tonumber(reponse.cpuLoad[i+1].nice), ["cpu_system"] = tonumber(reponse.cpuLoad[i+1].system), ["cpu_idle"] = tonumber(reponse.cpuLoad[i+1].idle) } TableCPU[i]["cpu_TOTAL"] = (TableCPU[i].cpu_user + TableCPU[i].cpu_nice + TableCPU[i].cpu_system + TableCPU[i].cpu_idle) end --print (json.encode(TableCPU)) return(TableCPU) end end ----------------------------------- -- Reboot HC3 ----------------------------------- function QuickApp:Reboot() local http = net.HTTPClient({ timeout = 2000 }) local payload = {recovery=false} return http:request("http://localhost/api/service/reboot",{ options={ headers = { ["content-type"] = "application/json;charset=UTF-8", ["Authorization"] = "Basic YWRtaW46YWRtaW4=", ["X-Fibaro-Version"] = "2" }, method = "POST", data = json.encode(payload) } }) end----------------------------------- -- Mise en veille HC3 ----------------------------------- function QuickApp:Veille() end ----------------------------------- -- Arret HC3 ----------------------------------- function QuickApp:Arret() local http = net.HTTPClient({ timeout = 2000 }) return http:request("http://localhost/api/service/shutdown",{ options={ headers = { ["X-Fibaro-Version"] = "2" }, method = "POST", } }) end ---------------------------------------------------------------------------------------------- -- fonction principale ---------------------------------------------------------------------------------------------- function QuickApp:diagnostics() local data, status = api.get("/settings/info") local Version = data.softVersion local Serial = data.serialNumber local heure = os.date("%R") local date = os.date("%d/%m/%Y") local Message = string.format("Diagnostics : %s Firmware : %s ", Serial, Version) self:updateView("Titre", "text", Message) local Message = string.format("Mise a jour le %s à %s ", date, heure) self:updateView("update", "text", Message) local result, status = api.get("/diagnostics") --print(json.encode(result)) if tonumber(status) == 200 then --------------------------------------------------------------- --Utilisation de la RAM---------------------------------------- --------------------------------------------------------------- local ramused = tonumber(result.memory.free) local ramfree = 100 - ramused; ramused = ramused .. " %"; ramfree = ramfree .. " %"; self:updateView("vlRAM0", "text", "Utilisé : " .. ramused) self:updateView("vlRAM1", "text", "Disponible : " .. ramfree) --------------------------------------------------------------- --Partition système-------------------------------------------- --------------------------------------------------------------- local sused = tonumber(result.storage.internal[1].used) local sfree = 100 - sused; sused = self:round(sused) sfree = self:round(sfree) sused = sused .. " %"; sfree = sfree .. " %"; self:updateView("vlSystem0", "text", "Utilisé : " .. sused) self:updateView("vlSystem1", "text", "Disponible : " .. sfree) --------------------------------------------------------------- --Charge CPU--------------------------------------------------- --------------------------------------------------------------- if TablePREV_CPU == nil then TablePREV_CPU = self:GetTableCPU() end fibaro.sleep(self.refresh*1000) local TableCPU = self:GetTableCPU() ---------------------- -- affichage CPU ---------------------- for i = 0, 3 do local CPU_TOTAL = TableCPU[i]["cpu_TOTAL"]-TablePREV_CPU[i]["cpu_TOTAL"] local CPU_idle = TableCPU[i]["cpu_idle"] - TablePREV_CPU[i]["cpu_idle"] local CPU_Pourcentage = (CPU_TOTAL-CPU_idle)/CPU_TOTAL*100 CPU_Pourcentage = self:round(CPU_Pourcentage) CPU_Pourcentage = CPU_Pourcentage .. " %" self:updateView("vlCPU"..i, "text", CPU_Pourcentage) end TablePREV_CPU = TableCPU else self:debug("Try again "..status) end end
  24. Alors j'ai repris le calcul de celui de la hc2 Par contre je compare par défaut sur 60s au lieu de 1s Je sais pas si c'est la bonne méthode ? Envoyé de mon BLA-L29 en utilisant Tapatalk
  25. @Moicphil c'est bon j’ai partagé tu peux mettre le pouce vers le haut @lazer mission accomplie
×
×
  • Créer...