-
Compteur de contenus
14 555 -
Inscription
-
Dernière visite
-
Jours gagnés
186
Tout ce qui a été posté par jojo
-
Quick App - PSA Stellantis - Peugeot Citroen DS Opel
jojo a répondu à un(e) sujet de Lazer dans Quick App Developpeur
mais alors il ne faut pas seulement des panneaux pour produire (en journée - quand tu ne charges pas ta voiture) mais également un système de stockage (batteries, eau chaude, ... => rendement ???) pour charger ta voiture la nuit ... donc gratuit ??? -
topic unique Fibaro FGR-223 - Roller Shutter 3 - Micromodule pour volet roulant Z-Wave+
jojo a répondu à un(e) sujet de Lazer dans Modules Fibaro
paramètre 164 du fgs*224 : Lock simultaneous switching of Q1 and Q2 outputs -
où souhaites-tu continuer la discussion puisque c'est un bug suspecté ? ici ou ?
- 12 153 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
comment cela peut-il fonctionner ? d'après la doc : -- "Value" : Teste/modifie la valeur d'un module -- SYNTAXE : {"Value" , <id module>, <valeur>} -- CONDITIONS : GEA.add( {"Value" , 73, 50}, 30, "", {ACTIONS} ) -- Si la valeur du module 73 est égale à 50 \\ If value of device 73 is equal to 50
- 12 153 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
ce que j'ai compris de @Lazer, c'est ceci (je ne peux pas tester) GEA.add(id["BAL"],30, "Courrier reçu")
- 12 153 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
l'idée est bonne mais erreurS de { c'est ceci qu'il faut GEA.add({{"Time", "08:00", "22:00"}, {"Value-", id["temp_ext"], 20}}, 30, "Température < 20° J'ouvre les Volets", {"Open", id["Volets"]})
- 12 153 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
ou bien je ne suis pas bon en Français, mais être devin, n'est-ce pas le propre des dieux ? J'ai donc mis une alarme à 18h29 , j'ai mis en commentaire toutes les autres règles GEA (pour avoir un log lisible) [04.07.2022] [18:28:18] [DEBUG] [QA_GEA_167]: ... check running #16 @480s... [04.07.2022] [18:28:19] [DEBUG] [QA_GEA_167]: @480s [Validation] #5 : ["Alarm",[254,1]] => ["TurnOn",[233]] *repeat* [04.07.2022] [18:28:19] [DEBUG] [QA_GEA_167]: @480s [Validation] #6 : ["Alarm",[254,2]] => ["TurnOff",[233]] *repeat* [04.07.2022] [18:28:48] [DEBUG] [QA_GEA_167]: ... check running #17 @510s... [04.07.2022] [18:28:48] [DEBUG] [QA_GEA_167]: @510s [Validation] #5 : ["Alarm",[254,1]] => ["TurnOn",[233]] *repeat* [04.07.2022] [18:28:48] [DEBUG] [QA_GEA_167]: @510s [Validation] #6 : ["Alarm",[254,2]] => ["TurnOff",[233]] *repeat* [04.07.2022] [18:29:18] [DEBUG] [QA_GEA_167]: ... check running #18 @540s... [04.07.2022] [18:29:18] [DEBUG] [QA_GEA_167]: @540s [Validation] #5 : ["Alarm",[254,1]] => ["TurnOn",[233]] *repeat* [04.07.2022] [18:29:18] [DEBUG] [QA_GEA_167]: @540s [Validation] #6 : ["Alarm",[254,2]] => ["TurnOff",[233]] *repeat* [04.07.2022] [18:29:48] [DEBUG] [QA_GEA_167]: ... check running #19 @570s... [04.07.2022] [18:29:48] [DEBUG] [QA_GEA_167]: @570s [Validation] #5 : ["Alarm",[254,1]] => ["TurnOn",[233]] *repeat* [04.07.2022] [18:29:48] [DEBUG] [QA_GEA_167]: @570s [Validation] #6 : ["Alarm",[254,2]] => ["TurnOff",[233]] *repeat* [04.07.2022] [18:30:18] [DEBUG] [QA_GEA_167]: GEA run since 10m - Memory used: 937.34 KB - CPU consumed: 552.18 ms ( 0.046 % ) [04.07.2022] [18:30:18] [DEBUG] [QA_GEA_167]: ... check running #20 @600s... [04.07.2022] [18:30:18] [DEBUG] [QA_GEA_167]: @600s [Validation] #5 : ["Alarm",[254,1]] => ["TurnOn",[233]] *repeat* [04.07.2022] [18:30:18] [DEBUG] [QA_GEA_167]: @600s [Validation] #6 : ["Alarm",[254,2]] => ["TurnOff",[233]] *repeat* [04.07.2022] [18:30:48] [DEBUG] [QA_GEA_167]: ... check running #21 @630s... [04.07.2022] [18:30:48] [DEBUG] [QA_GEA_167]: @630s [Validation] #5 : ["Alarm",[254,1]] => ["TurnOn",[233]] *repeat* [04.07.2022] [18:30:48] [DEBUG] [QA_GEA_167]: @630s [Validation] #6 : ["Alarm",[254,2]] => ["TurnOff",[233]] *repeat* pour rappel voici mon GEA function setEvents() -- ========================================================== -- Règles utilisateur -- ========================================================== -- IDs générés le : 01/07/22 à 19:47:16 local id = { ... --Piscine PISCINE_CHAUFFAGE = 234, PISCINE_TMP = 232, PISCINE_TMPSEUIL = 230, PISCINE_TMPLAST = 231, PISCINE_THERMOSTAT = 235, PISCINE_POMPE = 233, GEA_ALARME_PISCINE = 254, PISCINE_MODEHIVER = 213, GESTION_PISCINE = 214, PISCINE_TMPAUTH = 252, ... } ... GEA.add ({"Alarm", id["GEA_ALARME_PISCINE"], 1}, 0, "Démarrage pompe piscine", {"TurnOn", id["PISCINE_POMPE"]}) GEA.add ({"Alarm", id["GEA_ALARME_PISCINE"], 2}, 0, "Arrêt pompe piscine", {"TurnOff", id["PISCINE_POMPE"]}) ... end je ne vois de spécial dans le log
- 12 153 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
c'est vraue cette partie là de la doc, il faut essayer de la comprendre avant l'apéro
- 12 153 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
cela veut dire : si on est pendant 30 sec entre le sunset (d'après la doc cela devrait être Sunset) et 22h00, alors ... tu pourrais mettre (comme suggéré par @Lazer) GEA.add(id["BAL"], -1, ... Remarque 1 : il faudrait écrire Sunset (et pas sunset) La condition ici est au coucher du soleil (si le coucher du soleil est après 22h) sinon entre 22h et 22h05.
- 12 153 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
tout est prêt, je dois "juste" retirer mes infos personnelles, et écrire le topic qui va bien ...
-
topic unique Fibaro FGR-223 - Roller Shutter 3 - Micromodule pour volet roulant Z-Wave+
jojo a répondu à un(e) sujet de Lazer dans Modules Fibaro
sur les nouveaux modules, n'y a-t-il pas justement un paramètre pour éviter ce problème ? Et si on parle de relais de puissance pourquoi ne pas riectement mettre la AeoTec haut puissance ? -
Quick App - PSA Stellantis - Peugeot Citroen DS Opel
jojo a répondu à un(e) sujet de Lazer dans Quick App Developpeur
du coup je suis bon pour acheter une nouvelle voiture ! -
@Yannick voici le code d'une scène LUA qui dans son débug génère (pièce par pièce) une liste des modules et leur id. Il s'agit d'un code qui (de mémoire) a été créé par @Steven er je suppose (comme d'hab) rendu compatible avec la HC3 par @Lazer. local hidden = false --- true pour exporter les devices cachés local dead = false -- true pour exporter les devices morts local excludeType = {"com.fibaro.zwaveDevice", "weather", "HC_user", "iOS_device", "com.fibaro.voipUser"} local excludeID = {} local devicesJSon = api.get("/devices") local devices = {} local names = {} local rooms = {} function addName(name, roomname) if (type(names[name]) == "nil") then names[name] = true return name else return addName(name.."_"..roomname, roomname) end end function getRooms() local roomsJSon = api.get("/rooms") rooms[0] = "inconnu" for k, v in ipairs(roomsJSon) do rooms[v.id] = v.name end end function rename(name, roomname) local name = name:upper():gsub("[éêèë]", "E"):gsub("EE", "E"):gsub("[ûüù]", "U"):gsub("UU", "U"):gsub("[àâä]", "A"):gsub("AA", "A"):gsub("[öô]", "O"):gsub("OO", "O"):gsub("[îï]", "I"):gsub("II", "I"):gsub("%W", "_") local roomname = roomname:upper():gsub("[éêèë]", "E"):gsub("EE", "E"):gsub("[ûüù]", "U"):gsub("UU", "U"):gsub("[àâä]", "A"):gsub("AA", "A"):gsub("[öô]", "O"):gsub("OO", "O"):gsub("[îï]", "I"):gsub("II", "I"):gsub("%W", "_") return addName(name, roomname) end getRooms() for k, v in pairs(devicesJSon) do local doit = (hidden or v.visible) and (dead or not v.dead) if (doit) then for h, w in pairs(excludeType) do if (v.type == w) then doit = false end end if (doit) then for h, w in pairs(excludeID) do if (v.id == w) then doit = false end end end end if (doit) then table.insert(devices, v) end end table.sort(devices, function(a,b) return a.roomID<b.roomID end) local result = "<BR><BR>-- IDs générés le : " .. os.date("%d/%m/%y à %X") local room = -1 local lastinfo = ""; result = result .. "<BR><BR>local id = {" for k, v in ipairs(devices) do if (room ~= v.roomID) then room = v.roomID result = result .. "<BR>--"..rooms[v.roomID].."<BR>" end lastinfo = rename(v.name, rooms[v.roomID]) result = result .. lastinfo .. " = " .. v.id .. ", " end result = result .. "<BR>}" result = result .. "<BR>" result = result .. "<BR>-- usage :" result = result .. "<BR>-- fibaro:getValue(id[\""..lastinfo .."\"], \"value\")" result = result .. "<BR>-- GEA.add(id[\""..lastinfo .."\"], 30, \"\")" result = result .. "<BR>-- to add in the following QA :" result = result .. "<BR>-- GEA" print(result)
- 12 153 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
je teste GEA Alarm. Les alarmes sont bien réglées comme je veux mais elles n'agissent pas comme je le souhaite. Ai-je fait une erreur dans mon code GEA ? GEA.add ({"Alarm", id["GEA_ALARME_PISCINE"], 1}, 0, "Démarrage pompe piscine", {"TurnOn", id["PISCINE_POMPE"]}) GEA.add ({"Alarm", id["GEA_ALARME_PISCINE"], 2}, 0, "Arrêt pompe piscine", {"TurnOff", id["PISCINE_POMPE"]})
- 12 153 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
n'espérant pas une réponse si rapide (tu as mis un -1 dans ce topic ?), j'étais en train d'essayer de faire du reverse engineering de ce code de malade. Mais n'étant PAS DU TOUT développeur, j'avais peu d'espoir de trouver la réponse ...
- 12 153 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
dans le fibaro.call, ça ne devrait pas être "setTime" au lieu de setTime (=> rajouter des ") et si on veut préciser que c'est l'heure de l'alarme # 2, que faut-il mettre ? (car dans GEA c'est possible) -- Réglage de l'heure de l'alarme n°2 sur 22h22 : GEA.add( {CONDITION}, 30, "", {"QuickApp", id["QA_ALARM"], "setTime", 2, "22:22"}) Merci (encore une fois)
- 12 153 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
il y a 3 liens à mettre dans tes favoris (en plus de celui vers ce forum) tous les autres favoris sont PARFAITEMENT inutiles (allez, soyons fair-play, tu peux rajouter Google)
- 12 153 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Quick App - Gestionnaire d'Événements Automatique - GEA pour HC3
jojo a répondu à un(e) sujet de Lazer dans Quick App Developpeur
Comme la version 7.37 de la syntaxe n'a pas encore été publiée sur la première, j'en profite pour encore la modifier un tout petit peu. Dans les modes thermostat possible j'ai rajouté Off car : testé et ça fonctionne ce mode est repris dans les exemples -- "ThermostatMode" : Teste/modifie le mode de fonctionnement d'un thermostat -- SYNTAXE : {"ThermostatMode", <id_thermostat>, "<mode>"} -- mode : Heat | Cool | Auto | Resume | Fan | Dry | Off -- CONDITIONS : GEA.add( {"ThermostatMode", 72, "Heat"}, 30, "Thermostat chaud", {ACTIONS} ) -- Vérifie si le thermostat 72 est en train de chauffer GEA.add( {"ThermostatMode", 72, "Off"} , 30, "Thermostat arrêt", {ACTIONS} ) -- Vérifie si le thermostat 72 est arrêté GEA v7.37 Syntaxe.lua -
dans la définition de ton tableau d'id, tu as oublié une , après ... = 177 tu as deux solutions : dans GEA, tu crées plusieurs actions (séparées par des , ) tu crées un QA "Linked Devices" Binary Sensor, c'est comme un groupe de modules que tu peux actionner en agissant que sur ce QA => essaie. P.S. prends le temps de lire la super doc de syntaxe écrite par @Lazer, tu auras pleins d'idées
- 12 153 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Topic unique Aeon Labs - Zw100 "multisensor6" - Capteur 6 En 1
jojo a répondu à un(e) sujet de Moicphil dans Aeon Labs / Aeotec
tout ce qui est 'report', concerne (uniquement) la remontée des infos au contrôleur principal. Pour la gestion de l'éclairage avec les détecteurs de présence et la luminosité, j'ai très rapidement abandonné l'association directe, car quand mon éclairage artificiel était allumé, la luminosité était ok, et si la lumière s'éteint juste à ce moment là, tu peux gesticuler tant que tu veux, elle ne se rallume pas => le waf en prend pour son grade ... -
ne ferait-on pas alors un Showroom GEA HC3 pour éviter la confusion . c'est le principe fondamental de ce forum : entraide et partage. En ce qui me concerne, je ne suis qu'en phase de préparation de ma migration (même si mon GEA fait déjà plus de 200 lignes) D'ici fin août (j'espère) il devrait être ok à 90%. Mais je peux, si tu le désires, déjà poster ce que j'ai, là où dieu me dira de le faire
- 12 153 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
ok, je prépare (mais pas dans l'immédiat) un topic sur le sujet (rappelle le moi si je traine trop)
-
c'est vrai que c'est encore mieux ! => merci
- 12 153 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
La grande claaaaasse , surtout que posté à en fait j'utilise GEA comme trigger d'exécution de mon code LUA dans une QA, car tout est plus lisible ainsi. -- Pompe GEA.add ({"Time", "05:15", "05:30"}, 0, "", {"QuickApp", id["GESTION_PISCINE"], "DureePompe"}) et le code LUA : function QuickApp:DureePompe() self:debug("DureePompe") local TmpSeuil = fibaro.getValue(id["PISCINE_TMPSEUIL"],"value") local PiscineHrDebut = self:getVariable("PiscineHrDebut") self:trace("Piscine_TmpSeuil = "..TmpSeuil.."°C") self:trace("QAVariable PiscineHrDebut = "..PiscineHrDebut) PiscineHrDebut = tonumber(string.sub(PiscineHrDebut,1,string.find(PiscineHrDebut,":")-1)) self:trace("PiscineHrDebut = "..tostring(PiscineHrDebut)) if TmpSeuil < tonumber(self:getVariable("PiscineTmp0")) then PiscineHrFin = PiscineHrDebut + tonumber(self:getVariable("PiscineHrDur0")) elseif (TmpSeuil >= tonumber(self:getVariable("PiscineTmp0")) and TmpSeuil < tonumber(self:getVariable("PiscineTmp1"))) then PiscineHrFin = PiscineHrDebut + tonumber(self:getVariable("PiscineHrDur1")) elseif (TmpSeuil >= tonumber(self:getVariable("PiscineTmp1")) and TmpSeuil < tonumber(self:getVariable("PiscineTmp2"))) then PiscineHrFin = PiscineHrDebut + tonumber(self:getVariable("PiscineHrDur2")) elseif (TmpSeuil >= tonumber(self:getVariable("PiscineTmp2")) and TmpSeuil < tonumber(self:getVariable("PiscineTmp3"))) then PiscineHrFin = PiscineHrDebut + tonumber(self:getVariable("PiscineHrDur3")) elseif (TmpSeuil >= tonumber(self:getVariable("PiscineTmp3")) and TmpSeuil < tonumber(self:getVariable("PiscineTmp4"))) then PiscineHrFin = PiscineHrDebut + tonumber(self:getVariable("PiscineHrDur4")) elseif TmpSeuil >= tonumber(self:getVariable("PiscineTmp4")) then PiscineHrFin = PiscineHrDebut + tonumber(self:getVariable("PiscineHrDur5")) end if PiscineHrFin > 24 then PiscineHrFin = PiscineHrFin - 24 end PiscineHrFin = tostring(PiscineHrFin) if string.len(PiscineHrFin) == 1 then PiscineHrFin = "0"..PiscineHrFin end PiscineHrFin = PiscineHrFin .. ":00" self:trace("PiscineHrFin = "..PiscineHrFin) self:setVariable("PiscineHrFin", PiscineHrFin) self:trace("QAVariable PiscineHrFin = "..self:getVariable("PiscineHrFin")) end maintenant l'idée serait de mettre le résultat de mon LUA dans la variable du QA (idéalement, ou dans une VG) au bon format (avec ou sans " ou autre ?) et d'en récupérer la valeur avec la fonction. Mais quel code pour la fonction ?
- 12 153 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
mais en fait je serai confronté à un problème similaire : configurer l'alarme sur base d'une variable (valeur calculée tous les jours à 5h30) -- Réglage de l'heure de l'alarme n°2 sur 22h22 : GEA.add( {CONDITION}, 30, "", {"QuickApp", id["QA_ALARM"], "setTime", 2, "22:22"}) (je devrais remplacer "22:00" dans ton exemple par le contenu d'une variable ...)
- 12 153 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :