secubox-openwrt/luci-app-zigbee2mqtt/README.md

60 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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