Browse Source

Erster Upload

root 3 years ago
commit
78aa2960d7
2 changed files with 93 additions and 0 deletions
  1. 42 0
      check_zigbee_avail.sh
  2. 51 0
      check_zigbee_battery.sh

+ 42 - 0
check_zigbee_avail.sh

@@ -0,0 +1,42 @@
+#!/bin/bash
+# Return Codes:
+# 0 - Ok!       - Up
+# 1 - Warning   - Flaky
+# 2 - Critical  - Down
+# 3 - Unknown   - Ummm... What happened?!
+
+print_usage() {
+  echo "Usage: check_zigbee.sh [Device-ID]"
+  echo "Example: check_zigbee.sh 84ba20fffe77b851"
+}
+
+function beenden {
+  exit $1
+}
+
+#Parameter prüfen
+if [ $# -ne 1 ]; then
+  print_usage
+  beenden 3
+fi
+
+ZigBeeDeviceID=$1
+
+ZigBeeDeviceAvail=$(curl -S -m 5 http://172.30.80.246:8087/getPlainValue/zigbee.0.${ZigBeeDeviceID}.available 2>/dev/null)
+
+if [ $? -ne 0 ] ; then
+	echo "ioBroker-API not available or wrong Zigbee-ID."
+	beenden 3
+fi
+
+if [ "$ZigBeeDeviceAvail" == "true" ] ; then
+	ZigBeeDeviceLink=$(curl -S -m 5 http://172.30.80.246:8087/getPlainValue/zigbee.0.${ZigBeeDeviceID}.link_quality 2>/dev/null)
+	echo "OK: Zigbee-Device ${ZigBeeDeviceID} ist connected | link_qualitiy=${ZigBeeDeviceLink}"
+	beenden 0
+else
+	echo "Error: Zigbee-Device ${ZigBeeDeviceID} not connected"
+	beenden 2
+fi
+
+
+beenden 3

+ 51 - 0
check_zigbee_battery.sh

@@ -0,0 +1,51 @@
+#!/bin/bash
+# Return Codes:
+# 0 - Ok!       - Up
+# 1 - Warning   - Flaky
+# 2 - Critical  - Down
+# 3 - Unknown   - Ummm... What happened?!
+
+print_usage() {
+  echo "Usage: check_zigbee_battery.sh [Device-ID] [Warning percent] [Critical percent]"
+  echo "Example: check_zigbee_battery.sh 84ba20fffe77b851 20 10"
+}
+
+function beenden {
+  exit $1
+}
+
+#Parameter prüfen
+if [ $# -ne 3 ]; then
+  print_usage
+  beenden 3
+fi
+
+ZigBeeDeviceID=$1
+ZigBeeDeviceWarning=$2
+ZigBeeDeviceCritical=$3
+
+ZigBeeDeviceWarning=$(expr $ZigBeeDeviceWarning + 0)
+ZigBeeDeviceCritical=$(expr $ZigBeeDeviceCritical + 0)
+
+ZigBeeDeviceBattery=$(curl -S -m 5 http://172.30.80.246:8087/getPlainValue/zigbee.0.${ZigBeeDeviceID}.battery 2>/dev/null)
+
+if [ $? -ne 0 ] ; then
+	echo "ioBroker-API not available or wrong Zigbee-ID or no battery present."
+	beenden 3
+fi
+
+ZigBeeDeviceBattery=$(expr $ZigBeeDeviceBattery + 0)
+
+if [ $ZigBeeDeviceBattery -le $ZigBeeDeviceCritical ] ; then
+	echo "Critical: Battery is at ${ZigBeeDeviceBattery}%, which is below Critical-Value (${ZigBeeDeviceCritical}%) | battery_percent=${ZigBeeDeviceBattery}"
+	beenden 2
+elif [ $ZigBeeDeviceBattery -le $ZigBeeDeviceWarning ] ; then
+	echo "Warning: Battery is at ${ZigBeeDeviceBattery}%, which is below Warning-Value (${ZigBeeDeviceWarning}%) | battery_percent=${ZigBeeDeviceBattery}"
+	beenden 1
+else
+	echo "OK: Battery is at ${ZigBeeDeviceBattery}% | battery_percent=${ZigBeeDeviceBattery}"
+	beenden 0
+fi
+
+echo "Battery-Status unknown"
+beenden 3