Aller au contenu

Déclencheur Event QA HC3


Franco268

Messages recommandés

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:

image.png.4703bdf6d69701e90523f9ea653db46b.png

 

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

 

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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)

image.thumb.png.4a6d4e7d4e533e1d261053f026e5bcb7.png

 

 

ensuite dans GEA vous pouvez capter l'event comme ca :

 

    GEA.add({"CustomEvent""onCivilDusk"}, -1"ferme tenture droite à Civil Dusk", {"Close"199100})
 

 

 

Citation

 

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

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)

Lien vers le commentaire
Partager sur d’autres sites

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 ? 

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

 

  • Like 1
  • Thanks 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1 an après...

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é par TitiXsi
Lien vers le commentaire
Partager sur d’autres sites

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?

 

 

:2:

It's the name of my custom event ;)

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...