44 lines
		
	
	
	
		
			1,011 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1,011 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| PHONE_IP=${phone_ip}
 | |
| PHONE_USER=${phone_user}
 | |
| PLUG_IP=${plug_ip}
 | |
| MIN=${min}
 | |
| MAX=${max}
 | |
| 
 | |
| if ! ssh -o 'StrictHostKeyChecking no' -p 8022 $PHONE_USER@$PHONE_IP 'true'
 | |
| then
 | |
|   echo "ERROR: cant connect to phone via ssh"
 | |
|   exit 51
 | |
| fi
 | |
| AKKU=$(ssh -o 'StrictHostKeyChecking no' -p 8022 $PHONE_USER@$PHONE_IP termux-battery-status | jq -r .percentage)
 | |
| echo "akku is at $AKKU% ($MIN%/$MAX%)"
 | |
| 
 | |
| if ! curl --head --silent --fail "http://$PLUG_IP/cm?cmnd=Power" --output /dev/null
 | |
| then
 | |
|   echo "ERROR: cant connect to plug via http"
 | |
|   exit 52
 | |
| fi
 | |
| PLUG_IS=$(curl -s "http://$PLUG_IP/cm?cmnd=Power" | jq -r .POWER)
 | |
| echo "plug is $PLUG_IS"
 | |
| 
 | |
| if [[ $AKKU -lt $MIN ]] && [[ $PLUG_IS = OFF ]]
 | |
| then
 | |
|   TURN_PLUG=ON
 | |
| elif [[ $AKKU -gt $MAX ]] && [[ $PLUG_IS = ON ]]
 | |
| then
 | |
|   TURN_PLUG=OFF
 | |
| else
 | |
|   echo "nothing to do"
 | |
|   exit 0
 | |
| fi
 | |
| 
 | |
| echo "turning plug $TURN_PLUG"
 | |
| if curl --silent "http://$PLUG_IP/cm?cmnd=Power%20$TURN_PLUG" | jq -r .POWER | grep -q "^$TURN_PLUG\$"
 | |
| then
 | |
|   echo "SUCCESS"
 | |
|   exit 0
 | |
| else
 | |
|   echo "ERROR"
 | |
|   exit 53
 | |
| fi
 | 
