Aller au contenu

mprinfo

Membres confirmés
  • Compteur de contenus

    14 367
  • Inscription

  • Dernière visite

  • Jours gagnés

    244

Tout ce qui a été posté par mprinfo

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

    HC3 - 5.031.33 - 28/05/2020

    tu veux un câlin
  3. 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
  4. mprinfo

    HC3 - 5.031.33 - 28/05/2020

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

    HC3 - 5.031.33 - 28/05/2020

    @tonyc ajoute cela ca fera plus jolie alors Stable ou Beta faut préciser
  6. 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.
  7. Et le stp merci ? [emoji16] Envoyé de mon BLA-L29 en utilisant Tapatalk
  8. @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
  9. 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
  10. 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 , "*", "*", "*", "*", "*"}
  11. @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
  12. 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
  13. 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
  14. mprinfo

    Onduleur Eaton

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

    Bon anniversaire multiples

    C'est l'anniversaire des hc3 [emoji23] Joyeux anniversaire à vous 2 Envoyé de mon BLA-L29 en utilisant Tapatalk
  17. 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
  18. 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
  19. @Moicphil c'est bon j’ai partagé tu peux mettre le pouce vers le haut @lazer mission accomplie
  20. 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 
  21. 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/
  22. MDR [emoji106][emoji1787] Envoyé de mon BLA-L29 en utilisant Tapatalk
  23. @krikroff alors cela donne quoi au niveau du suivi Envoyé de mon BLA-L29 en utilisant Tapatalk
  24. 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
  25. 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
×
×
  • Créer...