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