EventRunner 4 - QuickApp HC3

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

Ok, den är tillbaka nu med samma funktionalitet som förr. v0.5fix30
linear,inQuad,inOutQuad,outInExpo,inExpo,outExpo,inOutExpo
Gud hör bön! :D
HC3 (5.061 Beta) med ER4 och HC2 (4.600) med ER 3
Teddy215
Ny medlem
Posts: 8
Joined: 12 May 2020, 14:55

Hej Jang,

och tack för hjälpen!

Tyvärr så lyckas jag inte få det att fungera som jag vill, får detta meddelande

[15.10.2020] [14:40:05] [
DEBUG
] [QUICKAPP256]: Rule:5[button:central => log('Button skickar centralSceneEvent:%s',button:central)] = OK
[15.10.2020] [14:40:05] [
DEBUG
] [QUICKAPP256]: --------------------------------------------- Running ---------------------------------------------
[15.10.2020] [14:40:16] [
ERROR
] [QUICKAPP256]: QuickApp crashed
[15.10.2020] [14:40:16] [
ERROR
] [QUICKAPP256]: Toolbox_triggers.lua:84: table index is nil

Något tips?
jang
Medlem
Posts: 324
Joined: 05 Jan 2014, 00:44
7
Location: Stockholm

Teddy215 wrote: 15 Oct 2020, 14:44 Hej Jang,

och tack för hjälpen!

Tyvärr så lyckas jag inte få det att fungera som jag vill, får detta meddelande

[15.10.2020] [14:40:05] [
DEBUG
] [QUICKAPP256]: Rule:5[button:central => log('Button skickar centralSceneEvent:%s',button:central)] = OK
[15.10.2020] [14:40:05] [
DEBUG
] [QUICKAPP256]: --------------------------------------------- Running ---------------------------------------------
[15.10.2020] [14:40:16] [
ERROR
] [QUICKAPP256]: QuickApp crashed
[15.10.2020] [14:40:16] [
ERROR
] [QUICKAPP256]: Toolbox_triggers.lua:84: table index is nil

Något tips?
Hej, det ser ut som du har en ngt äldre version av ER4. Har du v0.5fix29 eller senare? (den skriver ut versionen i loggen vid startup)
Det var en förändring i senaste uppdateringen av HC3 som ändrade event-formatet for centralSceneEvent så man får den krasch du ser.
Ett sätt att automatiskt uppdatera ER4 QAn är att lägga in reglerna (om din HC3 kan komma åt internet)

Code: Select all

rule("@{catch,05:00} => Util.checkForUpdates()")
rule("#File_update{} => log('New file version:%s - %s',env.event.file,env.event.version)")
rule("#File_update{} => Util.updateFile(env.event.file)")
Teddy215
Ny medlem
Posts: 8
Joined: 12 May 2020, 14:55

Tack,

Men får denna felkod nu efter uppdatering

[16.10.2020] [07:45:01] [
TRACE
] [QUICKAPP256]: New file version:EventRunner4Engine.lua - v0.5fix30
[16.10.2020] [07:45:02] [
ERROR
] [QUICKAPP256]: QuickApp crashed
[16.10.2020] [07:45:02] [
ERROR
] [QUICKAPP256]: EventRunner.lua:715: attempt to call a nil value (method 'listFiles')
Teddy215
Ny medlem
Posts: 8
Joined: 12 May 2020, 14:55

Bortkommenterade raderna för automatisk uppdatering och då fungerade ER igen och den har senaste versionen men får ändå [16.10.2020] [08:37:09] [
DEBUG
] [QUICKAPP256]: --------------------------------------------- Running ---------------------------------------------
[16.10.2020] [08:37:13] [
ERROR
] [QUICKAPP256]: QuickApp crashed
[16.10.2020] [08:37:13] [
ERROR
] [QUICKAPP256]: Toolbox_triggers.lua:84: table index is nil
jang
Medlem
Posts: 324
Joined: 05 Jan 2014, 00:44
7
Location: Stockholm

Teddy215 wrote: 16 Oct 2020, 08:32 Tack,

Men får denna felkod nu efter uppdatering

[16.10.2020] [07:45:01] [
TRACE
] [QUICKAPP256]: New file version:EventRunner4Engine.lua - v0.5fix30
[16.10.2020] [07:45:02] [
ERROR
] [QUICKAPP256]: QuickApp crashed
[16.10.2020] [07:45:02] [
ERROR
] [QUICKAPP256]: EventRunner.lua:715: attempt to call a nil value (method 'listFiles')
Ah, du har den versionen som inte gick att uppdatera. Om du laddar ner EventRunner4.fqa. download/file.php?id=2272
som finns länkad i toppen på den här tråden och installerar den så blir det bättre (Jag la nyss upp en nyare version).
Du kan installera den nya. Gå in i den gamla QA 'main' fil och kopiera innehållet (dina regler etc) till den nya QA 'main' och spara så ska det funka. Sedan tar du bort den gamla QAn.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1112
Joined: 03 Jan 2015, 16:49
6
Location: Vegby
Contact:

