Aller au contenu

jojo

Membres confirmés
  • Compteur de contenus

    14 837
  • Inscription

  • Dernière visite

  • Jours gagnés

    197

Tout ce qui a été posté par jojo

  1. jojo

    Windows10 - Controle Parental

    merci à tous pour vos retours. Entretemps j'utilise ceci https://family.qustodio.com (il y a une version gratuite) qui semble sympa. Mais je vais essayer d'installer le serveur web avec les scripts de lazer et q.philippe, car si je peut piloter tout cela depuis la HC2, c'est plus drôle
  2. jojo

    Variable Gea

    tu fais un test dans la main loop (qui tourne toutes les 3 sec) et tu affiches l'icônes que tu veux. exemple : local thismodule = fibaro:getSelfId() if presence == "1" then fibaro:call(thismodule, "setProperty", "currentIcon", 57) else fibaro:call(thismodule, "setProperty", "currentIcon", 58) end
  3. perso, suite àune mauvaise expérience, j'ai modifié la valeur du paramètre 16 : OFF après coupure de courant, au lien de revenir dans son état précédent. Pourquoi ? Car dans une de mes lampes de jardin, j'avais un court-circuit franc qui faisait sauter le général. Et chaque fois que je le remettais, il ressautait car j'alimentais mon court-circuit franc. Je m'en suis sorti en devant démonter l'interrupteur, etc. Donc maintenant tous mes FGS vont àOFF après une coupure de courant
  4. ! S1 (S2) n'est pas la sortie, mais l'entrée d'un interrupteur. O1 (O2) est la sortie où tu dois brancher ta lampe. Ton cablage est-il correct ?
  5. jojo

    Gvar & Json

    moi j'ai également observé que les tableaux sauvés dans des variables globale, se transformaient en NaN, mais ce n'était pas lié àune coupure de courant intenpestive
  6. bouton Tout Eteindre ---------------------------------- -- User Settings ---------------------------------- -- Modules àexclure et fonction de traitement (pas raccordés àdes lumières) -- Peut contenir un id ou un mot clés àchercher dans le nom du module toExclude = {} toInclude = {} ---------------------------------- -- DO not change bellow this line ---------------------------------- -- Modules àexclure ou inclure et fonction de traitement (pas raccordés àdes lumières) -- Peut contenir un id ou un mot clés àchercher dans le nom du module -- toExclude = {72, "Dispo", "Volet", "Bubendorff"} function shouldExclude(module) for _, v in pairs(toExclude) do if string.find(module.name, v) ~= nil or module.id == v then return true end end return false end function shouldInclude(module) for _, v in pairs(toInclude) do if string.find(module.name, v) ~= nil or module.id == v then return true end end return false end ---------------------------------- -- double click pour confirmer ---------------------------------- -- ---------------------------- -- Ne pas toucher -- -- ---------------------------- function confirm(msg, labelId, secondes) local current = fibaro:getValue(fibaro:getSelfId(), "ui."..labelId..".value") if (current == msg) then fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..labelId..".value", " ") return true else fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..labelId..".value", msg) fibaro:sleep(secondes*1000) fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..labelId..".value","") return fibaro:getValue(fibaro:getSelfId(), "ui."..labelId..".value") == " " end end -- ---------------------------- -- A vous de jouer --- -- ---------------------------- local label_id = "lblMessage" -- l'ID du label qui recevra le message local duree = 4 -- la durée max entre 2 clique (en seconde) local message = "Ré-appuyer dans les "..duree.." secondes pour confirmer" -- le message de confirmation if ( confirm(message, label_id, duree) ) then fibaro:log("Confirmé") -- votre code ici en cas de confirmation -- Récupération de la liste des modules local HC2 = Net.FHttp("127.0.0.1", 11111) local payload = "/api/devices" local response, status, errorCode = HC2:GET(payload) if tonumber(errorCode) == 0 and tonumber(status) == 200 and response ~= nil and response ~= "" then local jsonTable = json.decode(response) -- Boucle sur les modules for device = 1, #jsonTable do -- look for lighting devices if jsonTable[device].interfaces then for interface = 1, #jsonTable[device].interfaces do if jsonTable[device].interfaces[interface] == "light" then local DeviceValue = tonumber(jsonTable[device].properties.value) if (DeviceValue and DeviceValue > 0) or (jsonTable[device].properties.value == "true") then --fibaro:debug(" id: "..jsonTable[device].id.." is "..jsonTable[device].name.." type: "..jsonTable[device].interfaces[interface]) --fibaro:debug(" value: "..jsonTable[device].properties.value..". Turning Off") fibaro:call(jsonTable[device].id, "turnOff") end end end end end else fibaro:debug('<span style="display:inline;color:red;">status='..status..', errorCode='..errorCode..', payload='..payload..', response='..(response or "")..'</span>') end else fibaro:log("Annulé") -- votre code ici en cas d'annulation end bouton Analyse : ---------------------------------- -- User Settings ---------------------------------- IconeAllume = 47 IconeEteint = 48 -- Modules àexclure ou inclure et fonction de traitement (pas raccordés àdes lumières) -- Peut contenir un id ou un mot clés àchercher dans le nom du module -- toExclude = {72, "Dispo", "Volet", "Bubendorff"} toExclude = {} toInclude = {} ---------------------------------- -- DO not change bellow this line ---------------------------------- local selfID = fibaro:getSelfId() local HC2 = Net.FHttp("127.0.0.1", 11111) -- Variable du compteur compteurLumieres = 0 -- clear labels for i = 1, 10 do fibaro:call(selfID, "setProperty", "ui.Lum" ..i.. ".value", "") end -- FUNCTIONS function debug(text, color) color = color or "white" fibaro:debug("<font color='"..color.."'>"..text.."</font>") end function shouldExclude(module) for _, v in pairs(toExclude) do if string.find(module.name, v) ~= nil or module.id == v then return true end end return false end function shouldInclude(module) for _, v in pairs(toInclude) do if string.find(module.name, v) ~= nil or module.id == v then return true end end return false end -- END OF FUNCTIONS -- Récupération de la liste des modules local HC2 = Net.FHttp("127.0.0.1", 11111) local payload = "/api/devices" local response, status, errorCode = HC2:GET(payload) if tonumber(errorCode) == 0 and tonumber(status) == 200 and response ~= nil and response ~= "" then local jsonTable = json.decode(response) -- Boucle sur les modules for device = 1, #jsonTable do -- look for lighting devices if jsonTable[device].interfaces then for interface = 1, #jsonTable[device].interfaces do if jsonTable[device].interfaces[interface] == "light" then local DeviceValue = tonumber(jsonTable[device].properties.value) if (DeviceValue and DeviceValue > 0) or (jsonTable[device].properties.value == "true") then --fibaro:debug(" id: "..jsonTable[device].id.." is "..jsonTable[device].name.." type: "..jsonTable[device].interfaces[interface]) --fibaro:debug(" value: "..jsonTable[device].properties.value..". Turning Off") compteurLumieres = compteurLumieres + 1 debug("lumière : " .. jsonTable[device].name .. " ("..jsonTable[device].id..")" ,"red") if compteurLumieres <= 10 then fibaro:call(selfID, "setProperty", "ui.Lum"..compteurLumieres..".value", jsonTable[device].name .. " ("..jsonTable[device].id..")") end end end end end end else fibaro:debug('<span style="display:inline;color:red;">status='..status..', errorCode='..errorCode..', payload='..payload..', response='..(response or "")..'</span>') end fibaro:call(selfID, "setProperty", "ui.lumieres.value", compteurLumieres) -- Mise àjour de l'icône debug(compteurLumieres.." lumière(s) allumée(s)", "green") if (compteurLumieres > 0)then fibaro:call(selfID, "setProperty", "currentIcon", IconeAllume) else fibaro:call(selfID, "setProperty", "currentIcon", IconeEteint) end main loop ----------------------------------------------------------- -- Toutes lumières v2.0 -- http://www.domotique-fibaro.fr/index.php/topic/4251-voir-si-une-lumi%C3%A8re-est-allum%C3%A9e-et-tout-%C3%A9tindre/ ----------------------------------------------------------- -- Extinction de l'ensemble des lumières de la maison ----------------------------------------------------------- -- Changelog -- 4.2 (08/11/2015 - sebcbien/lazer/jojo) : inclus le test pour les dimers -- 4.0 (07/11/2015 - jojo) : test s'il s'agit d'une lumière via .interfaces -- 3.0 (04/09/2015 - jojo) : fin compatibilité 3.x -- affichage liste lumières allumées -- 2.0 : compatibilité v3.x - v 4.x -- + correction bug exclusion -- + affichage -- + double clik pour confirmer extinction globale -- 1.3 : Liste d'exclusion pouvant contenir des id de modules ou des mots clés dans les noms -- 1.2 : Correction du test d'état prenant en charge les -- modules variateurs et rétablissement de la -- condition pour l'exctinction -- 1.1 : Extinction inconditionnelle et prise en charge des -- modules variateurs ----------------------------------------------------------- ---------------------------------- -- User Settings ---------------------------------- ---------------------------------- -- DO not change bellow this line ---------------------------------- fibaro:debug("VD Toutes lumières") fibaro:call(fibaro:getSelfId(), "pressButton", "14")
  7. ok ça fonctionne. En fait je partais sur le bout de code de Lazer, mais sebcbien, tu as rajouté un or ( petit filou !!) et évidemment tout fonctionne if (DeviceValue and DeviceValue > 0) or (jsonTable[device].properties.value == "true") then comme de toute façon je n'aurais pas réussi à dormir avec cette questions dans la tête, j'ai continué. Voici donc la v4.2 de sebcbien, lazer et moi Toutes_Lumieres_v4.2.vfib
  8. je ne comprends pas pourquoi le test fonctionne pour étteindre les lumières, et pas pour faire autre chose ... àdemain àtête reposée.
  9. je ne comprends pas pourquoi ça ne fonctionnerait pas pour mon test d'analyse. Mais en effet, ça ne fonctionne pas (il me dit 0 devices alors que mon WP est on)
  10. j'y comprends plus rien, il n'y a plus rien qui fonctionne, je redémarre ma box. Donc Sebcbien, tu dis finalement que le code de Lazer ne fonctionne pas ?
  11. pas si chipoteur que cela, car je voudrais que mon VD m'affiche les devices allumés (voir mon screenshot), donc il doit faire ce test de manière fiable
  12. sebcbien, je suis arrivé àla même conclusion que toi en essayant le code de Lazer, qui teste seulement si le device est allumé => utilise déjàla "nouvelle" façon de faire de Fibaro
  13. si ok, je "publie" le code complet avec le bon VD
  14. voilà, la variable intermédiaire me chagrinait ... donc voici un nouveau code qui ne fait pas d'erreur chez moi. Fonctionne-t-il également correctement avec tes FGD ? -- look for lighting devices if jsonTable[device].interfaces then for interface = 1, #jsonTable[device].interfaces do if jsonTable[device].interfaces[interface] == "light" and (jsonTable[device].properties.value == "true" or (type(jsonTable[device].properties.value) == "number" and tonumber(jsonTable[device].properties.value) > 0)) then fibaro:call(jsonTable[device].id, "turnOff") end end end
  15. ok, j'ai compris, je vais quand même voir s'il n'ya pas un autre moyen plus compréhensible de le programmer
  16. c'est très bizarre tout ça, Pour une action tu as 3 lignes de debug ? Pas toujours avec la même valeur ? Tu devrais alors avoir 2 notif à chaque fois que le debug donne 0. je pense que donc c'est la valeur 1 (et pas 0) qu'il faut tester. (cfr dernière valeur du début) Mais si je vois 1 à la fermeture, c'est qu'il y aurait un rebond ? Ton aimant n'est-il pas trop loin de module lorsque la porte est fermée ?
  17. oui, mais ici tu veux de l'info en retour, avec la HCL tu ne sais pas, car tu ne sauras pas la traiter
  18. sebcbien, je ne comprends pas pourquoi tu passe par une variable locale isnumber. Ceci devrait suffire : for interface = 1, #jsonTable[device].interfaces do if jsonTable[device].interfaces[interface] == "light" then fibaro:debug(" id: "..jsonTable[device].id.." is "..jsonTable[device].name.." type: "..jsonTable[device].interfaces[interface]) if jsonTable[device].properties.value == "true" then fibaro:debug(" value: "..jsonTable[device].properties.value..". Turning Off") fibaro:call(jsonTable[device].id, "turnOff") elseif tonumber(jsonTable[device].properties.value) > 0 then fibaro:debug(" value: "..jsonTable[device].properties.value..". Turning Off") fibaro:call(jsonTable[device].id, "turnOff") end end end n'ayant pas de FGD, je ne sais pas tester. Peux-tu valider SVP ?
  19. j'ai mis le bon / mauvais VD plus haut
  20. je regarde ton code adapté en détail. En effet, je fais le test pour ne pas envoyer l'ordre d'estinction pour rien, et c'est le même test qui est utilisé pour afficher les lampes allumées dans le bouton analyse. je corrige le tout et reposte le bon VD
  21. jojo

    Variable Gea

    alors voici comment je ferais. variable locale pour hystérésis local hysteresis = 0.7 ensuite pour l'extinction GEA.add ({{"Function", function() if ( tonumber(fibaro:getValue(id["TEMPERATURE"], "value")) > (tonumber(fibaro:getGlobalValue('consigneT'))+hysteresis)) then return true end end},sceneON}, 1*60, "Chaudière OFF car température = #value#° > àT°consigne depuis 2 minutes Mode AUTO", {{"turnOff", id["CHAUDIERE"]}}) idem pour allumage
  22. l'exemple était de HCL vers HCL. Mais peut-être que ça fonctionne également vers une autre IP. De tout façon, avant d'essayer au départ de la HCL, il faut déjàque ça fonctionne au départ du browser ...
  23. jojo

    Dimmer 2 Fgd 212

    je viens de regarder le lien, ça ne m'a pas l'air facile à comprendre, d'autant plus que je n'ai pas de dimer. Pour les vannes Danfoss LC13, je suis super content (je ai 6, toutes pilotées par le panneau de chauffage)
  24. jojo

    Variable Gea

    oui, en effet c'est une manière de faire, mais j'aurais espéré quelque chose de plus GEA, car là , c'est insérer du code LUA dans le GEA. Mais s'il n'y a pas moyen de faire autrement. Merci d'avoir partagé la solution
  25. jojo

    Dimmer 2 Fgd 212

    GEA n'est "qu'une" grosse scène en LUA développée par Steven, Tout est bien expliqué daans le Wiki. que veux dire "onTime" dans ton fibaro:call ? Pour moi c'est une erreur de syntaxe. Voici les différentes possbilités http://www.fibarouk.co.uk/support/lua/actions-use-fibarocall-api/
×
×
  • Créer...