Ostatnio szerzej otworzyli swoje API. Co mnie ucieszyło, bo chociaż mają genialną apkę na Androida to chciałem mieć możliwość napisania sobie skryptu, który w momencie osiągnięcia odpowiednio wysokiego poziomu zanieczyszczenia wysyłał by mi maila z sugestią włączenia oczyszczacza powietrza (najlepiej jakby go sam włączał, ale to jednak takie proste nie jest ;-)).
Chciałem, to mam ;-)
import urllib2
import json
import os
import string
import sendmail
ALERT_LEVEL = 40
MAIL_TO = "<MAIL>"
apikey = "<APIKEY from https://apiportal.airly.eu/>"
url = "https://airapi.airly.eu/v1/mapPoint/measurements?latitude=<yourLatitude>&longitude=<yourLongitude>"
prevCaqi = 0
if os.path.exists("prevCaqi.txt"):
prevCaqi = float("".join(open("prevCaqi.txt").readlines()))
req = urllib2.Request(url)
req.add_header('apikey', apikey)
resp = urllib2.urlopen(req)
content = resp.read()
data=json.loads(content)
caqi = float(data["currentMeasurements"]["airQualityIndex"])
open("prevCaqi.txt","w+").write(str(caqi))
if prevCaqi<ALERT_LEVEL and caqi>=ALERT_LEVEL:
content = string.Template("""Current CAQI: $airQualityIndex
pm25: $pm25
pm10: $pm10
pollution level: $pollutionLevel
pressure: $pressure
humidity: $humidity
temperature: $temperature""").safe_substitute(data["currentMeasurements"])
sendmail.sendEMail(MAIL_TO,"Turn on AirCleaner",content)
Żeby działał ten skrypt trzeba mieć swój klucz do API, który idzie pod apikey. Trzeba ustawić też maila w MAIL_TO i długość i szerokość geograficzną (które można sobie odczytać np. używając mojego toola do wyliczania czasu wschodu i zachodu słońca ;-)).
Jeszcze trzeba mieć moduł sendmail, który można znaleźć w moim wpisie o tym jak nie zapomnieć o kupnie biletu miesięcznego ;-)
Podobne postybeta
Raspberry Pi + no-ip.org ;-)
Jak nie zapomnieć kupić biletu miesięcznego - revised ;-)
Electron + Airly = wskaźnik jakości powietrza w pasku ;-) - part 2, źródła ;-)
Jak nie zapomnieć kupić biletu miesięcznego ;-)
Electron + Airly = wskaźnik jakości powietrza w pasku ;-)
Brak komentarzy:
Prześlij komentarz