summaryrefslogtreecommitdiff
path: root/roles/zigbee
diff options
context:
space:
mode:
Diffstat (limited to 'roles/zigbee')
-rw-r--r--roles/zigbee/files/configuration.yaml16
-rw-r--r--roles/zigbee/tasks/main.yml46
-rw-r--r--roles/zigbee/templates/docker-compose.yml.j225
3 files changed, 87 insertions, 0 deletions
diff --git a/roles/zigbee/files/configuration.yaml b/roles/zigbee/files/configuration.yaml
new file mode 100644
index 0000000..497d633
--- /dev/null
+++ b/roles/zigbee/files/configuration.yaml
@@ -0,0 +1,16 @@
+version: 4
+mqtt:
+ base_topic: zigbee2mqtt
+ server: mqtt://mqtt
+serial:
+ port: /dev/ttyUSB0
+ adapter: zstack
+advanced:
+ channel: 11
+ network_key: GENERATE
+ pan_id: GENERATE
+ ext_pan_id: GENERATE
+frontend:
+ enabled: true
+homeassistant:
+ enabled: true
diff --git a/roles/zigbee/tasks/main.yml b/roles/zigbee/tasks/main.yml
new file mode 100644
index 0000000..0c2e3cb
--- /dev/null
+++ b/roles/zigbee/tasks/main.yml
@@ -0,0 +1,46 @@
+---
+- name: ensure zigbee docker/compose exist
+ file:
+ path: /etc/docker/compose/zigbee
+ state: directory
+ owner: root
+ group: root
+ mode: 0700
+
+- name: create zigbee docker/compose/data/zigbee with set uid/gid
+ file:
+ path: /etc/docker/compose/zigbee/data
+ state: directory
+ owner: 1000
+ group: 1000
+ mode: 0700
+
+- name: create zigbee docker/compose/zigbee/-data with set uid/gid
+ file:
+ path: /etc/docker/compose/zigbee/zigbee2mqtt-data
+ state: directory
+ owner: 1000
+ group: 1000
+ mode: 0700
+
+- name: copy zigbee config.yml
+ copy:
+ src: ../files/configuration.yaml
+ dest: /etc/docker/compose/zigbee/zigbee2mqtt-data/configuration.yaml
+ owner: root
+ group: root
+ mode: u=rw,g=r,o=r
+
+- name: build zigbee docker-compose.yml.j2
+ template:
+ src: ../templates/docker-compose.yml.j2
+ dest: /etc/docker/compose/zigbee/docker-compose.yml
+ owner: root
+ group: root
+ mode: u=rw,g=r,o=r
+
+- name: daemon-reload and enable zigbee
+ ansible.builtin.systemd_service:
+ state: restarted
+ enabled: true
+ name: docker-compose@zigbee
diff --git a/roles/zigbee/templates/docker-compose.yml.j2 b/roles/zigbee/templates/docker-compose.yml.j2
new file mode 100644
index 0000000..ea166d9
--- /dev/null
+++ b/roles/zigbee/templates/docker-compose.yml.j2
@@ -0,0 +1,25 @@
+version: '3.8'
+services:
+ mqtt:
+ image: eclipse-mosquitto:2.0
+ restart: unless-stopped
+ volumes:
+ - './data:/mosquitto'
+ ports:
+ - '1883:1883'
+ - '9001:9001'
+ command: 'mosquitto -c /mosquitto-no-auth.conf'
+
+ zigbee2mqtt:
+ container_name: zigbee2mqtt
+ restart: unless-stopped
+ image: koenkk/zigbee2mqtt
+ volumes:
+ - ./zigbee2mqtt-data:/app/data
+ - /run/udev:/run/udev:ro
+ ports:
+ - 8080:8080
+ environment:
+ - TZ=America/Los_Angeles
+ devices:
+ - /dev/ttyUSB0:/dev/ttyUSB0