A lightweight Python bridge that connects Pesetech/Lepu artificial skylights over Bluetooth Mesh to Home Assistant via MQTT Discovery.
Source & full docs: https://github.com/zackwag/pesetech2mqtt
| Tag | Meaning |
|---|---|
latest | Newest stable release |
X.Y.Z | Exact release |
X.Y | Latest patch of that minor line |
Images are multi-arch: linux/amd64 and linux/arm64.
pesetech_mesh.json.docker run -d --name pesetech2mqtt --restart unless-stopped \
--network host \
--privileged \
-v "$PWD/data:/data" \
-v "$PWD/pesetech_mesh.json:/data/pesetech_mesh.json:ro" \
-e MQTT_HOST=192.168.1.x \
zackwag/pesetech2mqtt:latest
services:
pesetech2mqtt:
image: zackwag/pesetech2mqtt:latest
restart: unless-stopped
network_mode: host
privileged: true
environment:
MQTT_HOST: 192.168.1.x
volumes:
- ./data:/data
- ./pesetech_mesh.json:/data/pesetech_mesh.json:ro
| Path | Purpose |
|---|---|
/data | Runtime data — config.yaml, store.yaml, mesh storage. Use a bind mount or named volume so configuration survives restarts. |
/data/pesetech_mesh.json | Telink mesh export from the provisioning app — mount read-only. |
| Env var | Default | Purpose |
|---|---|---|
MQTT_HOST | 127.0.0.1 | MQTT broker hostname or IP |
MQTT_PORT | 1883 / 8883 | Port — defaults to 8883 when MQTT_SSL=true |
MQTT_USERNAME | — | MQTT username (optional) |
MQTT_PASSWORD | — | MQTT password (optional) |
MQTT_SSL | — | Set to true to enable TLS |
LOG_LEVEL | INFO | Log verbosity (DEBUG, INFO, WARNING, ERROR) |
When using the provided docker-compose.yml, two additional variables control
host-side mount locations (set in .env; not passed into the container):
| Variable | Default | Purpose |
|---|---|---|
PESETECH_DATA_DIR | ./docker/config | Host directory mounted at /data |
PESETECH_MESH_JSON | ./docker/pesetech_mesh.json | Host path to the mesh export |
On first start the gateway imports all skylights from the mesh export and writes
config.yaml and store.yaml to /data. Later starts reuse the saved
configuration — the mesh export is only needed for the initial import.
--network host and --privileged are required — bluetooth-meshd opens
raw L2CAP sockets and needs direct access to the host Bluetooth adapter.Content type
Image
Digest
sha256:a73e05a1b…
Size
469.6 MB
Last updated
1 day ago
docker pull zackwag/pesetech2mqtt