Aller au contenu

Steven

Membres confirmés
  • Compteur de contenus

    4 434
  • Inscription

  • Dernière visite

  • Jours gagnés

    201

Tout ce qui a été posté par Steven

  1. Démissionne
  2. Steven

    Help En Lua

    Réponse inutile de ma part ... désolé. La prochaine fois, je vais au bout des pages avant de répondre
  3. Steven

    Help En Lua

    varName me semble faux ... essaye avec name
  4. Alors voici un script qui POURRAIT répondre à tes besoin. Il peut donc être déclenché par ton FGD ET par un PUSH car on test le type de déclenchement. En cas de déclenchement par le PUSH, on autorise uniquement 1 seul scénario à la fois. On casse ainsi volontairement la boucle décrite dans le post précédent. Le push lance le scénario qui allume le FGD qui lui ne peut plus lancer ce scénario car il est déjà en cours. Il est composé de 2 fonctions : Switch le relay de ton IPX Cherche l'état de ton IPX et modifie l'état de ton FDG en conséquence. --[[ %% properties XXXXXXXXXXXXXXXXXX value %% globals --]] -- =========================== -- Paramètrage -- =========================== local ipx_ip = "192.x.x.x" local ipx_relay = "1" local fgd_id = XXXXXXXXXX -- =========================== -- Fin Paramètrage -- =========================== -- ============================================= -- On switch le relay de l'IPX en fonction du FGD -- ============================================= function switchRelay(OnOrOff) local http = net.HTTPClient() http:request("http://"..ipx_ip .."/preset.htm?set"..ipx_relay.."="..OnOrOff, { options = { method = 'GET' }, success = function(response) fibaro:debug("OK") end, error = function(err) fibaro:debug("Error: " ..err) end }) end -- ============================================= -- On vérifie l'état du relay et allumer/éteint le FGD -- ============================================= function getRelay() local status = "" -- Etat du relai --- local http = net.HTTPClient() http:request("http://"..ipx_ip .."/api/xdevices.json?cmd=20", { options = { method = 'GET' }, success = function(response) string.gsub(response, "OUT"..ipx_relay.."\":(%d+)", function(d) status = d end) if (status == "1") then fibaro:call(fgd_id, "turnOn") else fibaro:call(fgd_id, "turnOff") end end, error = function(err) fibaro:debug("Error: " ..err) end }) end local source = fibaro:getSourceTrigger() if (source["type"] == "property") then -- ============================================= -- Déclenché par une modification survenue sur le FGD -- On switch le relay de l'IPX en fonction du FGD -- ============================================= if fibaro:getValue(fgd_id, "value") == "0" then switchRelay("0") else switchRelay("1") end elseif (source["type"] == "other") then -- ============================================= -- Déclenché par une pression du bouton branché sur l'IPX -- On vérifie l'état du relay et allumer/éteint le FGD -- ============================================= if (fibaro:countScenes() == 1) then getRelay() end end . Comme d'habitude, c'est à tester
  5. Steven

    Help En Lua

    Absolument, en fait, les [] permettait de préciser du numérique, donc si tu les enlèves cela te donne ce que tu recherches : local locations = {PresenceCourrier="BAL_Ext"} fibaro:debug(locations["PresenceCourrier"])
  6. Je mettrais une PUSH sur l'appui du bouton vers la FGD directement http://<HC2_IP>/api/callAction?deviceID=XXXXXX&name=turnOn Si tu le met sur le Relai, j'ai peur que tu tournes en rond car le Relai va allumer le FGD qui lors de son allumage va activé le Relai 1 et ainsi de suite.
  7. Je mettrais donc ceci dans une scène et je changerais l'IP de mon IPX et le déclencheur (id de mon FGD) XXXXXXXXXXX value --[[ %% properties XXXXXXXXXXXXXXXXXX value %% globals --]] -- =========================== -- Paramètrage -- =========================== local ipx_ip = "192.x.x.x" local ipx_relay = "1" -- =========================== -- Fin Paramètrage -- =========================== local on_off = "1" -- allumé if fibaro:getValue((tonumber(fibaro:getSourceTrigger["deviceID"])), "value") == "0" then on_off = "0" --- éteint end local http = net.HTTPClient() http:request("http://"..ipx_ip .."/preset.htm?set"..ipx_relay.."="..on_off, { options = { method = 'GET' }, success = function(response) fibaro:debug("OK") end, error = function(err) fibaro:debug("Error: " ..err) end }) Bien évidemment ... j'ai rien testé car pas du tout dans ce genre de configuration.
  8. A mon avis, tu seras obligé de passer par une scène pour pouvoir faire du HC2 -> IPX, je ne vois rien de plus direct de faisable ... et encore tu as de la chance, car en 4.x tu peux faire de l'HTTP dans une scène sinon cela aura été Scène + Module Virtuel
  9. Sur le site officiel, dans la section Téléchargement, cela s'arrête à la 3.05.47 http://gce-electronics.com/fr/content/7-Dlinks
  10. Sinon, lors d'une mise àjour tu perds tes compteurs et une partie de ta configuration comme .. par exemple ... l'adresse IP qui doit être contrôlée.
  11. Steven

    Support Gea

    Je comprend pas. Il vérifie l'Heure .. entre 01:24 et 01:24 puis il vérifie les jours Lu Ma Me est transformé en Monday, Tuesday,Wednesday puis on recherche que le jour actuel os.date("%A") soit dans cette liste donc si tu as mis Lu Ma Me Je Ve Sa Di Il n'y a aucune raison. Pourrais-tu t'en assuré ... vu qu'il était 01h24 .. tu n'avais peut-être pas les 2 yeux ouverts ?
  12. Steven

    Support Gea

    Après le check Time, il y a le check Days àcontrôlé
  13. Steven

    Support Gea

    Non, GEA doit être copié dans une nouvelle scène en mode LUA
  14. Steven

    Support Gea

    Sinon la solution de pepite est bonne car {"Inverse"} n'inverse QUE la 1ERE CONDITION. Par contre, vérifier les Mamie = 1, FemmeMenage = 1
  15. Steven

    Support Gea

    Si "1" signifie "Oui" alors local pasEnVacances = {"Global!", "Vacances", "1"} local pasMamie = {"Global!", "Mamie", "1"} local pasFemmeMenage = {"Global!", "FemmeMenage", "1"} GEA.add({pasEnVacances, pasMamie, pasFemmeMenage}, 30, "coin ordi ON à 7h00 et 18h semaine", {{"turnOn", id["COINORDINATEUR"]},{"Time", "07:00", "07:02"}, {"Time", "18:01", "18:02"}}) Note que ce n'est pas Global mais Global! : qui inverse la condition, Tu n'as pas besoin de vérifier si le Coin Ordi est déjà allumé ou pas, GEA s'en charge automatiquement par contre il laisse les lignes apparaîtres dans le debug. Avant d'envoyer un turnOn ou turnOff, il vérifie toujours si cela est nécessaire. Si tu veux vraiment contrôler toi même, ajoute local coinOrdiEteint = {"Value", id["COINORDINATEUR"], 0} GEA.add( {coinOrdiEteint, pasEnVacances, pasMamie, pasFemmeMenage}, ....) Voilà
  16. Steven

    Support Gea

    Pour le sleep ... normalement c'est à bannir mais lors d'un déclenchement instantané, la HC2 démarre une autre copie de GEA qui tourne en parallèle de l' instance principale de GEA. On peut donc être plus permissif dans celle-ci. Dans cette copie de GEA, je ne charge QUE les GEA.add() qui concerne l'ID du module qui a déclenché le scénario et uniquement s'il y a un -1 ... ainsi c'est une copie allégée qui tourne en parallèle. Cela reste néanmoins toujours délicat a utiliser donc le bannir le plus possible est la clé du succès EDIT : Un sleep dans l'instance principale (un seul et pas trop long) est acceptable car GEA recalcule le temps entre deux execution (30 seconds - le temps d'execution)
  17. Steven

    Support Gea

    Mixé des Instantanés avec des StopTaks, RestatTasks est une vrai misère. Moi j'ai tout laissé dans une seule instance. Je ne subit qu'un décalage de 1 à 2 secondes ce qui me va donc si c'est bon aussi pour toi, pas de prise de tête et une seule instance. J'attends sur Fibaro pour qu'il corrige leur problème de performance.
  18. As-tu activé les API ? Dans les paramètres d'Imperihome, par défaut, c'est désactivé ... c'est de mémoire la dernière option dans les paramètres. Jete un oeil ici, je l'avais noté et le module virtuel peux t'être utile http://www.domotique-fibaro.fr/index.php/topic/2236-imperihome-pilotage-depuis-la-hc2/?hl=imperihome
  19. Steven

    Support Gea

    @magic_281 Comme il s'agit d'un déclenchement instantané, on peux faire une pause de 8 secondes sans tout casser GEA.add({ id["lampe_cave"]}, -1,"", {{"Function", function() fibaro:sleep(8000) end},{"turnOn", id["lampe_cave2"]}}) GEA.add({ id["lampe_cave"], -1, "", {{"Inverse"}, {"turnOff", id["lampe_cave2"]}})
  20. Steven

    Support Gea

    @synthetic Il y a confusion je pense. GEA ne doit pas être mis dans un bouton d'un module virtuel mais uniquement dans une scène. Créer une variable (panneau des variables) du style "Chauffage" Derrière chacun de tes boutons met le code fibaro:setGlobal("Chauffage", "PARS") ou fibaro:setGlobal("Chauffage", "RENTRE") ou fibaro:setGlobal("Chauffage", "NUIT_1") selon le bouton en question Copie GEA dans un scénario et enlève tout le superflu Dans l'entête, met --[[ %% autostart %% properties %% globals Chauffage --]] Ainsi la scène sera déclenchée chaque fois que la variable "Chauffage" sera modifiée Dans yourcode, tu vas devoir mettre ton code... voici l'exemple pour le mode "PARS" GEA.add({"Global", "Chauffage", "PARS"}, -1, "", {{"Value", ?Z1, 99}, {"Value", ?Z1, 30}}) -- Passage de la zone nuit en éco GEA.add({"Global", "Chauffage", "PARS"}, -1, "", {{"Value", ?Z2, 99}, {"Value", ?Z2, 30}}) -- Passage de la zone salle de bain en éco GEA.add({"Global", "Chauffage", "PARS"}, -1, "", { {"Value", ?Z3, 99}, {"Value", ?Z3, 30}}) les ?z1, ?z2, ?z3 doivent être remplacé pour les ID de tes modules. Ensuite, tu continues a écrire tes autres lignes en remplacant "PARS" par "RENTRE" et changeant les valeurs. Suis-je clair ?
  21. Steven

    Support Gea

    @pepite Recherche sur les posts concernant 2 instances de GEA car il faut modifié la variable GEA.globalTasks = "GEA_Tasks" Par exemple créer une variable GEA_Tasks_Immediat dans le panneau des variables puis met GEA.globalTasks = "GEA_Tasks_Immediat" dans ton instance qui gère les déclenchements immédiats. Sinon tu va avoir des confusion entre tes 2 instances.
  22. Steven

    Help En Lua

    Et Krikroff puisque moi j'ai pompé sur lui Au plaisir
  23. Steven

    Support Gea

    Moi je serais curieux de savoir le code qu'il y a derrière cela : {"VirtualDevice", id["VD_TRANSMISSION"], 2}
  24. Pas top mais fonctionnel.
  25. Steven

    Help En Lua

    Mon code est tiré de celui de Krikroff .. mais chuttttttt
×
×
  • Créer...