@jang
Jag får ett ERROR som jag inte förstår mig på, men som har med den i ER4 inbyggda dim-funktionen att göra.
Problemet uppstod förmodligen i samband med att jag flyttade över alla enheter och regler från HC2 till HC3.
Sovrumslampan med dim-funktion fungerade morgon och kväll när jag bara hade några få enheter inlagda, men inte nu när allt annat är överfört från HC2.

[2020-11-05] [16:09:01] [ERROR] [QUICKAPP20]: in Event({"type":"%dimLight"}) => ..: ./include/EventRunner.lua:937: attempt to perform arithmetic on a nil value (local 'currV')

Jag har bara två dim-enheter med nedanstående regler.
Så kan dessa regler på något sätt störa ut varandra så att felet uppstår?

Code: Select all

Dim-regler för morgonen
=====================
rule("@{catch,06:40} => sovrum.dim_lampa:dim={300,'up'}")  -- Tänd upp Vakna
rule("@06:30 & sunrise > 06:30 => arbetsrum.dim_rh:value = 50") -- Tänd på morgonen
rule("@{catch,sunrise} => sovrum.dim_lampa:off") -- Släck då solen går upp
rule("@{catch,sunrise} => arbetsrum.dim_rh:off") -- Släck arbetsrummet då solen går upp

Dim-regler för dagen om det blir skumt ljus inne
=======================================
rule("once(sensor.lux_garagegavel:lux < 400) & sunrise..sunset => sovrum.dim_lampa = 50") -- Tänd till 50% vid skumt ljus
rule("once(sensor.lux_garagegavel:lux >= 500) & sunrise..sunset => sovrum.dim_lampa:off") -- Släck igen om det ljusnar igen

rule("once(sensor.lux_garagegavel:lux < 400) & sunrise..sunset => arbetsrum.dim_rh:value = 50") -- Tänd till 50% vid skumt ljus
rule("once(sensor.lux_garagegavel:lux >= 500) & sunrise..sunset => arbetsrum.dim_rh:off") -- Släck igen om det ljusnar

Dim-regler för kvällen
=================
rule("@{catch,sunset} => sovrum.dim_lampa:dim={300,'up'}") -- Tänd upp sakta då solen går ned
rule("@{catch,sunset} => arbetsrum.dim_rh:value = 50") -- Tänd till 50% då solen går ned
rule("@{catch,22:10} => sovrum.dim_lampa:dim={600,'down'}") -- Släcker ned sakta, natti, natti
rule("@{catch,22:40} => arbetsrum.dim_rh:off") -- Släck på kvällen
Historiken vid tiden för ERROR-meddelandet
Här finns inte dim-enheterna med trots att tiden = sunset. Övriga "sunset-regler" finns med.

På - 46 - A3 bodega - Källare/Bodega - System - 16:09:04
På - 40 - W8 stenbänk - Övervåning/Vardagsrum - System - 16:09:04
På - 42 - A1 bardisk - Övervåning/Vardagsrum - System - 16:09:04
På - 32 - W4 TV-bänk - Övervåning/Vardagsrum - System - 16:09:04
På - 85 - A4 storgaraget - Trädgård/Storgarage - System - 16:09:03
Handling: Sätt på - 46 - A3 bodega - Källare/Bodega - System - 16:09:01
Handling: Sätt på - 44 - W9 köksfönster - Övervåning/Kök - System - 16:09:01
Handling: Sätt på - 40 - W8 stenbänk - Övervåning/Vardagsrum - System - 16:09:01
Handling: Sätt på - 42 - A1 bardisk - Övervåning/Vardagsrum - System - 16:09:01
Handling: Sätt på - 36 - W6 fönster söder - Övervåning/Vardagsrum - System - 16:09:01
Handling: Sätt på - 34 - W5 fönster vägen - Övervåning/Vardagsrum - System - 16:09:00
Handling: Sätt på - 32 - W4 TV-bänk - Övervåning/Vardagsrum - System - 16:09:00
Handling: Sätt på - 30 - W3 hall - Övervåning/Hall - System - 16:09:00
Handling: Sätt på - 28 - W1 arbetsrum YH - Övervåning/Arbetsrum - System - 16:09:00
HC3 (5.061 Beta) med ER4 och HC2 (4.600) med ER 3
jang
Medlem
Posts: 324
Joined: 05 Jan 2014, 00:44
7
Location: Stockholm

