1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-02-15 04:42:02 +00:00
openmptcprouter/root/target/linux/ipq40xx/base-files/etc/uci-defaults/03_side-widget

120 lines
3.3 KiB
Text
Raw Normal View History

2022-03-07 19:21:35 +00:00
#!/bin/sh
. /lib/functions.sh
CONFIG="widget"
MOBILE_CONFIG="/etc/config/simcard"
RMS_CONFIG="/etc/config/rms_connect_mqtt"
WIFI_CONFIG="/etc/config/wireless"
ETHERNET=$(uci -q get network.@switch[0].name)
ethernet_widget_exists=0
mobile_widget_exists=0
system_widget_exists=0
wifi_widget_exists=0
rms_widget_exists=0
position=1
radio0_network=1
radio1_network=1
check_for_widgets() {
local widget="$1"
local type
config_get type "$widget" type
if [ "$type" = "ethernet" ]; then
ethernet_widget_exists=1
elif [ "$type" = "mobile" ]; then
mobile_widget_exists=1
elif [ "$type" = "system" ]; then
system_widget_exists=1
elif [ "$type" = "wifi" ]; then
wifi_widget_exists=1
elif [ "$type" = "rms" ]; then
rms_widget_exists=1
fi
}
setup_wifi_fields() {
local iface_section="$1"
local device
config_get device "$iface_section" device
section=$(uci -q add widget widget)
if [ "$device" == "radio0" ]; then
uci -q set $CONFIG."${section}.id"=$device."network${radio0_network}"
let "radio0_network=radio0_network + 1"
elif [ "$device" == "radio1" ]; then
uci -q set $CONFIG."${section}.id"=$device."network${radio1_network}"
let "radio1_network=radio1_network + 1"
fi
uci -q set $CONFIG."${section}.type=wifi"
uci -q set $CONFIG."${section}.position=${position}"
uci -q set $CONFIG."${section}.enabled=1"
let "position=position + 1"
}
check_if_config_exists() {
if [ ! -f "/etc/config/${CONFIG}" ]; then
touch "/etc/config/${CONFIG}"
fi
}
setup_side_widget() {
config_load widget
config_foreach check_for_widgets widget
if [ $ethernet_widget_exists -eq 0 -a -n "$ETHERNET" ]; then
check_if_config_exists
section=$(uci -q add widget widget)
uci -q set $CONFIG."${section}.id=widget1"
uci -q set $CONFIG."${section}.type=ethernet"
uci -q set $CONFIG."${section}.position=${position}"
uci -q set $CONFIG."${section}.enabled=1"
let "position=position + 1"
fi
if [ $mobile_widget_exists -eq 0 -a -s "$MOBILE_CONFIG" -a -f "$MOBILE_CONFIG" ]; then
check_if_config_exists
modem_count=$(jsonfilter -q -i /etc/board.json -e '@["modems"][*]' | wc -l)
for i in $(seq $modem_count)
do
section=$(uci -q add widget widget)
uci -q set $CONFIG."${section}.id=mobile-widget$i"
uci -q set $CONFIG."${section}.type=mobile"
uci -q set $CONFIG."${section}.position=${position}"
uci -q set $CONFIG."${section}.enabled=1"
let "position=position + 1"
done
fi
if [ $system_widget_exists -eq 0 ]; then
check_if_config_exists
section=$(uci -q add widget widget)
uci -q set $CONFIG."${section}.id=widget3"
uci -q set $CONFIG."${section}.type=system"
uci -q set $CONFIG."${section}.position=${position}"
uci -q set $CONFIG."${section}.enabled=1"
let "position=position + 1"
fi
if [ $wifi_widget_exists -eq 0 -a -f "$WIFI_CONFIG" ]; then
check_if_config_exists
config_load wireless
config_foreach setup_wifi_fields wifi-iface
fi
if [ $rms_widget_exists -eq 0 -a -f "$RMS_CONFIG" ]; then
check_if_config_exists
section=$(uci -q add widget widget)
uci -q set $CONFIG."${section}.id=widget5"
uci -q set $CONFIG."${section}.type=rms"
uci -q set $CONFIG."${section}.position=${position}"
uci -q set $CONFIG."${section}.enabled=1"
let "position=position + 1"
fi
uci -q commit $CONFIG
}
setup_side_widget
exit 0