diff --git a/defaults/main.yml b/defaults/main.yml index 5b09a0f..5345622 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,5 +1,5 @@ --- -zigbee2mqtt_version: 0.1.8 +zigbee2mqtt_version: 1.5.1 zigbee2mqtt_user: zigbee2mqtt zigbee2mqtt_group: zigbee2mqtt diff --git a/tasks/install.yml b/tasks/install.yml index 0cba9b8..1a024d9 100644 --- a/tasks/install.yml +++ b/tasks/install.yml @@ -8,71 +8,81 @@ mode: 0750 with_items: - "{{ zigbee2mqtt_base_dir }}" + - "{{ zigbee2mqtt_base_dir }}/data" - "{{ zigbee2mqtt_log_dir }}" become: True become_user: root - block: - - name: Check data dir - stat: - path: "{{ zigbee2mqtt_base_dir }}/data" - register: __zigbee_datadir + # - name: Check data dir + # stat: + # path: "{{ zigbee2mqtt_base_dir }}/data" + # register: __zigbee_datadir - - name: Backup data directory - synchronize: - src: "{{ zigbee2mqtt_base_dir }}/data/" - dest: "/tmp/zigbee_data" - recursive: yes - delegate_to: "{{ inventory_hostname }}" - when: __zigbee_datadir.stat.exists + # - name: Backup data directory + # synchronize: + # src: "{{ zigbee2mqtt_base_dir }}/data/" + # dest: "/tmp/zigbee_data" + # recursive: yes + # delegate_to: "{{ inventory_hostname }}" + # when: __zigbee_datadir.stat.exists - - name: Setup zigbee2mqtt - git: - repo: "https://github.com/Koenkk/zigbee2mqtt" + # - name: Setup zigbee2mqtt + # git: + # repo: "https://github.com/Koenkk/zigbee2mqtt" + # dest: "{{ zigbee2mqtt_base_dir }}/bin" + # version: "{{ zigbee2mqtt_version }}" + # force: yes + # register: __zigbee2mqtt_install + + # - name: Restore data directory + # synchronize: + # src: "/tmp/zigbee_data/" + # dest: "{{ zigbee2mqtt_base_dir }}/data" + # recursive: yes + # delegate_to: "{{ inventory_hostname }}" + # when: __zigbee_datadir.stat.exists + + - name: Download release 'v{{ zigbee2mqtt_version }}' + unarchive: + src: "https://github.com/Koenkk/zigbee2mqtt/archive/{{ zigbee2mqtt_version }}.tar.gz" dest: "{{ zigbee2mqtt_base_dir }}" - version: "{{ zigbee2mqtt_version }}" - force: yes - register: __zigbee2mqtt_install + remote_src: yes + exclude: "{{ __zigbee2mqtt_release_exclude }}" + extra_opts: + - --strip-components=1 - - name: Restore data directory - synchronize: - src: "/tmp/zigbee_data/" - dest: "{{ zigbee2mqtt_base_dir }}/data" - recursive: yes - delegate_to: "{{ inventory_hostname }}" - when: __zigbee_datadir.stat.exists + register: __zigbee2mqtt_install - name: Delete existing node_modules folder file: path: "{{ zigbee2mqtt_base_dir }}/node_modules" state: absent - when: __zigbee2mqtt_install.changed - name: Install nodejs dependencies npm: path: "{{ zigbee2mqtt_base_dir }}" environment: PATH: "{{ __zigbee2mqtt_npm_executable | dirname }}:{{ ansible_env.PATH }}" - when: __zigbee2mqtt_install.changed notify: __zigbee2mqtt_restart when: zigbee2mqtt_version is version(zigbee2mqtt_current_version, ">") become: True become_user: "{{ zigbee2mqtt_user }}" - block: - - name: Cleanup base directory - file: - path: "{{ zigbee2mqtt_base_dir }}/{{ item }}" - state: absent - loop: - - docker - - docs - - images - - LICENSE - - README.md - - scripts - - test - - update.sh + # - name: Cleanup base directory + # file: + # path: "{{ zigbee2mqtt_base_dir }}/{{ item }}" + # state: absent + # loop: + # - docker + # - docs + # - images + # - LICENSE + # - README.md + # - scripts + # - test + # - update.sh - name: Deploy configuration file template: diff --git a/vars/main.yml b/vars/main.yml index 764c562..cb7b30b 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -1,2 +1,12 @@ --- __zigbee2mqtt_npm_executable: /usr/local/bin/npm +__zigbee2mqtt_release_exclude: + - data/ + - docker/ + - docs/ + - images/ + - LICENSE + - README.md + - scripts/ + - test/ + - update.sh