scene ci jointe
 
 
 --[[
  
 %% autostart
  
 %% properties
  
 69 value
  
 53 value
  
 73 value
  
 --]]
  
  
  
 -- ================================================
  
 -- PREPARATION DU CODE, ON CREER LES FONCTIONS QUE
  
 -- NOUS ALLONS DEVOIR APPELER PAR LA SUITE
  
 -- Dans notre cas, il y a au moins 2 fonctions :
  
 -- une pour l'envoi du message
  
 -- une pour obtenir les informations du module et son état
  
 --
  
 -- Une fonction est un morceau de code que nous pouvons appeler
  
 -- plusieurs fois. Elle peux recevoir des paramètres.
  
 -- Une fonction peux exister sans pour autant être utilisée
  
 -- ================================================
  
  
  
 -- ================================================
  
 -- Envoi un message sur un ou plusieurs portables
  
 -- ----------------------------------------------------------------------------------
  
 -- Parmètre :
  
 -- idPortables : numéro d'un portable ou tableau de plusieurs portable
  
 -- message : message à  envoyer
  
 -- Exemple :
  
 -- sendPush(23, "Envoi d'un message simple")
  
 -- sendPush({23,25,27}, "Envoi a plusieurs destinataires")
  
 -- ================================================
  
 
function sendPush(idPortables, message)
  
 
if (type(idPortables) == "table") then
  
 -- Si nous avons plusieurs numéros dans un tableau {}
  
 
for i = 1, #idPortables do
  
 -- On envoi le message sur tout les portables
  
 fibaro:call(idPortables[i], "sendPush", message)
  
 end
  
 fibaro:debug(string.format("Pushs envoyés : %s", message))
  
 
elseif (type(idPortables) == "number") then
  
 -- Si nous avons un seul numéro de portable
  
 fibaro:call(idPortables, "sendPush", message)
  
 fibaro:debug(string.format("Push envoyé : %s", message))
  
 else
  
 fibaro:debug(string.format("Erreur : le numéro %s n'est pas valable", idPortables))
  
 end
  
 end
  
  
  
 -- ================================================
  
 -- Retourne les information sur un device
  
 -- ----------------------------------------------------------------------------------
  
 -- Parmètre :
  
 -- deviceId : l'dientifiant du device
  
 -- Exemple :
  
 -- local message = getDeviceInfo(69)
  
 -- ================================================
  
 
function getDeviceInfo(deviceId)
  
 
local etat = "ouverte"
  
 
if (fibaro:getValue(deviceId, 'value' ) == "0") then
  
 etat = "ferme"
  
 end
  
 
return string.format("La %s est %s.", fibaro:getName(deviceId), etat)
  
 end
  
  
  
 -- ================================================
  
 -- FIN DE LA PREPARATION DU CODE
  
 -- ================================================
  
  
  
 -- ================================================
  
 -- DEBUT DU CODE PRINCIPAL
  
 -- ================================================
  
  
  
 -- Déclaration du/des numéros de portables
  
 
local idportables = 181
  
 -- local idportables = {23, 24, 25}
  
  
  
 -- Le déclencheur de cette scène, va nous permettre de savoir qui et
  
 -- comment cette scène a été démarrée
  
 
local SourceTrigger = fibaro:getSourceTrigger()
  
  
  
 
if (SourceTrigger['type'] == 'property') then
  
 -- si la scène a été démarrée par un "device", on va récupérer
  
 -- les informations du device
  
 
local message = getDeviceInfo(SourceTrigger['deviceID'])
  
 -- puis l'envoyer sur les portables
  
 sendPush(idportables, message)
  
 
elseif (SourceTrigger['type'] == 'other') then
  
 -- Si la scène a été démarrée manuellement
  
 sendPush(idportables, string.format("La scène a été lancée le %s a %s", os.date("%d/%m/%Y"), os.date("%R")))
  
 
elseif (SourceTrigger['type'] == 'autostart') then
  
 -- Si la scène a été démarrée par une sauvegarde de cette scène
  
 -- ou le redémarrage de la box
  
 sendPush(portables, string.format("La box a démarré le %s a %s", os.date("%d/%m/%Y"), os.date("%R")))
  
 end