ikillou Posté(e) le 29 juin 2016 Signaler Posté(e) le 29 juin 2016 Hello, Comme je ne trouve pas pratique l'appli smartphone pour contrôler si j'ai laissé des fenêtres ou des portes ouvertes, j'ai fait un petit script pour faire ce check. Voilà , je vous partage mon code si ça peut vous aider... --[[ %% properties %% globals --]] local test = "" -- mettre "oui" pour mode test (affiche seul. la liste des Devices) local IDiPhone = fibaro:getGlobal("IDiPhone") -- lit la variable avec l'ID de l'iPhone local AllDevices = api.get("/devices") -- lit tous les devices local texte = "<BR>" -- variable avec texte à afficher local push = "Ouvert : " -- variable avec texte pour push -- passe en revue tous les devices et traite que les portes et fenêtres for k, device in pairs(AllDevices) do -- on affiche tous les devices pour contrôle si test = oui if (test == "oui") then print("Name = " .. device.name .. " - ID = " .. device.id .. " - Type = " .. device.type .. "<BR>") end -- Fenêtres if (device.type == "com.fibaro.windowSensor") then if (tonumber(fibaro:getValue(device.id, "value")) > 0) then texte = texte .. device.name .. " (" .. device.id .. ") OUVERTE ! <BR>" push = push .. device.name .. " / " end end -- Portes if (device.type == "com.fibaro.doorSensor") then if (tonumber(fibaro:getValue(device.id, "value")) > 0) then texte = texte .. device.name .. " (" .. device.id .. ") OUVERTE ! <BR>" push = push .. device.name .. " / " end end end --for -- On affiche le texte et on envoie le push si on n'est pas en mode test if (test ~= "oui") then if (string.len(push) > 9) then -- Affiche le texte print(texte) -- Envoie le push push = string.sub(push,1,string.len(push) -3) -- on enlève le texte " / " à la fin fibaro:call(IDiPhone, "sendPush", push) else texte = "Pas de fenêtre ou de porte ouverte..." print(texte) fibaro:call(IDiPhone, "sendPush", texte) end end 5
ikillou Posté(e) le 29 juin 2016 Auteur Signaler Posté(e) le 29 juin 2016 pour les modos, merci de déplacer dans les tutos... je me suis planté de rubrique...
pepite Posté(e) le 30 juin 2016 Signaler Posté(e) le 30 juin 2016 Merci pour le tuto des ouvrants, sympa !! 3 HC2, t'es un peu juste non ? ;-) 1
CharlesO Posté(e) le 30 juin 2016 Signaler Posté(e) le 30 juin 2016 http://www.domotique-fibaro.fr/index.php/topic/4251-voir-si-une-lumière-est-allumée-et-tout-éteindre/?p=129987 Salut il y a deja un truc comme ca ici look :
pepite Posté(e) le 30 juin 2016 Signaler Posté(e) le 30 juin 2016 oui mais c'est pour les lumieres ;-)
CharlesO Posté(e) le 30 juin 2016 Signaler Posté(e) le 30 juin 2016 non tu n'as pas vue mon dernier poste
ikillou Posté(e) le 30 juin 2016 Auteur Signaler Posté(e) le 30 juin 2016 3 HC2, t'es un peu juste non ? ;-) Oui, un peu juste... va falloir que j'en achète encore 2 ou 3
ikillou Posté(e) le 30 juin 2016 Auteur Signaler Posté(e) le 30 juin 2016 http://www.domotique-fibaro.fr/index.php/topic/4251-voir-si-une-lumière-est-allumée-et-tout-éteindre/?p=129987 Salut il y a deja un truc comme ca ici look : Merci pour l'info, je ne l'avais pas vu. Je voulais une scène pour pouvoir la lancer avec le widget de l'iPhone. Mais je vais faire un VD, ça peut être sympa. J'ai fait ce script en vitesse hier soir, je n'ai pas été dans le détail... 1
ikillou Posté(e) le 1 juillet 2016 Auteur Signaler Posté(e) le 1 juillet 2016 http://www.domotique-fibaro.fr/index.php/topic/4251-voir-si-une-lumière-est-allumée-et-tout-éteindre/?p=129987 Salut il y a deja un truc comme ca ici look : Si tu veux éteindre toutes les lumières allumées, tu peux faire ça aussi : --[[ %% properties %% globals --]] local alldevices = api.get("/devices?visible=true&enabled=true") for k, device in ipairs(alldevices) do if tostring(device.properties.isLight) == "true" then if tonumber(fibaro:getValue(device.id, "value")) == 0 then print (device.name .. " (" .. device.id .. ") - OFF") else print (device.name .. " (" .. device.id .. ") - ON") fibaro:call(device.id, "turnOff") end end end
Messages recommandés