From 31e4c5d1038ee5de02c31a925b4c3121523378c7 Mon Sep 17 00:00:00 2001 From: Christian Elberfeld <elberfeld@web.de> Date: Sun, 8 Jan 2023 22:52:12 +0100 Subject: [PATCH] neue Implementierung warpapi mit http Updates --- intern/docker_openhab/tasks/main.yml | 7 ++++--- .../docker_openhab/templates/conf/rules/zonestatus.rules | 3 +++ webserver/docker_warpapi/tasks/main.yml | 6 +++++- webserver/docker_warpapi/templates/docker-compose.yml | 2 ++ webserver/docker_warpapi/templates/set_status_closed.sh | 2 +- webserver/docker_warpapi/templates/set_status_open.sh | 2 +- 6 files changed, 16 insertions(+), 6 deletions(-) diff --git a/intern/docker_openhab/tasks/main.yml b/intern/docker_openhab/tasks/main.yml index 61b3194f..1621efce 100644 --- a/intern/docker_openhab/tasks/main.yml +++ b/intern/docker_openhab/tasks/main.yml @@ -2,9 +2,10 @@ - include: ../functions/get_secret.yml with_items: - - { path: "{{ basedir }}/openweathermap_apikey", length: -1 } - - { path: "{{ basedir }}/influxdb_password", length: 12 } - - { path: "{{ basedir }}/influxdb_token", length: 32 } + - { path: "{{ basedir }}/openweathermap_apikey", length: -1 } + - { path: "{{ basedir }}/warpai_status_update_key", length: -1 } + - { path: "{{ basedir }}/influxdb_password", length: 12 } + - { path: "{{ basedir }}/influxdb_token", length: 32 } - name: pakete installieren diff --git a/intern/docker_openhab/templates/conf/rules/zonestatus.rules b/intern/docker_openhab/templates/conf/rules/zonestatus.rules index 3129b7ca..3a7d2ec8 100644 --- a/intern/docker_openhab/templates/conf/rules/zonestatus.rules +++ b/intern/docker_openhab/templates/conf/rules/zonestatus.rules @@ -11,5 +11,8 @@ then val mqttActions = getActions("mqtt", "mqtt:broker:mosquitto") mqttActions.publishMQTT(topic, message) + val headers = newHashMap() + val output = sendHttpGetRequest("https://api.warpzone.ms/setstatus?newstatus=OPEN&update_key={{ warpai_status_update_key }}", headers, 1000) + end diff --git a/webserver/docker_warpapi/tasks/main.yml b/webserver/docker_warpapi/tasks/main.yml index a5ceec18..4de5b65c 100644 --- a/webserver/docker_warpapi/tasks/main.yml +++ b/webserver/docker_warpapi/tasks/main.yml @@ -1,5 +1,9 @@ --- +- include_tasks: ../functions/get_secret.yml + with_items: + - { path: /srv/warpapi/update_key, length: 32 } + - name: create folder struct for warpapi file: path: "/srv/warpapi" @@ -8,7 +12,7 @@ - name: clone repo git: repo: "https://gitlab.warpzone.ms/infrastruktur/warpapi.git" - version: "232c44ed365998acf70f5c28510bcc663adc5686" + version: "fc3eea53b5bda24e0a46e7f88fdb296bdb871b10" dest: "/srv/warpapi" force: "yes" register: gitclone diff --git a/webserver/docker_warpapi/templates/docker-compose.yml b/webserver/docker_warpapi/templates/docker-compose.yml index d6e0e16f..e7590817 100644 --- a/webserver/docker_warpapi/templates/docker-compose.yml +++ b/webserver/docker_warpapi/templates/docker-compose.yml @@ -11,6 +11,8 @@ services: - 127.0.0.1:42010:5000 volumes: - /srv/warpapi/warpapi/:/opt/warpapi + environment: + UPDATE_KEY: "{{ update_key }}" labels: - traefik.enable=true - traefik.http.routers.{{ servicename }}.rule=Host(`{{ domain }}`) diff --git a/webserver/docker_warpapi/templates/set_status_closed.sh b/webserver/docker_warpapi/templates/set_status_closed.sh index 5cac9d75..76fbe1a3 100644 --- a/webserver/docker_warpapi/templates/set_status_closed.sh +++ b/webserver/docker_warpapi/templates/set_status_closed.sh @@ -1,2 +1,2 @@ #!/bin/sh -docker run --rm -it ruimarinho/mosquitto mosquitto_pub -h 192.168.0.201 -t warpzone/door/status -m "CLOSED" --retain +curl "https://{{ domain }}/setstatus?newstatus=CLOSED&update_key={{ update_key }}" diff --git a/webserver/docker_warpapi/templates/set_status_open.sh b/webserver/docker_warpapi/templates/set_status_open.sh index 1058cc4d..c6b8812e 100644 --- a/webserver/docker_warpapi/templates/set_status_open.sh +++ b/webserver/docker_warpapi/templates/set_status_open.sh @@ -1,2 +1,2 @@ #!/bin/sh -docker run --rm -it ruimarinho/mosquitto mosquitto_pub -h 192.168.0.201 -t warpzone/door/status -m "OPEN" --retain +curl "https://{{ domain }}/setstatus?newstatus=OPEN&update_key={{ update_key }}" -- GitLab