EventRunner

jang
Medlem
Posts: 117
Joined: 05 Jan 2014, 00:44
Location: Stockholm

26 May 2019, 11:30

Insåg att man vill kolla om ny version regelbundet och inte bara när scenen startar upp. Pushat ny version igen.
Nu ligger det 2 regler i main()

Code: Select all

  rule("@{catch,06:00} => Util.checkVersion()") -- Check for new version every morning at 6:00
  rule("#ER_version => log('New ER version, v:%s, fix:%s',env.event.version,env.event.fix))")
Den första kollar ny version kl 06:00 varje dag och om det finns postar ett event. Ändra till annan tid om det passar bättre.
Den andra regeln loggar om det finns ett nytt event. Kan kompletteras med en notifiering.
sonnyboy
Proffsmedlem
Posts: 632
Joined: 26 Sep 2013, 08:05
Location: Västerås

26 May 2019, 11:46

Får detta i loggen nu när jag la in nya.
[DEBUG] 11:38:44: 2019-05-26 11:38:44.238555 [ error] Handshake error: Bad file descriptor
Det är denna rad som påkallar detta

Code: Select all

rule("@{catch,06:00} => Util.checkVersion()") -- Check for new version every morning at 6:00
Kommenterar jag bort den raden så kommer inte error meddelandet.
Fibaro HomeCenter 2
Fw 4.550
BeyondMeasure 1.10
EventRunner
jang
Medlem
Posts: 117
Joined: 05 Jan 2014, 00:44
Location: Stockholm

26 May 2019, 13:19

sonnyboy wrote:
26 May 2019, 11:46
Får detta i loggen nu när jag la in nya.
[DEBUG] 11:38:44: 2019-05-26 11:38:44.238555 [ error] Handshake error: Bad file descriptor
Det är denna rad som påkallar detta

Code: Select all

rule("@{catch,06:00} => Util.checkVersion()") -- Check for new version every morning at 6:00
Kommenterar jag bort den raden så kommer inte error meddelandet.
Sorry, jag hade satt timeout för anropet till 1s när jag körde i min emulator på min PC och det gick bra.
Stackars HC2 behöver mer tid. Har pushat en ny version B49 där det är fixat.
sonnyboy
Proffsmedlem
Posts: 632
Joined: 26 Sep 2013, 08:05
Location: Västerås

26 May 2019, 15:50

jang wrote:
26 May 2019, 13:19
sonnyboy wrote:
26 May 2019, 11:46
Får detta i loggen nu när jag la in nya.
[DEBUG] 11:38:44: 2019-05-26 11:38:44.238555 [ error] Handshake error: Bad file descriptor
Det är denna rad som påkallar detta

Code: Select all

rule("@{catch,06:00} => Util.checkVersion()") -- Check for new version every morning at 6:00
Kommenterar jag bort den raden så kommer inte error meddelandet.
Sorry, jag hade satt timeout för anropet till 1s när jag körde i min emulator på min PC och det gick bra.
Stackars HC2 behöver mer tid. Har pushat en ny version B49 där det är fixat.
Nu funkar det som det ska :)
Tackar :D :D :D
Fibaro HomeCenter 2
Fw 4.550
BeyondMeasure 1.10
EventRunner
jang
Medlem
Posts: 117
Joined: 05 Jan 2014, 00:44
Location: Stockholm

26 May 2019, 17:46

På min GitHub där jag lägger upp koden till EventRunner finns en underkatalog som heter /scenesER
och där finns en scen some heter Supervisor.lua. Den är uppe i v2.0, fix B3.

Supervisor är ER baserad scen som ser till att hålla liv i andra ER scener. Den scannar alla installerade scener
och om de är ER baserade så börjar den pinga de i tur och ordning. Om någon inte svarar så försöker den
starta om scenen. Om scenen inte svarar på ping efter 3 omstarter så avaktiverar den scenen.
Jag utvecklade den här scenen när HC2:an var lite instabil men den har visat sig vara ganska bra att ha. Den kan notifiera till mobil om ngn scen strejkar (måste konfigureras i Supervisor.lua)

Iden är att utveckla Supervisor att göra fler saker, och nu har jag lagt till en början till log funktion.
Problemet med loggen i scenfönstret är att det finns inte kvar om scenen startar om, och dessutom skrivs det ofta data som inte är helt nödvändigt att spara där men gör att scenloggen blir full och automatiskt rensas (efter ca 500 rader).

Om man från en scen (med sceneID 4) ger kommandot

Code: Select all

  rule("88:isOn => publish(#ERLog{msg="Device 88 turned On"})")
så kommer det kommer att skrivas i loggen som

Code: Select all

["10:51:13/05/26/19","Scene:4","Device 88 turned On"],
Anta att man vill logga när ett antal device ändrar tillstånd

Code: Select all

devices = {hall.lamp,bedroom.lamp, kitchen.sensor} 
rule("devices:value => publish(#ERLog{msg=frm('%s=%s',idname(env.event.id),env.event.value)})")
Supervisor skriver loggen i en annan scen som skapas och heter "EventRunner Log". Den är normalt "hidden" men man kan ändra status på den om man alltid vill se den.
Den skriver upp till 2000 entries och sedan klipps den ner till 1000, och så börjar det om.
Om man öppnar scenen och tittar på koden så ser den ut som

Code: Select all

[
["10:51:13/05/26/19","Scene:4","Hello:455"],
["10:51:17/05/26/19","Scene:4","Hello:456"],
["10:51:21/05/26/19","Scene:4","Hello:457"],
["10:51:25/05/26/19","Scene:4","Hello:458"],
["10:51:29/05/26/19","Scene:4","Hello:459"],
["10:51:33/05/26/19","Scene:4","Hello:460"],
["10:51:37/05/26/19","Scene:4","Hello:461"],
["10:51:41/05/26/19","Scene:4","Hello:462"],
["10:51:45/05/26/19","Scene:4","Hello:463"],
["10:51:49/05/26/19","Scene:4","Hello:464"],
["10:51:53/05/26/19","Scene:4","Hello:465"],
["10:51:57/05/26/19","Scene:4","Hello:466"],
["10:52:01/05/26/19","Scene:4","Hello:467"],
["10:52:05/05/26/19","Scene:4","Hello:468"],
["10:52:09/05/26/19","Scene:4","Hello:469"]
]
RH_Dreambox
Proffsmedlem
Posts: 952
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

30 May 2019, 13:32

@Jang
Ding Dong fungerar inte i den senaste versionen.
Men kör jag i simulatorn så är den OK.
_version,_fix = "2.0","B53" -- May 30, 2019
EDIT:
Jag testade nu också Supervisor.lua men det gick inte så bra.
ER-scenen snurrar först som den skall, men när jag startar Supervisor-scenen så anser den att ER har stannat och försöker starta om ER.
ER ställs först om till Manuell och sedan stannar scenen helt!

Har jag missat något i konfigureringen där? Jag hittar inget som jag kan konfigurera.
2 st HC2 4.550
jang
Medlem
Posts: 117
Joined: 05 Jan 2014, 00:44
Location: Stockholm

30 May 2019, 14:40

RH_Dreambox wrote:
30 May 2019, 13:32
@Jang
Ding Dong fungerar inte i den senaste versionen.
Men kör jag i simulatorn så är den OK.
_version,_fix = "2.0","B53" -- May 30, 2019
EDIT:
Jag testade nu också Supervisor.lua men det gick inte så bra.
ER-scenen snurrar först som den skall, men när jag startar Supervisor-scenen så anser den att ER har stannat och försöker starta om ER.
ER ställs först om till Manuell och sedan stannar scenen helt!

Har jag missat något i konfigureringen där? Jag hittar inget som jag kan konfigurera.
Sorry, jag hade kvar lite debug kod i ding/dong regeln (_System.time), pushat B54 med uppdaterad regel.

Problemet med Supervisor låter sämre. Om inte ER svarar på PING från Supervisor så efter 2 ggr så sätter Supervisor scenen till Manuell (för att inte försöka pinga den igen). Jag har nyligen pushat en ny version av Supervisor (B7). Kan du köra den och se vad du får för log?
RH_Dreambox
Proffsmedlem
Posts: 952
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

30 May 2019, 15:09

Problemet med Supervisor låter sämre. Om inte ER svarar på PING från Supervisor så efter 2 ggr så sätter Supervisor scenen till Manuell (för att inte försöka pinga den igen). Jag har nyligen pushat en ny version av Supervisor (B7). Kan du köra den och se vad du får för log?
Tyvärr så blev det samma resultat. Men kan det vara den här raden som ställer till det? ID11 i HC2 är "Storgaraget" dvs. ett rum.
if dofile and not _EMULATED then _EMBEDDED={name="EventRunner", id=11} dofile("HC2.lua") end
ER Supervisor.JPG
2 st HC2 4.550
jang
Medlem
Posts: 117
Joined: 05 Jan 2014, 00:44
Location: Stockholm

30 May 2019, 15:24

RH_Dreambox wrote:
30 May 2019, 15:09
Tyvärr så blev det samma resultat. Men kan det vara den här raden som ställer till det? ID11 i HC2 är "Storgaraget" dvs. ett rum.
if dofile and not _EMULATED then _EMBEDDED={name="EventRunner", id=11} dofile("HC2.lua") end
ER Supervisor.JPG
"if dofile..." kör bara i emulatorn - men din screenshot var från HC2:an eller hur?
Den får inget svar från scenen med ID 1 enligt din screenshot, vilken version av ER kör den scene 1? Hur ser det ut i loggen för den? (har den kraschat?)
RH_Dreambox
Proffsmedlem
Posts: 952
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

30 May 2019, 15:51

"if dofile..." kör bara i emulatorn - men din screenshot var från HC2:an eller hur?
Den får inget svar från scenen med ID 1 enligt din screenshot, vilken version av ER kör den scene 1? Hur ser det ut i loggen för den? (har den kraschat?)
Ja jag kör scenen (B53) i HC2.
ER fungerar helt normalt utan störningar, tills Supervisor stänger ned den.
ER B53.JPG
2 st HC2 4.550
jang
Medlem
Posts: 117
Joined: 05 Jan 2014, 00:44
Location: Stockholm

01 Jun 2019, 10:27

RH_Dreambox wrote:
30 May 2019, 15:51
Ja jag kör scenen (B53) i HC2.
ER fungerar helt normalt utan störningar, tills Supervisor stänger ned den.
ER B53.JPG
Jag har jagat det här problemet i Fibaro forumet där Sjakie hade liknande problem. Hans problem visade sig vara ett överlastat system och hans fungerar nu. Ditt verkar inte överlastat (tiderna i ER loggen ser ok ut). Hur ser loggen ut i Supervisor när den stänger ner din ER scen? Btw, det finns en B7 av Supervisor nu.
RH_Dreambox
Proffsmedlem
Posts: 952
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

01 Jun 2019, 12:14

Jag har jagat det här problemet i Fibaro forumet där Sjakie hade liknande problem. Hans problem visade sig vara ett överlastat system och hans fungerar nu. Ditt verkar inte överlastat (tiderna i ER loggen ser ok ut). Hur ser loggen ut i Supervisor när den stänger ner din ER scen? Btw, det finns en B7 av Supervisor nu.
Top
Jag kör de senaste versionerna av både ER och Supervisor.
Nu senast så testade jag att stänga av videokameran och jag inaktiverade alla andra scener utom ER, men det blev samma resultat.
I ett sista försök så aktiverade jag scener samt videokamera igen.

CPU-belastningen loggades som du ser på bild nedan.
Jag kan inte se något onormalt i belastningen mer än att då jag tidigare körde LUAscheduler så var belastningen sällan över 20%.
Loggen från ER-scenen är nedklippt, men visar vad som händer från andra till tredje startförsöket.
EDIT:
Notera att Supervisor fungerar lika på båda mina HC2.
Den ena sköter bara lite belysning och den andra sköter bevattning , har lite klimatsensorer men i övrigt ingen hög belastning.

CPU-belastning under testet
Belastning CPU.jpg
Logg från Supervisor
ER Supervisor.JPG
Del av slutet på loggen i ER

Code: Select all

[DEBUG] 11:23:20: Incoming event:{"_from":6,"type":"%%PING%%"}
[DEBUG] 11:23:20: fibaro:startScene(6,{"_sh":true,"type":"%%PONG%%","_from":1})
[DEBUG] 11:23:21: Ding!
[DEBUG] 11:23:26: Dong!
[DEBUG] 11:23:31: Ding!
[DEBUG] 11:23:36: Dong!

Supervisors andra försök att starta om EventRunner

[DEBUG] 11:23:40: Garaget - EventRunner v2.0 B54
[DEBUG] 11:23:40: Fibaro software version: 4.543
[DEBUG] 11:23:40: HC2 uptime: 1 hours
[DEBUG] 11:23:41: Sunrise 04:16, Sunset 21:52
[DEBUG] 11:23:41: Hue system inited (experimental)
[DEBUG] 11:23:41: 
[DEBUG] 11:23:41: Loading rules
[DEBUG] 11:23:41: Rule:1:@sunrise => $TimeOfDay = 'Gryning'
[DEBUG] 11:23:41: Rule:2:@10:15 => $TimeOfDay = 'Dag'
[DEBUG] 11:23:41: Rule:3:@sunset => $TimeOfDay = 'Skymning'
[DEBUG] 11:23:41: Rule:4:@00:00 => $TimeOfDay = 'Natt'
[DEBUG] 11:23:41: Rule:5:@06:45 => $SleepState = 'Vaken'
[DEBUG] 11:23:41: Rule:6:@23:00 => $SleepState = 'Sover'
[DEBUG] 11:23:41: Catching up:@{catch,00:00} => 
[DEBUG] 11:23:41: $WeekDay=days[osdate('*t').wday];
[DEBUG] 11:23:41: $Month=months[osdate('*t').month];
[DEBUG] 11:23:41: || month('nov-mar') >> $Season='Vinter'
[DEBUG] 11:23:41: || month('apr-may') >> $Season='Vår'
[DEBUG] 11:23:41: || month('jun-jul') >> $Season='Sommar'
[DEBUG] 11:23:41: || month('aug-oct') >> $Season='Höst'
[DEBUG] 11:23:41: Rule:7:@{catch,00:00} => 
[DEBUG] 11:23:41: Rule:8:@15:00 => $TTS = 'Viktigt meddelande. Klockan är tre, och det är dax för en r
[DEBUG] 11:23:41: Rule:9:@07:10 & wday('tue') & wnum%2 == 1 => $TTS = 'Viktigt meddelande. Idag skall du 
[DEBUG] 11:23:41: Rule:10:@07:20 & wday('tue') & wnum%2 == 1 => $TTS = 'Viktigt meddelande. Glöm inte sop
[DEBUG] 11:23:41: Rule:11:@06:46 & sunrise > 06:46 => sovrum.lampa:on
[DEBUG] 11:23:41: Rule:12:@06:36 => scen.vakna:start
[DEBUG] 11:23:41: Catching up:@{catch,sunrise} => sovrum.lampa:off
[DEBUG] 11:23:41: Rule:13:@{catch,sunrise} => sovrum.lampa:off
[DEBUG] 11:23:41: Rule:14:@07:00 => sovrum.dim_lampa:off
[DEBUG] 11:23:41: Rule:15:@sunset => sovrum.lampa:on
[DEBUG] 11:23:41: Rule:16:@sunset => scen.kväll:start
[DEBUG] 11:23:41: Rule:17:@22:10 => scen.godnatt:start
[DEBUG] 11:23:41: Rule:18:@22:30 => sovrum.lampa:off
[DEBUG] 11:23:41: Rule:19:@06:30 & sunrise > 06:30 => arbetsrum.rh_dim:value = 50
[DEBUG] 11:23:41: Rule:20:@06:35 & sunrise > 06:35 => arbetsrum.yh_lampa:on
[DEBUG] 11:23:41: Catching up:@{catch,sunrise} => arbetsrum.rh_dim:off
[DEBUG] 11:23:41: Rule:21:@{catch,sunrise} => arbetsrum.rh_dim:off
[DEBUG] 11:23:41: Catching up:@{catch,sunrise} => arbetsrum.yh_lampa:off
[DEBUG] 11:23:41: Rule:22:@{catch,sunrise} => arbetsrum.yh_lampa:off
[DEBUG] 11:23:41: Rule:23:@sunset => arbetsrum.rh_dim:value = 50
[DEBUG] 11:23:41: Rule:24:@sunset => arbetsrum.yh_lampa:on
[DEBUG] 11:23:41: Rule:25:@22:30 => arbetsrum.rh_dim:off
[DEBUG] 11:23:41: Rule:26:@22:40 => arbetsrum.yh_lampa:off
[DEBUG] 11:23:41: Rule:27:@07:00 & sunrise > 07:00 => hall.lampa:on
[DEBUG] 11:23:41: Catching up:@{catch,sunrise} => hall.lampa:off
[DEBUG] 11:23:41: Rule:28:@{catch,sunrise} => hall.lampa:off
[DEBUG] 11:23:41: Rule:29:@sunset => hall.lampa:on
[DEBUG] 11:23:41: Rule:30:@22:30 => hall.lampa:off
[DEBUG] 11:23:41: Rule:31:@06:05 & sunrise > 06:05 => v_rum.lampa_vägen:on
[DEBUG] 11:23:41: Rule:32:@06:10 & sunrise > 06:10 => v_rum.lampa_söder:on
[DEBUG] 11:23:41: Rule:33:@06:15 & sunrise > 06:15 => v_rum.bänklampa:on
[DEBUG] 11:23:41: Catching up:@{catch,sunrise} => v_rum.lampa_vägen:off
[DEBUG] 11:23:41: Rule:34:@{catch,sunrise} => v_rum.lampa_vägen:off
[DEBUG] 11:23:41: Catching up:@{catch,sunrise} => v_rum.lampa_söder:off
[DEBUG] 11:23:41: Rule:35:@{catch,sunrise} => v_rum.lampa_söder:off
[DEBUG] 11:23:41: Catching up:@{catch,sunrise} => v_rum.bänklampa:off
[DEBUG] 11:23:41: Rule:36:@{catch,sunrise} => v_rum.bänklampa:off
[DEBUG] 11:23:41: Rule:37:@sunset => v_rum.lampa_vägen:on
[DEBUG] 11:23:41: Rule:38:@sunset-00:02 => v_rum.lampa_söder:on
[DEBUG] 11:23:41: Rule:39:@sunset-00:04 => v_rum.bänklampa:on
[DEBUG] 11:23:41: Rule:40:@sunset-00:10 => v_rum.barlampa:on
[DEBUG] 11:23:41: Rule:41:@{catch,22:05} => v_rum.bänklampa:off
[DEBUG] 11:23:41: Rule:42:@{catch,22:35} => v_rum.barlampa:off
[DEBUG] 11:23:41: Rule:43:@{catch,22:40} => v_rum.lampa_söder:off
[DEBUG] 11:23:41: Rule:44:@{catch,22:45} => v_rum.lampa_vägen:off
[DEBUG] 11:23:41: Rule:45:@06:00 & sunrise > 06:00 => kök.lampa:on
[DEBUG] 11:23:41: Catching up:@{catch,sunrise} => kök.lampa:off
[DEBUG] 11:23:41: Rule:46:@{catch,sunrise} => kök.lampa:off
[DEBUG] 11:23:41: Rule:47:@sunset => kök.lampa:on
[DEBUG] 11:23:41: Rule:48:@23:00 => kök.lampa:off
[DEBUG] 11:23:41: Rule:49:@06:42 & sunrise > 06:42 => bodega.lampa:on
[DEBUG] 11:23:41: Catching up:@{catch,sunrise} => bodega.lampa:off
[DEBUG] 11:23:41: Rule:50:@{catch,sunrise} => bodega.lampa:off
[DEBUG] 11:23:41: Rule:51:@sunset => bodega.lampa:on
[DEBUG] 11:23:41: Rule:52:@22:30 => bodega.lampa:off
[DEBUG] 11:23:41: Rule:53:@05:30 => tvättstugan.golvvärme:on
[DEBUG] 11:23:41: Rule:54:@21:30 => tvättstugan.golvvärme:off
[DEBUG] 11:23:41: Rule:55:@sunset => garaget.elstängsel:on
[DEBUG] 11:23:41: Rule:56:@sunrise => garaget.elstängsel:off
[DEBUG] 11:23:41: Rule:57:@sunset => storgaraget.lampa:on
[DEBUG] 11:23:41: Catching up:@{catch,sunrise} => storgaraget.lampa:off
[DEBUG] 11:23:41: Rule:58:@{catch,sunrise} => storgaraget.lampa:off
[DEBUG] 11:23:41: Rule:59:@sunset => växthuset.led_slinga:on
[DEBUG] 11:23:41: Catching up:@{catch,sunrise} => växthuset.led_slinga:off
[DEBUG] 11:23:41: Rule:60:@{catch,sunrise} => växthuset.led_slinga:off
[DEBUG] 11:23:41: start
[DEBUG] 11:23:41: Rule:61:@@00:00:05 => f=!f; || f >> log('Ding!') || true >> log('Dong!')
[DEBUG] 11:23:41: Catching up:@{catch,06:00} => Util.checkVersion()
[DEBUG] 11:23:41: Rule:62:@{catch,06:00} => Util.checkVersion()
[DEBUG] 11:23:41: Rule:63:#ER_version => log('New ER version, v:%s, fix:%s',env.event.version,env.event.fi
[DEBUG] 11:23:41: 
[DEBUG] 11:23:41: Scene running
[DEBUG] 11:23:41: fibaro:call(sovrum.lampa,"turnOff")
[DEBUG] 11:23:41: fibaro:call(arbetsrum.rh_dim,"turnOff")
[DEBUG] 11:23:41: fibaro:call(arbetsrum.yh_lampa,"turnOff")
[DEBUG] 11:23:41: fibaro:call(hall.lampa,"turnOff")
[DEBUG] 11:23:41: fibaro:call(v_rum.lampa_vägen,"turnOff")
[DEBUG] 11:23:41: fibaro:call(v_rum.lampa_söder,"turnOff")
[DEBUG] 11:23:41: fibaro:call(v_rum.bänklampa,"turnOff")
[DEBUG] 11:23:41: fibaro:call(kök.lampa,"turnOff")
[DEBUG] 11:23:41: fibaro:call(bodega.lampa,"turnOff")
[DEBUG] 11:23:41: fibaro:call(storgaraget.lampa,"turnOff")
[DEBUG] 11:23:41: fibaro:call(växthuset.led_slinga,"turnOff")
[DEBUG] 11:23:42: fibaro:startScene(6,{"type":"%%ANNOUNCE%%","_from":1})
[DEBUG] 11:23:42: Ding!
[DEBUG] 11:23:46: Dong!
[DEBUG] 11:23:51: Ding!
[DEBUG] 11:23:56: Dong!
[DEBUG] 11:24:01: Incoming event:{"_from":6,"type":"%%PING%%"}
[DEBUG] 11:24:01: fibaro:startScene(6,{"type":"%%PONG%%","_sh":true,"_from":1})
[DEBUG] 11:24:01: Ding!
[DEBUG] 11:24:06: Dong!
[DEBUG] 11:24:11: Ding!
[DEBUG] 11:24:16: Dong!
Här stängs ER-scenen ned.
2 st HC2 4.550
jang
Medlem
Posts: 117
Joined: 05 Jan 2014, 00:44
Location: Stockholm

01 Jun 2019, 12:32

RH_Dreambox wrote:
01 Jun 2019, 12:14
Jag har jagat det här problemet i Fibaro forumet där Sjakie hade liknande problem. Hans problem visade sig vara ett överlastat system och hans fungerar nu. Ditt verkar inte överlastat (tiderna i ER loggen ser ok ut). Hur ser loggen ut i Supervisor när den stänger ner din ER scen? Btw, det finns en B7 av Supervisor nu.
Top
Jag kör de senaste versionerna av både ER och Supervisor.
Nu senast så testade jag att stänga av videokameran och jag inaktiverade alla andra scener utom ER, men det blev samma resultat.
I ett sista försök så aktiverade jag scener samt videokamera igen.

CPU-belastningen loggades som du ser på bild nedan.
Jag kan inte se något onormalt i belastningen mer än att då jag tidigare körde LUAscheduler så var belastningen sällan över 20%.
Loggen från ER-scenen är nedklippt, men visar vad som händer från andra till tredje startförsöket.
EDIT:
Notera att Supervisor fungerar lika på båda mina HC2.
Den ena sköter bara lite belysning och den andra sköter bevattning , har lite klimatsensorer men i övrigt ingen hög belastning.

CPU-belastning under testet
Belastning CPU.jpg

Logg från Supervisor
ER Supervisor.JPG

Del av slutet på loggen i ER

Code: Select all

[DEBUG] 11:23:20: Incoming event:{"_from":6,"type":"%%PING%%"}
[DEBUG] 11:23:20: fibaro:startScene(6,{"_sh":true,"type":"%%PONG%%","_from":1})

Supervisors andra försök att starta om EventRunner

[DEBUG] 11:23:40: Garaget - EventRunner v2.0 B54
[DEBUG] 11:23:40: Fibaro software version: 4.543
[DEBUG] 11:23:40: HC2 uptime: 1 hours
[DEBUG] 11:24:01: Incoming event:{"_from":6,"type":"%%PING%%"}
[DEBUG] 11:24:01: fibaro:startScene(6,{"type":"%%PONG%%","_sh":true,"_from":1})
[DEBUG] 11:24:01: Ding!
[DEBUG] 11:24:06: Dong!
[DEBUG] 11:24:11: Ding!
[DEBUG] 11:24:16: Dong!
Här stängs ER-scenen ned.
Tack!, jag kan inte reproducera problemet så jag är beroende av dina loggar ;)

Lasten verkar inte onormal. När ER startar upp så parsar/kompilerar den reglerna så det tar lite kraft och därav förmodligen peaken.
Din scen 'garaget' får PING och svarar PONG, men Supervisor verkar inte se det...
Kan du i Supervisor sätta _debugFlags.trigger=true så man kan se om den får PONG från 'garaget'?
(btw, har du satt 'max running instances' för supervisor till 10?)
Last edited by jang on 01 Jun 2019, 16:52, edited 1 time in total.
RH_Dreambox
Proffsmedlem
Posts: 952
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

01 Jun 2019, 12:47

(btw, har du satt 'max running instances' för supervisor till 10?)
Där var felet!
ER-scenerna har 10 instances, men jag visste inte att även Supervisor behövde det.
Så nu är jag med på banan igen :-)
2 st HC2 4.550
jang
Medlem
Posts: 117
Joined: 05 Jan 2014, 00:44
Location: Stockholm

01 Jun 2019, 13:05

RH_Dreambox wrote:
01 Jun 2019, 12:47
(btw, har du satt 'max running instances' för supervisor till 10?)
Där var felet!
ER-scenerna har 10 instances, men jag visste inte att även Supervisor behövde det.
Så nu är jag med på banan igen :-)
Great!
sonnyboy
Proffsmedlem
Posts: 632
Joined: 26 Sep 2013, 08:05
Location: Västerås

01 Jun 2019, 17:10

Då avaktiverade jag GEA idag, nu ligger är allt i ER :)
Stort tack till dig @jang som ligger bakom detta fantastiska script och supportar det fullt ut :)
Fibaro HomeCenter 2
Fw 4.550
BeyondMeasure 1.10
EventRunner
jang
Medlem
Posts: 117
Joined: 05 Jan 2014, 00:44
Location: Stockholm

01 Jun 2019, 17:15

sonnyboy wrote:
01 Jun 2019, 17:10
Då avaktiverade jag GEA idag, nu ligger är allt i ER :)
Stort tack till dig @jang som ligger bakom detta fantastiska script och supportar det fullt ut :)
Tack själv - koden blir bättre när andra använder den och hittar buggar :)
Fundera lite på om det är nya typer av regelkonstruktioner ni skulle behöva eller om det är ngt ni tycker är knöligt att skriva regler för så kan vi se om ER går att förbättra.
PeterM5
Ny medlem
Posts: 13
Joined: 13 Jul 2016, 10:55

11 Jun 2019, 21:35

[DEBUG] 21:26:52: Demo - EventRunner v2.0 B57

[DEBUG] 21:26:52: [1;31m2019-06-11 21:26:52.419889 [ fatal] Unknown exception: /opt/fibaro/scenes/75.lua:2373: attempt to index field 'currentVersion' (a nil value)

Jag får detta meddelande när jag startar scenen efter att kopierat in scriptet, säkert enkelt men jag hittar inte felet.

Jag har kört GEA länge nu och behöver lite uppstartshjälp med EventRunner..
RH_Dreambox
Proffsmedlem
Posts: 952
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

12 Jun 2019, 14:13

Vi är två "Fibaro-kompisar" som försöker få till en enkel larm-regel, men det vill sig inte riktigt.
Den översta regeln fungerar, larmet startar och stängs av 5 sek efter att dörren stängts.

Code: Select all

  rule("@22:40 => sensor.garage_door:armed = 1")
  rule("sensor.garage_door:breached) => larm.Siren:on")
  rule("for(00:00:05,sensor.garage_door:safe) => larm.Siren:off")
  rule("@06:00 => sensor.garage_door:armed = 0")
Men hänger vi på ett villkor till så funkar det inte. Inget av nedanstående två exempel fungerar.
Startar jag sirenen manuellt då dörren är öppen så stängs den av 5 sek efter att jag stängt dörren, så den biten fungerar.
Så varför fungerar det inte när vi lägger på ett villkor till?

Code: Select all

  rule("@22:40 => sensor.garage_door:armed = 1")  
  rule("sensor.garage_door:breached & sensor.garage_door:armed == 1) => larm.Siren:on")
  rule("for(00:00:05,sensor.garage_door:safe) => larm.Siren:off")
  rule("@06:00 => sensor.garage_door:armed = 0")

  
  rule("@22:40 => sensor.garage_door:armed = 1")  
  rule("sensor.garage_door:breached & $SleepState == 'Sover') => larm.Siren:on")
  rule("for(00:00:05,sensor.garage_door:safe) => larm.Siren:off")
  rule("@06:00 => sensor.garage_door:armed = 0")
2 st HC2 4.550
jang
Medlem
Posts: 117
Joined: 05 Jan 2014, 00:44
Location: Stockholm

12 Jun 2019, 15:30

RH_Dreambox wrote:
12 Jun 2019, 14:13
Men hänger vi på ett villkor till så funkar det inte. Inget av nedanstående två exempel fungerar.
Startar jag sirenen manuellt då dörren är öppen så stängs den av 5 sek efter att jag stängt dörren, så den biten fungerar.
Så varför fungerar det inte när vi lägger på ett villkor till?

Code: Select all

  rule("@22:40 => sensor.garage_door:armed = 1")  
  rule("sensor.garage_door:breached & sensor.garage_door:armed == 1) => larm.Siren:on")
  rule("for(00:00:05,sensor.garage_door:safe) => larm.Siren:off")
  rule("@06:00 => sensor.garage_door:armed = 0")

  rule("@22:40 => sensor.garage_door:armed = 1")  
  rule("sensor.garage_door:breached & $SleepState == 'Sover') => larm.Siren:on")
  rule("for(00:00:05,sensor.garage_door:safe) => larm.Siren:off")
  rule("@06:00 => sensor.garage_door:armed = 0")
Det är en konstig parantes sist i villkoret. Om ni skriver såhär borde det funka

Code: Select all

  rule("@22:40 => sensor.garage_door:armed = 1")  
  rule("sensor.garage_door:breached & sensor.garage_door:armed == 1 => larm.Siren:on")
  rule("for(00:00:05,sensor.garage_door:safe) => larm.Siren:off")
  rule("@06:00 => sensor.garage_door:armed = 0")

  rule("@22:40 => sensor.garage_door:armed = 1")  
  rule("sensor.garage_door:breached & $SleepState == 'Sover' => larm.Siren:on")
  rule("for(00:00:05,sensor.garage_door:safe) => larm.Siren:off")
  rule("@06:00 => sensor.garage_door:armed = 0")

-- eller med båda extravillkoren
  rule("@22:40 => sensor.garage_door:armed = 1")  
  rule("sensor.garage_door:breached & sensor.garage_door:armed == 1 & $SleepState == 'Sover' => larm.Siren:on")
  rule("for(00:00:05,sensor.garage_door:safe) => larm.Siren:off")
  rule("@06:00 => sensor.garage_door:armed = 0")
Post Reply