Pour aller plus loin

Pour ajouter vos propres options (actions ou conditions), vous avez la possibilité d'en ajouter dans votre fonction config()

Voici quelques exemples utiles

-- ---------------------------------------------------
-- Allumer ou éteindre toutes les lumières d'une pièce
-- Usage : {"Room", <name>, "turnOn|turnOff"}
-- Exemple : GEA.add(..., {"Room", "Salon", "turnOff"})
-- ---------------------------------------------------
  GEA.options.room = {
      name = "Room lights",
      action = function(roomName, action)
        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
      end
  }
 
-- ---------------------------------------------------
-- Allumer / éteindre toutes les lumières d'une section
-- nécessite l'option {"Room", ...}
-- usage : {"Section", <name>, "turnOn|turnOff"}
-- Exemple : GEA.add(..., {"Section", "Etage", "turnOn"})
-- ---------------------------------------------------
  table.insert(GEA.usedoptions, "room") -- interdit GEA de supprimer "Room" de sa mémoire
  GEA.options.section = {
      name = "Section lights",
      action = function(sectionName, action)
        local sections = api.get("/sections")
        for _, section in pairs(sections) do
            if (section.name:lower() == sectionName:lower()) then
              for _, room in pairs(api.get("/rooms")) do
                if (room.sectionID == section.id) then GEA.options.room.action(room.name, action) end
              end
            end
        end        
      end
  }