-
Compteur de contenus
4 434 -
Inscription
-
Dernière visite
-
Jours gagnés
201
Tout ce qui a été posté par Steven
-
Petit coup de gueule, comme chaque année . Vous rendez-vous compte de ce que vous faites ? Vous chercher des palliatifs à chaque problème de cette box. Lorsque problème survient, au lieu de demander à Fibaro de résoudre le problème, vous le résolvez vous même et vous vous contentez de votre solution. Votre solution N'EST PAS UNE solution, Fibaro ne corrigera jamais ces erreurs si vous vous contentez d'installer des watchdog (très bien d'ailleurs), des modules pour synchroniser l'heure de votre box, des pushbullets pour enfin recevoir des notifications fiables, ... Rien que le fait de changer un ID entre les versions me donne envie de vomir ... savez-vous ce qu'est un ID ?. En informatique sa définition est des plus simple : c'est une clé qui identifie un élément de manière unique et invariable. Sauf que chez Fibaro l'ID X qui est par exemple un détecteur de porte aujourd'hui pourra très bien être un autre de vos modules après une mise à jour. Ce qui est totalement inacceptable dans un monde professionnel. Imaginez le pauvre installateur qui doit revoir tout les scripts de ses clients. Vous êtes une communauté d'un grand nombre d'utilisateurs (très grand), votre voix doit/devrait compter au près de Fibaro pour faire avancer les choses et faire valoir votre droit. Donc : 1. On identifie un problème 2. On remonte le problème au fabriquant 3. Ce dernier répare le problème (merci Fibaro) 4. Si on arrive pas réparer, on trouve un palliatif (merci la communauté). 5. On relance constamment le fabriquant pour réparer le problème. Allez, je vous laisse, j'ai fini mon coup de gueule de l'année.
- 12 330 réponses
-
- 4
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Sauf qu'en mettant les variables en français, je vois pas comment le code peut fonctionner A moins que chez vous os.date("%A") vous retourne les jours de la semaine en francais ?
-
Perso, je préfère les codes plus "parlant" .. bien que la solution de Berale24 soit efficace. C'est juste une histoire de goût. local semaine = { Monday = false, Tuesday = true, Wednesday= false, Thursday = true, Friday = true, Saturday = true, Sunday = false } if (semaine[os.date("%A")]) then print("Trouvé") end
-
J'utilise ceci quand pour m'envoyé une photo de ma caméra lorsque quelqu'un passe devant. id["DEVANT_LA_PORTE"] = Identifiant de mon détecteur de mouvement (449) id["CAMERA_ENTREE"] = Identifiant de la caméra 2 = Admin --[[ %% autostart %% properties 449 value %% globals --]] GEA.add( id["DEVANT_LA_PORTE"], -1, "", {{"Picture", id["CAMERA_ENTREE"], 2}})[size=4] [/size]
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Pour info, c'est ici : http://www.domotique-fibaro.fr/index.php/topic/3967-v4035-03-03-2015/?p=57920 Tu pourras voir la différence avec la V3x, il y a pas photo.
-
Topic unique Fibaro Fgrgb-101 "controller Rgbw"
Steven a répondu à un(e) sujet de Yohan dans Modules Fibaro
Pourquoi pas faire simple ? local pId = fibaro:getGlobalValue("RGBW_Program"); fibaro:call(179, "startProgram", pId) -
Aucun soucis détecté hormis un détail .. au niveau performance ... c'est la version la plus pourrie que j'ai jamais vu. Mais cela prouve une chose : ils sont constant dans l'effort de dégrader cette boxe. . . [DEBUG] 18:09:15: Nb runs : 1000 | id : 56 | G.Variable : Chauffage [DEBUG] 18:09:15: ---------------------------------------------- [DEBUG] 18:09:15: [DEBUG] 18:09:17: getValue Exist : instruction time : 2s | cpu time : 1.47s [DEBUG] 18:09:20: getValue Not Exist : instruction time : 3s | cpu time : 1.36s [DEBUG] 18:09:27: setValue : instruction time : 7s | cpu time : 2.99s [DEBUG] 18:09:29: getGlobal Exist : instruction time : 2s | cpu time : 1.69s [DEBUG] 18:09:32: getGlobal Not Exist : instruction time : 3s | cpu time : 1.38s [DEBUG] 18:10:35: setGlobal : instruction time : 63s | cpu time : 4.61s [DEBUG] 18:10:44: getType : instruction time : 9s | cpu time : 6.24s [DEBUG] 18:10:51: getName : instruction time : 7s | cpu time : 5.44s [DEBUG] 18:10:57: getRoomID : instruction time : 6s | cpu time : 5.27s [DEBUG] 18:11:07: getRoomName : instruction time : 10s | cpu time : 7.26s [DEBUG] 18:11:09: getSunrise : instruction time : 2s | cpu time : 1.48s [DEBUG] 18:11:09: boucle 1000 : instruction time : 0s | cpu time : 0.15s [DEBUG] 18:11:09: [DEBUG] 18:11:09: ---------------------------------------------- [DEBUG] 18:11:09: ALL DONE
-
Mise à jour Maj Hc2 : 4.070 Du 21/01/2016
Steven a répondu à un(e) sujet de kioneoranga dans Firmware
Sur une demande présente et oppressante de PITP2, je vais répondre à la question if (GEA.source["type"] == "autostart" and tonumber(entry[GEA.keys["SECONDES"]]) >= 0) then GEA.insert(entry) GEA.log("Add Autostart", entry, GEA.translate[GEA.language]["ADDED_FOR"].. " " .. secondes .. " " .. GEA.translate[GEA.language]["SECONDS"], true, "grey") if (notstarted) then local cIndex = GEA.getCode("S", entry[GEA.keys["INDEX"]]) if (GEA.suspended ~= nil) then GEA.suspended = string.gsub(GEA.suspended, cIndex, "") end GEA.suspended = GEA.suspended .. cIndex end elseif (GEA.source["type"] == "global" and tonumber(entry[GEA.keys["SECONDES"]]) < 0) then if (type(entry[GEA.keys["ID"]]) == "table" and GEA.match(string.lower(entry[GEA.keys["ID"]][1]), "global|global.") and entry[GEA.keys["ID"]][2] == GEA.source["name"]) then GEA.insert(entry) GEA.log("Add Global", entry, GEA.translate[GEA.language]["ADDED_DIRECT"], true, "grey") end elseif (GEA.source["type"] == "property" and tonumber(entry[GEA.keys["SECONDES"]]) < 0) then local id = 0 if (type(entry[GEA.keys["ID"]]) == "number") then id = entry[GEA.keys["ID"]] elseif (type(entry[GEA.keys["ID"]]) == "table") then id = entry[GEA.keys["ID"]][2] if (string.lower(entry[GEA.keys["ID"]][1]) == "sceneactivation" and #entry[GEA.keys["ID"]] > 2) then if ( tonumber(fibaro:getValue(id, "sceneActivation")) ~= tonumber(entry[GEA.keys["ID"]][3]) ) then id = -1 end end end if (tonumber(id) == tonumber(GEA.source["deviceID"])) then GEA.insert(entry) GEA.log("Add Property", entry, GEA.translate[GEA.language]["ADDED_DIRECT"], true, "grey") end end On peux voir à la ligne 17 que lorsqu'un trigger de type "property" était activé on vérifiant que le nombre de secondes indiqué est de moins que 0. Donc on va analysé toutes les lignes qui contiennent -1 comme nombre de secondes. Ensuite, pour chacune de ces lignes ont va vérifier que l'ID du déclencheur sont bel et bien concerné. Si c'est le cas, on ajoute la ligne dans la file d'attente des traitements. Ensuite, on va traiter une seul fois toute les lignes de la file d'attente et on quitte la scène. Donc rien de bien méchant hormis qu'à chaque trigger la HC2 doit charger un mémoire une instance de GEA qui n'est plus un petit script. En espérant avoir répondu à la question ? Cordialement -
--[[ %% autostart %% properties %% globals ZoneJour --]] ...... Thermostat_ZoneJour = 174 ...... GEA.add ( {"Global!", "ZoneJour", ""}, -1, "Mise àjour du Thermostat Zone Jour",{{"VirtualDevice",id["Thermostat_ZoneJour"],"14"}})
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Oui je confirme
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
print(fibaro:getValue(1, "sunriseHour")) print(fibaro:getValue(1, "sunsetHour"))
- 12 330 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Heuuuu par contre, il manque la double accolades à la fin :-) GEA.add( true, 60, "", {{"Time", "13:50", "13:52"} , {"VirtualDevice", id["V_MATTEO"], "2"}, {"VirtualDevice", id["V_ANDREA"], "2"}}) Pour pas se prendre la tête, il faut toujours partir d'un modèle vide, simple et minimum : GEA.add( condition, durée, message, { action1, action2 } ) C'est en effet le plus dur à maîtrisé, une fois que tu auras bien le modèle en tête, tu pourras supprimer 95% des erreurs. Le reste est souvent un caractère mal placé. Courage et bravo pour ta persévérance.
- 12 330 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
trouvé Elle est en trop celle-là et fait en sorte que le reste est ignoré. GEA.add( true, 60, "", {{"Time", "13:50", "13:52"}} , {"VirtualDevice", id["V_MATTEO"], "2"}, {"VirtualDevice", id["V_ANDREA"], "2"})
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Par contre, c'est vrai que c'est bizarre si le code s'exécute mais que rien ne se produit. Pourrais-tu : 1. Mettres les autres GEA.add en commentaire (mettre -- devant) 2. Activé le débug (GEA.debug = true) 3. Vérifier ce qui apparaît dans la console.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
J'ai une petite idée. Tu demande d'attendre 60 secondes entre 19h30 et 19h30 ... c'est pas terrible car si le script s'éxecute à 19h30 et 10 secondes ... dans 60 secondes il sera 19h31 donc trop tard. Donc soit tu mets 30 secondes, soit du fait 19h30 à 19h31 Pour info "TurnOn", "turnOn", "TURNON" n'ont plus d'importance depuis quelque version ... Cela en avait avant.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Vu que je ne savais même pas que "tamper" existait, je doute l'avoir codé dans GEA Mais en effet, cela serait une bonne idée.
- 12 330 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@Did Oui, en effet. Par contre tu peux mettre les deux {"Dates",...} sur la même ligne, une après l'autre. Tu n'auras qu'une ligne avec GEA.add(...{{"Dates",...} {"Dates",...}}) @jerome Met les 2 allumages sur la même ligne, un turnOn après l'autre. Je suis sur portable donc écrire le code avec ce clavier est un calvaire. Si tu comprends pas, je veux bien que qqu t'assure svp. Cordialement
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@Domodial Que veux-tu dire par "mes variables globales ne fonctionnent plus" ? Elles ne se mettent plus à jour ? Quand tu en change une, les scénarios ne se lancent plus ? Dans le dernier cas, je rappel que c'est normal car si on change manuellement une variable depuis le panneau des variables cela ne lance pas les scénarios. @jerome_clamart Il m'arrive fréquement de ne pas faire attention et d'avoir 1 ligne qui allume une lampe, puis une 2ème plus loin dans le code qui va éteindre la même lampe. Pour éviter cela, tu peux nous poster toutes tes lignes et on regarde.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Héhé, aucun soucis. Je résume : {“Inverseâ€} On inverse la condition si elle était vrai, le script retourne faux. Ne s'applique qu'à la première condition. GEA.add(<condition>, <durée en secondes|-1>, <message a notifier>[, <options>]) C'est vrai que c'est pas très clair, c'est pour cela que par la suite, on a ajouté "Global!" qui permet de dire "Si la variable globale n'est pas ..."
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Avant même de chercher trop loin ... tu as ceci qui me perturbe : GEA.add( {"Global","EtatGarage","close"}, 2*60, "", {{"Inverse"}, {"turnOff", id["LED_TV"]}, {"turnOff", id["LED_STRUCTURE"]}, {"VirtualDevice", id["KAROTZ_NOTIFICATIONS"], "3"}}) En gros tu demande que cette ligne s'exécute quand l'EtatGarage N'EST PAS sur "close" .... est-ce voulu ? Edit : Pour la 2ème question : Tu as encore un "Inverse" bizarre sur cette ligne ? (Si le sensor < 30w et Inverse) = Sensor >= 30W. Ne devrais-tu simplement ne pas éteindre les LEDs et laisser faire les lignes d'avant ?
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
GEA.add({"Power", id["REFRIGERATEUR"], 0}, 60*60, "Alerte - Réfrigérateur ne consomme plus d'énergie depuis #duration# - #date# #time#", {{"Repeat"}, {"Portable", Mobileid["IPHONE_JEROME"]}}) Courage, je sais que c'est pas facile au début. L'instruction {"Power", id["REFRIGERATEUR"], 0}" va elle même faire le fibaro:getValue(id["REFRIGERATEUR"], "power") = 0.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Lol. Le problème avec un RGB c'est qu'il peux y avoir soit un programme en cours soit une couleur spécifique. On est obligé de tester les 2 et c'est vite très compliquer. Ce pourquoi je préconise un script à part. De plus le script pourra être exécuter depuis autre chose que GEA. Sur ce, je retourne hiberner
- 12 330 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
I did it Master à‡a fait chaud au cÅ“ur de modifier un si vieux post
- 12 330 réponses
-
- 2
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@Domodial Créer une nouvelle scène avec le code suivant (jamais tester donc j'espère que cela va fonctionner.). Créer une variable global "RGB_PREVIOUS" ou ce que tu veux Modifie le scène pour mettre l'ID de ton ruban et le nom de la variable que tu auras utilisé. Pour lancer l'alarme .. lance la scène. Pour stoper l'alarme .. relance la scène C'est tout :-) local var_global = "RGB_PREVIOUS" local id = 27 if (fibaro:getGlobalValue(var_global) == "" or fibaro:getGlobalValue(var_global) == nil) then -- On stock l'état du ruban -- et on lance l'alarme local prog = fibaro:getValue(id, "currentProgram") local color = fibaro:getValue(id, "color") if (prog == 0) then -- on stocke la couleur du ruban car pas de programme en cours fibaro:setGlobal(var_global, color) else -- on stocke le programme en cours fibaro:setGlobal(var_global, prog) end fibaro:call(id, "setColor", "0", "0", "255", "100" ) else -- on récupère les valeurs précédentes et on les remets sur le ruban local r,g,b,w = string.match(fibaro:getGlobalValue(var_global), "(%d),(%d),(%d),(%d)") if (g) then fibaro:call(id, "setColor", r, g, b, w) else fibaro:call(id, "startProgram", r) end -- On désactive la variable fibaro:setGlobal(var_global, "") end Edit : pour savoir si une alarme est en cours depuis GEA il te suffira de tester -- si RGB_PREVIOUS est n'est pas vide alors il y a une alarme en cours GEA.add({"Global!", "RGB_PREVIOUS", ""}, .......)
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Etant donnée que tu dois stocker l'état de ton module RGB avant de lancer ton alerte puis le restaurer après ton alerte ... GEA ne pourra pas t'aider. Tu vas effectivement devoir passer par un autre script ou faire des "function" directement dans GEA mais je pencherais plus pour un script indépendant.
- 12 330 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :