Fonction fibaro:getSourceTrigger

Code LUA HC2

fibaro:getSourceTrigger

 

Description:

Lit la valeur de Trigger (déclencheur) qui a appelé la scène

fibaro:getSourceTrigger()

Paramètres:

sans

Valeurs retournées:

Tableau contenant des informations sur trigger
Tableau retourné contient obligatoirement le «type», qui peut prendre les valeurs:

property’ – pour les déclencheurs basés sur la modification des propriétés
global’ – pour les déclencheurs basés sur la variation de la variable globale
other’ – dans d’autres cas (démarrage direct de la scène par l’interface ou l’appel d’un autre script)

Selon la valeur de «type», la table peut encore avoir des champs supplémentaires:

property

global

other

  • deviceID: Numéro ID du module qui concerne le déclencheur (trigger)
  • propertyName: Nom de propriété du module qui concerne le déclencheur (trigger)
  • varName: Le nom de la variable globale qui concerne le déclencheur (trigger)
  • pas de champs supplémentaires

Remarques:

Cette fonction peut être utilisée pour déterminer lequel des déclencheurs (trigger) a été la cause directe du script.
Dans l’exemple suivant sont définis les triggers, qui peuvent provoquer l’exécution du script:

change la valeur ‘value’ du module ID = 13
change la valeur ‘value’ du module ID = 15
modifie la variable globale ‘isItDarkOutside’

En outre, le script peut être lancé directement à partir de l’interface ou par autre scène (ex. fibaro:runScene(sceneID)).

Le script affiche les informations dans la console ‘debug’ sur l’origine de son appel:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
--[[
%% properties
13 value
15 value
 
%% globals
isItDarkOutside
–]]
 
local trigger = fibaro:getSourceTrigger();
 
if (trigger['type'] == 'property') then
  fibaro:debug('Module ID = ' .. trigger['deviceID']);
elseif (trigger['type'] == 'global') then
  fibaro:debug('Variable globale = ' .. trigger['varName']);
elseif (trigger['type'] == 'other') then
  fibaro:debug('Autre cas');
end
--[[
%% properties
13 value
15 value

%% globals
isItDarkOutside
–]]

local trigger = fibaro:getSourceTrigger();

if (trigger['type'] == 'property') then
  fibaro:debug('Module ID = ' .. trigger['deviceID']);
elseif (trigger['type'] == 'global') then
  fibaro:debug('Variable globale = ' .. trigger['varName']);
elseif (trigger['type'] == 'other') then
  fibaro:debug('Autre cas');
end

[recent_deals per_page=”12″ columns=”3″ orderby=”date” order=”desc”]

Articles Similaires

2 Thoughts to “Fonction fibaro:getSourceTrigger”

  1. […] fibaro:getSourceTrigger() fibaro:getSourceTriggerType() fibaro:startScene(sceneID) fibaro:killScenes(sceneID) […]

  2. […] Tableau contenant des informations sur trigger Tableau retourné contient obligatoirement le «type», voir les valeurs fibaro:getSourceTrigger […]

Leave a Comment


The reCAPTCHA verification period has expired. Please reload the page.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.