Sakkhho Posté(e) le 11 mai 2015 Signaler Partager Posté(e) le 11 mai 2015 sympa, comme àchaque fois je me demande si il y pas moins de lire le texte du vifb pour éviter un nouvel import de VD ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 11 mai 2015 Signaler Partager Posté(e) le 11 mai 2015 Je veux bien mettre le code, mais il y a 2 labels en plus que par le passé Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 16 mai 2015 Signaler Partager Posté(e) le 16 mai 2015 version 2.1 Ajout d'un bouton pour l'analyse, car bug dans la main loop au bout d'un certain temps. Toutes_LumieÌ€res_v2.1.vfib 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sakkhho Posté(e) le 22 août 2015 Signaler Partager Posté(e) le 22 août 2015 bizarrement ce matin le VD ne marche plus il me détecte des lampes allumées alors que tout est éteint Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sakkhho Posté(e) le 29 août 2015 Signaler Partager Posté(e) le 29 août 2015 j'ai toujours ce problème. il me voit 3 lampes allumées. il y a il un moyen de savoir quels IDs sont concernés ? 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 29 août 2015 Signaler Partager Posté(e) le 29 août 2015 en effet, j'ai commencé àmodifier le VD pour afficher les lumières allumées, mais il faut que je termine Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 29 août 2015 Signaler Partager Posté(e) le 29 août 2015 jojo tu es toujours en retard que fais tu donc de tes journée lol Envoyé de mon SM-G900F en utilisant Tapatalk 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 29 août 2015 Signaler Partager Posté(e) le 29 août 2015 @mprinfo, je fais tes commandes ... 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 29 août 2015 Signaler Partager Posté(e) le 29 août 2015 Donc prévoit des frites je viens manger Envoyé de mon SM-G900F en utilisant Tapatalk Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 4 septembre 2015 Signaler Partager Posté(e) le 4 septembre 2015 j'ai toujours ce problème. il me voit 3 lampes allumées. il y a il un moyen de savoir quels IDs sont concernés ? voici donc la v 3.0 Toutes_lumières_v3.0.vfib Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 4 septembre 2015 Signaler Partager Posté(e) le 4 septembre 2015 @jojo, tu peux poster le code stp ;-) Excellentissime Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 4 septembre 2015 Signaler Partager Posté(e) le 4 septembre 2015 volontiers, mais tu devras quand-même réimporter le device, car j'ai créé 10 labels Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 4 septembre 2015 Signaler Partager Posté(e) le 4 septembre 2015 ok ok je teste @jojo merkiiiii Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sakkhho Posté(e) le 5 septembre 2015 Signaler Partager Posté(e) le 5 septembre 2015 Adopté, merci jojo. Super taf. J'avais trouvé mon probleme sur ce VD, c'était à cause d'un FGMS que j'avais inseré mais pas encore renommé (il était dans en ID_x) et le VD les voyait comme des lampes ... N'empêche que la c'est pas sympa de savoir. Une remarque, si je veux supprimer le double click pour éteindre je mets en commentaires quelles lignes ? Car par sur de l'utilité du dble click Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 5 septembre 2015 Signaler Partager Posté(e) le 5 septembre 2015 voici le code du bouton "Tout éteindre, sans le double click: ---------------------------------- -- 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 k, 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 k, v in pairs(toInclude) do if string.find(module.name, v) ~= nil or module.id == v then return true end end return false end HC2 = Net.FHttp("127.0.0.1",11111) 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 -- Récupération de la liste des modules response = HC2:GET("/api/devices") json = json.decode(response) -- Boucle sur les modules for k, v in ipairs(json) do if ((type(v.properties.isLight) == "string" and type(v.properties.value) == "string") or shouldInclude(v)) and not shouldExclude(v) then if v.properties.value == "true" then fibaro:call(v.id, "turnOff") elseif v.properties.value ~= nil and v.properties.value ~="false" then if tonumber(v.properties.value) > 0 then fibaro:call(v.id, "turnOff") end end end end -- for Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sakkhho Posté(e) le 5 septembre 2015 Signaler Partager Posté(e) le 5 septembre 2015 au top ! J'ai rajouté dans le bouton du switch off un fibaro:sleep(500) fibaro:call(fibaro:getSelfId(), "pressButton", "14") comme c'est des que je switch off, il remet à 0 le compteur car j'ai sortit le code du main loop pour le mettre dans GEA Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 5 septembre 2015 Signaler Partager Posté(e) le 5 septembre 2015 salut messieurs, @jojo super boulot encore.. Un inconvenient pour moi, ca clignote avec le code dans le main loop ;-) mais moi je m'en sers uniquement en fonction du mode de la maison, donc pas de clignotement, j'appuie sur les boutons avec GEA ;-) Merciiiiii Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 5 septembre 2015 Signaler Partager Posté(e) le 5 septembre 2015 @sakkhho, Je comprends maintenant pourquoi tu ne voulais pas du double click. Je me demandais justement dans GEA comment il réagirait. Idée, dans GEA on pourrait mettre 2 fois de suite l'appel à ce bouton de la VD dans les options, ce qui correspond à un double click ? @pepite, Oui ça clignote (uniquement si toutes les lumières sont éteintes) car la main loop appelle un bouton. Je devrais regarder pour tout mettre dans la main loop. => à ajouter à la todo Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 5 septembre 2015 Signaler Partager Posté(e) le 5 septembre 2015 bonne idee pour GEA, àtester 2 fois de suite l'appel ;-) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sakkhho Posté(e) le 5 septembre 2015 Signaler Partager Posté(e) le 5 septembre 2015 oué mais je suis pas sur que sur smartphone le double click soit très pratique perso en mode simple click c'est parfait pour moi Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 5 septembre 2015 Signaler Partager Posté(e) le 5 septembre 2015 @sakkhho, Je te confirme que le double click fonctionne sans soucis depuis les mobile @pepite, tu teste depuis GEA et tu nous dis quoi ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
sebcbien Posté(e) le 12 septembre 2015 Signaler Partager Posté(e) le 12 septembre 2015 Bonjour, J'ai tout lu et il y a une chose que je ne comprends pas bien... Steven(je crois) avait posté ce petit bout de code que j'ai un peu modifié et qui fonctionne très bien pour éteindre les lampes. Il y a peut être une subtilité que je n'ai pas compris, mais V3 ou V4, toutes mes lumières s'éteignent (dimmer, wallplug, fgs...) et rien d'autre. voici le code: --[[ %% properties %% globals --]] function turnIt(mode) -- On parcours les 350 premiers modules for i = 1, 2000 do -- Si un module est de type Eclairage local ret = fibaro:get(i, 'isLight') if ((type(ret) == "string" and string.find(ret, "1" )) or "rgb_driver" == fibaro:getType(i) or "com.fibaro.FGRGBW441M" == fibaro:getType(i)) then local DeviceName = fibaro:getName(i); local RoomName = fibaro:getRoomNameByDeviceID(i); -- On l'allume ou l'éteint fibaro:call(i, mode); fibaro:debug(mode.." device "..i.." "..DeviceName.." "..RoomName); end end end --turnIt("turnOn") turnIt("turnOff") fibaro:debug("All lights are off"); pourquoi je suis arrivé ici ? Ce script n'a qu'un défaut, il est un peu lent et il ne s'adapte pas automatiquement au nombre de modules (j'ai 1890 ID...) Je cherchais un moyen de le limiter aux devices de l'api et ne pas devoir scanner tout. J'ai donc téléchargé la dernière version de jojo et j'ai modifié la partie turn off. voici le résultat et chez moi ça marche très bien. Je n'ai peut être pas tout pigé, mais dans le doute, ça pourrait faire avancer le schmilblick... ---------------------------------- -- 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 = {"Pisc"} 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 k, 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 k, v in pairs(toInclude) do if string.find(module.name, v) ~= nil or module.id == v then return true end end return false end HC2 = Net.FHttp("127.0.0.1",11111) ---------------------------------- -- 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 = 2 -- 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 response = HC2:GET("/api/devices") json = json.decode(response) -- Boucle sur les modules for k, v in ipairs(json) do local ret = fibaro:get(v.id, 'isLight') if ((type(ret) == "string" and string.find(ret, "1" )) or "rgb_driver" == fibaro:getType(v.id) or "com.fibaro.FGRGBW441M" == fibaro:getType(v.id)) then local DeviceName = fibaro:getName(v.id); local RoomName = fibaro:getRoomNameByDeviceID(v.id); -- On l'allume ou l'éteint fibaro:call(v.id, "turnOff"); fibaro:debug("turnOff".." device "..v.id.." "..DeviceName.." "..RoomName); end end -- for else fibaro:log("Annulé") -- votre code ici en cas d'annulation end 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sakkhho Posté(e) le 13 septembre 2015 Signaler Partager Posté(e) le 13 septembre 2015 sans modifier le code il suffisait d'inclurer les ID des devices qui sont gérés des lumieres (WP par exemple) et exclure ceux qui n'en sont pas. toExclude = {"Pisc"} toInclude = {} Lien vers le commentaire Partager sur d’autres sites More sharing options...
sebcbien Posté(e) le 13 septembre 2015 Signaler Partager Posté(e) le 13 septembre 2015 Le but n'est-t'il de ne pas d'avoir un code qu'il ne faut pas modifier au cas par cas et qui fonctionne pour tout le monde du premier coup ? Sent from my SM-N910F using Tapatalk Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 13 septembre 2015 Signaler Partager Posté(e) le 13 septembre 2015 en permettant l'utilisation des toExclude et toInclude, cela permet d'inclure ou d'exclure des devices qui doivent être considérés (ou non) dans le turn off général. Dans mon exemple, j'ai exclu "Pisc", qui est un WP qui n'est PAS de type light, mais était reconnu comme tel. J'ai tout essayé, puis je l'ai mis en les exclusions en désespoir de cause. Ce n'est pas bien, mais cela fonctionne 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés