Aller au contenu

getSourceTrigger


jjacques68

Messages recommandés

3 hours ago, mprinfo said:

Here is a small example for


 

{ 
    type = "date" , 
    property = "cron" , 
    operator = "match" , 
    value = { "0/10" , "*" , "*" , "*" , "*" , "*" } 
}
Toutes les 10 minutes
 
 
 
  
Modifié par jang
  • Like 3
Lien vers le commentaire
Partager sur d’autres sites

  • 3 mois après...

Salut à tous 

 

j’ai essayé plusieurs truc et

 

 

Avec le code suivant de faire fonctionner centralSceneEvent. Sur la HC3


code  ci-dessous de ma HC2 que j’essaye de faire fonctionner sur ma HC3 

 

merci de votre aide 

--[[
%% properties
42 sceneActivation 
%% globals
--]]

local ButtonPressed = fibaro:getValue(42, "sceneActivation") 
 
-------ON  OFF sup cuisine 
if ( tonumber(ButtonPressed) == 1) then 
   
local deviceValue1 = tonumber(fibaro:getValue(14, "value"));
	if (deviceValue1 > 0) then
		fibaro:call(14, "turnOff")
	else
		fibaro:call(14, "turnOn");
	end
end
Modifié par 971jmd
Lien vers le commentaire
Partager sur d’autres sites

J ai tester ça mai rien

 

DÉCLARATIONS (Conditions/Déclencheurs)

{
    operator = "all",
    conditions = {{
        id = 87,
        isTrigger = true,
        operator = "anyValue",
        property = "centralSceneEvent",
        type = "device"
    }}  
}

 

Action

local trigger = sourceTrigger
if (trigger.property == "centralSceneEvent") then
	-- Tu devrais voir ici tout ce qui passe...
    for key,value in pairs(trigger.value) do
        debug(key ..": ".. value)
    end
	-- exemple..
   --- if (trigger.value.keyId==1) then
     if (tonumber(ButtonPressed) == 1) then

        trace("------->>>>> "..trigger.value.keyAttribute)
        fibaro.call(21, "toggle")
    end
	-- etc...
end

 

Modifié par 971jmd
Lien vers le commentaire
Partager sur d’autres sites

essayes avec ça :

 

{
    operator = "all",
    conditions = {
        id = 87,
        isTrigger = true,
        operator = "!=",
        property = "centralSceneEvent",
        type = "device",
	value = {} 
    }
}

 

chez moi ça déclenche la scène sur tous les évènement du device, après je filtre par code.

Lien vers le commentaire
Partager sur d’autres sites

alors chez moi ça marche pour une télécommande Nodon...

 

Mets en commentaire tout ton code dans la scène et ajoute celui là pour voir si elle est bien triggée :

 

local NameScene = "Ma Scène"
local _KeyAttribute = sourceTrigger.value.keyAttribute
local _KeyId = sourceTrigger.value.keyId

fibaro.debug(NameScene, string.format("Scene starting with '%s' key %s", _KeyAttribute, _KeyId))

 

Lien vers le commentaire
Partager sur d’autres sites

 

 

et il me semble que dans le bloc de déclaration, il manque des accolades

 

{
  operator = "any",
  conditions = {
    {id = 89, isTrigger = true, operator = "!=", property = "centralSceneEvent", type = "device", value = {}},  
  }      
}

 

Modifié par jjacques68
Lien vers le commentaire
Partager sur d’autres sites

Salut

 

La scène est censé faire quoi exactement ?

 

{
  operator = "any",
  conditions = {
    {id = 89, isTrigger = true, operator = "!=", property = "centralSceneEvent", type = "device", value = {}},  
  }      
}
local NameScene = "Ma Scène"
local _KeyAttribute = sourceTrigger.value.keyAttribute
local _KeyId = sourceTrigger.value.keyId

fibaro.debug(NameScene, string.format("Scene starting with '%s' key %s", _KeyAttribute, _KeyId))

 

Lien vers le commentaire
Partager sur d’autres sites

Si je comprend bien 


ça 

--[[
%% autostart
%% events
%% properties
%% globals
--]]

Et remplacer par 

 

{
  operator = "any",
  conditions = {
   {id = 89, isTrigger = true, operator = "!=", property = "centralSceneEvent", type = "device", value = {}},  
  }    
}

 

Lien vers le commentaire
Partager sur d’autres sites

salut

 

j'ai tester çaça mai rein

 

j

 

{
 conditions = { {
     id = 87,
     isTrigger = true,
     operator = "!=",
     property = "sceneActivation",
     type = "device",
     value = 1
   } },
  operator = "all"
}

 

action

 

local ButtonPressed = fibaro:getValue(87, "sceneActivation") 
 

if ( tonumber(ButtonPressed) == 1) then
fibaro.call(21, 'turnOn')

 

Lien vers le commentaire
Partager sur d’autres sites

j'ai tester la telecommande avec une scene bloc et ça fonctionne 

hc3-1.JPG.5dab386b4c826420a6ae7a0f5c3b1884.JPG

 

et concerti en code LUA

{
  conditions = { {
      id = 87,
      isTrigger = true,
      operator = "==",
      property = "sceneActivationEvent",
      type = "device",
      value = 1
    } },
  operator = "all"
}

 

action

 

local sa = tonumber(json.encode(sourceTrigger.value))

i then use the statements:
 
if (sa == 1) then fibaro.call(107, 'setValue', 2) end

mai ça ne fonctionne pas 

 

Lien vers le commentaire
Partager sur d’autres sites

deja tester  ça fonctionne

 

sur bouton 2 par exemple

{
  conditions = { {
      id = 87,
      isTrigger = true,
      operator = "==",
      property = "sceneActivationEvent",
      type = "device",
      value = 2
    } },
  operator = "all"
}


----ACTION----


fibaro.call(107, 'setValue', 50)

 

Modifié par 971jmd
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...