/
/
/
Ansible role that deploys my edge device with connectivity containers. Currently it deploys a thread border router via the zbt-1 dongle by Home Assistant, a zigbee2MQTT interface using the Sonoff zigbee dongle and a DSMR reader with a generic P1 to USB converter.
1---
2
3# --- General host settings ---
4ha_edge_user: "pi"
5ha_edge_groups: ["docker"]
6ha_edge_timezone: "Europe/Amsterdam"
7
8# Enable/disable stacks
9enable_otbr: true
10enable_z2m: true
11enable_dsmr: true
12
13# --- MQTT (shared for Zigbee2MQTT + DSMR Reader) ---
14mqtt:
15 host: "mosquitto.my.lan" # central broker (on HA core)
16 port: 1883
17 username: "edge"
18 password: "CHANGE_ME"
19 base_topic: "zigbee2mqtt"
20
21# --- Zigbee2MQTT ---
22z2m:
23 version: "latest"
24 data_dir: "/opt/zigbee2mqtt"
25 pan_id: "0x1A62"
26 channel: 15
27 serial_symlink: "/dev/ttyZigbee"
28 adapter: ezsp # Sonoff ZBDongle-E (Silabs). If ZBDongle-P, use zstack.
29
30# --- OTBR / Thread ---
31otbr:
32 image: "ghcr.io/openthread/otbr:latest"
33 rcp_symlink: "/dev/ttyThread"
34 enable_border_routing: true
35 enable_backbone_router: true
36 nat64: true
37 dataset:
38 active: false
39
40# --- DSMR Reader ---
41dsmr:
42 image: "ghcr.io/dsmrreader/dsmr-reader:latest"
43 serial_symlink: "/dev/ttyP1"
44 pg_user: "dsmrreader"
45 pg_password: "CHANGE_ME"
46 pg_db: "dsmrreader"
47 pg_host: "dsmr-postgres"
48 mqtt_prefix: "dsmr"
49 web_port: 7777
50
51# --- UDEV rules ---
52udev_rules:
53 - name: "ttyThread"
54 id_vendor: "10C4" # ZBT-1 (Silabs CP210x)
55 id_product: "EA60"
56 - name: "ttyZigbee"
57 id_vendor: "10C4" # Sonoff ZBDongle-E (Silabs CP2102N)
58 id_product: "EA60"
59 - name: "ttyP1"
60 id_vendor: "0403" # Example FTDI chip (check yours!)
61 id_product: "6001"
62
63compose_root: "/opt/ha-edge"
64
65