initial commit

This commit is contained in:
Robert Kaussow 2018-11-11 03:11:10 +01:00
parent e4820568a3
commit 1a8666a452
7 changed files with 125 additions and 0 deletions

5
defaults/main.yml Normal file
View File

@ -0,0 +1,5 @@
---
zigbee2mqtt_version: 0.1.8
zigbee2mqtt_group: zigbee2mqtt
zigbee2mqtt_user: zigbee2mqtt
zigbee2mqtt_base_dir: /opt/zigbee2mqtt

9
files/main.yml Normal file
View File

@ -0,0 +1,9 @@
---
- name: Restart zigbee2mqtt service
systemd:
state: restarted
daemon_reload: yes
name: zigbee2mqtt
listen: __zigbee2mqtt_restart
become: True
become_user: root

39
tasks/install.yml Normal file
View File

@ -0,0 +1,39 @@
---
- name: Create directories
file:
path: "{{ item }}"
state: directory
owner: "{{ zigbee2mqtt_user }}"
group: "{{ zigbee2mqtt_group }}"
recurse: True
with_items:
- "{{ zigbee2mqtt_base_dir }}"
become: True
become_user: root
- block:
- name: Setup zigbee2mqtt
git:
repo: "https://github.com/Koenkk/zigbee2mqtt"
dest: "{{ zigbee2mqtt_base_dir }}"
version: "{{ zigbee2mqtt_version }}"
register: __zigbee2mqtt_install
- name: Install nodejs
npm:
path: "{{ zigbee2mqtt_base_dir }}"
when: __zigbee2mqtt_install.changed
notify: __zigbee2mqtt_restart
when: zigbee2mqtt_version is version(zigbee2mqtt_current_version, ">")
become: True
become_user: "{{ zigbee2mqtt_user }}"
- block:
- name: Create systemd unit files
template:
src: "etc/systemd/system/zigbee2mqtt.service.j2"
dest: "/etc/systemd/system/zigbee2mqtt.service"
mode: 0644
notify: __openhab_restart
become: True
become_user: root

3
tasks/main.yml Normal file
View File

@ -0,0 +1,3 @@
---
- import_tasks: prepare.yml
- import_tasks: install.yml

9
tasks/post_tasks.yml Normal file
View File

@ -0,0 +1,9 @@
---
- name: Ensure zigbee2mqtt service is up and running
systemd:
state: started
daemon_reload: yes
enabled: yes
name: zigbee2mqtt
become: True
become_user: root

45
tasks/prepare.yml Normal file
View File

@ -0,0 +1,45 @@
---
- block:
- name: Create local facts dir
file:
path: /etc/ansible/facts.d
state: directory
- name: Setup local fact script
get_url:
url: https://git.rknet.org/ansible/custom_facts/raw/branch/master/zigbee2mqtt.py
dest: /etc/ansible/facts.d/nodejs.fact
mode: 0755
register: __nodejs_add_fact
- name: Update facts
setup:
filter: "*"
when: __nodejs_add_fact.changed
- name: Set current zigbee2mqtt version
set_fact:
zigbee2mqtt_current_version: "{{ ansible_local.zigbee2mqtt.version }}"
failed_when: ansible_local.zigbee2mqtt.error
- debug:
msg: Current version is '{{ zigbee2mqtt_current_version }}'
- name: Install requirements
package:
name: "{{ item }}"
state: present
with_items:
- git
- name: Create group '{{ zigbee2mqtt_group }}'
group:
name: "{{ zigbee2mqtt_group }}"
state: present
- name: Create user '{{ zigbee2mqtt_user }}'
user:
name: "{{ zigbee2mqtt_user }}"
group: "{{ zigbee2mqtt_group }}"
become: True
become_user: root

View File

@ -0,0 +1,15 @@
# {{ ansible_managed }}
[Unit]
Description=zigbee2mqtt
After=network.target
[Service]
ExecStart=npm start
WorkingDirectory="{{ zigbee2mqtt_base_dir }}"
StandardError=inherit
Restart=always
User={{ zigbee2mqtt_user }}
[Install]
WantedBy=multi-user.target