Here’s a Python script I wrote to check today’s sun rise/set times given a coordinate:
https://github.com/raynix/solar-hours/blob/master/solar_hours.py
It uses api.sunrise-sunset.org free API to get local sun rise/set time of today. It also takes time zone into consideration as the API only returns times in UTC time zone. It also cache the API result for a day so I’m not abusing the free API.
I have solar power at home however the invertor isn’t API friendly, otherwise it will be best to get solar power output directly from the invertor.
Using this python script I can turn on my Zcash miner when there’s solar power. This saves me money, more importantly the ZEC I mined is carbon free. Here’s a sample bash script to turn on/off the miner according to sun rise/set:
#!/bin/bash DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" MINER=<miner's IP> pushd $DIR python solar-hours/solar_hours.py # 0 means solar on, 1 means off if [ $? -eq 0 ]; then ping $MINER -c 1 || wakeonlan <miner's MAC address> else ssh $MINER sleep 1 && ssh -t $MINER 'sudo shutdown -h now' fi popd
If you want to try this too please read the Wake On LAN part I’ve done a while ago.
🙂