Aller au contenu

mprinfo

Membres confirmés
  • Compteur de contenus

    14 329
  • Inscription

  • Dernière visite

  • Jours gagnés

    240

Tout ce qui a été posté par mprinfo

  1. mprinfo

    Probléme avec fonction sur HC3

    je comprend plus fibaro.debug("Scene21", "demarrage") local LeverJour = fibaro.getValue(1, "sunriseHour") fibaro.debug("Scene21", LeverJour) resultat [11.05.2020] [21:05:25] [DEBUG] [SCENE21]: demarrage [11.05.2020] [21:05:25] [DEBUG] [SCENE21]: 05:58 par contre local leverSoleil = fibaro.getGlobalVariable(1, "sunriseHour") fibaro.debug("Scene21", leverSoleil) resultat [11.05.2020] [21:07:53] [DEBUG] [SCENE21]: demarrage [11.05.2020] [21:07:53] [ERROR] [SCENE21]: (load):3: Assertion failed: Expected string sunriseHour et sunriseHour sont des variables système lié a l'id 1 (compte admin)
  2. mprinfo

    Probléme avec fonction sur HC3

    regarde poste 2 je traite même le readonly des variables
  3. mprinfo

    Probléme avec fonction sur HC3

    Non pour la création des vg ces ok C'est le premier truc que j'ai fais J'ai posté le code dans le topic snipet Envoyé de mon BLA-L29 en utilisant Tapatalk
  4. C'est pas écologique comme méthode Bon après c'est vrai que tu peux aussi mettrent les qubino a la poubelle c'est pas top comme marque
  5. fusionne comme cela on perd rien est on a toutes les infos
  6. mprinfo

    Probléme avec fonction sur HC3

    @tonyC ou j'ai vu mais je n'arrive pas toujours a m'en souvenir donc souvent un debug ou un print oui il manque du code mais je sais que c'est le paramétre 2 qui passe pas voici la scène je l'avais faite avec steven sur HC2 mais la ca plante tout obliger de redémarrer ou j'ai marqué -----------------------------modif cela ne me fait plus d'erreur lors je code de cette facon donc c'est bien un soucis avec le paramètre 2 print("lever : ", fibaro.getValue(1, "sunriseHour")) print("Coucher : ", fibaro.getValue(1, "sunsetHour")) if (trigger.property == "sunset") then print("id:"..trigger.operator) print("type:"..trigger.type) print("type:"..trigger.value) end -- Nom des Variables Globales local VGJourNuit = "Jour_Nuit" local VGLeverSoleil = "SoleilLever" local VGCoucherSoleil = "SoleilCoucher" -- Minutes de décalages par rapport au lever du soleil local TLever = {-60, -45, -30, -20, -10, 10, 20, 30} -- Minutes de décalages par rapport au Coucher du soleil local TCoucher = {-30, -20, -10, 10, 20, 30, 45, 60} -- Id du téléphone --local IdTel = fibaro:getGlobal("TelPascal") --************ Ne rien modifier en dessous de cette ligne ************ ---------------------------------------------------------------------- -- Envoi d'un Push pour avertir que le box à démarrer ou redémarrer -- ---------------------------------------------------------------------- function EnvoiPush(Message) fibaro.debug(Message) --fibaro:call(IdTel, "sendPush", Message) end -- ----------------------------------------------------------------- -- Vérification Variable Globale et création si besoin -- -- ----------------------------------------------------------------- function VerifVG(nom, valeur, enumValeur, lecture) if (fibaro.getGlobalVariable(nom) == "") then -- Test si la variable existe fibaro.getGlobalVariable("") local data = { name = nom, value = valeur, readOnly = false, isEnum = false } -------------------------------------------------------------- -- si lecture = oui alors la variable sera en lecture seule -------------------------------------------------------------- if lecture == "read" then data.readOnly = true end -------------------------------------------------------------- -- si la variable est une variable enumeree -------------------------------------------------------------- if (type(enumValeur) ~= "nil") then data.value = enumValeur[1] data.isEnum = true data.enumValues = enumValeur end -------------------------------------------------------------- -- creation de la variable a partir de la table "data" ------------------------------------------------------------- --print(json.encode(data)) api.post("/globalVariables/", data) fibaro.debug("Scene13", "ok") --print("la variable : ", nom, "a ete cree") else --print("la variable : ", nom, "existe deja") end end ---------------------------------------------------------------------- -- Mise a jour d'une variable global -- ---------------------------------------------------------------------- function UpdateVG(NomVG, Valeurs) if (fibaro.getGlobalVariable(NomVG) == nil) then fibaro.debug("il faut cree la variable "..NomVG) EnvoiPush(string.format("La variable Globale %s n'existe pas ou a ete supprimer", NomVG)) --fibaro:abort() -- fin du programme end --fibaro.debug("Mise a jour de la Variable Globale : "..NomVG.." = "..Valeurs) fibaro.setGlobalVariable(NomVG, Valeurs) end ---------------------------------------------------------------------- -- Vérification de l'heure et mise à jour -- -- de la variable si nécessaire -- ---------------------------------------------------------------------- function UpdateJourNuit(NomVG, heure) heure = os.date("%H:%M", os.time())-------------------------------------------------------------------------modif fibaro.debug("function UpdateJourNuit") 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 ---------------------------------------------------------------------- -- Compare les tables Lever et coucher du soleil -- -- avec sunrisehour et sunsethour -- ---------------------------------------------------------------------- function LeverCoucher(NomVG, TableNom, SunRiseSet, JourNuit) for index, v in ipairs(TableNom) do if (os.date("%H:%M", os.time()+v*-60)) == SunRiseSet then UpdateVG(NomVG, v) if v == 0 then fibaro.debug("il fait : "..JourNuit) UpdateVG(VGJourNuit, JourNuit) end end end end ---------------------------------------------------------------------- -- Conversion Date format texte en format Date -- ---------------------------------------------------------------------- function ConvertionDate(NomDate) -- on extrait l'heure et minute (%d+) est un digit local heure, minute = string.match(NomDate, "(%d+):(%d+)") -- On récupère l'heure et date actuelle sous forme de tableau local TableDate = os.date("*t") -- On modifie l'heure et les minutes TableDate.hour = heure TableDate.min = minute -- Nous pouvons maintenant exploiter "MonHeure" comme une vrai date local MonHeure = os.time(TableDate) return (MonHeure) end ---------------------------------------------------------------------------- -- Calcul la valeur du Sleep en fonction des Max et Mini -- -- des Tables Lever et Coucher -- ---------------------------------------------------------------------------- function calculPause(j, heure, minilever, maxilever, minicoucher, maxicoucher) --fibaro.debug("Heure Actuelle : "..heure) -- mini et max lever local heurelever = ConvertionDate(leverSoleil) local heureleverMini = (os.date("%X", heurelever+(minilever*60))) local heureleverMaxi = (os.date("%X", heurelever+(maxilever*60))) --fibaro.debug("heure Lever Soleil Mini : "..heureleverMini.." - Maxi : "..heureleverMaxi) -- mini et max coucher local heurecoucher = ConvertionDate(coucherSoleil) local heurecoucherMini = (os.date("%X", heurecoucher+(minicoucher*60))) local heurecoucherMaxi = (os.date("%X", heurecoucher+(maxicoucher*60))) --fibaro.debug("heure Coucher Soleil Mini : "..heurecoucherMini.." - Maxi : "..heurecoucherMaxi) if heure >= heureleverMini and heure < heureleverMaxi or heure >= heurecoucherMini and heure < heurecoucherMaxi then j=1 end return (j) end -- =================================================================== -- == Nous avons fini la préparation de notre code == -- == Nous pouvont Exécuter le programme == -- == Script réaliser par MPRINFO Version 3.00B == -- == Grand Merci à STEVEN pour son aide == -- =================================================================== ---------------------------------------------------------------------- -- Envoi d'un Push pour donner la date et l'heure de démarrage -- ---------------------------------------------------------------------- EnvoiPush(string.format("La box a démarré le %s a %s", os.date("%d/%m/%Y"), os.date("%R"))) ---------------------------------------------------------------------- -- Versification si les variables globales existe -- -- et Création ou Modification si Besoin -- ---------------------------------------------------------------------- VerifVG(VGJourNuit, "Jour", {"Jour", "Nuit"}) VerifVG(VGLeverSoleil, "0") VerifVG(VGCoucherSoleil, "0") ---------------------------------------------------------------------- -- Mise a jour de la variable VG Jour_Nuit au Démarrage de la Box -- -- Ou lors de la sauvegarde de la scène -- ---------------------------------------------------------------------- leverSoleil = fibaro.getValue(1, "sunriseHour") coucherSoleil = fibaro.getValue(1, "sunsetHour") print(VGJourNuit, os.date("%H:%M", os.time())) UpdateJourNuit(VGJourNuit)----------------------------------------------------------------modif --UpdateJourNuit(VGJourNuit, os.date("%H:%M", os.time())) --------------------------------------------------------------------- -- Trie des Tables et récupération des valeurs min et maximum -- --------------------------------------------------------------------- -- Traitement de la Table TLever table.insert(TLever, 1, 0) -- ajout de 0 mn dans la table table.sort(TLever) local MiniLever = ((TLever[1]-30)) local MaxiLever = ((TLever[#TLever]+1)) -- Traitement de la Table TChoucher table.insert(TCoucher, 1, 0) -- ajout de 0 mn dans la table table.sort(TCoucher) local MiniCoucher = ((TCoucher[1]-30)) local MaxiCoucher = ((TCoucher[#TCoucher]+1)) --------------------------------------------------------------------- -- Test toute les minutes pour savoir si c'est jour ou nuit -- --------------------------------------------------------------------- fibaro.debug("boucle principale") while true do fibaro.debug("boucle principale 1") local j = 30 local osHeure = os.date("%H:%M", os.time()) leverSoleil = fibaro.getValue(1, "sunriseHour") coucherSoleil = fibaro.getValue(1, "sunsetHour") LeverCoucher(VGLeverSoleil, TLever, leverSoleil, "Jour") LeverCoucher(VGCoucherSoleil, TCoucher, coucherSoleil, "Nuit") j = calculPause(j, osHeure, MiniLever, MaxiLever, MiniCoucher, MaxiCoucher) fibaro.debug(string.format("Valeur du Sleep %s mn",j)) fibaro.sleep(j*60*1000); -- Pause en fonction de la valeur de J end
  7. J'ai un problème avec les fonctions sur HC3 dans les QA mais aussi dans les scènes ca passait sur HC2 mais impossible sur HC3 local VGJourNuit = "Jour_Nuit" ---------------------------------------------------------------------- -- Vérification de l'heure et mise à jour -- -- de la variable si nécessaire -- ---------------------------------------------------------------------- function UpdateJourNuit(NomVG, heure) heure = os.date("%H:%M", os.time()) fibaro.debug("function UpdateJourNuit") 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 print("demmarrage") UpdateJourNuit(VGJourNuit, os.date("%H:%M", os.time())) message erreur [11.05.2020] [19:09:01] [DEBUG] [SCENE21]: demmarrage[11.05.2020] [19:09:01] [ERROR] [SCENE21]: (load):12: attempt to compare nil with string c'est le 2 paramètre qui ne passe pas la je vois pas pourquoi car en plus cela fonction sur HC2
  8. @lazer c'est le même principe avec le QA netatmo on peut avoir un maitre est des enfants tout le code est dans le maitre c'est lui qui créé les enfants est les mets a jour bon moi je viens de planter la HC3 avec une boucle do while true pourtant cela fonctionnait très bien sur hc2
  9. Quick App - Mettre a jour un QA tout les jours a 0h00 voici un bout de code pour mettre a jour un QuickApp tout les jours a minuit function QuickApp:onInit() self:debug("onInit") self.refresh = 0 -- Boucle principale self:loop(self.refresh) end ---------------------------------------------------------- --- Boucle loop ---------------------------------------------------------- function QuickApp:loop(refresh) local JourHeure = os.date("*t") local refresh = 24*60 if JourHeure.hour ~= 0 and JourHeure.min ~= 0 then refresh = ((23-JourHeure.hour)*60)+60-JourHeure.min end self:trace("Le QA a été mise a jour : Prochane mise a jours dans ",refresh,"mn") self:demmarrefonction()--------------on met ici la fonction qui démmarre le QA fibaro.setTimeout(refresh * 60 * 1000, function() self:loop(refresh) end) end
  10. mprinfo

    RAZ d'une HC2

    Donc c'est OK elle est comme neuve [emoji16] Envoyé de mon BLA-L29 en utilisant Tapatalk
  11. mprinfo

    RAZ d'une HC2

    Tu as bien fait un reset du zwave Envoyé de mon BLA-L29 en utilisant Tapatalk
  12. ca fait un peu beaucoup pour récupérer une valeur je crois que je vais rester avec des VG dans mes scènes
  13. je voudrais savoir si il est possible de récupérer les variables (globale) d'un QA
  14. @lazer c'est comme cela que tu veux ton schéma
  15. oui j'ai la meme chose que toi et j'arrive a accédé a mon routeur 4g via le lan pour la route je l'ai fais sur le routeur edge moi aussi mon edge est rackable et pourtant je ne suis pas alsacien et je ne le serais jamais Vive la lorraine libre Je préfère 1000 fois joué avec ma hc3 et le lua je comprends sans problémee Le réseau j'ai a mal fou et dans 6 mois je vais gonflé encore tout le monde parce que je ne saurais plus rien faire en réseau Heureusement que @lazer est patient même si parfois ca le gonfle il m'aide quand même
  16. @lazer tu confirmes qu'il faut jouer avec les routes pour avoir accés ? car j'ai pas bien compris ce que @nico voulait dire voici comment je fais chez mon 0.0.0.0/0 c'est pour rediriger tous le monde
  17. Quick App - Jour Férié Ce QA est une adaptation du VD de @hansolo et @steven 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 10/05/2020 QA pour Home Center 3 (ne fonction pas sur HC2 ou HCL) réalisé par mprinfo Je n'ai pas encore implémenté la partie icones pour le moment c'est pas ma priorité Par défaut le pays sélectionné est la france pour choisir la suisse ou geneve il faut mettre "true" on peut mettre qu'une valeur a "true" france = true suisse = false geneve = false Le QA : Utilise les variables du QA et non plus des variables Globales Ce met a jour tout les 12 h. je n'ai pas mis a jour pour 24h par sécurité on verra par la suite Ce met a jour automatique lors de l'installation Pour récupèrer les Variables d'un QA voir : Lien de téléchargement : QA sans variables globales : QA_-_Jour_Ferie.fqa avec variables globales : JourChome JourChome QA_-_Jour_FerieVG.fqa
  18. mprinfo

    le forum rame ?

    @nico c'etait pire avec l'intercom j'avais plus rien
  19. @jjacque68 toi tu devrais pas m'écouter tu veux vraiment avoir accès à ton routeur 4g pour l'api pour l'usg 4 pro j'ai un doute pour ton utilisation je pense qu'un USG te suffira largement. En plus le 4 pro et plus gourmand en énergie perso j'aime pas la gamme usg je préfère la gamme edge routeur même si j'ai un switch unifi et 2 ap unifi aprés c'est pas dans le failover qu'il faut jouer je crois pour avec acces a ton routeur 4g mais plutot sur la partie route
  20. Quick App - Jour Férié Ce QA est une adaptation du VD de @hansolo et @steven 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 10/05/2020 QA pour Home Center 3 (ne fonction pas sur HC2 ou HCL) réalisé par mprinfo V4 24/05/2020 QA pour Home Center 3 (ne fonction pas sur HC2 ou HCL) réalisé par mprinfo réécriture complète du VD Je n'ai pas encore implémenté la partie icones pour le moment c'est pas ma priorité Ce QA a été complément réécrit il ne fonctionne que pour la france les départements : 57, 67, 68 doivent mettre la variable "Prusse" à true Prusse = true -- Mettre prusse = true si départements (57, 67, 68) Le QA : Utilise les variables du QA et non plus des variables Globales Ce met a jour à 0h00 Ce met a jour automatique lors de l'installation pour @nico 2 jours de congés en plus il suffit de mettre Prusse = true   Pour récupèrer les Variables d'un QA voir : Lien de téléchargement : QA_-Jour_Ferie_V4.00.fqa
  21. @jjacques68 est pour une scène tu tag comment ?
  22. mprinfo

    RAZ d'une HC2

    Attend je raconte une connerie C'est pour les backup d'une hc2 à une autre hc2 qu'il faut faire cela Désolé la HC3 me donne mal à la tête [emoji16] Envoyé de mon BLA-L29 en utilisant Tapatalk
  23. mprinfo

    RAZ d'une HC2

    J'en ai fait au moins 50 surtout au début de la V4 [emoji23] Depuis la 4.5 il y a eu beaucoup de changements Pour info si tu l'as garde sous ton fibaro id aucun soucis Par contre si nouveau fibaro id il faut faire un mail avec le numéro de la box à fibaro Envoyé de mon BLA-L29 en utilisant Tapatalk
  24. mprinfo

    RAZ d'une HC2

    Elle sera vierge Juste le firmware installé Il faut juste ne pas restaurer une sauvegarde à la fin Tu peux aussi supprimer les saugardes sur cloud juste avant recovery Envoyé de mon BLA-L29 en utilisant Tapatalk
×
×
  • Créer...