Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

sebcbien [08.05.2015 22:03] (Version actuelle)
Steven Piccand créée
Ligne 1: Ligne 1:
 +<WRAP center round todo 60%>
 +en construction
 +</​WRAP>​
 +
 +
 +<WRAP cblock>
 +<file lua sebcbien.lua>​
 +--[[
 +%% autostart
 +%% properties
 +18 value
 +45 sceneActivation ​
 +49 sceneActivation
 +50 sceneActivation
 +83 value
 +84 value
 +77 value
 +114 value
 +986 value
 +988 value
 +989 value
 +990 value
 +%% globals
 +Phone_GG_Present
 +Phone_Seb_Present
 +Alarme
 +--]]
 + 
 +local id = {
 +         ​DETECTEUR_AEON ​        = 18,
 +         ​DETECTEUR_AEON_TEMP ​   = 19,
 +         ​DETECTEUR_AEON_HUMID ​  = 20,
 +         ​DETECTEUR_AEON_LUMINO ​ = 21,
 +         ​DETECTEUR_COULOIR ​     = 986,
 +         ​DETECTEUR_SAM ​         = 988,
 +         ​DETECTEUR_HALL ​        = 989,
 +         ​DETECTEUR_PORTE_GARAGE = 990,
 +         ​LAMPE_HALL ​            = 52,
 +         ​LAMPE_GARAGE ​          = 51,
 +         ​ALIM_POE ​              = 77,
 +         ​LAMPE_CELLIER ​         = 56,
 +         ​LAMPE_SALON ​           = 45,
 +         ​LAMPE_BUREAU ​          = 49,
 +         ​LAMPE_WC ​              = 50,
 +         ​LAMPE_SAM ​             = 54,
 +         ​LAMPE_DRESSING ​        = 42,
 +         ​LAMPE_CH_AMIS ​         = 24,
 +         ​TEMP_SALON ​            = 74,
 +         ​TEMP_SDB ​              = 88,
 +         ​PRISE_BUREAU ​          = 76,
 +         ​PRISE_BP_EMILIEN ​      = 83,
 +         ​PRISE_BP_THOMAS ​       = 84,
 +         ​PRISE_ROUTEUR_1ER ​     = 22,
 +         ​TV ​                    = 80,
 +         ​SONNETTE ​              = 114,
 +         ​VMC ​                   = 25,
 +         ​VD_THINGSPEAK ​         = 35,
 +         ​VD_ECODEVICE_E_G ​      = 60,
 +         ​VD_EMONCMS ​            = 75,
 +         ​VD_VMC ​                = 78,
 +         ​VD_XBMC_REMOTE ​        = 108,
 +         ​VD_PRESENCE_SEB ​       = 109,
 +         ​VD_PRESENCE_GG ​        = 110,
 +         ​VD_CHECK_CONSO ​        = 103,
 +         ​VD_WOL ​                = 40,
 +         ​VD_PHOTO_SENDER ​       = 1275
 +    }
 + 
 +-------------------CELLIER--------------------- ​
 +-- on eteint la lampe du cellier après 10 min
 +  GEA.add(id["​LAMPE_CELLIER"​],​ 2*60, "",​ {{"​turnOff"​}})
 +-----------------------------------------------
 +-------------------SONNETTE-------------------- ​
 +-- On a sonné à la porte, notify 2 portables et send pics pour 1 minute
 +-- Virtual Device bouton 3 = all 30s - bouton 9 = out 1 min - bouton 10 = out 3 min
 +  GEA.add({"​Value+",​ id["​SONNETTE"​],​ 1}, -1, "​Sonnette actionnée à #time# le #​date#",​ {{"​Portable",​ 53}, {"​Portable",​ 104}, {"​VirtualDevice",​ id["​VD_PHOTO_SENDER"​],​ "​9"​},​})
 +----------------------------------------------- ​     ​
 +-------------------- WC ----------------------- ​
 +    -- Allumage à 95% dès que détection mouvement. Le if permet de ne pas renvoyer l'​ordre d'​allumage si la lampe est déjà allumée
 +  GEA.add( id["​DETECTEUR_AEON"​],​ -1, "",​{{"​If",​{{"​Value-",​ id["​LAMPE_WC"​],​89}}},​{"​Function",​ function() fibaro:​call(id["​LAMPE_WC"​],​ "​setValue",​ "​95"​) end}})
 +    -- On dimme la lampe automatiquement après 2 mn et on l'​éteint après 3mn si pas de mouvement ou si la lampe à été remontée a plus de 76%
 +local malampewc = GEA.add({"​Value+",​ id["​LAMPE_WC"​],​89},​ 2*60, "",​{{"​Value",​ 15},​{"​Repeat"​}})
 +local malampewcdim = GEA.add({"​Value-",​ id["​LAMPE_WC"​],​55},​ 3*60,"",​{{"​turnOff"​},​{"​If",​ {{"​Value+",​ id["​LAMPE_WC"​],​ 1}}}},​{"​Repeat"​})
 +    -- Relance des tâches en cas de détection
 +  GEA.add(id["​DETECTEUR_AEON"​],​ -1, "",​ {{"​RestartTask",​ malampewc},​{"​RestartTask",​ malampewcdim}})
 +    -- S2 lance VMC en V3 pour 3 minutes
 +  GEA.add({"​SceneActivation",​ id["​LAMPE_WC"​],​ 26}, -1, "",​{{"​VirtualDevice",​id["​VD_VMC"​],"​6"​},​{"​Global","​VENT_V3_TEMP",​ "​1"​},​{"​If",​{{"​Global",​ "​VENT_V3_TEMP",​ "​0"​}}}})
 +----------------------------------------------
 +-------------------SAM------------------------
 +    -- période NUIT entre sunset et sunrise
 +local nuitsam = {"​Time",​ "​Sunset-30",​ "​Sunrise"​}
 +    -- Allumage à 60% dès que détection mouvement. le if permet de ne pas renvoyer l'​ordre d'​allumage si la lampe est déjà allumée
 +  GEA.add( id["​DETECTEUR_SAM"​],​ -1, "",​{{"​If",​{{"​Value-",​ id["​LAMPE_SAM"​],​59}}},​nuitsam ,​{"​Function",​ function() fibaro:​call(id["​LAMPE_SAM"​],​ "​setValue",​ "​65"​) end}})
 +    -- On dimme la lampe automatiquement après 2mn et on l'​éteint après 3mn si pas de mouvement ou si la lampe à été remontée a plus de 59%
 +local malampesam = GEA.add({"​Value+",​ id["​LAMPE_SAM"​],​59},​ 5*60, "",​{ nuitsam ,​{"​Value",​ 34},​{"​Repeat"​}})
 +local malampesamdim = GEA.add({"​Value-",​ id["​LAMPE_SAM"​],​35},​ 1*60,"",​{nuitsam ,​{"​Value",​ id["​LAMPE_SAM"​],​ 65},​{"​Function",​ function() fibaro:​sleep(300) end},​{"​turnOff"​},​{"​If",​ {{"​Value+",​ id["​LAMPE_SAM"​],​ 1}}}},​{"​Repeat"​})
 +    -- Relance des tâches en cas de détection
 +  GEA.add(id["​DETECTEUR_SAM"​],​ -1, "",​ {nuitsam,​{"​RestartTask",​ malampesam},​{"​RestartTask",​ malampesamdim}}) ​
 +---------------------
 +    -- Période JOUR entre sunrise et sunset
 +local joursam = {"​Time",​ "​Sunrise",​ "​Sunset-30"​}
 +    -- On dimme la lampe automatiquement après 60mn et on l'​éteint après 70mn si pas d'​action manuelle
 +local malampesam2 = GEA.add({"​Value+",​ id["​LAMPE_SAM"​],​59},​ 45*60, "",​{joursam ,​{"​Value",​ 40},​{"​Repeat"​}})
 +local malampesam2dim =  GEA.add({"​Value-",​ id["​LAMPE_SAM"​],​35},​ 7*60, "",​{joursam ,​{"​Value",​ id["​LAMPE_SAM"​],​ 60},​{"​Function",​ function() fibaro:​sleep(300) end},​{"​turnOff"​},​{"​If",​ {{"​Value+",​ id["​LAMPE_SAM"​],​ 1}}}},​{"​Repeat"​})
 +    -- Une action manuelle relance tout
 +  GEA.add( id["​LAMPE_SAM"​],​ -1, "",​ {{"​Inverse"​},​ {"​RestartTask",​ malampesam2},​ {"​RestartTask",​ malampesam2dim}})
 +----------------------------------------------- ​  
 +--------------------GARAGE---------------------
 +-- Le scénario enverra un push toutes les 10mn tant que la porte sera ouverte
 +  GEA.add( id["​DETECTEUR_PORTE_GARAGE"​],​ 10*60, "La porte du garage est ouverte depuis plus de #​duration#",​ {"​Repeat"​})
 +-- Msg à la fermeture du garage
 +  GEA.add( id["​DETECTEUR_PORTE_GARAGE"​],​ -1, "La porte du garage a été fermée",​ {{"​Inverse"​}})
 +-- Avertissement push si la porte du garage s'​ouvre à des heures non inappropriée
 +  GEA.add( id["​DETECTEUR_PORTE_GARAGE"​],​ -1, "​Ouverture de la porte du garage à #​time#",​ {{"​Time",​ "​08:​30",​ "​17:​30"​},​ {"​Days",​ "​Monday,​ Tuesday, , Wednesday, Thursday, Friday, Saturday"​}})
 +---------------------
 +    -- On dimme la lampe automatiquement après 90mn et on l'​éteint après 20mn si pas d'​action manuelle
 +local malampegar = GEA.add({"​Value+",​ id["​LAMPE_GARAGE"​],​21},​ 90*60, "",​{{"​Value",​ 20},​{"​Repeat"​}})
 +local malampegardim =  GEA.add({"​Value-",​ id["​LAMPE_GARAGE"​],​21},​ 5*60, "",​{{"​Value",​ id["​LAMPE_GARAGE"​],​ 99},​{"​Function",​ function() fibaro:​sleep(300) end},​{"​turnOff"​},​{"​If",​ {{"​Value+",​ id["​LAMPE_GARAGE"​],​ 1}}}},​{"​Repeat"​})
 +    -- Une action manuelle relance tout
 +  GEA.add( id["​LAMPE_GARAGE"​],​ -1, "",​ {{"​Inverse"​},​ {"​RestartTask",​ malampegar},​ {"​RestartTask",​ malampegardim}})
 +-----------------------------------------------  ​
 +--------------------SALON----------------------
 +-- S2 long press alume ampli et lance XBMC
 +  GEA.add({"​SceneActivation",​ id["​LAMPE_SALON"​] , 22}, -1, "",​{{"​turnOn",​ id["​TV"​]},​{"​VirtualDevice",​id["​VD_XBMC_REMOTE"​],"​1"​},​{"​If",​ {{"​Value-",​ id["​TV"​],​ 1}}}})
 +-- Si l'​ampli comsomme moins de 80w depuis 20 minutes, on averti et on coupe prise et pause XBMC après 30 minutes
 +  GEA.add({"​Sensor-",​ id["​TV"​],​ 80}, 20*60, "",​ {{"​Time",​ "​07:​26",​ "​22:​59"​}}) ​
 +  GEA.add({"​Sensor-",​ id["​TV"​],​ 80}, 30*60, "",​ {{"​turnOff"​},​ {"​VirtualDevice",​id["​VD_XBMC_REMOTE"​],"​2"​}}) ​
 +---------------------
 +-- Notifie si TV allumée depuis plus d'une Heure
 +  GEA.add({"​Sensor+",​ id["​TV"​],​ 200}, 180*60, "TV Allumée depuis 3H - #value# Watt"​) ​
 +-----------------------------------------------  ​
 +--------------------BUREAU---------------------
 +-- Si PRISE_BUREAU comsomme moins de 45w depuis 20 minutes, on averti et on coupe après 30 minutes
 +  GEA.add({"​Sensor-",​ id["​PRISE_BUREAU"​],​ 45}, 20*60, "​PRISE_BUREAU Conso en veille depuis 20 min ! PC Seb OFF in 10 Min !", {{"​Portable",​ 53}, {"​Time",​ "​07:​26",​ "​22:​59"​}}) ​
 +  GEA.add({"​Sensor-",​ id["​PRISE_BUREAU"​],​ 45}, 30*60, "",​ {{"​turnOff"​}}) ​
 +---------------------
 +-- S2 long press alume PC
 +  GEA.add({"​SceneActivation",​ id["​LAMPE_BUREAU"​] , 22}, -1, "",​ {{"​turnOn",​ id["​PRISE_BUREAU"​]},​ {"​Function",​ function() fibaro:​sleep(5000) end},​{"​Function",​ function() fibaro:​call(id["​VD_WOL"​],​ "​pressButton",​ "​1"​) end},​{"​If",​ {{"​Value-",​ id["​PRISE_BUREAU"​],​ 1}}}})
 +-----------------------------------------------  ​
 +---------------------HALL----------------------
 +-- Allumle la lampe du hall si détection de mouvement. Le if permet de ne pas renvoyer l'​ordre d'​allumage si la lampe est déjà allumée
 +  GEA.add( id["​DETECTEUR_HALL"​],​ -1, "",​ {{"​If",​{{"​Value-",​ id["​LAMPE_HALL"​],​59}}},​{"​Time",​ "​Sunset-30",​ "​Sunrise"​},​ {"​Function",​ function() fibaro:​call(id["​LAMPE_HALL"​],​ "​setValue",​ "​99"​) end}})
 +-- Eteindre la porte d'​entrée si pas de présence plus de 5 mn.
 +  GEA.add(id["​LAMPE_HALL"​],​ 5*60, "",​ {{"​turnOff",​id["​LAMPE_HALL"​]},​ {"​If",​{{"​Value-",​id["​DETECTEUR_HALL"​],​1}}}})
 +-----------------------------------------------
 +-------------------COULOIR---------------------
 +-- Si la détecteur Couloir est activé on allume le routeur 1er
 +  GEA.add( id["​DETECTEUR_COULOIR"​],​ -1, "",​ {{"​turnOn",​ id["​PRISE_ROUTEUR_1ER"​]},​ {"​If",​{{"​Value-",​id["​PRISE_ROUTEUR_1ER"​],​1}}}})
 +-- Eteindre le routeur si pas de présence plus de 30 mn.
 +  GEA.add(id["​PRISE_ROUTEUR_1ER"​],​ 30*60, "",​ {{"​turnOff",​id["​PRISE_ROUTEUR_1ER"​]}})
 +-----------------------------------------------
 +-------------------BABYPHONES------------------
 +-- Si Prise BaybyPhone Thomas ou Emilien ON, alors VG KIDS SLEEPING sinon AT HOME
 +  GEA.add( id["​PRISE_BP_EMILIEN"​],​ -1, "",​ {{"​turnOn",​ id["​PRISE_BP_THOMAS"​]},​{"​Global","​PresentState",​ "​Kids_Sleeping"​}})
 +  GEA.add( id["​PRISE_BP_EMILIEN"​],​ -1, "",​ {{"​Inverse"​},​{"​turnOff",​ id["​PRISE_BP_THOMAS"​]},​{"​Global","​PresentState",​ "​At_Home"​}})
 +  GEA.add( id["​PRISE_BP_THOMAS"​],​ -1, "",​ {{"​turnOn",​ id["​PRISE_BP_EMILIEN"​]},​{"​Global","​PresentState",​ "​Kids_Sleeping"​}})
 +  GEA.add( id["​PRISE_BP_THOMAS"​],​ -1, "",​ {{"​Inverse"​},​{"​turnOff",​ id["​PRISE_BP_EMILIEN"​]},​{"​Global","​PresentState",​ "​At_Home"​}})
 +-----------------------------------------------
 +---------------DETECTION PRESENCE--------------
 +-- Signale GG at Home GEA peux se déclencher sur un changement de valeur d'une variable global
 +  GEA.add({"​Global",​ "​Phone_GG_Present",​ "​1"​},​ -1, "​Presence GG est maintenant à #​value#",​ {{"​Portable",​ 53}, {"​Time",​ "​00:​01",​ "​23:​59"​}})
 +  GEA.add({"​Global",​ "​Phone_GG_Present",​ "​0"​},​ -1, "​Presence GG est maintenant à #​value#",​ {{"​Portable",​ 53}, {"​Time",​ "​00:​01",​ "​23:​59"​}})
 +  GEA.add({"​Global",​ "​Phone_Seb_Present",​ "​1"​},​ -1, "​Presence Seb est maintenant à #​value#",​ {{"​Portable",​ 53}, {"​Time",​ "​00:​01",​ "​23:​59"​}})
 +  GEA.add({"​Global",​ "​Phone_Seb_Present",​ "​0"​},​ -1, "​Presence Seb est maintenant à #​value#",​ {{"​Portable",​ 53}, {"​Time",​ "​00:​01",​ "​23:​59"​}})
 +-----------------------------------------------
 +-----------NOTIFICATIO CONSO SI AWAY-----------
 +-- Vérifie la consomation de la maison toutes les 60 secondes quand AWAY - Maximum ne notificatio
 +-- La notification redémarre si la consomation est descendue en dessous de 150W  ​
 +  GEA.add({"​Global+",​ "​HOUSE_CONSO",​ 150}, 60, "La maison Consomme #value# W !",​{{"​MaxTime",​ 2},​{"​VirtualDevice",​ id["​VD_CHECK_CONSO"​],​ "​1"​},​{"​If",​{{"​Global",​ "​PresentState",​ "​Away"​}}},​{"​Repeat"​}})
 +----------------------------------------------- ​
 +</​file>​
 +</​WRAP>​