Умный дом и карта погоды

Сегодня искал для работы модель погоды, и обнаружил, что на OpenWeatherMap можно отправлять свои показания погоды. У меня как раз умный дом меряет температуру (используемый датчик — http://www.noo.com.by/pt111.html) и влажность снаружи в любимой деревне — почему бы не получить более точную модель погоды для неё? :)

  1. Регистрируемся на openweathermap.org, получаем оттуда API key.
  2. Идём на страницу http://openweathermap.org/stations-30 и смотрим, что из датчиков у нас есть. В моём случае я знаю широту, долготу, температуру и относительную влажность.
  3. Я не знаю точный altitude датчика, но сервис https://www.freemaptools.com/elevation-finder.htm помог мне её оценить. Широту и долготу можно получить там же.
  4. Регистрируем датчик в системе:
  5. curl -H "Content-Type: application/json" -X POST --data '{"external_id":"57","name":"Ялча, дом 57","latitude":53.78065,"longitude":28.26921,"altitude":170}' "http://api.openweathermap.org/data/3.0/stations?appid=AKI_KEY_HERE"
  6. Записываем ID из ответа системы.
  7. В настройках MajorDoMo заводим новый сценарий. Перепроверяем, что отправляем нужный сенсор, с нужным логином-паролем и правильными координатами (отправить температуру в доме — наверное, не очень хорошо для прогноза :)
  8. exec('curl -H "Content-Type: application/json" --data \'[{"station_id":"STATION_ID_HERE","dt":\'`date +%s`\',"temperature":'.gg('TempSensor01.value').',"humidity":'.gg('HumSensor01.value').'}]\' "http://api.openweathermap.org/data/3.0/measurements?appid=API_KEY_HERE"')
  9. В настройках сенсора в методе onChange дёргаем этот сценарий.spectacle-s28303
  10. Вуаля! Дом теперь стал метеостанцией международного проекта.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *