From 7052fdc06be46e5a294e4c3621baea5010c388c5 Mon Sep 17 00:00:00 2001 From: Florian Maurer Date: Sun, 3 Nov 2024 12:53:13 +0100 Subject: [PATCH] reduce calls to revert and reconf --- .../lib/gluon/ssid-changer/ssid-changer.lua | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/ffac-ssid-changer/luasrc/lib/gluon/ssid-changer/ssid-changer.lua b/ffac-ssid-changer/luasrc/lib/gluon/ssid-changer/ssid-changer.lua index 3121ac31..16637590 100755 --- a/ffac-ssid-changer/luasrc/lib/gluon/ssid-changer/ssid-changer.lua +++ b/ffac-ssid-changer/luasrc/lib/gluon/ssid-changer/ssid-changer.lua @@ -143,8 +143,14 @@ end if status == 'online' then log_debug("node is online") - os.execute('uci revert wireless && wifi reconf') -elseif status == 'offline' then + -- only revert and reconf if we were offline in the current monitoring timeframe or before + -- to reduce impact + if off_count > 0 then + uci:revert('wireless') + os.execute('wifi reconf') + end +elseif status == 'offline' or off_count > 0 then + -- either we are offline or the tq is in the variable range and was considered offline before log_debug("node is considered offline") local first = tonumber(uci:get('ssid-changer', 'settings', 'first') or 5) -- set SSID offline, only if uptime is less than FIRST or exactly a multiplicative of switch_timeframe @@ -165,6 +171,7 @@ elseif status == 'offline' then if owe_ssid then uci:set('wireless', 'owe_radio' .. i, 'enabled', 0) end + -- save does not commit uci:save('wireless') end os.execute('wifi reconf') @@ -178,6 +185,10 @@ end if is_switch_time == 0 then file = io.open(tmp, 'w') - file:write("0") + if status == 'offline' then + file:write("1") + else + file:write("0") + end file:close() end