|
|
@@ -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
|