Raden som kraschar ser ut så här.

Code: Select all

      local ev,currV = e.v or -1,tonumber(fibaro.getValue(e.id,"value"))
      if e.v and math.abs(currV - e.v) > 2 then return end -- Someone changed the lightning, stop dimming
dvs, curry sätts till nuvarande dimmvärdet på enheten.
För alla typer av com.fibaro.multilevelSwitch så är värdet ett tal (0-99)
men för com.fibaro.binarySwitch så är det en boolean.
På gamla HC2 var com.fibaro.binarySwitch också ett tal (0-1, ibland 0-99)

tonumber() av ett boolean värde blir nil....
Därför undrar jag vilken typ sovrum.dim_lampa och arbetsrum.dim_rh är?

Du skulle kunna lägga in en debugged efter att curry fått. sitt värde. ~rad 937

Code: Select all

      local ev,currV = e.v or -1,tonumber(fibaro.getValue(e.id,"value"))
      if not currV then
        self:warningf("Device %s can't be dimmed. Type of value is %s",e.id,type(fibaro.getValue(e.id,"value")))
      end
      if e.v and math.abs(currV - e.v) > 2 then return end -- Someone changed the lightning, stop dimming
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1112
Joined: 03 Jan 2015, 16:49
6
Location: Vegby
Contact:

Mina dimmerpluggar är NEXA AD147-2, identiska med Everspring AD147-2 som är tillverkaren. Fibaro har ju tyvärr inga dimmerpluggar.
Datablad
https://www.everspring.com/wp-content/u ... 259R02.pdf

Det jag tycker är märkligt är att jag körde dessa i ER4 ett tag innan jag flyttade över allt annat från HC2.
Då började ERROR-meddelandet dyka upp vid ungefär samma tid på eftermiddagen (sunset) varje dag.

EDIT: Jag har lagt in debugkoden och skall försöka kolla upp den vid suset.
HC3 (5.061 Beta) med ER4 och HC2 (4.600) med ER 3
jang
Medlem
Posts: 324
Joined: 05 Jan 2014, 00:44
7
Location: Stockholm

Kan du posta device definitionsstrukturen?
Den som finns på http://<HC3 IP>/api/devices/<device ID>

dim koden ändrades lite för ett tag sedan - den tidigare var mer "motståndskraftig" mot felaktiga värden - men den borde ha slutat att dimma direkt...(?)
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1112
Joined: 03 Jan 2015, 16:49
6
Location: Vegby
Contact:

Ja, här kommer den...
{"id":24,"name":"Dim sovrum","roomID":227,"view":[{"assetsPath":"/dynamic-plugins/com.fibaro.multilevelSwitch/assets","jsPath":"/dynamic-plugins/com.fibaro.multilevelSwitch","name":"com.fibaro.multilevelSwitch","translatesPath":"/dynamic-plugins/com.fibaro.multilevelSwitch/i18n","type":"ts"}],"type":"com.fibaro.multilevelSwitch","baseType":"com.fibaro.binarySwitch","enabled":true,"visible":true,"isPlugin":false,"parentId":23,"viewXml":false,"configXml":false,"interfaces":["fibaroFirmwareUpdate","levelChange","light","power","virtualPowerConsumption","zwave","zwaveAlarm","zwaveSwitchAll"],"properties":{"parameters":[],"pollingTimeSec":0,"zwaveCompany":"Everspring","zwaveInfo":"3,3,95","zwaveVersion":"1.1","alarmLevel":0,"alarmType":0,"categories":["lights"],"configured":true,"dead":false,"deadReason":"","deviceControlType":23,"deviceIcon":15,"emailNotificationID":0,"emailNotificationType":0,"endPointId":0,"firmwareUpdate":{"info":"","progress":0,"status":"UpToDate","updateVersion":"1.1"},"isLight":true,"log":"","logTemp":"","manufacturer":"","markAsDead":true,"model":"","nodeId":3,"parametersTemplate":"812","power":0.0,"powerConsumption":4.0,"productInfo":"0,96,0,3,0,3,1,1","pushNotificationID":0,"pushNotificationType":0,"saveLogs":true,"serialNumber":"","showEnergy":true,"smsNotificationID":0,"smsNotificationType":0,"state":false,"switchAllMode":"","updateVersion":"","useTemplate":true,"userDescription":"","value":0},"actions":{"abortUpdate":1,"reconfigure":0,"retryUpdate":1,"setValue":1,"startLevelDecrease":0,"startLevelIncrease":0,"startUpdate":1,"stopLevelChange":0,"toggle":0,"turnOff":0,"turnOn":0,"updateFirmware":1},"created":1604499888,"modified":1604499888,"sortOrder":9}
HC3 (5.061 Beta) med ER4 och HC2 (4.600) med ER 3
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1112
Joined: 03 Jan 2015, 16:49
6
Location: Vegby
Contact:

