From 78aa2960d7f0c2c1303761c16a390c6db414f835 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 1 Oct 2022 13:44:23 +0200 Subject: [PATCH] Erster Upload --- check_zigbee_avail.sh | 42 +++++++++++++++++++++++++++++++++ check_zigbee_battery.sh | 51 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100755 check_zigbee_avail.sh create mode 100755 check_zigbee_battery.sh diff --git a/check_zigbee_avail.sh b/check_zigbee_avail.sh new file mode 100755 index 0000000..6c6f87b --- /dev/null +++ b/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 diff --git a/check_zigbee_battery.sh b/check_zigbee_battery.sh new file mode 100755 index 0000000..0c4e362 --- /dev/null +++ b/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