jjacques68 598 Signaler ce message Posté(e) 8 mars 2020 Hello tout le mode ! On a visiblement plus le getSourceTrigger dans la HC3 du coup pour une scène qui a comme trigger ce genre de chose : { operator = "any", conditions = { { type = "device", id = 10, property = "value", operator = "==", value = true, isTrigger = true }, { type = "device", id = 12, property = "value", operator = "==", value = true, isTrigger = true } } } et qu’on cherche à savoir qui à déclenché la scène ? comment fait-on ? merciiiii ! Partager ce message Lien à poster Partager sur d’autres sites
Krikroff 1 924 Signaler ce message Posté(e) 8 mars 2020 Le GetSourceTrigger est remplacé par sourceTrigger accessible directement dans le global LUA. Voici un code qui devrait t'aider à mieux comprendre le fonctionnement, do local trigger = sourceTrigger print("property:"..trigger.property) -- ex: "centralSceneEvent", "value" etc... print("id:"..trigger.id) -- l' ID de la condition. ex: 12 print("type:"..trigger.type) -- le type déclaré dans la condition ex: "device" for key,value in pairs(trigger.value) do print(key ..": ".. value) -- toutes les valeurs déclarées lorsqu'elles existent end end ex: pour une KEYFOB Fibaro / centralSceneEvent cela devrait donner quelque chose comme cela pour capter l'appui sur la touche "rond" local trigger = sourceTrigger if (trigger.property == "centralSceneEvent") then print("id:"..trigger.id) print("type:"..trigger.type) for key,value in pairs(trigger.value) do print(key ..": ".. value) end if (trigger.value.keyId==2) then print("Circle button "..trigger.value.keyAttribute) end end Dites-moi 3 Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 598 Signaler ce message Posté(e) 8 mars 2020 yes !! merci @Krikroff ! ça marche nickel ! Mais où as tu ces informations, elles ne sont pas renseignées dans les pages d'aide de Fibaro ? Partager ce message Lien à poster Partager sur d’autres sites
Krikroff 1 924 Signaler ce message Posté(e) 8 mars 2020 Une grande partie des informations existent bien ici https://manuals.fibaro.com/home-center-3-lua-scenes/ Dans la doc: Citation sourceTrigger The variable stores the trigger object that started the scene. It results directly from the triggers defined in the previous section, but is extended by a manual start. Type of the trigger is identified by type property, which can be one of the following: ... Examples values of sourceTrigger variable. Citation json.encode json.encode(table) Convert Lua table to the text represented in JSON format. Parameters: table – Lua table Examples: Display sourceTrigger in the debug console. fibaro.debug("", json.encode(sourceTrigger)) ensuite il faut extrapoler et rétro-ingéniérer et croiser les doigts Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 598 Signaler ce message Posté(e) 8 mars 2020 ben j'avais vu ça... mais alors faut vachement extrapoler... Partager ce message Lien à poster Partager sur d’autres sites
Krikroff 1 924 Signaler ce message Posté(e) 8 mars 2020 Oui mais moi j’aime ça 4 Partager ce message Lien à poster Partager sur d’autres sites
idomotique 27 Signaler ce message Posté(e) 2 mai 2020 Hello, Merci pour cet exemple mais est ce que qqn à réussi à faire un déclancheur avec une Keyfob? même en utilisant le code généré automatiquement par Fibaro je n'arrive pas à déclancher la scène: { conditions = { { id = 569, isTrigger = true, operator = "==", property = "centralSceneEvent", type = "device", value = {keyAttribute = "Pressed", keyId = 1} } }, operator = "all" } QQn à une idée? Partager ce message Lien à poster Partager sur d’autres sites
Krikroff 1 924 Signaler ce message Posté(e) 2 mai 2020 Je pense que tu pourrais essayer un truc du genre pour gérer toutes les actions de ton keyfob dans une même scène { operator = "all", conditions = {{ id = 569, isTrigger = true, operator = "anyValue", property = "centralSceneEvent", type = "device" }} } Ensuite dasn ton LUA: 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==2) then trace("Circle button "..trigger.value.keyAttribute) end -- etc... end Partager ce message Lien à poster Partager sur d’autres sites
idomotique 27 Signaler ce message Posté(e) 2 mai 2020 Hello, merci pour ta réponse. J'ai déjà essayé cela mais impossible de faire fonctionner le trigger, tu as testé? salutations Partager ce message Lien à poster Partager sur d’autres sites
Krikroff 1 924 Signaler ce message Posté(e) 2 mai 2020 Ah bas non.. mais logiquement cela devrait fonctionner, tu es certain de l’IDEnvoyé de mon iPhone en utilisant Tapatalk Partager ce message Lien à poster Partager sur d’autres sites
idomotique 27 Signaler ce message Posté(e) 2 mai 2020 Oui justement "logiquement" ça devrait fonctionner. Quand je fais la scène depuis la télécommande en block ca fonctionne. Si je la transforme en lua sans rien modifier ca ne fonctionne plus . C'est pour ça que j aimerais savoir si qqn a testé. Partager ce message Lien à poster Partager sur d’autres sites
Krikroff 1 924 Signaler ce message Posté(e) 2 mai 2020 Je pense que tout simplement ta scène est en Manuel et pas en auto, tu devrais vérifier 1 Partager ce message Lien à poster Partager sur d’autres sites
idomotique 27 Signaler ce message Posté(e) 2 mai 2020 ahhhh quelle connerie, j'ai pas vu cela. en effet lors de la conversion en lua la scène est mise en manuel automatiquement. Merci. 1 Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 598 Signaler ce message Posté(e) 21 mai 2020 bonne question... Sinon tu te fais un QA et dedans tu startes les scènes que tu veux au boot... Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 598 Signaler ce message Posté(e) 21 mai 2020 bah pourquoi pas... tu centralises le tout dans un QA... Partager ce message Lien à poster Partager sur d’autres sites
Krikroff 1 924 Signaler ce message Posté(e) 21 mai 2020 Il y a 5 heures, mprinfo a dit : comment on fait pour que les scenes ce lance au démarrage de la box j’ai bien mis démarrage auto mais ça ne fonctionne il y a quelque chose a mettre dans condition ? https://manuals.fibaro.com/home-center-3-lua-scenes/ Gateway startup For gateway startup, the interpretation of conditions fields is as follows: type – takes value "se-start". property – takes value "start". value – takes value "true". operator – takes one of these values: "==" – are the values the same "!=" – are the values different isTrigger – is the condition also a trigger: true – is a trigger (recommended) false – is only a condition (default) Examples:Trigger on every startup. { type = "se-start", property = "start", operator = "==", value = true, isTrigger = true } 1 Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 598 Signaler ce message Posté(e) 21 mai 2020 zut pas vu ça... Partager ce message Lien à poster Partager sur d’autres sites
Krikroff 1 924 Signaler ce message Posté(e) 21 mai 2020 Qui reboot son HC3 pour tester ? 2 Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 598 Signaler ce message Posté(e) 21 mai 2020 hop je teste... Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 598 Signaler ce message Posté(e) 21 mai 2020 merde j'ai foiré le print(...) dans la scène, l'ai pas vu passé, bon on re boot encore une fois... 1 Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 598 Signaler ce message Posté(e) 21 mai 2020 marrant j'ai mis un fibaro.warning() pour voir le déclenchement au démarrage, et je le vois pas passer... Peut être que c'est parce que il passe avant que j'ouvre la fenêtre de debug... Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 598 Signaler ce message Posté(e) 21 mai 2020 ben c'est ce que je viens de faire, et bien vous savez que ça marche pas chez moi !! Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 598 Signaler ce message Posté(e) 21 mai 2020 nan je confirme ça marche pas. Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 598 Signaler ce message Posté(e) 21 mai 2020 mouai c'est ok. [21.05.2020] [17:00:47] [WARNING] [SCENE6545]: démarrage Je viens de capter que j'utilisais un QA perso pour envoyer les notifications. Et visiblement les scènes sont lancées AVANT l'init des QA, donc forcément, ça passait pas. J'ai fait un push avec fibaro.alert() et ça a marché. Pour les traces que je ne voyais pas dans le debug, je les mettaient après l'appel du QA donc ça bloquais j'imagine... enfin j'extrapole là... enfin ça voudrait dire qu'il ne faut pas faire d'appels aux QA dans une scène en autostart ! ça risque de ne pas marcher... Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 598 Signaler ce message Posté(e) 21 mai 2020 c'est pas top en effet... suis d'accord ben d'après le debug ça se joue à quelques milli secondes... si vraiment il le fallait, un setTimeout et puis c'est réglé... Partager ce message Lien à poster Partager sur d’autres sites