Aller au contenu
jjacques68

getSourceTrigger

Recommended Posts

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut et merci pour ton aide 

 

j’ai tester et pour le moment impossible d’enregistrer, il y a quel que chose qui vas pas.  
 

 

Partager ce message


Lien à poster
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))

 

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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))

 

Partager ce message


Lien à poster
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 = {}},  
  }    
}

 

Partager ce message


Lien à poster
Partager sur d’autres sites

oui c'est ça.

cette scène sera triggée lors du changement de status de ton device 89 et affichera l'événement qui a déclenché.

après je ne sais ce qu'est ton device 89 !

Partager ce message


Lien à poster
Partager sur d’autres sites

Une minimote

 

https://www.amazon.fr/Aeotec-Minimote-télécommande-blanc-DSA03202W-ZWEU/dp/B00JGT8EO0

 

Partager ce message


Lien à poster
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')

 

Partager ce message


Lien à poster
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 

 

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

non

 

j'ai 8 boutons sur la telecommande 

 

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

il que arrive récupéré la valeur du trigeur 

Partager ce message


Lien à poster
Partager sur d’autres sites

×