Systemfel wrote: ↑14 Jul 2022, 18:06Perfekt 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 överjang 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.
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)
EventRunner 4 - QuickApp HC3
kör Hc3 och det fungerar bättre och bätttre sakta men säkert
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.
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.82jang 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.
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)")
kör Hc3 och det fungerar bättre och bätttre sakta men säkert
I början av main så kan du slå av vissa debugflaggor.
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
.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
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,
}
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()
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 sejang wrote: ↑16 Jul 2022, 09:29 I början av main så kan du slå av vissa debugflaggor.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.82Code: 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, }
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.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.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()
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
tack för svar och hjälp ska labborera lite med detta i kväll
kör Hc3 och det fungerar bättre och bätttre sakta men säkert
jang wrote: ↑16 Jul 2022, 09:29 I början av main så kan du slå av vissa debugflaggor.Problemet med din regel är attCode: 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, }
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.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.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()
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
kör Hc3 och det fungerar bättre och bätttre sakta men säkert
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
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.
Code: Select all
log("Värde är %1.f',math.pi)
Code: Select all
log("Värde är %0.f',math.pi)
Om du alltid vill ha 2 decimaler (ex. 3.1 ska skrivas 3.10) så blir det
Code: Select all
log("Värde är %02.f',3.1)
Tack Jang Funkar super duperjang 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 decimalCode: Select all
log("Värde är %1.f',math.pi)
skriver ut avrundat till 0 decimaler - dvs ett heltalCode: Select all
log("Värde är %0.f',math.pi)
Om du alltid vill ha 2 decimaler (ex. 3.1 ska skrivas 3.10) så blir detCode: Select all
log("Värde är %02.f',3.1)
kör Hc3 och det fungerar bättre och bätttre sakta men säkert
Hej i värmen.. Jag såg på fibaros forum att du Jang Har börjat titta lite på #user
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
Ha en riktigt fin dag
Code: Select all
rule("#user{id=2,value='action',data={id=756,actionName='turnOn'}} => log(' Kent har Öppnat Garage porten')")
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')")
kör Hc3 och det fungerar bättre och bätttre sakta men säkert
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
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
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")
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
kör Hc3 och det fungerar bättre och bätttre sakta men säkert
Hej,
Hur blir det ifall man vill få HC3'an att starta om exempelvis en gång i veckan, är detta rätt?
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 ScenesTexan 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()")
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...
Jo, det ska funka.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
Tänkte då catch skulle läsas som variabel då med tex sunset+01:20 texCode: 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")
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
Om du sätter globala variabeln window_sunset till
Code: Select all
sunset+01:00
Du kan också logga
rule("log('window_sunset=%s',HM($window_sunset))")
Tyvärr så fungerade det inte...jang wrote: ↑20 Nov 2022, 10:20fibaro.systemService finns inte i QAs - bara ScenesTexan 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()")
provaCode: 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...
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ättjang wrote: ↑20 Nov 2022, 11:07Jo, det ska funka.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
Tänkte då catch skulle läsas som variabel då med tex sunset+01:20 texCode: 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")
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
Om du sätter globala variabeln window_sunset tillså ska det funka.Code: Select all
sunset+01:00
Du kan också logga
rule("log('window_sunset=%s',HM($window_sunset))")
kör Hc3 och det fungerar bättre och bätttre sakta men säkert
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.
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örklaringjang 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.
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 '?'))
Code: Select all
rule("@sunset+$offset => & month('jan-nov') => log('#C:Green# Tänder fönsterlamporna kväll Jan-nov'); Bel_Fonsterlampor:on")
kör Hc3 och det fungerar bättre och bätttre sakta men säkert
ooohh tack ska prova detta i helgen får vi se hur det bär sig
kör Hc3 och det fungerar bättre och bätttre sakta men säkert