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 
