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`.
|