EventRunner

User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1063
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

12 Jul 2020, 17:24

@jang
Ett stort tack för din hjälp. Nu har jag kommit igång med några enkla regler i ER4 som en test, och det funkar bra.
Men så var det det här med triggers....

I ER3 har jag två Minimote fjärrkontroller där jag har följande rader i Headern
19 sceneActivation
21 sceneActivation

Men det finns ju inget (Conditions/Triggers)-fönster i en QA, så var skall dessa ligga då? Skall jag skapa en tom scen där dessa triggers placeras, en scen som kommunicerar med ER4 på något vis??
Jag ser att du har en Keyfob som exempel i din kod, men ingen trigger.
HC3 med ER4 , 2 st HC2 4.600 med ER 3
jang
Medlem
Posts: 262
Joined: 05 Jan 2014, 00:44
Location: Stockholm

12 Jul 2020, 20:54

Nej, det är det fiffiga - i QA behöver du inte deklarera några triggers. ER4 sätter upp en lyssnare på alla event i systemet och får de automatiskt.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1063
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

13 Jul 2020, 15:36

jang wrote:
12 Jul 2020, 20:54
Nej, det är det fiffiga - i QA behöver du inte deklarera några triggers. ER4 sätter upp en lyssnare på alla event i systemet och får de automatiskt.
Ja, vad skall man säga..., du har överträffat dig själv, igen :D

Triggern känner av min Minimote, men QA kraschar när jag trycker på någon av knapparna.
Har jag skrivit regeln fel, eller är det något annat som strular?
Så här ser deklaration och regler ut:

Code: Select all

 HT = { 
    minimote = 49,
    lightTBK = 35,
    lightAeon = 37
    }

-- MINIMOTE REMOTE -----------------------------------------
  rule("minimote:scene==1 => lightAeon:on")     -- Tänd Aeon
  rule("minimote:scene==2 => lightAeon:off")    -- Släck Aeon
  rule("minimote:scene==3 => lightTBK:on")	-- Tänd TBK
  rule("minimote:scene==4 => lightTBK:off")	-- Släck TBK
Och här är debugen...
[2020-07-13] [15:25:00] [DEBUG] [QUICKAPP46]: -------------------------------------- EventRunner4, (ID:46) --------------------------------------
[2020-07-13] [15:25:00] [TRACE] [QUICKAPP46]: Events 0.2, fix3
[2020-07-13] [15:25:00] [TRACE] [QUICKAPP46]: IP address:192.168.1.26
[2020-07-13] [15:25:00] [TRACE] [QUICKAPP46]: Setting up device support..
[2020-07-13] [15:25:00] [TRACE] [QUICKAPP46]: Setting up event engine..
[2020-07-13] [15:25:00] [TRACE] [QUICKAPP46]: Setting up remote support..
[2020-07-13] [15:25:00] [TRACE] [QUICKAPP46]: Setting up autopatch support..
[2020-07-13] [15:25:00] [TRACE] [QUICKAPP46]: Setting up EventScript support..
[2020-07-13] [15:25:00] [TRACE] [QUICKAPP46]: Sunrise:04:27, Sunset:21:56
[2020-07-13] [15:25:00] [DEBUG] [QUICKAPP46]: ------------------------------------- Setting up rules (main) -------------------------------------
[2020-07-13] [15:25:00] [DEBUG] [QUICKAPP46]: Rule:1[minimote:scene==1 => lightAeon:on] = OK
[2020-07-13] [15:25:00] [DEBUG] [QUICKAPP46]: Rule:2[minimote:scene==2 => lightAeon:off] = OK
[2020-07-13] [15:25:00] [DEBUG] [QUICKAPP46]: Rule:3[minimote:scene==3 => lightTBK:on] = OK
[2020-07-13] [15:25:00] [DEBUG] [QUICKAPP46]: Rule:4[minimote:scene==4 => lightTBK:off] = OK
[2020-07-13] [15:25:00] [DEBUG] [QUICKAPP46]: --------------------------------------------- Running ---------------------------------------------
[2020-07-13] [15:25:00] [TRACE] [QUICKAPP46]: Polling for triggers..
[2020-07-13] [15:25:12] [ERROR] [QUICKAPP46]: QuickApp crashed
[2020-07-13] [15:25:12] [ERROR] [QUICKAPP46]: line: 2496 attempt to index a nil value (field 'activation')

