From feb69a9a05590cf5e8da89e33a29750631627c1f Mon Sep 17 00:00:00 2001
From: Christian Elberfeld <christian.elberfeld@adesso.de>
Date: Sun, 3 Oct 2021 01:36:51 +0200
Subject: [PATCH] wled einbindung in openhab

---
 host_vars/warpsrvint                          |  6 +++++
 warpsrvint/docker_openhab/tasks/main.yml      |  2 ++
 .../templates/conf/items/wled.items           | 24 +++++++++++++++++++
 .../templates/conf/services/addons.cfg        |  2 +-
 .../templates/conf/things/wled.things         |  8 +++++++
 5 files changed, 41 insertions(+), 1 deletion(-)
 create mode 100644 warpsrvint/docker_openhab/templates/conf/items/wled.items
 create mode 100644 warpsrvint/docker_openhab/templates/conf/things/wled.things

diff --git a/host_vars/warpsrvint b/host_vars/warpsrvint
index 1294e6c1..674a81f8 100644
--- a/host_vars/warpsrvint
+++ b/host_vars/warpsrvint
@@ -115,6 +115,12 @@ borgbackup_user:
        - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIENYus4S4XOaGHVL4B6vbnIrovtqaCT1lbEF73StiTt+ root@webserver"
        - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGIBBvcQaD0MmEHY0q+lcoMN9sXHs/HnSiXGsAhm+Vwp root@vorstand"
 
+wled_devices:
+  - { id: "loungedecke",      groups: "gLounge" }
+  - { id: "theke",            groups: "gKueche" }
+  - { id: "trocknerschlauch", groups: "gHauptraum" }
+  - { id: "warpcubes",        groups: "gLounge" }
+
 mqtt_sensors_temp:
   - { id: "hauptraum",    name: "Hauptraum",    groups: "gHauptraum" }
   - { id: "vortragsraum", name: "Vortragsraum", groups: "gVortragsraum" }
diff --git a/warpsrvint/docker_openhab/tasks/main.yml b/warpsrvint/docker_openhab/tasks/main.yml
index 9e96c941..3426e711 100644
--- a/warpsrvint/docker_openhab/tasks/main.yml
+++ b/warpsrvint/docker_openhab/tasks/main.yml
@@ -56,6 +56,7 @@
     - conf/items/network.items
     - conf/items/other.items
     - conf/items/weather.items
+    - conf/items/wled.items
     - conf/persistence/influxdb.persist
     - conf/persistence/rrd4j.persist
     - conf/services/addons.cfg
@@ -67,6 +68,7 @@
     - conf/things/mqtt.things
     - conf/things/network.things
     - conf/things/weather.things
+    - conf/things/wled.things
 
 - name: stop openhab docker
   docker_compose:
diff --git a/warpsrvint/docker_openhab/templates/conf/items/wled.items b/warpsrvint/docker_openhab/templates/conf/items/wled.items
new file mode 100644
index 00000000..8cde5c89
--- /dev/null
+++ b/warpsrvint/docker_openhab/templates/conf/items/wled.items
@@ -0,0 +1,24 @@
+
+{% for device in wled_devices %}
+
+Color WLED_{{ device.id }}_Master "WLED {{ device.id }} Master" <colorlight> ({{ device.groups }}) [ "Switch","Light" ] {
+    channel="wled:wled:{{ device.id }}:masterControls"
+}
+
+String WLED_{{ device.id }}_FX "WLED {{ device.id }} Effect" ({{ device.groups }}) [ "Light" ] {
+    channel="wled:wled:{{ device.id }}:fx"
+}
+
+String WLED_{{ device.id }}_Palettes "WLED {{ device.id }} Palettes" ({{ device.groups }}) [ "Light" ] {
+    channel="wled:wled:{{ device.id }}:palettes"
+}
+
+String WLED_{{ device.id }}_Presets "WLED {{ device.id }} Presets" ({{ device.groups }}) [ "Light" ] {
+    channel="wled:wled:{{ device.id }}:presets"
+}
+
+Switch WLED_{{ device.id }}_PresetCycle "WLED {{ device.id }} PresetCycle" ({{ device.groups }}) [ "Light" ] {
+    channel="wled:wled:{{ device.id }}:presetCycle"
+}
+
+{% endfor %}
diff --git a/warpsrvint/docker_openhab/templates/conf/services/addons.cfg b/warpsrvint/docker_openhab/templates/conf/services/addons.cfg
index ae7edd67..85f20ea9 100644
--- a/warpsrvint/docker_openhab/templates/conf/services/addons.cfg
+++ b/warpsrvint/docker_openhab/templates/conf/services/addons.cfg
@@ -19,7 +19,7 @@ package = standard
 remote = true
 
 # A comma-separated list of bindings to install (e.g. "sonos,knx,zwave")
-binding = astro,mqtt,network,openweathermap
+binding = astro,mqtt,network,openweathermap,wled
 
 # A comma-separated list of UIs to install (e.g. "basic,paper")
 # ui = habpanel
diff --git a/warpsrvint/docker_openhab/templates/conf/things/wled.things b/warpsrvint/docker_openhab/templates/conf/things/wled.things
new file mode 100644
index 00000000..f5dd16c4
--- /dev/null
+++ b/warpsrvint/docker_openhab/templates/conf/things/wled.things
@@ -0,0 +1,8 @@
+
+{% for device in wled_devices %}
+
+wled:wled:{{ device.id }} "WLed {{ device.id }}" [address="http://wled-{{ device.id }}"]
+
+{% endfor %}
+
+
-- 
GitLab