luci/applications/luci-app-wifischedule
Hosted Weblate 0f226faf6c Translated using Weblate (Asturian)
Currently translated at 48.4% (16 of 33 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (280 of 280 strings)

Translated using Weblate (Lithuanian)

Currently translated at 98.6% (371 of 376 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (177 of 177 strings)

Translation: OpenWrt/LuCI/applications/adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock/zh_Hans/

Added translation using Weblate (Asturian)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (37 of 37 strings)

Translation: OpenWrt/LuCI/applications/cloudflared
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscloudflared/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (33 of 33 strings)

Translation: OpenWrt/LuCI/applications/v2raya
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsv2raya/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (33 of 33 strings)

Translation: OpenWrt/LuCI/applications/alist
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsalist/zh_Hans/

Translated using Weblate (Lithuanian)

Currently translated at 37.8% (73 of 193 strings)

Translated using Weblate (Bulgarian)

Currently translated at 15.4% (364 of 2353 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/bg/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (26 of 26 strings)

Translation: OpenWrt/LuCI/applications/dcwapd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdcwapd/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (49 of 49 strings)

Translation: OpenWrt/LuCI/applications/mjpg-streamer
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsmjpg-streamer/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (40 of 40 strings)

Translation: OpenWrt/LuCI/applications/clamav
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsclamav/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (168 of 168 strings)

Translation: OpenWrt/LuCI/applications/aria2
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsaria2/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (186 of 186 strings)

Translation: OpenWrt/LuCI/applications/unbound
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsunbound/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (14 of 14 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (82 of 82 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2353 of 2353 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/

Translated using Weblate (Spanish)

Currently translated at 91.8% (34 of 37 strings)

Translation: OpenWrt/LuCI/applications/cloudflared
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscloudflared/es/

Translated using Weblate (Spanish)

Currently translated at 18.1% (6 of 33 strings)

Translation: OpenWrt/LuCI/applications/v2raya
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsv2raya/es/

Translated using Weblate (Spanish)

Currently translated at 86.6% (13 of 15 strings)

Translation: OpenWrt/LuCI/applications/snmpd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssnmpd/es/

Translated using Weblate (Spanish)

Currently translated at 15.2% (7 of 46 strings)

Translation: OpenWrt/LuCI/applications/xfrpc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxfrpc/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (19 of 19 strings)

Translation: OpenWrt/LuCI/applications/irqbalance
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsirqbalance/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (33 of 33 strings)

Translation: OpenWrt/LuCI/applications/alist
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsalist/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (162 of 162 strings)

Translation: OpenWrt/LuCI/applications/adblock-fast
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock-fast/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (20 of 20 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (127 of 127 strings)

Translation: OpenWrt/LuCI/applications/pbr
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspbr/es/

Translated using Weblate (Spanish)

Currently translated at 81.2% (39 of 48 strings)

Translation: OpenWrt/LuCI/applications/openwisp
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenwisp/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (16 of 16 strings)

Translation: OpenWrt/LuCI/applications/hd-idle
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationshd-idle/es/

Translated using Weblate (Spanish)

Currently translated at 71.2% (141 of 198 strings)

Translation: OpenWrt/LuCI/applications/smartdns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssmartdns/es/

Translated using Weblate (Spanish)

Currently translated at 78.4% (113 of 144 strings)

Translation: OpenWrt/LuCI/applications/https-dns-proxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationshttps-dns-proxy/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (52 of 52 strings)

Translation: OpenWrt/LuCI/applications/ttyd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsttyd/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (34 of 34 strings)

Translation: OpenWrt/LuCI/applications/wifischedule
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswifischedule/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (82 of 82 strings)

Translation: OpenWrt/LuCI/applications/shadowsocks-libev
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsshadowsocks-libev/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (12 of 12 strings)

Translation: OpenWrt/LuCI/applications/bcp38
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsbcp38/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (26 of 26 strings)

Translation: OpenWrt/LuCI/applications/dcwapd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdcwapd/es/

Translated using Weblate (Spanish)

Currently translated at 99.4% (167 of 168 strings)

Translation: OpenWrt/LuCI/applications/aria2
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsaria2/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (20 of 20 strings)

Translation: OpenWrt/LuCI/applications/ltqtapi
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsltqtapi/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (186 of 186 strings)

Translation: OpenWrt/LuCI/applications/unbound
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsunbound/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (59 of 59 strings)

Translation: OpenWrt/LuCI/applications/nft-qos
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnft-qos/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (197 of 197 strings)

Translation: OpenWrt/LuCI/applications/ddns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (124 of 124 strings)

Translation: OpenWrt/LuCI/applications/nlbwmon
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnlbwmon/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (62 of 62 strings)

Translation: OpenWrt/LuCI/applications/ocserv
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsocserv/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (183 of 183 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (33 of 33 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (33 of 33 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (280 of 280 strings)

Translated using Weblate (Spanish)

Currently translated at 96.2% (362 of 376 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (135 of 135 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Spanish)

Currently translated at 94.5% (2225 of 2353 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/es/

Translated using Weblate (Russian)

Currently translated at 100.0% (120 of 120 strings)

Translation: OpenWrt/LuCI/applications/usteer
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsusteer/ru/

Translated using Weblate (Lithuanian)

Currently translated at 29.0% (56 of 193 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (51 of 51 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (37 of 37 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (2353 of 2353 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/ru/

Translated using Weblate (Polish)

Currently translated at 100.0% (120 of 120 strings)

Translation: OpenWrt/LuCI/applications/usteer
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsusteer/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (51 of 51 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (37 of 37 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (2353 of 2353 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/pl/

Co-authored-by: Boyan Alexiev <nneauu@gmail.com>
Co-authored-by: ChenYang <cye3s@126.com>
Co-authored-by: Džiugas J <dziugas1959@hotmail.com>
Co-authored-by: Enol P <enolp@softastur.org>
Co-authored-by: Franco Castillo <castillofrancodamian@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Matthaiks <kitynska@gmail.com>
Co-authored-by: st7105 <st7105@gmail.com>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Signed-off-by: Boyan Alexiev <nneauu@gmail.com>
Signed-off-by: ChenYang <cye3s@126.com>
Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
Signed-off-by: Matthaiks <kitynska@gmail.com>
Signed-off-by: st7105 <st7105@gmail.com>
Signed-off-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsahcp/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscommands/ast/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscommands/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfirewall/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfirewall/lt/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsminidlna/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnatmap/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsntpc/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnut/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsolsr/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenvpn/lt/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsqos/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssplash/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstatistics/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstatistics/lt/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsupnp/pl/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsupnp/ru/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswatchcat/pl/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswatchcat/ru/
Translation: OpenWrt/LuCI/applications/ahcp
Translation: OpenWrt/LuCI/applications/commands
Translation: OpenWrt/LuCI/applications/firewall
Translation: OpenWrt/LuCI/applications/minidlna
Translation: OpenWrt/LuCI/applications/natmap
Translation: OpenWrt/LuCI/applications/ntpc
Translation: OpenWrt/LuCI/applications/nut
Translation: OpenWrt/LuCI/applications/olsr
Translation: OpenWrt/LuCI/applications/openvpn
Translation: OpenWrt/LuCI/applications/qos
Translation: OpenWrt/LuCI/applications/splash
Translation: OpenWrt/LuCI/applications/statistics
Translation: OpenWrt/LuCI/applications/upnp
Translation: OpenWrt/LuCI/applications/watchcat
2024-02-06 20:06:48 +02:00
..
luasrc applications: add ACL dependency annotations to legacy controllers 2020-04-19 17:17:26 +02:00
po Translated using Weblate (Asturian) 2024-02-06 20:06:48 +02:00
root/usr/share/rpcd/acl.d treewide: stage ACL rules for legacy applications 2020-04-10 23:21:35 +02:00
Makefile applications: add missing dependency to luci-base 2023-09-24 11:11:42 +03:00
README.md treewide: Fix typos in comments 2018-10-10 15:00:07 +08:00

wifischedule

Turns WiFi on and off according to a schedule on an openwrt router

Components

  • wifischedule: Shell script that creates cron jobs based on configuration provided in UCI and does all the other logic of enabling and disabling wifi with the use of /sbin/wifi and /usr/bin/iwinfo. Can be used standalone.
  • luci-app-wifischedule: LUCI frontend for creating the UCI configuration and triggering the actions. Depends on wifischedule.

Use cases

You can create user-defined events when to enable or disable WiFi. There are various use cases why you would like to do so:

  1. Reduce power consumption and therefore reduce CO2 emissions.
  2. Reduce emitted electromagnatic radiation.
  3. Force busincess hours when WiFi is available.

Regarding 1: Please note, that you need to unload the wireless driver modules in order to get the most effect of saving power. In my test scenario only disabling WiFi saves about ~0.4 Watt, unloading the modules removes another ~0.4 Watt.

Regarding 2: Think of a wireless accesspoint e.g. in your bedrom, kids room where you want to remove the amount of radiation emitted.

Regarding 3: E.g. in a company, why would wireless need to be enabled weekends if no one is there working? Or think of an accesspoint in your kids room when you want the youngsters to sleep after 10 pm instead of facebooking...

Configuration

You can create an arbitrary number of schedule events. Please note that there is on sanity check done whether the start / stop times overlap or make sense. If start and stop time are equal, this leads to disabling the WiFi at the given time.

Logging if enabled is done to the file /var/log/wifi_schedule.log and can be reviewed through the "View Logfile" tab. The cron jobs created can be reviewed through the "View Cron Jobs" tab.

Please note that the "Unload Modules" function is currently considered as experimental. You can manually add / remove modules in the text field. The button "Determine Modules Automatically" tries to make a best guess determining regarding the driver module and its dependencies. When un-/loading the modules, there is a certain number of retries (module_load) performed.

The option "Force disabling wifi even if stations associated" does what it says - when activated it simply shuts down WiFi. When unchecked, its checked every recheck_interval minutes if there are still stations associated. Once the stations disconnect, WiFi is disabled.

Please note, that the parameters module_load and recheck_interval are only accessible through uci.

UCI Configuration wifi_schedule

UCI configuration file: /etc/config/wifi_schedule:

config global
        option logging '0'
        option enabled '0'
        option recheck_interval '10'
        option modules_retries '10'

config entry 'Businesshours'
        option enabled '0'
        option daysofweek 'Monday Tuesday Wednesday Thursday Friday'
        option starttime '06:00'
        option stoptime '22:00'
        option forcewifidown '0'

config entry 'Weekend'
        option enabled '0'
        option daysofweek 'Saturday Sunday'
        option starttime '00:00'
        option stoptime '00:00'
        option forcewifidown '1'

Script: wifi_schedule.sh

This is the script that does the work. Make your changes to the UCI config file: /etc/config/wifi_schedule

Then call the script as follows in order to get the necessary cron jobs created:

wifi_schedule.sh cron

All commands:

wifi_schedule.sh cron|start|stop|forcestop|recheck|getmodules|savemodules|help

    cron: Create cronjob entries.
    start: Start wifi.
    stop: Stop wifi gracefully, i.e. check if there are stations associated and if so keep retrying.
    forcestop: Stop wifi immediately.
    recheck: Recheck if wifi can be disabled now.
    getmodules: Returns a list of modules used by the wireless driver(s)
    savemodules: Saves a list of automatic determined modules to UCI
    help: This description.