Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Settings
- NASIP="<IP NAS>" # NAS IP Address
- PASSWORD="<SNMP password>" # SNMP Password
- DOMO_IP="<IP Domoticz>" # Domoticz IP Address
- DOMO_PORT="8080" # Domoticz Port
- DOMO_LOGIN="<Login>" # Domoticz login name
- DOMO_PASS="<Password>" # Domoticz password
- NAS_IDX="<NAS IDX>" # NAS Switch IDX
- NAS_UPS="<UPS IDX>" # UPS Status Switch IDX
- # Check if NAS is online
- PINGTIME=`ping -c 1 -q $NASIP | awk -F"/" '{print $5}' | xargs`
- echo "Ping response:" $PINGTIME
- if expr "$PINGTIME" '>' 0
- then
- curl -s "http://$DOMO_LOGIN:$DOMO_PASS@$DOMO_IP:$DOMO_PORT/json.htm?type=devices&rid=$NAS_IDX" | grep "Status" | grep "On" > /dev/null
- if [ $? -eq 0 ] ; then
- echo "NAS already ON"
- # Status UPS aangesloten op NAS
- NASUPS=`snmpget -v 2c -c $PASSWORD -O qv $NASIP .1.3.6.1.4.1.6574.4.2.1.0`
- echo "UPS Status:" $NASUPS
- if [ "$NASUPS" = '"OL"' ] ; then
- # Send data
- curl -s "http://$DOMO_LOGIN:$DOMO_PASS@$DOMO_IP:$DOMO_PORT/json.htm?type=devices&rid=$NAS_UPS" | grep "Status" | grep "On" > /dev/null
- if [ $? -eq 0 ] ; then
- #already on
- echo "UPS still runs on 230V power"
- :
- else
- #switch on
- curl -s -i -H "Accept: application/json" "http://$DOMO_LOGIN:$DOMO_PASS@$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=switchlight&idx=$NAS_UPS&switchcmd=On"
- echo "UPS runs on 230V power (again) and turn IDX 100 on"
- fi
- else
- curl -s "http://$DOMO_LOGIN:$DOMO_PASS@$DOMO_IP:$DOMO_PORT/json.htm?type=devices&rid=$NAS_UPS" | grep "Status" | grep "Off" > /dev/null
- if [ $? -eq 0 ] ; then
- #already off
- echo "UPS runs on battery!"
- :
- else
- curl -s -i -H "Accept: application/json" "http://$DOMO_LOGIN:$DOMO_PASS@$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=switchlight&idx=$NAS_UPS&switchcmd=Off"
- fi
- fi
- else
- echo "NAS turned ON"
- # Send data
- curl -s -i -H "Accept: application/json" "http://$DOMO_LOGIN:$DOMO_PASS@$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=switchlight&idx=$NAS_IDX&switchcmd=On"
- # Status UPS
- NASUPS=`snmpget -v 2c -c $PASSWORD -O qv $NASIP .1.3.6.1.4.1.6574.4.2.1.0`
- echo "UPS Status:" $NASUPS
- if [ "$NASUPS" = '"OL"' ] ; then
- # Send data
- curl -s "http://$DOMO_LOGIN:$DOMO_PASS@$DOMO_IP:$DOMO_PORT/json.htm?type=devices&rid=$NAS_UPS" | grep "Status" | grep "On" > /dev/null
- if [ $? -eq 0 ] ; then
- #already on
- echo "UPS still runs on 230V power"
- :
- else
- #switch on
- curl -s -i -H "Accept: application/json" "http://$DOMO_LOGIN:$DOMO_PASS@$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=switchlight&idx=$NAS_UPS&switchcmd=On"
- echo "UPS runs on 230V power (again)"
- fi
- else
- curl -s "http://$DOMO_LOGIN:$DOMO_PASS@$DOMO_IP:$DOMO_PORT/json.htm?type=devices&rid=$NAS_UPS" | grep "Status" | grep "Off" > /dev/null
- if [ $? -eq 0 ] ; then
- #already off
- echo "UPS runs on battery!"
- :
- else
- curl -s -i -H "Accept: application/json" "http://$DOMO_LOGIN:$DOMO_PASS@$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=switchlight&idx=$NAS_UPS&switchcmd=Off"
- fi
- fi
- fi
- else
- curl -s "http://$DOMO_LOGIN:$DOMO_PASS@$DOMO_IP:$DOMO_PORT/json.htm?type=devices&rid=$NAS_IDX" | grep "Status" | grep "Off" > /dev/null
- if [ $? -eq 0 ] ; then
- echo "NAS already OFF"
- exit
- else
- echo "NAS OFF"
- # Send data
- curl -s -i -H "Accept: application/json" "http://$DOMO_LOGIN:$DOMO_PASS@$DOMO_IP:$DOMO_PORT/json.htm?type=command¶m=switchlight&idx=$NAS_IDX&switchcmd=Off"
- fi
- fi
Advertisement
Add Comment
Please, Sign In to add comment