yoim Posté(e) le 27 janvier 2020 Signaler Posté(e) le 27 janvier 2020 Qq un connaitrait le code Lua pour eteindre et allumer une piece ? Merci.
jjacques68 Posté(e) le 28 janvier 2020 Signaler Posté(e) le 28 janvier 2020 comme ça à froid... je dirais, tu fais une scène, que tu peux démarrer quand tu veux, avec un passage d’arguments, qui selon ce dernier, va tout allumer ou tout éteindre... Mais une commande unique qui fait ça, je sais pas si ça existe.
yoim Posté(e) le 28 janvier 2020 Auteur Signaler Posté(e) le 28 janvier 2020 Ah ok Sinon j'allais mettre tout mes modules de ma piece dans une scene ... mais bon vu que sur le dashboard j'ai une option pour éteindre une piece precise, je pensais que en Lua on aurait une commande.
Lazer Posté(e) le 28 janvier 2020 Signaler Posté(e) le 28 janvier 2020 Je viens de regarder la page Web dont tu parles, et il fait autant de turnOn ou TurnOff qu'il y a de lumières dans la pièce. Donc il n'y a pas d'API directe, il faut que tu crées une boucle qui identifie tous les modules de type light de ta pièce, puis réalise l'action désirée pour chacun.
pepite Posté(e) le 29 janvier 2020 Signaler Posté(e) le 29 janvier 2020 Bonjour bonjour, Passage un peu tardif ;-) Voila ce qui est fait das GEA si ca peut t'aider En gros : - récupérer l'id de la pièce (ici room.id) - boucler sur toutes les lumieres de la pièce et action souhaitée sur chacune d'entre elles Comme te l'a précisé @Lazer local rooms = api.get("/rooms") for _, room in pairs(rooms) do if (room.name:lower() == roomName:lower()) then for _, device in pairs(api.get("/devices?type=com.fibaro.philipsHueLight&roomID="..room.id)) do fibaro:call(device.id, action) end for _, device in pairs(api.get("/devices?property=[isLight,true]&roomID="..room.id)) do fibaro:call(device.id, action) end end end 1 1
Krikroff Posté(e) le 30 janvier 2020 Signaler Posté(e) le 30 janvier 2020 @yoim, moi j'utiliserais bien la méthode callGroupAction local data = { enabled = true, visible = true, roomID = 1, properties = { --dead = false, -- option isLight = true }, interfaces = { "light" } } local devices = fibaro:getDevicesId(data) print(json.encode(devices)) for k,v in ipairs(devices) do print (fibaro:getRoomName(fibaro:getRoomID(v)) .. " " .. fibaro:getName(v)) end Il faut mettre l'id de ta pièce pour le roomID. Si c'est concluant dans ton debug alors il faudra juste remplacer le fibaro:getDevicesI(data) par fibaro:callGroupAction("turnOff", data) 2 1
yoim Posté(e) le 30 janvier 2020 Auteur Signaler Posté(e) le 30 janvier 2020 @Krikroff L'idée est interessante, mais ca m'eteint tout toutes les rooms et meme si ce n'est pas des lumieres. Ca vient de crier a la maison --[[ %% properties %% events %% globals --]] local data = { enabled = true, visible = true, roomID = 616, properties = { --dead = false, -- option isLight = true }, interfaces = { "light" } } --local devices = fibaro:getDevicesId(data) local devices = fibaro:callGroupAction("turnOff", data) print(json.encode(devices)) for k,v in ipairs(devices) do print (fibaro:getRoomName(fibaro:getRoomID(v)) .. " " .. fibaro:getName(v)) end Dans mon debug j'ai ca : [DEBUG] 22:11:24: [3,4,5,6,7,24,41,42,43,44,47,48,49,50,51,52,53,54,55,72,74,75,76,77,78,79,80,81,82,89,93,94,95,98,99,102,103,104,105,106,107,111,112,113,114,115,116,117,123,125,128,129,130,131,132,133,134,135,136,137,138,153,157,158,159,160,161,162,163,166,172,175,177,178,179,180,181,182,183,184,185,186,187,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,215,216,217,218,219,222,223,230,231,232,234,235,236,237,238,239,240,241,242,243,244,245,246,247,252,266,267,269,276,277,278,279,280,281,282,283,284,285,300,301,302,303,304,306,314,315,316,317,318,319,320,321,322,323,324,325,326,327,337,338,339,340,341,342,353,361,362,363,364,365,366,367,368,371,372,373,374,375,376,384,385,386,387,388,389,390,391,392,403,404,405,406,472,473,474,475,479,480,484,485,486,487,488,491,492,493,498,499,500,501,521,522,523,524,533,534,537,538,541,542,543,544,550,551,552,553,554,556,595,596,606,613,615,616,617,618,619,620,621,622,623,624,630,631,632,633,634,635,636,637,642,647,648,649,650,653,654,655,656,657,658,680,684,685,687,689,690,691,694,695,696,697,698,699,702,703,704,705,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,729,730,731,732,733,734,749,750,751,752,753,754,756,757,772,773,774,775,776,777,778,779,780,781,782,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820] [DEBUG] 22:11:24: JARDIN YR Weather [DEBUG] 22:11:24: 2020-01-30 22:11:24.615561 [ fatal] Unknown exception: /opt/fibaro/scenes/325.lua:27: attempt to concatenate a nil value Alors que quand je faisais le local devices = fibaro:getDevicesId(data) Ca me sortait bien juste mes modules de la Room.
Krikroff Posté(e) le 30 janvier 2020 Signaler Posté(e) le 30 janvier 2020 tu es sur quelle version, la dernière stable ?
Krikroff Posté(e) le 30 janvier 2020 Signaler Posté(e) le 30 janvier 2020 Punaise , j’essaierai demain.Et désolé pour les hurlements ! 1
yoim Posté(e) le 30 janvier 2020 Auteur Signaler Posté(e) le 30 janvier 2020 Pas de soucis. Avec la HC2, ce sont des choses qui arrivent. 1
Krikroff Posté(e) le 31 janvier 2020 Signaler Posté(e) le 31 janvier 2020 Je pense que ceci devrait faire l'affaire fibaro:callGroupAction("turnOff", { args = { 1 }, filters = { { filter = "deviceID", value = fibaro:getDevicesId({ enabled = true, roomID = 616, properties = { isLight = true } }) } } }) 2 1 1
yoim Posté(e) le 31 janvier 2020 Auteur Signaler Posté(e) le 31 janvier 2020 merci beaucoup @Krikroff Your code is working 2
pepite Posté(e) le 31 janvier 2020 Signaler Posté(e) le 31 janvier 2020 Sympa le callGroup :-)Envoyé de mon BND-L21 en utilisant Tapatalk 1
Messages recommandés