diff --git a/tasks/install.yml b/tasks/install.yml index fb28f1e..66e21e6 100644 --- a/tasks/install.yml +++ b/tasks/install.yml @@ -62,5 +62,12 @@ dest: "/etc/systemd/system/zigbee2mqtt.service" mode: 0644 notify: __zigbee2mqtt_restart + + - name: Set current version to custom fact + template: + src: etc/ansible/facts.d/zigbee2mqtt.fact.j2 + dest: /etc/ansible/facts.d/zigbee2mqtt.fact + mode: 0644 + when: zigbee2mqtt_version is version(zigbee2mqtt_current_version, ">") or zigbee2mqtt_current_version is version('0.0.0', "=") become: True become_user: root diff --git a/tasks/prepare.yml b/tasks/prepare.yml index 5cb396f..536d3fe 100644 --- a/tasks/prepare.yml +++ b/tasks/prepare.yml @@ -5,22 +5,9 @@ path: /etc/ansible/facts.d state: directory - - name: Setup local fact script - get_url: - url: https://gitea.rknet.org/ansible/custom_facts/raw/branch/master/zigbee2mqtt.py - dest: /etc/ansible/facts.d/zigbee2mqtt.fact - mode: 0755 - register: __zigbee2mqtt_add_fact - - - name: Update facts - setup: - filter: "*" - when: __zigbee2mqtt_add_fact.changed - - name: Set current zigbee2mqtt version set_fact: - zigbee2mqtt_current_version: "{{ ansible_local.zigbee2mqtt.version }}" - failed_when: ansible_local.zigbee2mqtt.error + zigbee2mqtt_current_version: "{{ (ansible_local.zigbee2mqtt | default (dict(version='0.0.0')))['version'] }}" - debug: msg: Current version is '{{ zigbee2mqtt_current_version }}' diff --git a/templates/etc/ansible/facts.d/zigbee2mqtt.fact.j2 b/templates/etc/ansible/facts.d/zigbee2mqtt.fact.j2 new file mode 100644 index 0000000..261d502 --- /dev/null +++ b/templates/etc/ansible/facts.d/zigbee2mqtt.fact.j2 @@ -0,0 +1,4 @@ +{ + "comment" : "{{ ansible_managed }}", + "version" : "{{ zigbee2mqtt_version }}" +}