check_zigbee_avail.sh 960 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/bash
  2. # Return Codes:
  3. # 0 - Ok! - Up
  4. # 1 - Warning - Flaky
  5. # 2 - Critical - Down
  6. # 3 - Unknown - Ummm... What happened?!
  7. print_usage() {
  8. echo "Usage: check_zigbee.sh [Device-ID]"
  9. echo "Example: check_zigbee.sh 84ba20fffe77b851"
  10. }
  11. function beenden {
  12. exit $1
  13. }
  14. #Parameter prüfen
  15. if [ $# -ne 1 ]; then
  16. print_usage
  17. beenden 3
  18. fi
  19. ZigBeeDeviceID=$1
  20. ZigBeeDeviceAvail=$(curl -S -m 5 http://172.30.80.246:8087/getPlainValue/zigbee.0.${ZigBeeDeviceID}.available 2>/dev/null)
  21. if [ $? -ne 0 ] ; then
  22. echo "ioBroker-API not available or wrong Zigbee-ID."
  23. beenden 3
  24. fi
  25. if [ "$ZigBeeDeviceAvail" == "true" ] ; then
  26. ZigBeeDeviceLink=$(curl -S -m 5 http://172.30.80.246:8087/getPlainValue/zigbee.0.${ZigBeeDeviceID}.link_quality 2>/dev/null)
  27. echo "OK: Zigbee-Device ${ZigBeeDeviceID} ist connected | link_qualitiy=${ZigBeeDeviceLink}"
  28. beenden 0
  29. else
  30. echo "Error: Zigbee-Device ${ZigBeeDeviceID} not connected"
  31. beenden 2
  32. fi
  33. beenden 3