luci-app-led-scheduler 0.3.0
0.3.0
- 增加 OpenWrt 23.05 / 24.10 兼容。
- OpenWrt 25.12 构建
.apk。 - OpenWrt 24.10 / 23.05 构建
.ipk。 - 包仍为
all架构,因此同一 OpenWrt 系列的产物不绑定 x86、ARM、MIPS 等 CPU 架构。 - 同时兼容两代 ucitrack:
- OpenWrt 24.10 / 25.12:
/usr/share/ucitrack/*.json - OpenWrt 23.05:
/etc/config/ucitrack
- OpenWrt 24.10 / 25.12:
- LuCI 通知兼容:
- 24.10+ 使用
addTimeLimitedNotification() - 23.05 自动退回
addNotification()+ JavaScript 定时关闭。
- 24.10+ 使用
- 仓库新增
.gitea/workflows/build.yml,一次 CI 同时生成 APK 与 IPK。
CI 构建矩阵
| OpenWrt | 包格式 | SDK target | Package arch |
|---|---|---|---|
| 25.12.0 | .apk |
x86/64 | all |
| 24.10.8 | .ipk |
x86/64 | all |
| 23.05.5 | .ipk |
x86/64 | all |
这里故意使用 x86/64 SDK:本项目没有原生二进制,LUCI_PKGARCH:=all,
因此 CI 不需要为每一种 CPU 架构重复构建。
0.2.4
- 修复无 RTC / 开机时间尚未完成 NTP 同步时,重启后 LED 可能错误保持关闭的问题。
- 开机先恢复 OpenWrt 原生 LED 状态。
- 只有系统时间可信时才立即按计划判断。
- 新增
/etc/hotplug.d/ntp/90-led-scheduler,在 NTPstep/stratum事件后重新执行led-control apply。 - 白天重启不会因为假时间误关灯;夜间重启会在 NTP 校时后按真实时间自动熄灯。
0.2.3
- 安装/升级阶段主动执行
chmod 0755,避免自定义解压/构建流程丢失 Unix 可执行位后导致/etc/init.d/led-scheduler: Permission denied。 - 同时确保
/usr/bin/led-control具备执行权限。 - 保留 0.2.2 的 ucitrack 自动注册和限时通知修复。
0.2.2
- 修复首次安装后
ucitrack未重新扫描,导致 LuCI 保存配置但 cron 不自动更新的问题。 - 安装/升级后按顺序执行:
led-scheduler enableucitrack restartrpcd reloadled-scheduler restart
- 手动控制成功通知 3 秒后自动消失。
- 操作失败通知 6 秒后自动消失。
- Makefile 补全 OpenWrt buildroot signature。
这个版本只负责 LED 的“定时”,不再自己维护 WAN/LAN 的正常工作方式。
设计
OpenWrt 原生页面:
系统 -> LED 配置
继续负责:
- WAN / LAN 对应哪个 sysfs LED
- trigger(例如 netdev)
- 网口绑定、Link/TX/RX 等正常行为
本插件:
系统 -> LED 定时
只负责:
23:00 -> 临时关闭所选 LED
07:00 -> /etc/init.d/led restart
恢复后 LED 会重新按照 /etc/config/system 中的原生配置运行。
默认配置
config scheduler 'main'
option enabled '0'
option off_time '23:00'
option on_time '07:00'
option all_system_leds '1'
默认不启用定时。
页面功能
- 启用 LED 定时
- 关闭时间 / 恢复时间
- 控制全部“系统 -> LED 配置”中的 LED
- 或选择部分 LED
- 立即关闭
- 立即恢复
- 按当前时间应用
- 重新同步 cron
- 显示系统 LED 的名称、sysfs、trigger
直接复制到路由器测试
scp -r root/* root@192.168.2.1:/
scp -r htdocs/* root@192.168.2.1:/www/
然后:
ssh root@192.168.2.1
chmod +x /usr/bin/led-control /etc/init.d/led-scheduler
/etc/init.d/led-scheduler enable
rm -f /tmp/luci-indexcache.*
rm -rf /tmp/luci-modulecache/
/etc/init.d/rpcd restart
/etc/init.d/led-scheduler restart
重新登录 LuCI,进入:
系统 -> LED 定时
SSH 调试
/usr/bin/led-control list
/usr/bin/led-control selected
/usr/bin/led-control status
/usr/bin/led-control off
/usr/bin/led-control on
/usr/bin/led-control sync
R2S Plus 当前预计:
WAN wan_led netdev
LAN lan_led netdev
编译
放入自定义 feed 后:
./scripts/feeds update myfeed
./scripts/feeds install -p myfeed luci-app-led-scheduler
make defconfig
make package/feeds/myfeed/luci-app-led-scheduler/compile V=s
输出为:
luci-app-led-scheduler-0.3.0-r1.apk
Releases
1
luci-app-led-scheduler 3.0.0
Latest
Languages
Shell
48.5%
JavaScript
38%
Makefile
13.5%