Aller au contenu

jojo

Membres confirmés
  • Compteur de contenus

    14 561
  • Inscription

  • Dernière visite

  • Jours gagnés

    186

Tout ce qui a été posté par jojo

  1. jojo

    Support Gea

    NON, il y a déjà trop dans ton entête actuelle, il ne doit rester que les 3 devices que je t'ai dites,. mais dans ta variable local id ={ ...} il manque une entrée
  2. jojo

    Variable Gea

    mais dans le screenshot de ton VD, il montre que la valeur est à19,5 et pas 21 => le message push est cohérent selon moi
  3. @sebcbien, sorry, je ne sais plus le break de qui, mais ça fonctionne ! @Sakkhho, En fait on a fait des modif pour le test de savoir si c'est une lampe ou pas, car la méthode actuelle ne sera plus supportée longtemps par Fibaro (dixit sebcbien), et pour que le VD précédent (v3.0) fonctionne, il faut faire un restart de la box après l'inclusion d'une lampe
  4. jojo

    Support Gea

    le id ["Statut_Alarme"] n'existe pas dans la déclaration de tes id, mais bien dans ton GEA => il doit te faire une erreur de syntaxe.
  5. jojo

    Support Gea

    d'après ton code, tu ne devrait avoir dans l'entête que 3 ID : 18, 173 et 202
  6. jojo

    Network Monitor

    no stress grand chef ! Je suis (mal) payé pour avoir des idées tordues
  7. jojo

    Hi2Uall

    bent-u zeker u in Engels geschreven hebt ? Het is Nederlands ! Nevertheless be welcome, we do have an english section. In english you can expect support, but in dutch it will be difficult ...
  8. voici donc le code et le VD suite aux optimisations de lazer concernant l'interruption de la boucle for et la prise en compte des modules à exclure. bouton Tout 2teindre ---------------------------------- -- 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 = {} ---------------------------------- -- 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 ---------------------------------- -- 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 and not shouldExclude(jsonTable[device]) 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 break 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 = {} ---------------------------------- -- 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 -- 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 and not shouldExclude(jsonTable[device]) 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 break 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.3 (09/11/2015 - lazer/jojo) : breack dans loop for et check des toexclude() -- 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") Toutes_Lumieres_v4.3.vfib
  9. le bouton analyse est le même que le bouton tout éteindre, sauf qu'il n'éteint pas, mais affiche ...
  10. tu peux alimenter un FGS, cela veut dire que tu as du 220V. Donc pour ton FGBS, tu peux trouver des alimentations en 12VDC pour 5€. Fait les tests au multimètre comme je te l'ai expliqué pour comprendre le cablâge, et ensuite on pourra voir comment raccorder les FGS et FGBS
  11. jojo

    Windows10 - Controle Parental

    @Nico, mprinfo, Je crois que je dois revoir ma méthode. J'ai un CD W7, et il doit d'abod installer tous les updattes avant de SP1, puis tous les update ... @Hansolo, J'avais vu celà , mais je ne voulais pas que MS me suiveille encore un peu plus ...
  12. jojo

    Network Monitor

    je savais pour mes idées tordues, c'est une déformation professionnelle. dans les dernière version du DeadNodeDicovery je fais qqch de similaire, avec une VG qui stocke les Dead Nodes -- chargement de la VD DeadNodes local DeadNodes = {} DeadNodes = fibaro:getGlobal("DeadNodes") if DeadNodes ~= "NaN" or DeadNodes ~= "" then DeadNodes = json.decode(DeadNodes) end if type(DeadNodes) ~= "table" then DeadNodes = {} end puis -- vérifier si noeud dans la table function InTable(Device) if DeadNodes["DV"..Device] == nil then return false else return true end end -- si node est dead/mort ... -- vérification si device est dans la table des noeuds morts if InTable(devID) == true then -- dans table -- vérification si > fréquence de notification if (DeadNodes["DV"..devID] + (FreqNotif*60*60)) < now ... else -- pas dans table DeadNodes["DV"..devID] = now ... -- sauvegarde de la table dans la VG DeadNodes = json.encode(DeadNodes) fibaro:setGlobal("DeadNodes", DeadNodes) isi j'y suis arrivé, tu peux sà»rement mieux que moi , et c'est que ce n'est pas si compliqué que ça ...
  13. oui c'est possible, mais je ferais cela avec `GEA, c'est encore plus simple (1 ligne GEA). Lit ceci, il y a tout. Soit patient, il faut du temps pour en comprendre toutes les subtilités, mais une fois qu'on a le virus, c'est trop tard ... https://gea.piccand.me/doku.php
  14. jojo

    Network Monitor

    Lazer, Ce développement est vraiment génial ! Je n'ai pas encore utilisé les variables, mais il serait peu-être bon de préciser dans le premier topic qu'elles sont créées automatiquement, ce qui est géant, et à quoi on ne s'attend pas en tant que débutant. Il m'a déjà permis d'identifier qu'une caméra n'était plus connectée au réseau. Je me disais, je regarde ce soir. Et hop, elle est revenue. Quand ? Pourquoi ? ??? Je ne le saurai jamais. D'où l'idée de notifier quand un appareil revient ? J'ai fais un truc du genre dans le device DeadNodesAnalysis (il faudrait créer une VG avec le nom (et la date d'erreur du device, si on voulais pouvoir calculer depuis combien de temps il était en erreur))
  15. jojo

    Network Monitor

    Merci, je croyait que les codes étaient spécifiques à chaque site
  16. jojo

    Windows10 - Controle Parental

    Mac / Windows, c'est comme la religion. Perso j'ai un MAC avec des machines virtuelles Windows pour Office et tous les programmes exotiques (putty, winscp, ....) Mais il faut reconnaitre que j'ai voulu réinstaller mon MAC depuis zéro (pas indispensable, comme ma full réinstall de la v4) et en 30 min mon HDD était formaté, il avait downloadé la dernière version officielle de l'OS, et 30 min plus tard, tout était prêt. Pour avoir réinstallé des 10aines de PC, je sais qu'il faut minimum 1 jour pour faire la même chose en installant tout les updates. Mais bon, ce n'est pas un forum religieux ici
  17. oups Lazer, tu viens d'apporter la preuve qu'on avait travaillé trop tard.J Je regarde pour les reprendre en compte (comme avant). As-tu regardé pour la position du break ?
  18. ou déjàl'amélioration des plugins existants : exple : le plugin Nest, qu'on puisse agir dessus depuis des scènes
  19. jojo

    Bug Sauvegarde Sous V4.054 ?

    Laer, ne publierais-tu pas la procédure sur le fameux forum russe (en nous donnant le lien ) ?
  20. jojo

    Windows10 - Controle Parental

    @mprinfo, tient un revenant ?!
  21. cool, l'entraide est la raison d'être du forum
  22. jojo

    Network Monitor

    ok, j'ai mis 200 dans le return code, et c'est passé ;-)
  23. jojo

    Network Monitor

    super, on ne t'appelle pas Dkieu pour rien. et je mets quoi dans expected return code ? Il check les 2 ou 1 seul ?
  24. jojo

    Network Monitor

    merci Lazer, mais je ne comprends plus rien. Voici le debug [DEBUG] 19:16:44: WDTVLiveHub => 192.168.xxx.xxx [DEBUG] 19:16:44: Try #1 [DEBUG] 19:16:44: Error : 192.168.xxx.xxx => WDTVLiveHub => invalid http return code, errorCode=0, status=200 [DEBUG] 19:16:44: Notification : Attention : Code de retour http invalide pour WDTVLiveHub [DEBUG] 19:16:44: email [DEBUG] 19:16:44: Send Email user ID : 5 et le code correspondant -- HTTP elseif param[3] == "http" then local server = Net.FHttp(param[1], param[2]) local response, status, errorCode = server:GET(param[4]) if debug then fibaro:debug("errorCode=" .. errorCode .. " - status=" .. status .. " - response=" .. response) end if tonumber(errorCode) == 0 then if tonumber(status) == param[5] then if (response ~= nil) then if response:match(param[6]) then if debug then fibaro:debug("OK") end message = "" break else fibaro:debug('<span style="color:red;">Error : '..param[1]..' => '..device..' => unattended response, errorCode='..errorCode..', status='..status..'</span>') message = "Réponse inattendue pour "..device erreur = erreur + 1 end else fibaro:debug('<span style="color:red;">Error : '..param[1]..' => '..device..' => empty response, errorCode='..errorCode..', status='..status..'</span>') message = "Réponse vide reçue pour "..device erreur = erreur + 1 end else fibaro:debug('<span style="color:red;">Error : '..param[1]..' => '..device..' => invalid http return code, errorCode='..errorCode..', status='..status..'</span>') message = "Code de retour http invalide pour "..device erreur = erreur + 1 end le debug est bien true
×
×
  • Créer...