Franco268 Posté(e) le 15 octobre 2022 Signaler Posté(e) le 15 octobre 2022 Bonjour, J'ai développé un petit QA qui permet d'activé ou de désactiver l'envoi de notifications lorsque ma boite au lettre s'ouvre. Voici une image qui je pense vous fera comprendre les détails: J'ai programmé le paramétrage (activé, désactivé, désactivé temporairement) et j'arrive à l'étape de détecter l'ouverture de la boite aux lettre, puis d'envoyer ou non la notification. Sur ma HC2, j'avais fait un VD similaire qui aller activer (ou non) une scène. Est il possible de tout faire dans le QA sous HC3? Je voudrai savoir comment détecter l'ouverture de la boite aux lettre sans devoir faire une loop de scrutation. Est ce possible? Merci pour votre aide Franco
jojo Posté(e) le 15 octobre 2022 Signaler Posté(e) le 15 octobre 2022 Utilises-tu GEA ? le plus simple selon moi, serait d'appeler la fonction du QA, sur condition gérée par GEA.
Franco268 Posté(e) le 18 octobre 2022 Auteur Signaler Posté(e) le 18 octobre 2022 Non je n'utilise pas GEA? Si tu proposes une alternative... cela veut dire qu'il n'existe pas de déclencheur/event basé sur des appareils dans les QA?
Cardane Posté(e) le 18 octobre 2022 Signaler Posté(e) le 18 octobre 2022 tu peux générer un event dans ton QA lors de la détection de l'ouverture de la boite. Tu peux ensuite utiliser cet event dans GEA par exemple ou comme n'importe quelle autre condition
jojo Posté(e) le 19 octobre 2022 Signaler Posté(e) le 19 octobre 2022 Il y a 19 heures, Franco268 a dit : Si tu proposes une alternative... cela veut dire qu'il n'existe pas de déclencheur/event basé sur des appareils dans les QA? j'ai proposé cette alternative, car je ne connais pas d'autre solution. Mais @Cardane parle d'event, mais je ne sais pas comment le mettre en oeuvre. => @Cardane, je serais également intéressé pas un petit exemple (simple SVP), car je sais que le code de GEA le fait déjà.
Franco268 Posté(e) le 19 octobre 2022 Auteur Signaler Posté(e) le 19 octobre 2022 @Cardane comme @jojo je suis intéressé. C'est exactement ce que je voudrais faire.
Cardane Posté(e) le 20 octobre 2022 Signaler Posté(e) le 20 octobre 2022 hello @jojo et @Franco268, dans un QA il suffit d'appeler la fonction hub.emitCustomEvent(""), avec le nom de l'event que vous désirez entre les "". ca génère un event qui peut être capté dans les conditions d'une scène par exemple, ou pas GEA vous pouvez regarder dans mon QA Dans and Dusk, j'utilise ca pour générer un event à chaque phase de la journée. IL faut aussi définir ces event dans l'onglet Évènement (encore que, il semble que ce ne soit plus nécessaire mais c'est plus propre) ensuite dans GEA vous pouvez capter l'event comme ca : GEA.add({"CustomEvent", "onCivilDusk"}, -1, "ferme tenture droite à Civil Dusk", {"Close", 199, 100}) Citation 1
jojo Posté(e) le 20 octobre 2022 Signaler Posté(e) le 20 octobre 2022 Il y a 8 heures, Cardane a dit : IL faut aussi définir ces event dans l'onglet Évènement (encore que, il semble que ce ne soit plus nécessaire mais c'est plus propre) Merci, je vais regarder ,à tout cela en détail. Perso, si tout est géré dans le QA, je préfère, et ça doit être possible (cfr GEA avec -1)
jojo Posté(e) le 20 octobre 2022 Signaler Posté(e) le 20 octobre 2022 en fait, de ce que j'ai compris du QA, c'est qu'il crée un event qui pourra ensuite être utilisé dans une scène ou dans GEA. En fait, ce qu'on (que je) voudrait (s), c'est le contraire : Une méthode d'un QA qui se lance sur base d'un event, soit a été préalablement défini dans la section Evénements/Général; soit (encore mieux) a été définit préalablement dans le code LUA du QA (fonction onInit() ?) Je suis persuadé que c'est possible, car GEA le fait (mais je n'ai pas les compétences pour faire le reverse engineering) ... Est-ce plus clair ?
Franco268 Posté(e) le 21 octobre 2022 Auteur Signaler Posté(e) le 21 octobre 2022 Oui je confirme, le besoin est celui exprimé par Jojo. On est d'accord, ce que propose Cardane est de déclenché une fonction QA à partir d'une scène. C'est ça?
jojo Posté(e) le 21 octobre 2022 Signaler Posté(e) le 21 octobre 2022 en fait le QA se lance automatiquement toutes les nuits pour aller chercher sur un site un certain nombres d'infos (lever/coucher soleil, aube/crépuscule, ...) et créer (s'ils n'existent pas déjà) les événements qui pourront servir de déclencheurs dans des Scènes ou GEA, mais PAS (d'après ce que j'ai compris) pour lancer une méthode (fonction) d'un QA.
jang Posté(e) le 23 octobre 2022 Signaler Posté(e) le 23 octobre 2022 If you want "sourceTriggers" in your QA you can use https://forum.fibaro.com/topic/62600-detect-keyid-andor-keyattribute-in-a-qa-loop-from-a-device/?do=findComment&comment=255490 Ex. for customEvents function QuickApp:sourceTrigger(event) -- callback for subscribed events print("Event:",event.name) end function QuickApp:onInit() self:debug("Started") self:clearSubscriptions() -- Every restart, re-subscribe self:subscribe({type='custom-event', name='E1'}) -- Subscribe to custom event self:subscribe({type='custom-event', name='E2'}) -- Subscribe to custom event end ----------- Helper functions -------------- function QuickApp:clearSubscriptions() self:setVariable('TRIGGER_SUB',{}) end function QuickApp:subscribe(event) local s = self:getVariable('TRIGGER_SUB') if type(s)~='table' then s = {} end s[#s+1]=event self:setVariable('TRIGGER_SUB',s) end 1 1
jojo Posté(e) le 23 octobre 2022 Signaler Posté(e) le 23 octobre 2022 I knew you would react and propose a solution. Now, I "just" have to try to understand how to implement it at home => thank you !
Franco268 Posté(e) le 23 octobre 2022 Auteur Signaler Posté(e) le 23 octobre 2022 @jang thank you, I will study you post. First reading wasn’t enough to understand lol
TitiXsi Posté(e) le 12 février Signaler Posté(e) le 12 février (modifié) Hello jang, I am looking about your code bellow. Le 23/10/2022 à 09:29, jang a dit : If you want "sourceTriggers" in your QA you can use https://forum.fibaro.com/topic/62600-detect-keyid-andor-keyattribute-in-a-qa-loop-from-a-device/?do=findComment&comment=255490 Ex. for customEvents function QuickApp:sourceTrigger(event) -- callback for subscribed events print("Event:",event.name) end function QuickApp:onInit() self:debug("Started") self:clearSubscriptions() -- Every restart, re-subscribe self:subscribe({type='custom-event', name='E1'}) -- Subscribe to custom event self:subscribe({type='custom-event', name='E2'}) -- Subscribe to custom event end ----------- Helper functions -------------- function QuickApp:clearSubscriptions() self:setVariable('TRIGGER_SUB',{}) end function QuickApp:subscribe(event) local s = self:getVariable('TRIGGER_SUB') if type(s)~='table' then s = {} end s[#s+1]=event self:setVariable('TRIGGER_SUB',s) end I have a quickapp with a button "Refresh", this Button is getting some consumption metering but I need to synchronize this Get to an external custom event. I have search but not found how to wait the event after the push button I want someting like this : function QuickApp:uiRefreshOnR(event) -- 12.02.2024 - Titi try to add an event on each changes of Conso Live (Enphase_MeterTotalConsumptionPower_Updated) wait(self:sourceTrigger("Enphase_MeterTotalConsumptionPower_Updated")) <- must be addapt -- then execute the refresh self:Refresh() end Have you any idea ? Edit: Probably more simple the event can be : - a custom event generated by another QA (already generated) or - a changes of the value for a dedicated device Modifié le 12 février par TitiXsi
jang Posté(e) le 13 février Signaler Posté(e) le 13 février What kind of animal is Conso Live (Enphase_MeterTotalConsumptionPower_Updated) that is expect to send an event/signal. Another QA? another zwave device? something else?
TitiXsi Posté(e) le 13 février Signaler Posté(e) le 13 février Il y a 1 heure, jang a dit : What kind of animal is Conso Live (Enphase_MeterTotalConsumptionPower_Updated) that is expect to send an event/signal. Another QA? another zwave device? something else? It's the name of my custom event
Messages recommandés