mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-30 18:07:52 +00:00
ucentral-state: skip state messages when the AP is offline
Fixes: WIFI-13643 Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
@@ -19,6 +19,7 @@ let uci = libuci.cursor();
|
|||||||
let config;
|
let config;
|
||||||
let offline_timer;
|
let offline_timer;
|
||||||
let current_state;
|
let current_state;
|
||||||
|
let online = false;
|
||||||
|
|
||||||
function self_healing() {
|
function self_healing() {
|
||||||
|
|
||||||
@@ -62,6 +63,10 @@ state = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
spawn: function() {
|
spawn: function() {
|
||||||
|
if (!online) {
|
||||||
|
ulog(LOG_INFO, 'offline - skipping state execution\n');
|
||||||
|
return;
|
||||||
|
}
|
||||||
ulog(LOG_INFO, 'state execute\n');
|
ulog(LOG_INFO, 'state execute\n');
|
||||||
state.pid = uloop.process('/usr/share/ucentral/state.uc', [], {}, state.complete);
|
state.pid = uloop.process('/usr/share/ucentral/state.uc', [], {}, state.complete);
|
||||||
},
|
},
|
||||||
@@ -99,9 +104,10 @@ function config_load() {
|
|||||||
state.run(config?.stats?.interval * 1000);
|
state.run(config?.stats?.interval * 1000);
|
||||||
|
|
||||||
let status = ubus.call('ucentral', 'status');
|
let status = ubus.call('ucentral', 'status');
|
||||||
if (status?.connected)
|
if (status?.connected) {
|
||||||
online_handler();
|
online_handler();
|
||||||
else if (config.ui.offline_trigger)
|
online = true;
|
||||||
|
} else if (config.ui.offline_trigger)
|
||||||
offline_timer = uloop.timer(config.ui.offline_trigger * 1000, offline_handler);
|
offline_timer = uloop.timer(config.ui.offline_trigger * 1000, offline_handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,9 +147,9 @@ function blink_timeout() {
|
|||||||
|
|
||||||
let state_handler = {
|
let state_handler = {
|
||||||
offline: function() {
|
offline: function() {
|
||||||
|
online = false;
|
||||||
let led = led_find('led-running');
|
let led = led_find('led-running');
|
||||||
if (!led)
|
if (led)
|
||||||
return ubus.STATUS_INVALID_ARGUMENT;
|
|
||||||
led_write(led, 'trigger', 'heartbeat');
|
led_write(led, 'trigger', 'heartbeat');
|
||||||
if (config.ui.offline_trigger) {
|
if (config.ui.offline_trigger) {
|
||||||
if (offline_timer)
|
if (offline_timer)
|
||||||
@@ -154,9 +160,9 @@ let state_handler = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
online: function() {
|
online: function() {
|
||||||
|
online = true;
|
||||||
let led = led_find('led-running');
|
let led = led_find('led-running');
|
||||||
if (!led)
|
if (led)
|
||||||
return ubus.STATUS_INVALID_ARGUMENT;
|
|
||||||
led_write(led, 'trigger', 'default-on');
|
led_write(led, 'trigger', 'default-on');
|
||||||
online_handler();
|
online_handler();
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user