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

    Probléme avec fonction sur HC3

    C'est avec les vieux pot qu'on fait la meilleure soupe [emoji16] Je viens d'éteindre l'ordinateur car autrement je vais y passer la nuit En plus demain réveil 6h00 Je test ça demain en rentrant du travail Merci de votre aide @jjacques68 demain je te donnerai un exemple Envoyé de mon BLA-L29 en utilisant Tapatalk
  2. mprinfo

    Portier Doorbird

    Pour le doorbird D2101V 1 bouton D2102V 2 bouton D2103V 3 bouton Donc le D2103V et OK dans surveillance station pour les 2 autres Envoyé de mon BLA-L29 en utilisant Tapatalk
  3. mprinfo

    Probléme avec fonction sur HC3

    Et oui je me demande si la gestion des variables n'a pas changer Car si je mets arg2 dans la fonction cela fonctionne Envoyé de mon BLA-L29 en utilisant Tapatalk
  4. mprinfo

    Probléme avec fonction sur HC3

    C'est ce que j'ai fais D'ailleurs tu connais pas la commande qui remplace fibaro:abord() Car je m'en servais pas mal Envoyé de mon BLA-L29 en utilisant Tapatalk
  5. Celui la il est mieux car fait avec une vrai box [emoji1787][emoji1787] Envoyé de mon BLA-L29 en utilisant Tapatalk
  6. mprinfo

    Probléme avec fonction sur HC3

    Ça c'est la différence entre local ou non Le soucis c'est que même si je mets rien ou juste un debug dans la fonction j'ai qu'en même l'erreur Dans un QA j'ai eu un soucis arg1 disparaît et arg2 passé dans arg1 au niveau de la fonction Envoyé de mon BLA-L29 en utilisant Tapatalk
  7. mprinfo

    Probléme avec fonction sur HC3

    @jjacques68 dans une scène La j envoye arg1 et arg2 Mais cela ne passe pas Par contre sur hc2 cela fonctionne nickel Envoyé de mon BLA-L29 en utilisant Tapatalk
  8. mprinfo

    Probléme avec fonction sur HC3

    regarde j'ai mis a jour le post ta commande ne fonctionne pour sunriseHour il faut utiliser cela LeverJour = fibaro.getValue(1, "sunriseHour") sinon erreur
  9. 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)
  10. mprinfo

    Probléme avec fonction sur HC3

    regarde poste 2 je traite même le readonly des variables
  11. 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
  12. 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
  13. fusionne comme cela on perd rien est on a toutes les infos
  14. 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
  15. 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
  16. @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
  17. mprinfo

    HC3 - 5.030.45 - 09/04/2020

    Voila monsieur
  18. 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
  19. mprinfo

    RAZ d'une HC2

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

    RAZ d'une HC2

    Tu as bien fait un reset du zwave Envoyé de mon BLA-L29 en utilisant Tapatalk
  21. ca fait un peu beaucoup pour récupérer une valeur je crois que je vais rester avec des VG dans mes scènes
  22. je voudrais savoir si il est possible de récupérer les variables (globale) d'un QA
  23. @lazer c'est comme cela que tu veux ton schéma
  24. 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
  25. @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
×
×
  • Créer...