Debugkoden är på plats, men vad skulle den visa? Här är debugkoden för 16:07 = sunset med ERROR 16:07:03.

[2020-11-06] [16:07:00] [DEBUG] [QUICKAPP20]: [true]>>'Rule:57[@{catch,sunset} => v_rum.lampa_vägen:on]'
[2020-11-06] [16:07:00] [DEBUG] [QUICKAPP20]: fibaro.call(34,"turnOn") => nil
[2020-11-06] [16:07:00] [DEBUG] [QUICKAPP20]: [true]>>'Rule:58[@{catch,sunset} => v_rum.lampa_söder:on]'
[2020-11-06] [16:07:00] [DEBUG] [QUICKAPP20]: fibaro.call(36,"turnOn") => nil
[2020-11-06] [16:07:00] [DEBUG] [QUICKAPP20]: [true]>>'Rule:59[@{catch,sunset} => v_rum.barlampa:on]'
[2020-11-06] [16:07:00] [DEBUG] [QUICKAPP20]: fibaro.call(42,"turnOn") => nil
[2020-11-06] [16:07:00] [DEBUG] [QUICKAPP20]: [true]>>'Rule:60[@{catch,sunset} => v_rum.lampa_stenbänk:on]'
[2020-11-06] [16:07:00] [DEBUG] [QUICKAPP20]: fibaro.call(40,"turnOn") => nil
[2020-11-06] [16:07:00] [DEBUG] [QUICKAPP20]: [true]>>'Rule:79[@{catch,sunset} => kök.lampa:on]'
[2020-11-06] [16:07:00] [DEBUG] [QUICKAPP20]: fibaro.call(44,"turnOn") => nil
[2020-11-06] [16:07:00] [DEBUG] [QUICKAPP20]: [true]>>'Rule:83[@{catch,sunset} => bodega.lampa:on]'
[2020-11-06] [16:07:00] [DEBUG] [QUICKAPP20]: fibaro.call(46,"turnOn") => nil
[2020-11-06] [16:07:00] [DEBUG] [QUICKAPP20]: [true]>>'Rule:116[@sunset => garage.vägg_ute:on]'
[2020-11-06] [16:07:00] [DEBUG] [QUICKAPP20]: fibaro.call(67,"turnOn") => nil
[2020-11-06] [16:07:00] [DEBUG] [QUICKAPP20]: [true]>>'Rule:16[@{catch,sunset} => sovrum.lampa:on]'
[2020-11-06] [16:07:00] [DEBUG] [QUICKAPP20]: fibaro.call(22,"turnOn") => nil
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: [true]>>'Rule:122[@{catch,sunset} => växthus.led_slinga:on]'
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: fibaro.call(91,"turnOn") => nil
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: [true]>>'Rule:124[@{catch,sunset} => storgarage.lampa:on]'
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: fibaro.call(85,"turnOn") => nil
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: [true]>>'Rule:136[@sunset => $TimeOfDay = 'Skymning']'
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: [true]>>'Rule:36[@{catch,sunset} => arbetsrum.dim_rh:value = 50]'
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: fibaro.call(26,"setValue",50) => nil
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: [true]>>'Rule:37[@{catch,sunset} => arbetsrum.lampa_yh:on]'
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: fibaro.call(28,"turnOn") => nil
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: [true]>>'Rule:44[@{catch,sunset} => hall.vägglampa:on]'
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: fibaro.call(30,"turnOn") => nil
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: [true]>>'Rule:56[@{catch,sunset} => v_rum.TV_lampa:on]'
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: fibaro.call(32,"turnOn") => nil
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: [false]>>'Rule:77[once(sensor.lux_garagegavel:lux < 400) & sunrise+1..sunset => kök.lampa:on]'
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: [false]>>'Rule:78[once(sensor.lux_garagegavel:lux >= 500) & sunrise+1..sunset => kök.lampa:off]'
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: [false]>>'Rule:12[once(sensor.lux_garagegavel:lux < 400) & 06:51..sunset => sovrum.dim_lampa = 50]'
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: [false]>>'Rule:13[once(sensor.lux_garagegavel:lux >= 500) & 06:51..sunset => sovrum.dim_lampa:off]'
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: [false]>>'Rule:14[once(sensor.lux_garagegavel:lux < 400) & sunrise+1..sunset => sovrum.lampa:on]'
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: [false]>>'Rule:15[once(sensor.lux_garagegavel:lux >= 500) & sunrise+1..sunset => sovrum.lampa:off]'
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: [true]>>'Rule:17[@{catch,sunset+1} => sovrum.dim_lampa:dim={300,'up'}]'
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: [false]>>'Rule:32[once(sensor.lux_garagegavel:lux < 400) & sunrise+1..sunset => arbetsrum.dim_rh:v...]'
[2020-11-06] [16:07:01] [DEBUG] [QUICKAPP20]: [false]>>'Rule:33[once(sensor.lux_garagegavel:lux >= 500) & sunrise+1..sunset => arbetsrum.dim_rh:...]'
[2020-11-06] [16:07:02] [DEBUG] [QUICKAPP20]: [false]>>'Rule:34[once(sensor.lux_garagegavel:lux < 400) & sunrise+1..sunset => arbetsrum.lampa_yh...]'
[2020-11-06] [16:07:02] [DEBUG] [QUICKAPP20]: [false]>>'Rule:35[once(sensor.lux_garagegavel:lux >= 500) & sunrise+1..sunset => arbetsrum.lampa_y...]'
[2020-11-06] [16:07:02] [DEBUG] [QUICKAPP20]: [false]>>'Rule:42[once(sensor.lux_garagegavel:lux < 650) & sunrise+1..sunset => hall.vägglampa:on]'
[2020-11-06] [16:07:02] [DEBUG] [QUICKAPP20]: [false]>>'Rule:43[once(sensor.lux_garagegavel:lux >= 800) & sunrise+1..sunset => hall.vägglampa:o...]'
[2020-11-06] [16:07:02] [DEBUG] [QUICKAPP20]: fibaro.call(50,"setValue",0) => nil
[2020-11-06] [16:07:02] [DEBUG] [QUICKAPP20]: [false]>>'Rule:52[once(sensor.lux_garagegavel:lux < 350) & sunrise+1..sunset => v_rum.lampa_vägen...]'
[2020-11-06] [16:07:02] [DEBUG] [QUICKAPP20]: [false]>>'Rule:53[once(sensor.lux_garagegavel:lux >= 450) & sunrise+1..sunset => v_rum.lampa_väge...]'
[2020-11-06] [16:07:02] [DEBUG] [QUICKAPP20]: [false]>>'Rule:54[once(sensor.lux_garagegavel:lux < 400) & sunrise+1..sunset => v_rum.lampa_söder...]'
[2020-11-06] [16:07:02] [DEBUG] [QUICKAPP20]: [false]>>'Rule:55[once(sensor.lux_garagegavel:lux >= 500) & sunrise+1..sunset => v_rum.lampa_söde...]'
[2020-11-06] [16:07:03] [ERROR] [QUICKAPP20]: in Event({"type":"%dimLight"}) => ..: ./include/EventRunner.lua:946: attempt to perform arithmetic on a nil value (local 'currV')
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":false,"value":true,"property":"value","id":42}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":false,"value":true,"property":"state","id":42}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":false,"value":true,"property":"value","id":40}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":false,"value":true,"property":"state","id":40}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":"off","value":"white","property":"color","id":40}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":false,"value":true,"property":"value","id":46}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":false,"value":true,"property":"state","id":46}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":false,"value":true,"property":"value","id":67}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":false,"value":true,"property":"state","id":67}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":0.0,"value":2.9,"property":"power","id":40}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"old":"Dag","type":"global-variable","value":"Skymning","name":"TimeOfDay"}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":false,"value":true,"property":"value","id":91}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":false,"value":true,"property":"state","id":91}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":false,"value":true,"property":"value","id":85}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":false,"value":true,"property":"state","id":85}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":false,"value":true,"property":"value","id":32}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":false,"value":true,"property":"state","id":32}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":"off","value":"white","property":"color","id":32}
[2020-11-06] [16:07:03] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":0.0,"value":2.5,"property":"power","id":32}
[2020-11-06] [16:07:04] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":false,"value":true,"property":"value","id":63}
[2020-11-06] [16:07:04] [DEBUG] [QUICKAPP20]: Incoming trigger:{"type":"device","old":false,"value":true,"property":"state","id":63}
[2020-11-06] [16:07:20] [DEBUG] [QUICKAPP20]: [true]>>'Rule:100[@sunset +20 => uterum.LED_dörr:value = 10]'
[2020-11-06] [16:07:20] [DEBUG] [QUICKAPP20]: fibaro.call(999,"setValue",10) => nil
[2020-11-06] [16:07:20] [DEBUG] [QUICKAPP20]: [true]>>'Rule:101[@sunset +20 => uterum.LED_söder:value = 10]'
[2020-11-06] [16:07:20] [DEBUG] [QUICKAPP20]: fibaro.call(999,"setValue",10) => nil
[2020-11-06] [16:07:20] [DEBUG] [QUICKAPP20]: [true]>>'Rule:102[@sunset +20 => uterum.LED_väster:value = 10]'
[2020-11-06] [16:07:20] [DEBUG] [QUICKAPP20]: fibaro.call(999,"setValue",10) => nil
[2020-11-06] [16:07:20] [DEBUG] [QUICKAPP20]: [true]>>'Rule:103[@sunset +20 => uterum.LED_norr:value = 10]'
[2020-11-06] [16:07:20] [DEBUG] [QUICKAPP20]: fibaro.call(999,"setValue",10) => nil
HC3 (5.061 Beta) med ER4 och HC2 (4.600) med ER 3
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1112
Joined: 03 Jan 2015, 16:49
6
Location: Vegby
Contact:

@jang
Jag hade 16 regler för led-belysningen i uterummet som jag inte var riktigt klar med. Reglerna var aktiva, men pekade mot en fejkad tillfällig enhet med nummer 999.
När jag inaktiverade de reglerna och startade om ER så började sovrumslampan att dimma upp.
Kan det vara så att dessa icke färdigkonfigurerade regler som också använde sunset men ingen fysisk switch, ställde till det för ER-koden?
I så fall ber jag om ursäkt för det besvär jag ställt till med :-(

Svaret lär väl i så fall komma i morgon eftermiddag (förhoppningsvis inget ERROR).
HC3 (5.061 Beta) med ER4 och HC2 (4.600) med ER 3
jang
Medlem
Posts: 324
Joined: 05 Jan 2014, 00:44
7
Location: Stockholm

Möjligt, för device strukturen för dina dimmers ser ok ut.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1112
Joined: 03 Jan 2015, 16:49
6
Location: Vegby
Contact:

jang wrote: 06 Nov 2020, 23:09 Möjligt, för device strukturen för dina dimmers ser ok ut.
Felet fortsätter att poppa upp vid tiden för sunset.
Lite konstigt är också att det ganska lungt med TRACE-meddelanden, men de kanske kommer igång senare.

[2020-11-07] [11:27:53] [TRACE] [QUICKAPP20]: Catching up:Rule:124[@{catch,06:45} => $SleepState = 'Vaken']
[2020-11-07] [11:27:53] [TRACE] [QUICKAPP20]: Catching up:Rule:126[@{catch,00:00} => ...]
[2020-11-07] [11:27:53] [TRACE] [QUICKAPP20]: Earth hour Sat Mar 28 20:30:00 2020
[2020-11-07] [11:27:53] [TRACE] [QUICKAPP20]: Earth hour Sat Mar 27 20:30:00 2021
[2020-11-07] [16:05:02] [ERROR] [QUICKAPP20]: in Event({"type":"%dimLight"}) => ..: ./include/EventRunner.lua:946: attempt to perform arithmetic on a nil value (local 'currV')

Jag bifogar deklarationen samt regler som skall triggas vid suset. Enheter i deklarationen med ID 999 har ännu inga regler eftersom enheterna ännu inte är inlagda.
Men de skall ju inte kunna orsaka något problem då det inte finns någon regel som innehåller dessa ID.

Strippad main-fil
===================
HT = {
sovrum = {lampa = 22, dim_lampa = 24},
arbetsrum = {dim_rh = 26, lampa_yh = 28},
hall = {['vägglampa'] = 30},
v_rum = {TV_lampa = 32, ['lampa_vägen'] = 34, ['lampa_söder'] = 36, ['läslampa'] = 38, ['lampa_stenbänk'] = 40, barlampa = 42},
['kök'] = {lampa = 44},
bodega = {lampa = 46},
hobbyrum = {MK3 = 71, ventilation = 98},
['tvättstuga'] = {['växtbel_vit'] = 75, ['växtbel_röd'] = 77, ['tvättmaskin'] = 81, torktumlare = 83, ['golvvärme'] = 999},
uterum = {['LED_dörr'] = 999, ['LED_söder'] = 999, ['LED_väster'] = 999, LED_norr = 999, tak_krona=999, frostvakt = 999},
garage = {takbelysning = 63, ['vägg_ute'] = 67, brytare_uterum = 73, ['växtbel_ledrör'] = 79},
storgarage = {lampa = 85},
['växthus'] = {led_slinga = 91},
sensor = {pir_garagegavel = 52, temp_garagegavel = 53, lux_garagegavel = 54, fukt_garagegavel = 55, ['garage_dörr'] = 61},
minimote = {sovrum = 48, v_rum = 50},
}

Util.map(Util.defTriggerVar,{'printerReady', 'dryerReady', 'washingReady'}) -- Hanterar auto off för tvättmaskin, torktumlare och 3D-skrivare.

-- SOVRUM ==========================================
-- Autoljus under dagen
rule("once(sensor.lux_garagegavel:lux < 400) & 06:51..sunset => sovrum.dim_lampa = 50") -- Tänd om det är skumt ljus
rule("once(sensor.lux_garagegavel:lux >= 500) & 06:51..sunset => sovrum.dim_lampa:off") -- Släck om det ljusnar

-- Tänd på kvällen
rule("@{catch,sunset} => sovrum.lampa:on") -- Tänd när solen går ned
rule("@{catch,sunset+1} => sovrum.dim_lampa:dim={300,'up'}") -- defaults to linear up

-- ARBETSRUM =======================================
rule("once(sensor.lux_garagegavel:lux < 400) & sunrise+1..sunset => arbetsrum.dim_rh:value = 50") -- Tänd om det är skumt ljus
rule("once(sensor.lux_garagegavel:lux >= 500) & sunrise+1..sunset => arbetsrum.dim_rh:off") -- Släck om det ljusnar

rule("@{catch,sunset} => arbetsrum.dim_rh:value = 50") -- Tänd när solen går ner

-- HALL ============================================
rule("@{catch,sunset} => hall.vägglampa:on") -- Tänd på kvällen

-- VARDAGSRUM ======================================
rule("@{catch,sunset} => v_rum.TV_lampa:on") -- Tänd på kvällen
rule("@{catch,sunset} => v_rum.lampa_vägen:on") -- Tänd på kvällen
rule("@{catch,sunset} => v_rum.lampa_söder:on") -- Tänd på kvällen
rule("@{catch,sunset} => v_rum.barlampa:on") -- Tänd på kvällen
rule("@{catch,sunset} => v_rum.lampa_stenbänk:on") -- Tänd på kvällen

-- KÖK =============================================
rule("@{catch,sunset} => kök.lampa:on") -- Tänd på kvällen

-- BODEGA ==========================================
rule("@{catch,sunset} => bodega.lampa:on") -- Tänd på kvällen

-- GARAGE ==========================================
rule("@sunset => garage.vägg_ute:on") -- Tänd på kvällen

-- VÄXTHUS =========================================
rule("@{catch,sunset} => växthus.led_slinga:on") -- Tänd LED-slingan

-- STORGARAGE ======================================
rule("@{catch,sunset} => storgarage.lampa:on") -- Tänd stor-garaget

-- SLUT PÅ REGLER ===========================================================

-- SYSTEMREGLER FÖR DIVERSE FUNKTIONER ======================================
-- TimeOfDay
rule("@sunset => $TimeOfDay = 'Skymning'")
-- SLUT PÅ SYSTEMREGLER =====================================================
end
HC3 (5.061 Beta) med ER4 och HC2 (4.600) med ER 3
jang
Medlem
Posts: 324
Joined: 05 Jan 2014, 00:44
7
Location: Stockholm

Code: Select all

EventRunner.lua:946: attempt to perform arithmetic on a nil value (local 'currV')
Lite magiskt att det inte blir ngn debug utskrift?
Kan du posta raderna runt 946 i QA filen EventRunner?
(eller hela definitionen av self:event({type='%dimLight'},function(env) ... )
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1112
Joined: 03 Jan 2015, 16:49
6
Location: Vegby
Contact:

Nu på morgonen så dimmade inte sovrumslampan upp, vilket den oväntat gjorde igår (kanske sparade jag om ER så att felet eliminerades?).
Men jag funderar på att byta till en annan dim-kod för att se vad som händer?
Beträffande koden som jag skulle klistra in så tog jag bort den nedersta raden.
Den raden fanns redan i ER så jag trodde att du hade med den som en platsreferens för var koden skulle placeras.

Code: Select all

  self:event({type='%dimLight'},function(env)
      local e = env.event
      local ev,currV = e.v or -1,tonumber(fibaro.getValue(e.id,"value"))


local ev,currV = e.v or -1,tonumber(fibaro.getValue(e.id,"value"))
      if not currV then
        self:warningf("Device %s can't be dimmed. Type of value is %s",e.id,type(fibaro.getValue(e.id,"value")))
      end
      --if e.v and math.abs(currV - e.v) > 2 then return end -- Someone changed the lightning, stop dimming


      if e.v and math.abs(currV - e.v) > 2 then return end -- Someone changed the lightning, stop dimming
      e.v = math.floor(e.fun(e.t,e.start,e.stop,e.sec)+0.5)
      if ev ~= e.v then fibaro.call(e.id,"setValue",e.v) end
      e.t=e.t+e.dir*e.step
      if 0 <= e.t and  e.t <= e.sec then self:post(e,os.time()+e.step) end
    end)
end

----------------- EventScript support -------------------------
HC3 (5.061 Beta) med ER4 och HC2 (4.600) med ER 3
jang
Medlem
Posts: 324
Joined: 05 Jan 2014, 00:44
7
Location: Stockholm

Verkligen konstigt att det beter sig på det här viset - kan inte framkalla samma problem.
Att det inte blir ngn debugutskrift kan jag inte heller förstå.... om currV==nil så ska den ju skriva ut en log...?

Du har v0.5.fix32 antar jag.
Kan du titta på filerna i QAn - har det blivit ngn dublett av ngn fil? typ EventRunner? (funderar på om autoupdate kan göra fel ibland)
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1112
Joined: 03 Jan 2015, 16:49
6
Location: Vegby
Contact:

jang wrote: 08 Nov 2020, 18:21 Du har v0.5.fix32 antar jag.
Kan du titta på filerna i QAn - har det blivit ngn dublett av ngn fil? typ EventRunner? (funderar på om autoupdate kan göra fel ibland)
Jo jag har den senaste uppdateringen, och ER4-filerna är de på bilden nedan.

I går testade jag med att starta om ER4 efter ERROR-meddelandet för att "nollställa" eventuella blockeringar.
Efter det så dimmade lampan ned på kvällen som den skulle, och den dimmade sedan upp på morgonen igen och stängdes av vid "sunrise" utan några problem.
Så det är bara "sunset" som orsakar ERROR.
Det är ju fler saker som aktiveras med "sunset" så jag funderar på om ER får för mycket att göra vid "sunset" och att detta orsakar felet.
Så nu har jag spridit ut de andra reglerna och lagt "sunset" plus-minus några minuter utom på sovrumslampan som fortfarande bara har "sunset".
Så får vi se vad som händer i eftermiddag.

Bara regel 3 med "sunset" krånglar

Code: Select all

rule("@06:40 => sovrum.dim_lampa:dim={600,'up'}")
rule("@sunrise => sovrum.dim_lampa:off")
rule("@sunset => sovrum.dim_lampa:dim={300,'up'}")
rule("@22:10 => sovrum.dim_lampa:dim={600,'down'}")
Filerna i ER4
EventRunner4_filer.png
EventRunner4_filer.png (4.82 KiB) Viewed 1758 times
HC3 (5.061 Beta) med ER4 och HC2 (4.600) med ER 3
jang
Medlem
Posts: 324
Joined: 05 Jan 2014, 00:44
7
Location: Stockholm

Nej, jag tror inte att det beror på att ER har för mycket att göra. Regler som ska köras köas i värsta fall upp lite, men dina regler är för få....
Jag insåg att jag hade en Nexa dimmerplug (Everspring) hemma och provade den. Först hade den "fastnat" så även om jag slog på/av så uppdaterades inte värdet i HC3. En soft-reconfig fick den att börja fungeras och jag provade och dimma upp/ner - som också funkade.
Sedan såg jag att min var v1.2 - din verkar vara v1.1 - kan det påverka?

Om vi lägger in lite fler debugutskrifter i din kod så vi kan se vad som händer?

Code: Select all

  self:event({type='%dimLight'},function(env)
      local e = env.event
      local ev,currV = e.v or -1,tonumber(fibaro.getValue(e.id,"value"))
      self:tracef("Dimming device:%s, current value:%s, set value %s",e.id,tostring(currV),tostring(ev))
      if not currV then
        self:warningf("Device %d can't be dimmed. Type of value is %s",e.id,type(fibaro.getValue(e.id,"value")))
      end
      if e.v and math.abs(currV - e.v) > 2 then return end -- Someone changed the lightning, stop dimming
      e.v = math.floor(e.fun(e.t,e.start,e.stop,e.sec)+0.5)
      if ev ~= e.v then 
          self:tracef("Dimming device:%s, new value:%s",e.id,tostring(e.v))
          fibaro.call(e.id,"setValue",e.v) 
      end
      e.t=e.t+e.dir*e.step
      if 0 <= e.t and  e.t <= e.sec then self:post(e,os.time()+e.step) end
    end)
Post Reply