@jang ett nytt test idag gav lite mer info med fibaro.call

[2020-07-14] [08:57:09] [TRACE] [QUICKAPP46]: Polling for triggers..
[2020-07-14] [09:00:32] [DEBUG] [QUICKAPP46]: fibaro.call(37,"turnOn") => nil
[2020-07-14] [09:00:33] [ERROR] [QUICKAPP46]: QuickApp crashed
[2020-07-14] [09:00:33] [ERROR] [QUICKAPP46]: line: 2496 attempt to index a nil value (field 'activation')
HC3 med ER4 , 2 st HC2 4.600 med ER 3
jang
Medlem
Posts: 262
Joined: 05 Jan 2014, 00:44
Location: Stockholm

14 Jul 2020, 10:26

Hej, jag har ingen 'sceneActivation' device numera så jag hade en bug i ER4.
Tyvärr verkar det som om eventformatet har ändrats mellan HC2 och HC3 så jag är lite osäker vad som är korrekt.
Jag har lagt upp en ny version av EventRunner4 på min GitHub (fix4) https://github.com/jangabrielsson/EventRunner som kanske funkar med sceneActivation

Kan du modifiera regeln såhär och testa och posta log meddelande. Jag är intresserad av hur hela sceneActivation eventet ser ut nuförtiden.

Code: Select all

 rule("minimote:scene==1 => log('Activation:%s',env.event); lightAeon:on")     -- Tänd Aeon
 
Om den inte triggar så kan du prova

Code: Select all

 rule("minimote:scene => log('Activation:%s',env.event)") 
 
...så att vi får se eventet.
P.S Vilka filformat får man attacha till en post? Gick inte att lägga upp .fqa verkar det som.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1063
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

14 Jul 2020, 13:26

@jang
Fix 4 fungerar med Minimote. Nedan är loggen för tänd Aeon och sedan släck Aeon.
Beträffande filformatet som inte kan bifogas så är det bästa att "Zippa" filen. ".fqa" kanske räknas till kategorin skadlig kod, men det borde inte gälla din kod :D

