La grande utilité de la Domotique est d’améliorer votre qualité de vie au quotidien. Pour que votre maison devienne intelligente et pour gérer vos dispositifs en un seul clic, n’importe où dans le monde, il existe ce que l’on appelle : des scénarios ! Voici un guide pratique pour vous aider à créer tout type de scénarios sur votre Home Center 2, en sachant qu’il existe une infinité de possibilités et que seule votre imagination sera votre limite.
Rendez-vous sur l’interface de votre Home Center 2 dans la rubrique « Scènes ». Cliquez sur « Ajouter » dans « Ajouter une scène ».
1- Création de scénarios en utilisant les blocs graphiques :
Il s’agit de la méthode la plus simple pour créer vos scénarios (association de blocs graphiques).
Voici les blocs que vous pouvez mettre en place :
– La météo (température, humidité, vitesse du vent, conditions météo) :
Vous pouvez créer un scénario en fonction des conditions extérieures suivantes :
1) Température
2) Humidité
3) Vitesse du vent
4) Conditions météo
Exemple de scénario : Ne pas arroser mon jardin lorsqu’il pleut.
Autres exemples : fermer les volets roulants durant l’été si le temps est dégagé (pour éviter une augmentation de la température de vos pièces et ainsi limiter l’usage de la climatisation) ou inversement durant l’hiver (apport gratuit du chauffage grâce au soleil).
– Variables :
Pour vos scénarios, vous pouvez utiliser des variables personnalisées. Lorsque vous créez un scénario, celui-ci peut s’activer en fonction d’une variable.
Exemple de scénario : Lorsque mon détecteur détecte un mouvement dans mon salon durant la nuit, ma lumière s’allume.
Nous voulons que notre lumière s’allume automatiquement en fonction d’un mouvement et uniquement durant la nuit. Nous devons donc créer une variable pour distinguer le jour de la nuit. Rendez-vous dans la rubrique « Panneaux » puis « Panneau Variables ». Dans « Variables prédéfinies »
Après avoir crée les variables « Jour » et « Nuit », nous créons deux scénarios.
Le premier indiquant que du lundi au vendredi, au coucher du soleil, la variable sera « Nuit ».
Le second scénario indiquant que du lundi au vendredi, au lever du soleil, la variable sera « Jour ».
Nous créons maintenant notre scénario désiré qui est que si il y a une détection de mouvement durant la nuit, alors la lumière s’allume automatiquement. Voici notre scénario :
– Timers (basé sur un intervalle, jours de la semaine, jour du mois, une fois) :
Les Timers permettent de créer des scénarios :
1) À partir d’un intervalle de temps (exemple : de 10h à 20h toutes les 2 heures).
2) En fonction des jours de la semaine (exemple : action qui s’exécute du lundi au vendredi à 7h35)
3) En fonction d’un ou plusieurs jours du mois (exemple : action qui s’exécute le 7 et 15, chaque mois à 10h15)
4) Pour une seule fois (exécution d’une action automatique à un seul moment précis)
Exemple de scénario : Mes volets roulants s’ouvrent automatiquement du lundi au vendredi à 7h15.
Autres exemples : ouvrir mes volets roulants automatiquement le 7, 12, 18 et 25 février à 9h15, ouvrir mes volets roulants automatiquement uniquement le 9 mars à 10h20, recevoir un mail avec une photo prise par ma caméra de mon salon de 10h à 20h chaque 2 heures.
– Scènes :
La rubrique scènes permet d’ajouter une ou plusieurs scènes déjà créées auparavant dans votre scène. L’utilité est d’obtenir un scénario plus complexe, prenant compte d’autres scénarios.
Exemple de scénario : Nous avons crée un premier scénario « Détection mouvement » (si mon détecteur de mouvement détecte un mouvement alors une sirène s’enclenche). Nous voulons que ce scénario soit activé si notre interrupteur ON/OFF est sur ON. Nous créons donc un second scénario : si mon interrupteur ON/OFF est sur ON, alors mon scénario « Détection mouvement » s’active.
– Commandes :
Les blocs de commande permettent de mettre en place des conditions :
1) État : ==, >, <, >=, <= (exemple : mon détecteur d’ouverture de porte == ON signifie que le détecteur doit être égal à ON pour respecter la condition du scénario).
2) Association : Alors/Et/Ou (exemple : mon détecteur d’ouverture de porte == ON, ALORS mon interrupteur 1 se met sur ON ET mon interrupteur 2 se met sur OFF).
Exemple de scénario : Lorsque les conditions météos sont bonnes (temps dégagé), alors mes volets roulants se ferment automatiquement (ce scénario pourrait être utilisé en été, lorsque le soleil est présent pour éviter d’augmenter d’avantage la température des pièces).
Vous avez la possibilité d’inclure des pièces de votre maison dans un scénario pour exécuter une action sur l’ensemble des modules de chaque pièce (exemple : fermer les stores de toute la pièce en même temps à partir de 21h00).
Exemple de scénario : Si il y a une détection de mouvement, alors tous les modules de ma cuisine se mettent sur ON et allument toutes les lampes.
– Modules :
Vous choisissez les modules (actionneurs/capteurs) que vous mettez en place dans votre scénario pour être actionné, vérifier un état, l’utiliser lors d’un événement (selon le temps, la présence…) etc.
Vous avez également la possibilité d’ajouter un groupe de modules, pour lequel, l’action que vous allez définir agira sur l’ensemble des modules du groupe (exemple : mon groupe de modules d’éclairage se met sur ON lors d’une détection de mouvement. Tous vos modules dans votre groupe se mettront sur ON).
Exemple : Si ma porte s’ouvre, alors mon module ON/OFF se met sur ON pour allumer ma lampe.
– Caméras :
Permet d’avoir des captures d’image de vos caméras pour envoyer aux utilisateurs sous forme de notification (via Email, sur votre application de votre contrôleur etc).
– GPS :
Avec cette option, vous pouvez mettre en place un scénario qui s’active à partir de votre emplacement. Ce scénario peut s’activer en fonction de l’un des paramètres suivants que vous aurez sélectionné :
1) J’approche de l’emplacement
2) Je pars de l’emplacement
3) J’entre dans le périmètre
4) Je sors du périmètre
Concrètement, avec cette option GPS vous définissez un emplacement dans l’interface de votre Home Center 2 (par exemple, celui de votre maison). Grâce à votre application mobile Fibaro qui établit votre localisation et envoie les données à votre contrôleur, vous pouvez donc créer un scénario en fonction de votre localisation et l’emplacement fixé dans votre interface.
Exemple de scénario : Lorsque je m’approche de ma maison, mon interrupteur se met sur ON et allume l’éclairage de ma porte d’entrée.
Vous créez un lieu au choix dans la rubrique « Panneau de localisation », par exemple, vous situez sur la carte, l’emplacement de votre maison.
Ensuite, dans la création de scénarios (blocs graphiques), nous indiquons que si nous nous approchons de l’emplacement (que nous avons crée ci-dessus), alors l’interrupteur ON/OFF se met sur ON automatiquement et allume l’éclairage de la porte d’entrée.
– Modules Virtuels :
En plus de modules réels, vous pouvez créer des modules virtuels qui pourront servir lors de scénarios.
Par exemple, vous avez crée un scénario mais vous souhaitez que celui-ci soit activé lors de votre départ (vous avez mis en place une sirène qui s’enclenche lors d’une détection de mouvement), vous mettez donc en place un module ON/OFF virtuel (pour éviter d’en avoir un réel) qui active ou désactive ce scénario (car lors de votre présence, vous ne voulez pas que cette sirène s’enclenche).
– Notifications :
Vous pouvez recevoir une notification par mail, SMS ou PUSH lorsqu’un scénario est activé (vous définissez le message que vous voulez recevoir en fonction du scénario et vous sélectionnez la méthode de réception).
Exemple de scénario : Dans la rubrique « Panneaux de notifications » sur l’interface de mon Home Center 2, je crée la notification « Lumière Salon ». Le message de cette notification est « bonjour, quelqu’un a allumé la lumière du salon ».
Pour mon scénario, lorsque mon interrupteur ON/OFF se met sur ON (il active donc la lumière de mon salon), alors je reçois un message par email de cette notification « Lumière Salon ».
2- Création de scénarios en LUA :
– Identification des numéros ID des modules :
Chaque module disponible dans l’interface de votre Home Center 2 a un deviceID (numéro identifiant du module). Vous devez tout d’abord connaître les numéros ID de tous vos modules que vous utiliserez pour votre scénario (par exemple, supposons que vous souhaitez créer un scénario en utilisant votre module FGS-211 qui commande l’éclairage ainsi que votre module FGK-101 qui détecte une ouverture de porte/fenêtre, vous devrez donc connaître leur numéro ID)
Rendez-vous dans la rubrique « Modules » et sélectionnez chacun de vos modules pour visualiser leur numéro ID.
Attention : Vous verrez des exemples de scénarios ci-dessous avec des numéros ID qui ne seront pas forcément les mêmes que les vôtres (chacun de vos modules peut avoir un numéro ID différent de ceux présentés dans nos exemples).
– Début et fin d’une scène :
Quelque soit votre scène, celle-ci doit toujours commencer avec l’entête :
–[[
%% properties%% globals
–]]
Et finir avec le mot :
end
– Commande d’un module :
Pour commander votre module (activer, désactiver…), voici la phrase que vous devez écrire :
fibaro:call(deviceID, ActionName… )
DeviceID correspond au numéro d’identifiant de votre module, ActionName est le type d’action que votre module doit réaliser. Pour un module ON/OFF, les actions s’écrivent « turnOn » et « turnOff », pour un variateur dont vous voulez une valeur précise, l’action s’écrit « SetValue » (suivi d’un nombre correspondant à la variation désirée de 0 à 100%).
Par exemple, pour un module ON/OFF ayant un numéro ID de 17 que vous souhaitez activer, voici le résultat :
fibaro:call(17, ‘turnOn’ )
Avec la fonction SetValue (que vous ajoutez dans votre commande), vous pouvez mettre en place une variation comprise entre 0 et 100%.
Par exemple, vous voulez que votre éclairage soit à 65% de sa luminosité. Votre module variateur ayant un numéro ID de 89, voici le résultat :
fibaro:call(89, ‘setValue’, ’65’ )
Vous pouvez retrouver l’ensemble des actions de vos modules ici.
– Connaître l’état d’un module, stocker la valeur et contrôler le déroulement du scénario :
Pour connaître l’état d’un module (allumé, éteint, pourcentage…) et pour stocker sa valeur nous utiliserons la fonction « fibaro:getValue » et pour contrôler le déroulement du scénario, la fonction « fibaro:debug( ‘text’ ) ».
Par exemple, nous voulons que la télévision (ayant un numéro ID de 79) s’allume et visualiser si elle a bien été allumée. Nous devons déclarer la variable (local NomVariable), allumer l’appareil (fibaro:call(DeviceID, ‘turnOn’)), stocker l’état de l’appareil (NomVariable = fibaro:getvalue(DeviceID, ‘value’)) et afficher l’état de votre appareil dans l’écran débogue (fibaro:debug( ‘text’ )). Voici notre scénario :
local ModuleTv
fibaro:debug( ‘Ma télévision va être allumée’ )
fibaro:call(36, ‘turnOn’)
ModuleTv = fibaro:getValue(36, ‘value’)
fibaro:debug(‘Ma télévision est : ‘ ModuleTv)
(Nous aurons sur l’écran débogue les informations suivantes : « Ma télévision va être allumée » et « Ma télévision est : 1 »).
– Déclenchement automatique d’un module :
Si vous mettez en place une commande d’un module, celle-ci sera réalisée manuellement (c’est vous qui devrez activer le scénario pour que vos modules réalisent les actions définies). Pour mettre en place un déclenchement automatique en fonction d’un événement, vous devez ajouter dans l’entête le numéro ID de votre module servant de déclencheur (Trigger) suivi de « Value ».
Par exemple, vous souhaitez que le chauffage de votre salon soit déclenché automatiquement si vous ouvrez la fenêtre… pour éviter des dépenses inutiles. Le module commandant votre chauffage a un numéro ID de 53, le module détecteur d’ouverture de fenêtre a un numéro ID de 86.
Vous devez tout d’abord créer votre entête sans oublier d’ajouter le numéro ID du détecteur suivi de « Value » :
–[[
%% properties86 Value
%% globals
–]]
Vous continuez ensuite votre scénario avec :
Local DetecteurOuverture
DetecteurOuverture = fibaro:getValue(86, ‘value’)
If (DetecteurOuverture == ‘1’) then
Fibaro:call(53, ‘turnOff’)
end
(Nous avons indiqué « DetecteurOuverture » mais vous pouvez choisir le nom que vous désirez pour identifier votre module).
– Extinction d’un module après une durée déterminée :
La fonction « sleep » permet d’avoir une temporisation suite à une action d’un module. La phrase s’écrit :
fibaro:sleep(time)
Par exemple, vous souhaitez que lorsque le module ON/OFF qui commande votre lumière se mette sur ON (pour éclairer) puis sur OFF après 9 secondes (ce module a un numéro ID de 47). Voici la partie de scénario que vous devez écrire :
fibaro:call(47, ‘turnOn’ )
fibaro:sleep(9000)
fibaro:call(47, ‘turnOff’ )
(Nous avons indiqué 9000 car le temps doit être exprimé en ms).
– Conditions :
L’un des grands intérêts des scénarios est de pouvoir faire communiquer plusieurs modules entre eux. Il est utile de pouvoir commander un module à distance mais encore plus intéressant de pouvoir commander un ensemble de modules… en un seul clic (voir aucun) !
Les principales fonctions sont : « IF » (SI), « THEN » (ALORS) et « ELSE » (SINON).
Par exemple, SI votre détecteur de mouvement détecte un mouvement ALORS le module qui commande votre sirène se met sur ON et active celle-ci (numéro ID du détecteur de mouvement et module ON/OFF de votre sirène : 52 et 86). Voici la partie de scénario que vous devez écrire :
local DetecteurMouvement
DetecteurMouvement = fibaro:getValue(52, ‘value’ )
if (DetecteurMouvement == ‘1’ ) then
fibaro:call(86, ‘turnOn’ )
(Nous avons indiqué « DetecteurMouvement » mais vous pouvez choisir le nom que vous désirez pour identifier votre module… tout en respectant l’écriture du scénario).
– Action réalisable durant une période définie :
Avec cette fonction, votre module s’enclenche uniquement durant une période définie. Pour cela, il faudra stocker la date actuelle du système et indiquer votre période/date : year (année), month (mois : 01 à 12), day (jour : 01 à 31), hour (heures : 00 à 23), min (minutes : 00 à 59), sec (secondes : 00 à 59).
Par exemple, nous voulons que la lumière de notre salon s’allume si le détecteur détecte un mouvement de 21h à 6h du matin. Le module qui commande l’éclairage de notre salon a un numéro ID de 43 et notre détecteur de mouvement a un numéro ID de 35. Voici notre scénario :
%% properties
35 value
%% globals
–]]local DetecteurMouvement = os.date(« *t »)
DetecteurMouvement = fibaro:getValue(35, ‘value’ )
if (DetecteurMouvement == ‘1’ and DetecteurMouvement [‘hour’] >= 21 and DetecteurMouvement [‘hour’] <= 06 ) then
fibaro:call(43, ‘turnOn’)
end
– Scénario en LUA qui regroupe l’ensemble des fonctions présentées dans cet article :
De 22h à 5h, si mon détecteur (numéro ID : 26) détecte un mouvement, alors mon module (numéro ID : 39) se met sur ON pour allumer la pièce du salon à 60% durant 30 secondes.
Voici notre scénario :
%% properties
26 value
%% globals
–]]local DetecteurMouvement = os.date(« *t »)
DetecteurMouvement = fibaro:getValue(26, ‘value’ )
if (DetecteurMouvement == ‘1’ and DetecteurMouvement [‘hour’] >= 22 and DetecteurMouvement [‘hour’] <= 05 ) then
fibaro:debug( ‘Ma lumière va être allumée’ )
fibaro:call(39, ‘setValue’, ’60’ )
DetecteurMouvement = fibaro:getValue(26, ‘value’)
fibaro:debug(‘Ma lumière est : ‘ DetecteurMouvement)
fibaro:sleep(30000)
fibaro:call(39, ‘turnOff’ )
end
Pour des scénarios plus complexes, il existe bien évidemment d’avantage de fonctions que vous pouvez retrouver sur le manuel officiel du LUA.