| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | #!/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üfenif [ $# -ne 3 ]; then  print_usage  beenden 3fiZigBeeDeviceID=$1ZigBeeDeviceWarning=$2ZigBeeDeviceCritical=$3ZigBeeDeviceWarning=$(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 3fiZigBeeDeviceBattery=$(expr $ZigBeeDeviceBattery + 0 2>/dev/null)if [ $? -ne 0 ] ; then        echo "Unknown: Got unknown value from ioBroker"        beenden 3fiif [ $ZigBeeDeviceBattery -le $ZigBeeDeviceCritical ] ; then	echo "Critical: Battery is at ${ZigBeeDeviceBattery}%, which is below Critical-Value (${ZigBeeDeviceCritical}%) | battery_percent=${ZigBeeDeviceBattery}"	beenden 2elif [ $ZigBeeDeviceBattery -le $ZigBeeDeviceWarning ] ; then	echo "Warning: Battery is at ${ZigBeeDeviceBattery}%, which is below Warning-Value (${ZigBeeDeviceWarning}%) | battery_percent=${ZigBeeDeviceBattery}"	beenden 1else	echo "OK: Battery is at ${ZigBeeDeviceBattery}% | battery_percent=${ZigBeeDeviceBattery}"	beenden 0fiecho "Battery-Status unknown"beenden 3
 |