Fonction fibaro:getSourceTrigger

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
  • Pas de commandes groupées pour le moment.

2 réflexions au sujet de « Fonction fibaro:getSourceTrigger »

  1. Ping : Docs Fibaro Français - Index des fonctions (thématique) | Domotiques Home

  2. Ping : Fonction fibaro:getSourceTriggerType | Domotiques Home

Laisser un commentaire