Aller au contenu

mprinfo

Membres confirmés
  • Compteur de contenus

    14 385
  • Inscription

  • Dernière visite

  • Jours gagnés

    249

Tout ce qui a été posté par mprinfo

  1. 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
  2. mprinfo

    Onduleur Eaton

    Oui c'est le prix Envoyé de mon BLA-L29 en utilisant Tapatalk
  3. @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
  4. mprinfo

    Bon anniversaire multiples

    C'est l'anniversaire des hc3 [emoji23] Joyeux anniversaire à vous 2 Envoyé de mon BLA-L29 en utilisant Tapatalk
  5. 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
  6. 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
  7. @Moicphil c'est bon j’ai partagé tu peux mettre le pouce vers le haut @lazer mission accomplie
  8. Quick App - Diagnostics HC3 version 2.10 Module Virtuel "hc2 - Diagnostics" par @razowski lien : https://www.domotique-fibaro.fr/topic/3719-module-virtuel-hc2-diagnostics/ QA pour Home Center 3 (ne fonction pas sur HC2 ou HCL) r éalisé par mprinfo Suppression du bouton Arret de la box (cette commande n'est plus disponible) Ajout d'un Bouton pour passer en mode recovery Ajout de l'encodage Base64 pour le mot de passe Ajout de 3 Childs le child CPU indique la moyen des 4 Cores du CPU Quick App - Diagnostics HC3 - V2.10 - 27/11/2022 Lien : HC3_Diagnostics_V2.10.fqa 
  9. Quick App - Recommandation Commentaires Entête Bonjour a tous, Voici ce que je recommande de mette en entête dans votre QA Type de QA La version du QA Le lien du topic du QA Si le QA est une adaptation d'un VD cité l'auteur ou les auteurs Exemple : -- Generic device type have no default actions to handle -- Version 0.54 Beta double click par MPRINFO -- lien Topic : https://www.domotique-fibaro.fr/topic/14343-quick-app-reboot-via-double-clic/?tab=comments#comment-226796 -- Generic device type have no default actions to handle -- Retourne OUI si le jour courant et J+1 est un jour chômé (WE ou férié) -- Adapté de http://gurau-audibert.hd.free.fr/josdblog/2014/01/lua-vacances-jours-chomes-et-jours-feries/ -- Pour la HC2 par Hansolo -- V1 26/06/2014 Initié par HANSOLO -- V2 27/06/2014 Amélioré par STEVEN, gestion des JS SUISSE et calcul J et J+1 -- V3.01 10/05/2020 QA pour Home Center 3 (ne fonction pas sur HC2 ou HCL) réalisé par mprinfo -- V4.01 25/05/2020 QA pour Home Center 3 (ne fonction pas sur HC2 ou HCL) réalisé par mprinfo -- lien Topic : https://www.domotique-fibaro.fr/topic/14288-quick-app-jour-f%C3%A9ri%C3%A9/
  10. MDR [emoji106][emoji1787] Envoyé de mon BLA-L29 en utilisant Tapatalk
  11. @krikroff alors cela donne quoi au niveau du suivi Envoyé de mon BLA-L29 en utilisant Tapatalk
  12. Salut bienvenue sur le forum Je pense que certaines personnes on déjà réalisé cela. Donc oui tu vas avoir la ou les solutions ici Envoyé de mon BLA-L29 en utilisant Tapatalk
  13. D'où l'intérêt d'avoir des hc2 en prod et une HC3 en test Ma hc3 a 2 ou 3 modules pour tester et encore je ne les utilises pas Il n'y aurait pas de zwave implémenter ça ne serait pas bien grave Le jeu a la mode sur hc3 c'est le QA Et pour les plus motivés on peut leurs faire faire des enfants cool [emoji23] Si j'ai acheté aussi tôt une HC3 c'est pour jouer avec et apprendre comment cela fonctionne. Pour le moment pas question de la passer en prod elle est trop jeune. Avec Fibaro il faut être prudent ça commence toujours très bien. C'est après que ça ce dégrade. La v3 était très bien et la V4 une catastrophe plusieurs années pour l'avoir stable Envoyé de mon BLA-L29 en utilisant Tapatalk
  14. @lazer c'est le but Par contre je voulez partager le code pour le double clic d'où ce QA pour montrer la méthode Envoyé de mon BLA-L29 en utilisant Tapatalk
  15. mprinfo

    Imperihome

    C'est vrai que alsahome ça sonne bien Envoyé de mon BLA-L29 en utilisant Tapatalk
  16. Le bêta testeur c'est le neveu [emoji16] Envoyé de mon BLA-L29 en utilisant Tapatalk
  17. Nouvelle version du QA Version 0.57 beta : Reboot_V0.57_beta.fqa
  18. @krikroff j'ai modifier le body car j'ai pris du poids ----------------------------------- -- 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 ----------------------------------- -- 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
  19. a priori c’est bon pour autant de bouton que l'on veut -- Generic device type have no default actions to handle -- Version 0.54 Beta double click par MPRINFO -- https://www.domotique-fibaro.fr/topic/14343-quick-app-reboot-via-double-clic/?tab=comments#comment-226796 function QuickApp:onInit() self:debug("onInit") self.DoubleClic = 0 self.NomBouton = {"0", "0"} self:updateView("label2", "text", "Redemarrage Double Clic Version 0.57 Beta") self:updateView("button", "text", "Redemarrage HC3") end ----------------------------------- -- bouton "button" avec double clic ----------------------------------- function QuickApp:RebootClic() local message1clic = "Ré-appuyer pour confirmer" -- Message de confirmation local messageBouton = "Redemarrage HC3" -- Message bouton default local duree = 10 -- 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) -- votre ICI self:startReboot(NomBouton, messageBouton) end end function QuickApp:ArretClick() local message1clic = "Ré-appuyer pour confirmer" -- Message de confirmation local messageBouton = "Arret HC3" -- Message bouton default local duree = 10 -- 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) -- votre ICI self:startArret(NomBouton, messageBouton) 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 print("---------------------------------") print("---------------------------------NomBouton : ", NomBouton) 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 ----------------------------------------------------------------- -- code exécuté suite a un double click ----------------------------------------------------------------- function QuickApp:startArret(NomBouton, messageBouton) self.message = string.format("Arret : %s", os.date("%d/%m/%Y à %Hh %Mmn %Ss")) self:updateView("label1", "text", self.message) print("-----------------------------------Arret") end function QuickApp: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") end
  20. @lazer juste un petit soucis avec l' affichage lorsque l'on change de bouton alors que l'autre bouton est en attente plus de set variable maintenant que j'ai un peu prêt compris la portée du self.variable
  21. Voici le code double clic pour plusieurs boutons Exemple avec 2 boutons function QuickApp:onInit() self:debug("onInit") self.DoubleClic = 0 self.NomBouton = " " self:updateView("label2", "text", "Redemarrage Double Clic Version 0.55 Beta") self:updateView("button", "text", "Redemarrage HC3") end ----------------------------------- -- bouton "button" avec double clic ----------------------------------- 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:startReboot(NomBouton, messageBouton) end end 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:startArret(NomBouton, messageBouton) end end ----------------------------------- -- confirmation d un double click ----------------------------------- function QuickApp:confirmDoubleClick(message1clic, messageBouton, duree, time, NomBouton) if NomBouton ~= self.NomBouton or time > self.DoubleClic + duree then self.NomBouton = NomBouton 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:updateView(NomBouton, "text", " ") self.DoubleClic = 0 return true end ----------------------------------------------------------------- -- code exécuté suite a un double click ----------------------------------------------------------------- function QuickApp:startArret(NomBouton, messageBouton) self:updateView(NomBouton, "text", "Votre HC3 va Redemarrée....") self.message = string.format("double click a : %s", os.date("%d/%m/%Y à %Hh %Mmn %Ss")) self:updateView("label1", "text", self.message) self:updateView(NomBouton, "text", messageBouton) print("-----------------------------------Arret") end function QuickApp:startReboot(NomBouton, messageBouton) self:updateView(NomBouton, "text", "Votre HC3 va Redemarrée....") self.message = string.format("double click a : %s", os.date("%d/%m/%Y à %Hh %Mmn %Ss")) self:updateView("label1", "text", self.message) self:updateView(NomBouton, "text", messageBouton) print("-----------------------------------Reboot") end
  22. Quick App - Reboot via Double Clic Permet de redémarrer la HC3 a partir d'un double clic local duree = 3 -- la durée max entre 2 clique (en seconde) Version 1.00 : Double_Clic_Version_1.00.fqa
  23. Moi j'avais compris ni HC2, ni HC3 dans ce que j'avais lu
  24. Ça on le savait déjà [emoji16] Envoyé de mon BLA-L29 en utilisant Tapatalk
  25. @jjacques68 attention la fonction reboot n'est pas appeler car c'est un test pas envi de faire un reboot a chaque test
×
×
  • Créer...