![]() |
|
dim up / down to percentage - Printable Version +- LogicMachine Forum (https://forum.logicmachine.net) +-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1) +--- Forum: Scripting (https://forum.logicmachine.net/forumdisplay.php?fid=8) +--- Thread: dim up / down to percentage (/showthread.php?tid=5026) |
dim up / down to percentage - KoBra - 15.10.2023 I run this script to change up/down dim to a percentage but when it runs the logic machine goes in overload (100%) Is there another/better way? Code: dimmer = grp.getvalue('1/3/10')
step = bit.band(dimmer, 0x07)
if step ~= 0 then
addr = '1/4/10'
up = bit.band(dimmer, 0x08) ~= 0
value = grp.getvalue(addr)
if up then
newvalue = value + 5
else
newvalue = value - 5
end
-- clamp between 0 and 100
newvalue = math.min(newvalue, 100)
newvalue = math.max(newvalue, 0)
if newvalue ~= value then
grp.write(addr, newvalue)
end
end
os.sleep(0.2)RE: dim up / down to percentage - Erwin van der Zwart - 15.10.2023 You probably run this as resident script at 0 sec correct? Or do you have it as event based attached to 1/4/10? If yes then you should change that as this way you run this script every 0.2 seconds.. RE: dim up / down to percentage - KoBra - 15.10.2023 Yep run it as resident and as long as I touch no button it is fine. When I change something everything gets slow RE: dim up / down to percentage - admin - 16.10.2023 Use an event script with execution mode set to "Last instance only". Code: out = '32/0/25'
dimmer = event.getvalue()
step = bit.band(dimmer, 0x07)
if step == 0 then
return
end
up = bit.band(dimmer, 0x08) ~= 0
vstep = up and 5 or -5
value = grp.getvalue(out)
while true do
nvalue = value + vstep
nvalue = math.min(nvalue, 100)
nvalue = math.max(nvalue, 0)
if nvalue ~= value then
grp.write(out, nvalue)
value = nvalue
os.sleep(0.2)
else
break
end
endWhat do you mean by everything gets slow? The script sends 5 telegrams per second which is not a high load. You can lower this by increasing the sleep time. You might need to adjust the step size to keep the dimming speed the same as before. RE: dim up / down to percentage - KoBra - 16.10.2023 Slow i mean TP Load goes to 100% RE: dim up / down to percentage - admin - 16.10.2023 Connect ETS group monitor and see what you get there. If there's another KNX/IP interface on the same TP line you might get a loop where each message is repeated several times before the hop counter becomes 0. |