From cfc55c2095bef788e1f76b0e14ceb41619f75481 Mon Sep 17 00:00:00 2001
From: Christian Elberfeld <elberfeld@web.de>
Date: Mon, 29 May 2023 19:29:49 +0200
Subject: [PATCH] exclude access switch from notifications

---
 .../etc/icinga/conf.d/notifications.conf      |  4 +--
 .../etc/icinga/conf.d/services_homematic.conf | 36 +++++++++++++++++++
 2 files changed, 38 insertions(+), 2 deletions(-)
 create mode 100644 webserver/docker_icinga/templates/etc/icinga/conf.d/services_homematic.conf

diff --git a/webserver/docker_icinga/templates/etc/icinga/conf.d/notifications.conf b/webserver/docker_icinga/templates/etc/icinga/conf.d/notifications.conf
index 41cc0ad0..eadaa8ea 100644
--- a/webserver/docker_icinga/templates/etc/icinga/conf.d/notifications.conf
+++ b/webserver/docker_icinga/templates/etc/icinga/conf.d/notifications.conf
@@ -6,7 +6,7 @@ apply Notification "matrix" to Host {
 
   interval = 4h
 
-  assign where host.address 
+  assign where host.address && host.vars.enable_nofitications != false
 }
 
 
@@ -17,6 +17,6 @@ apply Notification "matrix" to Service {
 
   interval = 4h
 
-  assign where service.name
+  assign where service.name && service.vars.enable_nofitications != false
 }
 
diff --git a/webserver/docker_icinga/templates/etc/icinga/conf.d/services_homematic.conf b/webserver/docker_icinga/templates/etc/icinga/conf.d/services_homematic.conf
new file mode 100644
index 00000000..57f9aff5
--- /dev/null
+++ b/webserver/docker_icinga/templates/etc/icinga/conf.d/services_homematic.conf
@@ -0,0 +1,36 @@
+
+apply Service "homematic-exporter" {
+  import "generic-service"
+
+  check_command = "http"
+  enable_perfdata = false
+
+  vars.http_address = "{{ hostvars['ogg'].int_ip4 }}"
+  vars.http_port = 8010
+  vars.http_uri = "/metrics"
+
+  groups = [ "exporter", "homematic" ]
+
+  assign where host.name == "ogg"
+}
+
+{% for device in homematic.devices_heizung %}
+
+apply Service "{{ device.name }}_homematic_lowbat" {
+  import "generic-service"
+
+  check_command = "check_metric_value"
+  enable_perfdata = true
+
+  vars.metric_url = "http://{{ hostvars['ogg'].int_ip4 }}:8010/metrics"
+  vars.metric_name = "homematic_lowbat"
+  vars.metric_labelname = "device"
+  vars.metric_labelvalue = "{{ device.id }}:0"
+  vars.metric_operator = "gt"
+  vars.metric_warn = "0"
+  vars.metric_crit = "0"
+
+  assign where host.name == "ogg"
+}
+
+{% endfor %}
\ No newline at end of file
-- 
GitLab