-
Compteur de contenus
14 859 -
Inscription
-
Dernière visite
-
Jours gagnés
199
Tout ce qui a été posté par jojo
-
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 330 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 330 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 330 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 330 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 330 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 330 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 330 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 330 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 330 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 330 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 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
GEA est tellement puissant, que j'espérais ... J'ai également essayé avec une VG, mais sans succès. GEA.add ({"Time",{"Global", "PiscineHrDebut"},"23:59"}, -1, "Démarrage pompe", {"OnOff", id["BUREAU_PRISE"]}) Je regarderai demain (toute-à-l'heure) avec GEA Alarme que je ne connais pas du tout
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
j'essaye de démarrer une action en fonction d'une heure spécifiée dans une variable d'un QA J'ai essayé avec les valeurs suivantes pour ma variable 10:00 ou "10:00" Mais aucune des 2 valeurs ne fonctionne ? voici l'instruction GEA GEA.add ({"Time",{"VariableQuickApp", id["GESTION_PISCINE"], "PiscineHrDebut"},"23:59"}, -1, "Démarrage pompe", {"OnOff", id["BUREAU_PRISE"]})
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
ok, merci pour le rappel de "Property" (j'aurais du y penser vu que j'avais revu la doc à fond) dond la possibilité d'envoyer une notif à un utilisateur n'existe pas. => peut-être une idée pour un prochaine version et ajouter une variable GEA.users ={} dans la config ?
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
en effet, je JSON donne ceci // 20220625121416 // http://192.168.1.141/api/iosDevices/ [ { "id": 25, "name": "iPad", "udid": "970C8A8B-2D80-40E8-A0CB-6E2E312320F4", "push": true }, { "id": 26, "name": "OnePlus LE2123", "udid": "df864256-745a-37af-ae98-283ee83f9768", "push": true }, { "id": 52, "name": "OnePlus 9 Pro", "udid": "0cd713841dde957b", "push": true } ] je n'ai AUCUNE idée de la différence entre le 26 et le 52, ni pourquoi 2 d'ailleurs (je n'ai qu'un seul One Plus ...) Mais donc y aurait-il moyen d'avoir des notifs pour l'utilisateur admin, notifs qui seraient visibles depuis l'interface Web de mon PC, et pas sur le timbre poste de mon portable ? (en tout cas, MERCI pour le support efficace )
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
le module PISCINE_TMPLAST, comme le module PISCINE_TMP sont des QA Temparature Sensor. Le PISCINE_TMP sera finalement une sonde de température physique (via FGBS), mais la température (de la piscine) ne sera significative que si l'eau circule, d'oùu la règle PISCINE_TMPLAST qui ne sera mise à jour que si la pompe de la piscine tourne ...
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
donc le'inclusion des 2 Value fonctionne pour la condition (action ok si piscine_tmp > piscine_tmpseuil) GEA.add ({"Value+", id["PISCINE_TMP"], {"Value",id["PISCINE_TMPSEUIL"]}}, -1 ,"", {"OnOff", id["BUREAU_PTISE"]}) maintenant, dans les actions, je n'y arrive pas : je souhaite mettre à jour piscine_tmplast avec la valeur de piscine_tmp {"Value", id["PISCINE_TMPLAST"], {"Value", id["PISCINE_TMP"]}} peut-être que j'en demande de trop à GEA ?
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Est-ce que quelqu'un peut me dire ce que j'ai fais de mal ? Je ne reçois pas de notification, et la règle est pourtant bien exécutée : Mes instructions : function config(GEA) GEA.portables = {2} end function setEvents() ... local id = { ... BUREAU_PTISE = 104, MAX_PRISE = 142, ... } ... GEA.add (id["MAX_PRISE"], -1, "test notif", {"TurnOn", id["BUREAU_PTISE"]}) ... end et voici le debug [24.06.2022] [18:55:13] [TRACE] [QA_GEA_167]: ---------------------------------------------------------------------------------------------------- [24.06.2022] [18:55:13] [TRACE] [QA_GEA_167]: GEA 7.37 started by event: mode device #142 Max_Prise (Ch Max) value [24.06.2022] [18:55:13] [TRACE] [QA_GEA_167]: ---------------------------------------------------------------------------------------------------- [24.06.2022] [18:55:13] [DEBUG] [QA_GEA_167]: Add immediately #5 : [142] => ["TurnOn",[104]] [24.06.2022] [18:55:13] [DEBUG] [QA_GEA_167]: @0s [Validation*] #5 : [142] => ["TurnOn",[104]] [24.06.2022] [18:55:13] [DEBUG] [QA_GEA_167]: [Started] #5 : [142] => ["TurnOn",[104]] [24.06.2022] [18:55:13] [DEBUG] [QA_GEA_167]: [action] ["TurnOn",[104]] [24.06.2022] [18:55:14] [DEBUG] [QA_GEA_167]: ... check running #36 @1080s... l'erreur doit être tellement flagrante, que je ne l'ai pas vue
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :