Major structural reorganization and feature additions: ## Folder Reorganization - Move 17 luci-app-* packages to package/secubox/ (except luci-app-secubox core hub) - Update all tooling to support new structure: - secubox-tools/quick-deploy.sh: search both locations - secubox-tools/validate-modules.sh: validate both directories - secubox-tools/fix-permissions.sh: fix permissions in both locations - .github/workflows/test-validate.yml: build from both paths - Update README.md links to new package/secubox/ paths ## AppStore Migration (Complete) - Add catalog entries for all remaining luci-app packages: - network-tweaks.json: Network optimization tools - secubox-bonus.json: Documentation & demos hub - Total: 24 apps in AppStore catalog (22 existing + 2 new) - New category: 'documentation' for docs/demos/tutorials ## VHost Manager v2.0 Enhancements - Add profile activation system for Internal Services and Redirects - Implement createVHost() API wrapper for template-based deployment - Fix Virtual Hosts view rendering with proper LuCI patterns - Fix RPCD backend shell script errors (remove invalid local declarations) - Extend backend validation for nginx return directives (redirect support) - Add section_id parameter for named VHost profiles - Add Remove button to Redirects page for feature parity - Update README to v2.0 with comprehensive feature documentation ## Network Tweaks Dashboard - Close button added to component details modal Files changed: 340+ (336 renames with preserved git history) Packages affected: 19 luci-app, 2 secubox-app, 1 theme, 4 tools 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
60 lines
2.2 KiB
Markdown
60 lines
2.2 KiB
Markdown
# LuCI App – Zigbee2MQTT
|
||
|
||
**Version:** 1.0.0
|
||
**Last Updated:** 2025-12-28
|
||
**Status:** Active
|
||
|
||
LuCI interface for managing the Docker-based Zigbee2MQTT service packaged in `secubox-app-zigbee2mqtt`.
|
||
|
||
## Features
|
||
|
||
- Displays service/container status, enablement, and quick actions (start/stop/restart/update).
|
||
- Runs prerequisite checks and full Docker installation (dockerd/containerd/image pull) via LuCI buttons.
|
||
- Provides a form to edit `/etc/config/zigbee2mqtt` (serial port, MQTT host, credentials, base topic, frontend port, channel, data path, docker image, timezone).
|
||
- Streams Docker logs directly in LuCI.
|
||
- Uses SecuBox design system and RPCD backend (`luci.zigbee2mqtt`).
|
||
|
||
## Requirements
|
||
|
||
- `secubox-app-zigbee2mqtt` package installed (provides CLI + procd service).
|
||
- Docker runtime (`dockerd`, `docker`, `containerd`) available on the router.
|
||
- Zigbee coordinator connected (e.g., `/dev/ttyACM0`).
|
||
|
||
## Installation
|
||
|
||
```sh
|
||
opkg update
|
||
opkg install secubox-app-zigbee2mqtt luci-app-zigbee2mqtt
|
||
```
|
||
|
||
Access via LuCI: **Services → SecuBox → Zigbee2MQTT**.
|
||
|
||
## Files
|
||
|
||
| Path | Purpose |
|
||
|------|---------|
|
||
| `htdocs/luci-static/resources/view/zigbee2mqtt/overview.js` | Main LuCI view. |
|
||
| `htdocs/luci-static/resources/zigbee2mqtt/api.js` | RPC bindings. |
|
||
| `root/usr/libexec/rpcd/luci.zigbee2mqtt` | RPC backend interacting with UCI and `zigbee2mqttctl`. |
|
||
| `root/usr/share/luci/menu.d/luci-app-zigbee2mqtt.json` | Menu entry. |
|
||
| `root/usr/share/rpcd/acl.d/luci-app-zigbee2mqtt.json` | ACL defaults. |
|
||
|
||
## RPC Methods
|
||
|
||
- `status` – Return UCI config, service enable/running state, Docker container list.
|
||
- `apply` – Update UCI fields, commit, and restart the service.
|
||
- `logs` – Tail container logs.
|
||
- `control` – Start/stop/restart service via init script.
|
||
- `update` – Pull latest image and restart.
|
||
|
||
## Development Notes
|
||
|
||
- Follow SecuBox design tokens (see `DOCS/DEVELOPMENT-GUIDELINES.md`).
|
||
- Keep RPC filenames aligned with ubus object name (`luci.zigbee2mqtt`).
|
||
- Validate with `./secubox-tools/validate-modules.sh`.
|
||
|
||
## Documentation
|
||
|
||
- Deployment walkthrough: [`docs/embedded/zigbee2mqtt-docker.md`](../docs/embedded/zigbee2mqtt-docker.md)
|
||
- CLI helper (`zigbee2mqttctl`) is packaged by `secubox-app-zigbee2mqtt`.
|