| 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ü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 2>/dev/null)
- if [ $? -ne 0 ] ; then
- echo "Unknown: Got unknown value from ioBroker"
- beenden 3
- fi
- 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
|