24 lines
714 B
Ruby
Executable file
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__
|