diff --git a/group_vars/prod b/group_vars/prod
index 9ad0b4c4461f6f665b2a3417f79274fe3ca83b4e..f28a92a9d6203e4690c8242509e8fb2689d853ad 100644
--- a/group_vars/prod
+++ b/group_vars/prod
@@ -97,3 +97,19 @@ monitoring:
     - { ip: "1.1.1.1", name: "Cloudflare" }
     - { ip: "8.8.8.8", name: "Google" }
     - { ip: "9.9.9.9", name: "Quad9" }
+
+# ESPHome Devices für Openhab und Icinga 
+esphome_devices:
+  - { id: "alarm",        name: "Alarm",         groups: "gHauptraum" }
+  # - { id: "dach",         name: "Dach",         groups: "" }
+  # - { id: "display01",    name: "Display01",         groups: "gHauptraum" }
+  # - { id: "display02",    name: "Display02",         groups: "gHauptraum" }
+  # - { id: "display03",    name: "Display03",         groups: "gHauptraum" }
+  - { id: "feinstaub01",   name: "Feinstaub01",   groups: "gHauptraum",     sensors: [ "feinstaub_2_5" ] }
+  - { id: "hauptraum",     name: "Hauptraum",     groups: "gHauptraum",     sensors: [ "Temp", "pressure", "humidity" ] }
+  - { id: "holzwerkstatt", name: "Holzwerkstatt", groups: "gHolzwerkstatt", sensors: [ "Temp", "pressure", "humidity" ] }
+  - { id: "kamin",         name: "Kamin",         groups: "gHauptraum",     sensors: [ "HeizungVorlauf", "HeizungRuecklauf"]  }
+  - { id: "kuehlschrank",  name: "Kühlschrank",   groups: "gHauptraum",     sensors: [ "Kuehlschrank-Temp" ] }
+  - { id: "lounge",        name: "Lounge",        groups: "gLounge",        sensors: [ "Temp", "pressure", "humidity" ] }
+  - { id: "status",        name: "Status/Strom",  groups: "gHauptraum",     sensors: [ "stromverbrauch" ] }
+  - { id: "vortragsraum",  name: "Vortragsraum",  groups: "gVortragsraum",  sensors: [ "Temp", "pressure", "humidity" ] }
diff --git a/host_vars/ogg b/host_vars/ogg
index dbca5f4e708e430bcc19119770aa6085ada3f505..ded6053ec42d11fc363fe80eb50af059880f2d03 100644
--- a/host_vars/ogg
+++ b/host_vars/ogg
@@ -115,9 +115,3 @@ wled_devices:
   - { id: "rack",             groups: "gLounge" }
   - { id: "warpcubes",        groups: "gLounge" }
 
-mqtt_sensors_temp:
-  - { id: "hauptraum",    name: "Hauptraum",    groups: "gHauptraum" }
-  - { id: "vortragsraum", name: "Vortragsraum", groups: "gVortragsraum" }
-
-mqtt_sensors_feinstaub:
-  - { id: "feinstaub01",  name: "Feinstaub01",    groups: "gHauptraum" }
diff --git a/intern/docker_openhab/templates/conf/items/mqtt.items b/intern/docker_openhab/templates/conf/items/mqtt.items
index 1db4adae7a569daa358ae6e1c9b7f2b7f7a5d4bd..c0b6e2a1dbd064dfd19ab30c96ce8a9fe48bc883 100644
--- a/intern/docker_openhab/templates/conf/items/mqtt.items
+++ b/intern/docker_openhab/templates/conf/items/mqtt.items
@@ -3,27 +3,43 @@ Number Werkstatt_Licht     "Werkstatt Licht [%.0f (0-225)]"      <light> (gHaupt
     channel="mqtt:topic:mosquitto:werkstattlicht:level"
 }
 
-{% for device in mqtt_sensors_temp %}
+{% for device in esphome_devices %}
+  {% if device.sensors is defined %}
+    {% for sensor in device.sensors %}
 
-Number MQTT_{{ device.id }}_temp     "Sensor {{ device.name }} Temp [%.1f °C]"      <temperature> ({{ device.groups }}) ["Measurement","Temperature","CurrentTemperature"] { 
-    channel="mqtt:topic:mosquitto:{{ device.id }}:temp"
+      {% if sensor == "temp" or sensor == "HeizungVorlauf" or sensor == "HeizungRuecklauf" or sensor == "Kuehlschrank-Temp" %}
+
+Number MQTT_{{ device.id }}_{{ sensor | replace("-","") }} "Sensor {{ device.name }} {{ sensor }} [%.1f °C]"      <temperature> ({{ device.groups }}) ["Measurement","Temperature","CurrentTemperature"] { 
+    channel="mqtt:topic:mosquitto:{{ device.id }}:{{ sensor | replace("-","") | lower }}"
 }
 
-Number MQTT_{{ device.id }}_pressure "Sensor {{ device.name }} Pressure [%.1f hPa]" <pressure>    ({{ device.groups }}) ["Measurement","Pressure"] { 
-    channel="mqtt:topic:mosquitto:{{ device.id }}:pressure" 
+      {% elif sensor == "pressure" %}  
+
+Number MQTT_{{ device.id }}_{{ sensor }} "Sensor {{ device.name }} Pressure [%.1f hPa]" <pressure>    ({{ device.groups }}) ["Measurement","Pressure"] { 
+    channel="mqtt:topic:mosquitto:{{ device.id }}:{{ sensor }}" 
 }
 
-Number MQTT_{{ device.id }}_humidity "Sensor {{ device.name }} Humidity [%.1f %%]"  <humidity>    ({{ device.groups }}) ["Measurement","Humidity","CurrentHumidity"] { 
-    channel="mqtt:topic:mosquitto:{{ device.id }}:humidity"
+      {% elif sensor == "humidity" %}  
+
+Number MQTT_{{ device.id }}_{{ sensor }} "Sensor {{ device.name }} Humidity [%.1f %%]"  <humidity>    ({{ device.groups }}) ["Measurement","Humidity","CurrentHumidity"] { 
+    channel="mqtt:topic:mosquitto:{{ device.id }}:{{ sensor }}"
 }
 
-{% endfor %}
+      {% elif sensor == "feinstaub_2_5" %}  
 
-{% for device in mqtt_sensors_feinstaub %}
+Number MQTT_{{ device.id }}_{{ sensor }} "Sensor {{ device.name }} 2.5 PM [%.1f µg/m³]"   ({{ device.groups }}) ["Measurement"] { 
+    channel="mqtt:topic:mosquitto:{{ device.id }}:{{ sensor }}" 
+}
+
+      {% elif sensor == "stromverbrauch" %}  
 
-Number MQTT_{{ device.id }}_feinstaub_2_5 "Sensor {{ device.name }} 2.5 PM [%.1f µg/m³]"   ({{ device.groups }}) ["Measurement"] { 
-    channel="mqtt:topic:mosquitto:{{ device.id }}:feinstaub_2_5" 
+Number MQTT_{{ device.id }}_{{ sensor }} "Sensor {{ device.name }} kW [%.1f kW]"   ({{ device.groups }}) ["Measurement"] { 
+    channel="mqtt:topic:mosquitto:{{ device.id }}:{{ sensor }}" 
 }
 
+      {% endif %}  
+
+    {% endfor %}
+  {% endif %}  
 {% endfor %}
 
diff --git a/intern/docker_openhab/templates/conf/things/mqtt.things b/intern/docker_openhab/templates/conf/things/mqtt.things
index ae4a93f9fb6f05d51272475000e9867a96a207e0..afd79df457b7a7d4d4452658d0b4540044278325 100644
--- a/intern/docker_openhab/templates/conf/things/mqtt.things
+++ b/intern/docker_openhab/templates/conf/things/mqtt.things
@@ -7,26 +7,32 @@ Bridge mqtt:broker:mosquitto [ host="{{ int_ip4 }}", secure=false, enableDiscove
         Type number : level "Werkstatt Licht (dali)" [ stateTopic="light/dali", commandTopic="light/dali", postCommand=true, min=0, max=255 ]
     }
 
-{% for device in mqtt_sensors_temp %}
+{% for device in esphome_devices %}
 
     Thing topic {{ device.id }} "Sensor {{ device.name }}" {
+
+  {% if device.sensors is defined %}
     Channels:
-        Type number : temp     "Sensor {{ device.name }} Temp"     [ stateTopic="ESPHome/esphome_{{ device.id }}/sensor/temp/state" ]
-        Type number : pressure "Sensor {{ device.name }} Pressure" [ stateTopic="ESPHome/esphome_{{ device.id }}/sensor/pressure/state" ]
-        Type number : humidity "Sensor {{ device.name }} Humidity" [ stateTopic="ESPHome/esphome_{{ device.id }}/sensor/humidity/state" ]
-    }
 
+    {% for sensor in device.sensors %}
 
-{% endfor %}
+      {% if sensor == "Temp" or sensor == "HeizungVorlauf" or sensor == "HeizungRuecklauf" or sensor == "Kuehlschrank-Temp" %}
+        Type number : {{ sensor | replace("-","") | lower }} "Sensor {{ device.name }} {{ sensor }}"     [ stateTopic="ESPHome/esphome_{{ device.id }}/sensor/{{ sensor | lower }}/state" ]
+      {% elif sensor == "pressure" %}  
+        Type number : {{ sensor }} "Sensor {{ device.name }} Pressure" [ stateTopic="ESPHome/esphome_{{ device.id }}/sensor/{{ sensor }}/state" ]
+      {% elif sensor == "humidity" %}  
+        Type number : {{ sensor }} "Sensor {{ device.name }} Humidity" [ stateTopic="ESPHome/esphome_{{ device.id }}/sensor/{{ sensor }}/state" ]
+      {% elif sensor == "feinstaub_2_5" %}  
+        Type number : {{ sensor }} "Sensor {{ device.name }} 2.5 PM" [ stateTopic="ESPHome/esphome_{{ device.id }}/sensor/{{ sensor }}/state" ]
+      {% elif sensor == "stromverbrauch" %}  
+        Type number : {{ sensor }} "Sensor {{ device.name }} kW" [ stateTopic="ESPHome/esphome_{{ device.id }}/sensor/{{ sensor }}/state" ]
+      {% endif %}  
 
-{% for device in mqtt_sensors_feinstaub %}
+    {% endfor %}
+  {% endif %}
 
-    Thing topic {{ device.id }} "Sensor {{ device.name }}" {
-    Channels:
-        Type number : feinstaub_2_5 "Sensor {{ device.name }} 2.5 PM" [ stateTopic="ESPHome/esphome_{{ device.id }}/sensor/feinstaub_2_5/state" ]
     }
 
-
 {% endfor %}
 
 }
diff --git a/webserver/docker_icinga/templates/etc/icinga/conf.d/services_mqttsensors.conf b/webserver/docker_icinga/templates/etc/icinga/conf.d/services_mqttsensors.conf
index 3114a6fae9850bcc3c30c508b0855886f7fdb1a9..b0a31dd69d9dc6eb742d83781b0feb47a4b5f4fd 100644
--- a/webserver/docker_icinga/templates/etc/icinga/conf.d/services_mqttsensors.conf
+++ b/webserver/docker_icinga/templates/etc/icinga/conf.d/services_mqttsensors.conf
@@ -1,13 +1,13 @@
 
-{% for device in mqtt_sensors %}
+{% for device in esphome_devices %}
 
-apply Service "mqttsensor-{{ device.id }}-status" {
+apply Service "esphome-{{ device.id }}-status" {
   import "generic-service"
 
   check_command = "check_mqtt"
 
   vars.mqtt_host = "{{ mqtt.ip }}"
-  vars.mqtt_topic = "{{ device.id }}/status"
+  vars.mqtt_topic = "ESPHome/esphome_{{ device.id }}/status"
   vars.mqtt_value = "online"
   vars.mqtt_operator = "equal"
   vars.mqtt_readonly = true