From caf4dcd77a9ce6470fb039986c9c0e2f98326fff Mon Sep 17 00:00:00 2001 From: Christian Schnidrig Date: Fri, 5 Jul 2019 20:21:27 +0200 Subject: [PATCH] added gardena monitor --- roles/openhab2/tasks/gardena.yml | 17 +++++++++++++++++ roles/openhab2/tasks/main.yml | 3 +++ roles/openhab2/tasks/openhab.yml | 24 ++++++++++++++++++++++-- roles/openhab2/templates/backup.sh.j2 | 2 +- roles/openhab2/templates/gardena.service | 8 ++++++++ roles/raspberry/tasks/packages.yml | 9 +++++++++ 6 files changed, 60 insertions(+), 3 deletions(-) create mode 100644 roles/openhab2/tasks/gardena.yml create mode 100644 roles/openhab2/templates/gardena.service diff --git a/roles/openhab2/tasks/gardena.yml b/roles/openhab2/tasks/gardena.yml new file mode 100644 index 0000000..166e139 --- /dev/null +++ b/roles/openhab2/tasks/gardena.yml @@ -0,0 +1,17 @@ + +- name: install gardena service file + template: + src: "gardena.service" + dest: "/etc/systemd/system/gardena.service" + mode: u=rw,g=rw,o=r + +- name: enable gardena service + systemd: + daemon_reload: yes + +- name: Make sure gardena service is running + systemd: + state: started + name: gardena + + diff --git a/roles/openhab2/tasks/main.yml b/roles/openhab2/tasks/main.yml index 1071c0c..a6e1c4a 100644 --- a/roles/openhab2/tasks/main.yml +++ b/roles/openhab2/tasks/main.yml @@ -11,6 +11,9 @@ - include: dynv6.yml - include: letsencrypt.yml - include: scripts.yml +- include: gardena.yml + tags: + - gardena diff --git a/roles/openhab2/tasks/openhab.yml b/roles/openhab2/tasks/openhab.yml index 94bf614..9f9ac0e 100644 --- a/roles/openhab2/tasks/openhab.yml +++ b/roles/openhab2/tasks/openhab.yml @@ -23,13 +23,12 @@ url: "{{ item.src }}" dest: "/usr/share/openhab2/runtime/lib/boot/{{ item.name }}" loop: - - { name: "jython-standalone-2.7.0.jar", src: "http://search.maven.org/remotecontent?filepath=org/python/jython-standalone/2.7.0/jython-standalone-2.7.0.jar" } + #- { name: "jython-standalone-2.7.0.jar", src: 'http://search.maven.org/remotecontent?filepath=org/python/jython-standalone/2.7.0/jython-standalone-2.7.0.jar' } - { name: "snakeyaml-1.18.jar", src: "http://central.maven.org/maven2/org/yaml/snakeyaml/1.18/snakeyaml-1.18.jar" } tags: - openhab2 - jython - - name: cron job cron: name: "restart openhab" @@ -55,3 +54,24 @@ tags: - openhab2 - openhab_cron + + +- name: install python modules for jython + pip: + virtualenv: "/etc/openhab2/automation/lib/python" + virtualenv_command: "/usr/bin/virtualenv" + virtualenv_python: "/usr/bin/python2.7" + name: jsonmerge + tags: + - openhab2 + +- name: enable virtual env from above in jython + lineinfile: + path: "/etc/default/openhab2" + regexp: '^EXTRA_JAVA_OPTS=' + line: 'EXTRA_JAVA_OPTS="-Dpython.path=/etc/openhab2/automation/lib/python/lib/python2.7/site-packages/"' + tags: + - openhab2 + + + diff --git a/roles/openhab2/templates/backup.sh.j2 b/roles/openhab2/templates/backup.sh.j2 index 9f9d8d5..0e7cbee 100644 --- a/roles/openhab2/templates/backup.sh.j2 +++ b/roles/openhab2/templates/backup.sh.j2 @@ -6,7 +6,7 @@ TIMESTAMP=`date +%Y%m%d`; tar -C / -czf /tmp/openhab2-backup-$TIMESTAMP.tgz etc/openhab2 var/lib/openhab2 echo "Now save the file /tmp/openhab2-backup-$TIMESTAMP.tgz" -echo " as regular user run: scp /tmp/openhab2-backup-20190422.tgz christian@ds3018:/volume1/backup" +echo " as regular user run: scp /tmp/openhab2-backup-$TIMESTAMP.tgz christian@ds3018:/volume1/backup" # start openhab instance #sudo systemctl start openhab2.service diff --git a/roles/openhab2/templates/gardena.service b/roles/openhab2/templates/gardena.service new file mode 100644 index 0000000..8f57993 --- /dev/null +++ b/roles/openhab2/templates/gardena.service @@ -0,0 +1,8 @@ +[Unit] +Description=Service monitoring gardena web service + +[Service] +ExecStart=/etc/openhab2/automation/gardena_monitor_collector.py + +[Install] +WantedBy=multi-user.target diff --git a/roles/raspberry/tasks/packages.yml b/roles/raspberry/tasks/packages.yml index c644a6d..6b5d0f8 100644 --- a/roles/raspberry/tasks/packages.yml +++ b/roles/raspberry/tasks/packages.yml @@ -10,8 +10,17 @@ - ntp - tmux - python-pip + - python3-pip - git - multitail + - python3-requests + tags: + - packages + +- name: install python 3 modules with pip + pip: + name: websocket-client + executable: pip3 tags: - packages