Page 10 of 12
Re: EventRunner 4 - QuickApp HC3
Posted: 14 Jul 2022, 19:04
by Systemfel
Systemfel wrote: ↑14 Jul 2022, 18:06
jang wrote: ↑14 Jul 2022, 09:23
Jag uppdaterade just ER4 och adderade support för autoupdate med hjälp av regler som förr.
Men, QAUpdater måste vara installerad eftersom ER4 numera ber QAUpdater att bli uppdaterad...
...och om det blir fel kan man gå in i QAUpdater och backa ER4 versionen...
Det finns en aktuell diskussion i Fibaro forumet och eventrunner tråden om det.
Perfekt Men hoss mig vill den inte uppdatera den vill inte ens lägga in eventrunner så det går att uppdatera den. ska testa ta ner en ny eventrunner och ladda in den filen. kan ju vara så att det har hänt något med alla uppdateringar mm eller om man råkat radera något.. reglerna kan man ju bara lätt föra över
Tog en ny fil och får den att uppdatera till denna version.
[2022-07-14] [19:02:35] [DEBUG] [QUICKAPP763]: QA EventRunner 4 - version:v0.5fix80 (QA toolbox 0.25)
Re: EventRunner 4 - QuickApp HC3
Posted: 14 Jul 2022, 21:48
by jang
Om du lägger in QAUpdater så kan du välja "Install" knappen så installerar den EventRunner åt dig.
Klicka först på <Updates> för att välja EventRunner4
Sedan på <version> så att det blir sista versionen (0.83)
och klicka sedan på <Install> då får du en ny ER QA som du kan föra över reglerna till.
Tyvärr fungerar QA UI dåligt i nuvarande FW from Fibaro så att man kan behöva flippa mellan tabbar för att se uppdateringar på labels. Jag brukar hoppa mellan "Variables" och "Edit & Preview" tabben.
Dessutom håller jag med om att mitt val av knappar etc inte är det mest intuitiva - men det var svårt att få till ngt bra.
Re: EventRunner 4 - QuickApp HC3
Posted: 15 Jul 2022, 17:07
by Systemfel
jang wrote: ↑14 Jul 2022, 21:48
Om du lägger in QAUpdater så kan du välja "Install" knappen så installerar den EventRunner åt dig.
Klicka först på <Updates> för att välja EventRunner4
Sedan på <version> så att det blir sista versionen (0.83)
och klicka sedan på <Install> då får du en ny ER QA som du kan föra över reglerna till.
Tyvärr fungerar QA UI dåligt i nuvarande FW from Fibaro så att man kan behöva flippa mellan tabbar för att se uppdateringar på labels. Jag brukar hoppa mellan "Variables" och "Edit & Preview" tabben.
Dessutom håller jag med om att mitt val av knappar etc inte är det mest intuitiva - men det var svårt att få till ngt bra.
Jag har nu lyckats uppdatera till version 0.82
Uppdatering Ahhh Nu förstog jag hur den funka sorry man e så trög i bland..
testade version 0.84 men där kan jag inte stänga av debug alls så den liksom flödar hela så kör 0.82 så länge.
Får dock ett konstigt meddelande på mina sensorer där jag har flera lux mätare..
[2022-07-15] [17:03:26] [TRACE] [QUICKAPP763]: Luxvärdet i Huset:table: 0xaaaad27c1dd0
kanske behöver skriva om det på något sätt när det är medel på luxen från flera sensorer ?
koden ser ut så här
Code: Select all
Luxsensorshuset={339,417,428}
rule("(average(Luxsensorshuset:lux)) & $Styrning=='On' => log('Luxvärdet i Huset:%s',Luxsensorshuset:lux)")
Re: EventRunner 4 - QuickApp HC3
Posted: 16 Jul 2022, 09:29
by jang
I början av main så kan du slå av vissa debugflaggor.
Code: Select all
_debugFlags.trigger = false -- log incoming triggers. SLÅ AV
_debugFlags.trigger2 = false -- log incoming triggers SLÅ AV
_debugFlags.sourceTrigger = false -- SLÅ AV
_debugFlags.fcall=true -- log fibaro.call
_debugFlags.post = true -- log internal posts
_debugFlags.rule=true -- log rules being invoked (true or false)
_debugFlags.ruleTrue=true -- log only rules that are true
_debugFlags.pubsub=true -- log only rules that are true
_debugFlags.extendedErrors=true
------------- Put your rules inside QuickApp:main() -------------------
function QuickApp:main() -- EventScript version
local rule = function(...) return self:evalScript(...) end -- old rule function
self:enableTriggerType({"device","global-variable","custom-event","profile","alarm","location","quickvar","user"}) -- types of events we want
fibaro.debugFlags.sourceTrigger=false -- SLÅ AV
local HT = {
keyfob = 26,
motion= 21,
temp = 22,
lux = 23,
}
Problemet med din regel är att
Luxsensorshuset:lux
returnerar en lua table med lux värdena för devices i Luxsensorshuset.
Du räknar ut average på den i början av regeln.
Om du vill logga värdet så får du räkna ut det igen.
I din regel så räknar du ut average men du använder inte värdet till ngt,
Skulle göra såhär
Code: Select all
Luxsensorshuset={339,417,428}
X = 200
rule("Luxsensorshuset:lux & $Styrning=='On' => log('Luxvärdet i Huset:%s',average(Luxsensorshuset:lux))").start()
rule("once(average(Luxsensorshuset:lux) > X) & $Styrning=='On' => log('Luxvärdet I Huset > %s',X)").start()
rule("once(average(Luxsensorshuset:lux) <= X) & $Styrning=='On' => log('Luxvärdet I Huset <= %s',X)").start()
.start() gör att regeln körs direkt när den definieras. Annars kommer regeln att köras första gången då ngt lux värde ändras.
once(...) gör att villkoret blir sant så måste det bli falskt innan det kan bli sant igen. Det gör att vi bara triggar en gång då vi är över X och under X
Re: EventRunner 4 - QuickApp HC3
Posted: 16 Jul 2022, 15:46
by Systemfel
jang wrote: ↑16 Jul 2022, 09:29
I början av main så kan du slå av vissa debugflaggor.
Code: Select all
_debugFlags.trigger = false -- log incoming triggers. SLÅ AV
_debugFlags.trigger2 = false -- log incoming triggers SLÅ AV
_debugFlags.sourceTrigger = false -- SLÅ AV
_debugFlags.fcall=true -- log fibaro.call
_debugFlags.post = true -- log internal posts
_debugFlags.rule=true -- log rules being invoked (true or false)
_debugFlags.ruleTrue=true -- log only rules that are true
_debugFlags.pubsub=true -- log only rules that are true
_debugFlags.extendedErrors=true
------------- Put your rules inside QuickApp:main() -------------------
function QuickApp:main() -- EventScript version
local rule = function(...) return self:evalScript(...) end -- old rule function
self:enableTriggerType({"device","global-variable","custom-event","profile","alarm","location","quickvar","user"}) -- types of events we want
fibaro.debugFlags.sourceTrigger=false -- SLÅ AV
local HT = {
keyfob = 26,
motion= 21,
temp = 22,
lux = 23,
}
Jo jag skrev false på debug reglerna men endån kom det upp hela tiden ska testa igen . för det fungerar på version 0.82
det är förmodligen jag som gör fel ..
Problemet med din regel är att
Luxsensorshuset:lux
returnerar en lua table med lux värdena för devices i Luxsensorshuset.
Du räknar ut average på den i början av regeln.
Om du vill logga värdet så får du räkna ut det igen.
I din regel så räknar du ut average men du använder inte värdet till ngt,
Skulle göra såhär
Code: Select all
Luxsensorshuset={339,417,428}
X = 200
rule("Luxsensorshuset:lux & $Styrning=='On' => log('Luxvärdet i Huset:%s',average(Luxsensorshuset:lux))").start()
rule("once(average(Luxsensorshuset:lux) > X) & $Styrning=='On' => log('Luxvärdet I Huset > %s',X)").start()
rule("once(average(Luxsensorshuset:lux) <= X) & $Styrning=='On' => log('Luxvärdet I Huset <= %s',X)").start()
.start() gör att regeln körs direkt när den definieras. Annars kommer regeln att köras första gången då ngt lux värde ändras.
once(...) gör att villkoret blir sant så måste det bli falskt innan det kan bli sant igen. Det gör att vi bara triggar en gång då vi är över X och under X
okej ska testa det . jo jag använder värdena i några Ruls faktist samtidigt som jag plockar ut dom med den reglen för att se
tack för svar och hjälp ska labborera lite med detta i kväll
Re: EventRunner 4 - QuickApp HC3
Posted: 19 Jul 2022, 07:30
by Systemfel
jang wrote: ↑16 Jul 2022, 09:29
I början av main så kan du slå av vissa debugflaggor.
Code: Select all
_debugFlags.trigger = false -- log incoming triggers. SLÅ AV
_debugFlags.trigger2 = false -- log incoming triggers SLÅ AV
_debugFlags.sourceTrigger = false -- SLÅ AV
_debugFlags.fcall=true -- log fibaro.call
_debugFlags.post = true -- log internal posts
_debugFlags.rule=true -- log rules being invoked (true or false)
_debugFlags.ruleTrue=true -- log only rules that are true
_debugFlags.pubsub=true -- log only rules that are true
_debugFlags.extendedErrors=true
------------- Put your rules inside QuickApp:main() -------------------
function QuickApp:main() -- EventScript version
local rule = function(...) return self:evalScript(...) end -- old rule function
self:enableTriggerType({"device","global-variable","custom-event","profile","alarm","location","quickvar","user"}) -- types of events we want
fibaro.debugFlags.sourceTrigger=false -- SLÅ AV
local HT = {
keyfob = 26,
motion= 21,
temp = 22,
lux = 23,
}
Problemet med din regel är att
Luxsensorshuset:lux
returnerar en lua table med lux värdena för devices i Luxsensorshuset.
Du räknar ut average på den i början av regeln.
Om du vill logga värdet så får du räkna ut det igen.
I din regel så räknar du ut average men du använder inte värdet till ngt,
Skulle göra såhär
Code: Select all
Luxsensorshuset={339,417,428}
X = 200
rule("Luxsensorshuset:lux & $Styrning=='On' => log('Luxvärdet i Huset:%s',average(Luxsensorshuset:lux))").start()
rule("once(average(Luxsensorshuset:lux) > X) & $Styrning=='On' => log('Luxvärdet I Huset > %s',X)").start()
rule("once(average(Luxsensorshuset:lux) <= X) & $Styrning=='On' => log('Luxvärdet I Huset <= %s',X)").start()
.start() gör att regeln körs direkt när den definieras. Annars kommer regeln att köras första gången då ngt lux värde ändras.
once(...) gör att villkoret blir sant så måste det bli falskt innan det kan bli sant igen. Det gör att vi bara triggar en gång då vi är över X och under X
Hej Igen
Jag funderar på hur man kan ändra deciamal eller rentav ta bort det så det visar tex 114,3 ex eller bara heltal 114 ? antar att det kanske blir mycket kod ?
eller det kasnek inte går utan att skriva fyra sidor kod ?
2022-07-19] [07:20:39] [TRACE] [QUICKAPP763]: Luxvärdet i Huset:114.33333333333
Re: EventRunner 4 - QuickApp HC3
Posted: 20 Jul 2022, 06:20
by jang
Så, log() använder string.format för att formatera utskriften. Vanligen använder vi '%s' för att skriva ut ett värde. %s gör i princip tostring() på värden, så ett decimaltal får så många decimaler som det finns.
Men, det finns många andra formateringskoder.
%f skriver ut ett decimaltal, och vi kan specificera antal med %.xf där x är antal decimaler.
skriver ut avrundat till en decimal
skriver ut avrundat till 0 decimaler - dvs ett heltal
Om du alltid vill ha 2 decimaler (ex. 3.1 ska skrivas 3.10) så blir det
Re: EventRunner 4 - QuickApp HC3
Posted: 20 Jul 2022, 09:08
by Systemfel
jang wrote: ↑20 Jul 2022, 06:20
Så, log() använder string.format för att formatera utskriften. Vanligen använder vi '%s' för att skriva ut ett värde. %s gör i princip tostring() på värden, så ett decimaltal får så många decimaler som det finns.
Men, det finns många andra formateringskoder.
%f skriver ut ett decimaltal, och vi kan specificera antal med %.xf där x är antal decimaler.
skriver ut avrundat till en decimal
skriver ut avrundat till 0 decimaler - dvs ett heltal
Om du alltid vill ha 2 decimaler (ex. 3.1 ska skrivas 3.10) så blir det
Tack Jang Funkar super duper
Re: EventRunner 4 - QuickApp HC3
Posted: 20 Jul 2022, 15:40
by Systemfel
Hej i värmen.. Jag såg på fibaros forum att du Jang Har börjat titta lite på #user
Code: Select all
rule("#user{id=2,value='action',data={id=756,actionName='turnOn'}} => log(' Kent har Öppnat Garage porten')")
Har fått det att fungera med en fibaro plugg och garage porten och den visar user där eller ja vem som öppnat garageporten i log eller msg
Nu satt jag och funderade lite på User till låset på huset då jag har idlock Om någon öppnar via fibaro appen så hade ju det varit bra om man kunde se vem som öppnade låset med appen.
Tänkte jag kunde få att fungera men riktigt så enkelt var det ju inte.
användare e ju 2 och låset e729
Code: Select all
rule("#user{id=2,value='action',data={id=729,actionName='Lock'}} => log('Låset är låst')")
Code: Select all
rule("#Lock{id=729,mode='Manual',status='Unlock'} => log('Lås öppet - manuellt')")
Ha en riktigt fin dag
Re: EventRunner 4 - QuickApp HC3
Posted: 04 Sep 2022, 12:34
by Systemfel
Tja alla Har en liten fråga finns det något sätt att få in dags priset på el i er4 tex ?
förutom Tibber ?
Re: EventRunner 4 - QuickApp HC3
Posted: 17 Nov 2022, 17:24
by Systemfel
Hejsan
skulle behöva hjälp med en sak och det är att läsa ut en variabel för att slippa ändra en massa så tänkte jag att man kunde läsa av en variabel
Code: Select all
rule("@{catch,$window_sunset} & month('jan-nov') & $Styrning=='On' & $Window_light=='Auto' => log('#C:Green#Tänder fönsterlamporna i huset Jan-nov');Bel_Fonsterlampor:on")
Tänkte då catch skulle läsas som variabel då med tex sunset+01:20 tex
så om man behöver ändra så ändrar man bara på ett ställe ?
Det verkar läsa men inte rätt då belysningen startar 15:57 och då är det sunset men vill flytta fram det mer med tiden men det verkar inte fungera
Någon som kan hjälpa till här.. Sen hur logar man värdet tex
Re: EventRunner 4 - QuickApp HC3
Posted: 17 Nov 2022, 23:32
by Texan
Hej,
Hur blir det ifall man vill få HC3'an att starta om exempelvis en gång i veckan, är detta rätt?
Code: Select all
rule("@12:00 & wday('mon') => fibaro.homeCenter.systemService.reboot()")
Re: EventRunner 4 - QuickApp HC3
Posted: 20 Nov 2022, 10:20
by jang
Texan wrote: ↑17 Nov 2022, 23:32
Hej,
Hur blir det ifall man vill få HC3'an att starta om exempelvis en gång i veckan, är detta rätt?
Code: Select all
rule("@12:00 & wday('mon') => fibaro.homeCenter.systemService.reboot()")
fibaro.systemService finns inte i QAs - bara Scenes
prova
Code: Select all
function reboot() api.post("/service/reboot",{recovery=false}) end
rule("@12:00 & wday('mon') => api.post('/service/reboot',{recovery=false})")
@12:00 är mitt på dagen, @00:00 mitt på natten...
Re: EventRunner 4 - QuickApp HC3
Posted: 20 Nov 2022, 11:07
by jang
Systemfel wrote: ↑17 Nov 2022, 17:24
Hejsan
skulle behöva hjälp med en sak och det är att läsa ut en variabel för att slippa ändra en massa så tänkte jag att man kunde läsa av en variabel
Code: Select all
rule("@{catch,$window_sunset} & month('jan-nov') & $Styrning=='On' & $Window_light=='Auto' => log('#C:Green#Tänder fönsterlamporna i huset Jan-nov');Bel_Fonsterlampor:on")
Tänkte då catch skulle läsas som variabel då med tex sunset+01:20 tex
så om man behöver ändra så ändrar man bara på ett ställe ?
Det verkar läsa men inte rätt då belysningen startar 15:57 och då är det sunset men vill flytta fram det mer med tiden men det verkar inte fungera
Någon som kan hjälpa till här.. Sen hur logar man värdet tex
Jo, det ska funka.
Om du sätter globala variabeln window_sunset till
så ska det funka.
Du kan också logga
rule("log('window_sunset=%s',HM($window_sunset))")
Re: EventRunner 4 - QuickApp HC3
Posted: 20 Nov 2022, 20:46
by Texan
jang wrote: ↑20 Nov 2022, 10:20
Texan wrote: ↑17 Nov 2022, 23:32
Hej,
Hur blir det ifall man vill få HC3'an att starta om exempelvis en gång i veckan, är detta rätt?
Code: Select all
rule("@12:00 & wday('mon') => fibaro.homeCenter.systemService.reboot()")
fibaro.systemService finns inte i QAs - bara Scenes
prova
Code: Select all
function reboot() api.post("/service/reboot",{recovery=false}) end
rule("@12:00 & wday('mon') => api.post('/service/reboot',{recovery=false})")
@12:00 är mitt på dagen, @00:00 mitt på natten...
Tyvärr så fungerade det inte...
Re: EventRunner 4 - QuickApp HC3
Posted: 23 Nov 2022, 20:27
by Systemfel
jang wrote: ↑20 Nov 2022, 11:07
Systemfel wrote: ↑17 Nov 2022, 17:24
Hejsan
skulle behöva hjälp med en sak och det är att läsa ut en variabel för att slippa ändra en massa så tänkte jag att man kunde läsa av en variabel
Code: Select all
rule("@{catch,$window_sunset} & month('jan-nov') & $Styrning=='On' & $Window_light=='Auto' => log('#C:Green#Tänder fönsterlamporna i huset Jan-nov');Bel_Fonsterlampor:on")
Tänkte då catch skulle läsas som variabel då med tex sunset+01:20 tex
så om man behöver ändra så ändrar man bara på ett ställe ?
Det verkar läsa men inte rätt då belysningen startar 15:57 och då är det sunset men vill flytta fram det mer med tiden men det verkar inte fungera
Någon som kan hjälpa till här.. Sen hur logar man värdet tex
Jo, det ska funka.
Om du sätter globala variabeln window_sunset till
så ska det funka.
Du kan också logga
rule("log('window_sunset=%s',HM($window_sunset))")
Nopp det fungerar tyvärr inte att få den att läsa så. Om jag lägger in värde sunset bara så visar den att den tänder 15:47 lägger jag sunset+01:00 blir det ändrat men med bara en minut till 15:48 så den läser nog nått konstigt här
vet inte om man måste hämta värdet på något annat sätt
Re: EventRunner 4 - QuickApp HC3
Posted: 24 Nov 2022, 15:19
by jang
Du har rätt. Tid+offset i en variabel klarar bara av minuter
Så "sunset+60" ger en timme efter sunset.
"07:00+60" ger en timme efter 7 (kanske inte så användbart)
Vad man kan göra är att låte regeln beräkna offset.
rule("@sunset+$offset => ....")
och sätta globala variablen "offset" till "00:59:05"
så startar den 59min och 5s efter sunset.
Re: EventRunner 4 - QuickApp HC3
Posted: 24 Nov 2022, 16:12
by Systemfel
jang wrote: ↑24 Nov 2022, 15:19
Du har rätt. Tid+offset i en variabel klarar bara av minuter
Så "sunset+60" ger en timme efter sunset.
"07:00+60" ger en timme efter 7 (kanske inte så användbart)
Vad man kan göra är att låte regeln beräkna offset.
rule("@sunset+$offset => ....")
och sätta globala variablen "offset" till "00:59:05"
så startar den 59min och 5s efter sunset.
Ska testa detta
Tack för hjälp och förklaring
får ett felmeddelande så vet inte riktigt vad jag gör fel här
Code: Select all
[2022-11-24] [15:51:01] [ERROR] [QUICKAPP936]: Error in '@sunset+$offset => & month('jan-nov') => log('#C:Green# Tänder fönsterlamporna kväll Jan-nov'); Bel_Fonsterlampor:on': ./include/EventRunner.lua:760: Parser error char 8 ('+$') in expression '@sunset+$offset => & month('jan-nov') => log('#C:Green# Tänder fönsterlamporna kväll Jan-nov'); Bel_Fonsterlampor:on' (./include/EventRunner.lua:491: attempt to index a nil value (field '?'))
[2022-11-24] [15:51:01] [ERROR] [QUICKAPP936]: Main() ERROR:./include/EventRunner.lua:1730: ./include/EventRunner.lua:760: Parser error char 8 ('+$') in expression '@sunset+$offset => & month('jan-nov') => log('#C:Green# Tänder fönsterlamporna kväll Jan-nov'); Bel_Fonsterlampor:on' (./include/EventRunner.lua:491: attempt to index a nil value (field '?'))
koden ser ut så tiden ligger i en variabel som heter offset med tiden 00:55:00
Code: Select all
rule("@sunset+$offset => & month('jan-nov') => log('#C:Green# Tänder fönsterlamporna kväll Jan-nov'); Bel_Fonsterlampor:on")
Re: EventRunner 4 - QuickApp HC3
Posted: 25 Nov 2022, 11:11
by jang
Sorry, jag var lite snabb.
'@' operatorn binder hårdare än '+' operator (vilket egentligen är fel och jag borde fixa)
Nu få du sätta paranteser runt uttrycket.
rule("@(sunset+$offset) => ....")
Re: EventRunner 4 - QuickApp HC3
Posted: 26 Nov 2022, 00:06
by Systemfel
jang wrote: ↑25 Nov 2022, 11:11
Sorry, jag var lite snabb.
'@' operatorn binder hårdare än '+' operator (vilket egentligen är fel och jag borde fixa)
Nu få du sätta paranteser runt uttrycket.
rule("@(sunset+$offset) => ....")
ooohh tack ska prova detta i helgen får vi se hur det bär sig