[2020-07-14] [13:15:38] [DEBUG] [QUICKAPP46]: -------------------------------------- EventRunner4, (ID:46) --------------------------------------
[2020-07-14] [13:15:38] [TRACE] [QUICKAPP46]: Events 0.2, fix4
[2020-07-14] [13:15:38] [TRACE] [QUICKAPP46]: IP address:192.168.1.26
[2020-07-14] [13:15:38] [TRACE] [QUICKAPP46]: Setting up device support..
[2020-07-14] [13:15:38] [TRACE] [QUICKAPP46]: Setting up event engine..
[2020-07-14] [13:15:38] [TRACE] [QUICKAPP46]: Setting up remote support..
[2020-07-14] [13:15:38] [TRACE] [QUICKAPP46]: Setting up autopatch support..
[2020-07-14] [13:15:38] [TRACE] [QUICKAPP46]: Setting up EventScript support..
[2020-07-14] [13:15:38] [TRACE] [QUICKAPP46]: Sunrise:04:28, Sunset:21:54
[2020-07-14] [13:15:38] [DEBUG] [QUICKAPP46]: ------------------------------------- Setting up rules (main) -------------------------------------
[2020-07-14] [13:15:38] [DEBUG] [QUICKAPP46]: Rule:1[minimote:scene==1 => log('Activation:%s',env.event); lightAeon:on] = OK
[2020-07-14] [13:15:38] [DEBUG] [QUICKAPP46]: Rule:2[minimote:scene==2 => log('Activation:%s',env.event); lightAeon:off] = OK
[2020-07-14] [13:15:38] [DEBUG] [QUICKAPP46]: Rule:3[minimote:scene==3 => lightTBK:on] = OK
[2020-07-14] [13:15:38] [DEBUG] [QUICKAPP46]: Rule:4[minimote:scene==4 => lightTBK:off] = OK
[2020-07-14] [13:15:38] [DEBUG] [QUICKAPP46]: --------------------------------------------- Running ---------------------------------------------
[2020-07-14] [13:15:38] [TRACE] [QUICKAPP46]: Polling for triggers..
[2020-07-14] [13:15:38] [DEBUG] [QUICKAPP46]: Posting {"type":"startup"} at Tue Jul 14 13:15:38
[2020-07-14] [13:16:00] [DEBUG] [QUICKAPP46]: [true]>>'Rule:1[minimote:scene==1 => log('Activation:%s',env.event); lightAeon:on]'
[2020-07-14] [13:16:00] [TRACE] [QUICKAPP46]: Activation:{"type":"device","id":49,"value":1,"data":{"deviceId":49,"sceneId":1,"name":""},"_sh":true,"property":"sceneActivationEvent"}
[2020-07-14] [13:16:00] [DEBUG] [QUICKAPP46]: fibaro.call(37,"turnOn") => nil
[2020-07-14] [13:16:00] [DEBUG] [QUICKAPP46]: [false]>>'Rule:2[minimote:scene==2 => log('Activation:%s',env.event); lightAeon:off]'
[2020-07-14] [13:16:00] [DEBUG] [QUICKAPP46]: [false]>>'Rule:3[minimote:scene==3 => lightTBK:on]'
[2020-07-14] [13:16:00] [DEBUG] [QUICKAPP46]: [false]>>'Rule:4[minimote:scene==4 => lightTBK:off]'
[2020-07-14] [13:16:06] [DEBUG] [QUICKAPP46]: [false]>>'Rule:1[minimote:scene==1 => log('Activation:%s',env.event); lightAeon:on]'
[2020-07-14] [13:16:06] [DEBUG] [QUICKAPP46]: [true]>>'Rule:2[minimote:scene==2 => log('Activation:%s',env.event); lightAeon:off]'
[2020-07-14] [13:16:06] [TRACE] [QUICKAPP46]: Activation:{"type":"device","id":49,"value":2,"data":{"deviceId":49,"sceneId":2,"name":""},"_sh":true,"property":"sceneActivationEvent"}
[2020-07-14] [13:16:06] [DEBUG] [QUICKAPP46]: fibaro.call(37,"turnOff") => nil
[2020-07-14] [13:16:06] [DEBUG] [QUICKAPP46]: [false]>>'Rule:3[minimote:scene==3 => lightTBK:on]'
[2020-07-14] [13:16:06] [DEBUG] [QUICKAPP46]: [false]>>'Rule:4[minimote:scene==4 => lightTBK:off]'
HC3 med ER4 , 2 st HC2 4.600 med ER 3
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1063
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

15 Jul 2020, 17:13

@jang vad är detta för något (ER4 fix 4)? Jag har inga enheter eller något annat med dessa ID, jag kör bara en test med Minimote enligt tidigare inlägg.
Det finns heller ingen regel med tiden 17:00, inga tidsregler över huvud taget.

[2020-07-15] [17:00:24] [DEBUG] [QUICKAPP46]: Unhandled event:{"data":{"id":219},"type":"RoomModifiedEvent"} -- please report
[2020-07-15] [17:00:24] [DEBUG] [QUICKAPP46]: Unhandled event:{"data":{"id":220},"type":"RoomModifiedEvent"} -- please report
[2020-07-15] [17:00:24] [DEBUG] [QUICKAPP46]: Unhandled event:{"data":{"id":221},"type":"RoomModifiedEvent"} -- please report
[2020-07-15] [17:00:24] [DEBUG] [QUICKAPP46]: Unhandled event:{"data":{"id":222},"type":"RoomModifiedEvent"} -- please report
[2020-07-15] [17:00:24] [DEBUG] [QUICKAPP46]: Unhandled event:{"data":{"id":223},"type":"RoomModifiedEvent"} -- please report
HC3 med ER4 , 2 st HC2 4.600 med ER 3
jang
Medlem
Posts: 262
Joined: 05 Jan 2014, 00:44
Location: Stockholm

