bin/flux-clouds

24 lines
714 B
Ruby
Executable file

#!/usr/bin/env ruby
require 'forecast_io'
require 'json'
ForecastIO.api_key = JSON.parse(File.read(File.expand_path('~/Dropbox/Personal/forecastio.json', __FILE__)))['apikey']
LATITUDE = 48.456642
LONGITUDE = -123.370325
def main
if forecast = ForecastIO.forecast(LATITUDE, LONGITUDE)
cloud_cover = forecast.currently.cloudCover
puts "Cloud cover: #{cloud_cover}"
setting = cloud_cover > 0.6 ? 'cloudy' : 'sunny'
# File.open('/Users/sjs/flux-clouds.log', 'a') { |f| f.puts "Cloud cover: #{cloud_cover}"; f.puts "> lights #{setting} - 100" }
puts "> lights #{setting} - 100"
exec "lights #{setting} - 100"
else
raise "Unable to check forecast"
end
end
main if $0 == __FILE__