15 Jul 2020, 21:24

RH_Dreambox wrote:
15 Jul 2020, 17:13
@jang vad är detta för något (ER4 fix 4)? Jag har inga enheter eller något annat med dessa ID, jag kör bara en test med Minimote enligt tidigare inlägg.
Det finns heller ingen regel med tiden 17:00, inga tidsregler över huvud taget
Det är bara ER4 som rapporterar att den ser ett event som den inte sett förut (och som det inte finns ngn handler för).
I nya versionen kommer det att finnas en flagga för att stänga av det. Men den kommer att vara på som default då jag gärna ser att folk rapporterar nya typer av event till mig. Fibaro har inte dokumenterat någonstans alla typer av event så det är lite osäkert vad som dyker upp.

Nåväl, jag har gjort lite framsteg så det kommer en ny version på fredag som har support för fler typer av event (inklusive 'RoomModifiedEvent') så vi bör se färre varningar.

Så ngn har modifierat ett antal rum (ändrat namn eller icon eller...) vilket har genererat ett 'RoomModifiedEvent'
jang
Medlem
Posts: 262
Joined: 05 Jan 2014, 00:44
Location: Stockholm

17 Jul 2020, 12:12

User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1063
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

17 Jul 2020, 16:59

@jang
Jag har lite problem med nya ER4 (0.2 fix1)
Mina Minimote slutade fungera i den versionen, och jag förstår inte riktigt vad du menar med att deklarera denna trigger separat.
Jag gjorde ett tafatt försök att skriva in sceneActivation på raden nedan, men det fungerade inte heller.
Skall den kanske inte heta sceneActivation?

Code: Select all

self:enableTriggerType({"device","global-variable","custom-event","sceneActivation"}) -- types of events we want
HC3 med ER4 , 2 st HC2 4.600 med ER 3
jang
Medlem
Posts: 262
Joined: 05 Jan 2014, 00:44
Location: Stockholm

17 Jul 2020, 21:21

Sorry, specialfixen för sceneActivationEvent följde inte med till senaste releasen.
Jag har lagt upp en v 0.3 fix3 där det borde funka.
...och du behöver bara deklarera "device" som trigger.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1063
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

18 Jul 2020, 09:37

@jang , är det inte tänkt så att man skall kunna ladda ned lua-koden av ER4 och kopiera över den gamla koden?
När jag gör på det sättet craschar QA med ett felmeddelande på den sista raden (require("QA_toolbox")).

[2020-07-18] [09:27:13] [ERROR] [QUICKAPP67]: QuickApp crashed
[2020-07-18] [09:27:13] [ERROR] [QUICKAPP67]: line: 1970 attempt to call a nil value (global 'require')

Att installera en ny QA varje gång medför att dess ID vandrar iväg på ett allt högre nummer. Det vore trevligt om jag kunde behållit samma låga ID som den fick första gången.

EDIT:
Såg nu att det var ToolBox-delen som saknades i Lua-koden, så vi glömmer detta tills vidare :-)
HC3 med ER4 , 2 st HC2 4.600 med ER 3
jang
Medlem
Posts: 262
Joined: 05 Jan 2014, 00:44
Location: Stockholm

18 Jul 2020, 14:15

Jag kommer snart att fixa autopatch funktionen- då löser det sig.
Jag är uppe i 1400+ i device nummer :D
jang
Medlem
Posts: 262
Joined: 05 Jan 2014, 00:44
Location: Stockholm

24 Jul 2020, 12:33

jang wrote:
18 Jul 2020, 14:15
Jag kommer snart att fixa autopatch funktionen- då löser det sig.
Jag är uppe i 1400+ i device nummer :D
Ok, ny version ute.
Med nya firmware så kan QuickApps bestå av flera filer. ER4 är uppdelad i 3 filer, main, EventRunner och Toolbox. Man lägger in sina reglerna i 'main' filen. De andra ska man inte behöva röra. Det finns dessutom ett exempel på en regel som kollar om det har kommit någon ny version av "EventRunner" eller "Toolbox" och en bortkommenterad regel som autopatchar dem isåfall.
Post Reply