Получение онлайн прогноза погоды

Материал из Sprut.hub Wiki

OpenWeather

  • ow_temp - Температура
  • ow_hum - Влажность
  • ow_pressure - Давление (мм. рт. ст.)
  • ow_wind - Скорость ветра (м/с)
  • ow_gust - Порывы ветра (м/с)
  • ow_wind_dir - Направление ветра (в градусах)
  • ow_feels_like - Температура (Ощущается)
  • ow_temp_min - Минимальная температура
  • ow_temp_max - Максимальная температура
  • ow_clouds - Уровень облачности (%)
  • ow_visibility - Видимость (м)
  • ow_condition - Описание погоды (текстовое, для использования в Телеграм)
  • ow_sunrise - Время восхода
  • ow_sunset - Время заката

Yr.No

  • yr_temp - Температура
  • yr_wind - Скорость ветра
  • yr_cloud - Уровень облачности (%)

AccuWeather

  • acc_condition - Описание погоды (текстовое, для использования в Телеграм)
  • acc_cloud - Уровень облачности (%)
  • acc_temp - Температура
  • acc_temp_min - Минимальная температура
  • acc_temp_max - Максимальная температура
  • acc_real_temp - Температура RealTemp (зарегистрированная торговая марка AccuWeather)
  • acc_real_shade - Температура RealTemp в тени
  • acc_apparent_temp - Температура (Ощущается)
  • acc_wind_chill_temp - Температура (Ощущается открытой кожей)
  • acc_hum - Влажность
  • acc_indoor_hum - Влажность воздуха попадающего в помещение с улицы
  • acc_dewpoint - Точка росы
  • acc_uv - Уровень ультрафиолета
  • acc_uv_text - Уровень ультрафиолета (текстовое, для использования в Телеграм)
  • acc_wind - Скорость ветра (м/с)
  • acc_gust - Порывы ветра (м/с)
  • acc_wind_dir - направление ветра (английский символ)

Яндекс

Текущий прогноз

  • ya_condition - Описание погоды (текстовое, для использования в Телеграм)
  • ya_moon_text - Фаза луны (текстовое поле для использования в Телеграм)
  • ya_temp - Температура
  • ya_feels_like - Температура (Ощущается)
  • ya_hum - Влажность
  • ya_wind_dir - Направление ветра (текстовое поле для использования в Телеграм)
  • ya_wind - Скорость ветра (м/с)
  • ya_gust - Порывы ветра (м/с)
  • ya_sunrise - Время восхода
  • ya_sunset - Время заката

Прогноз на следующий период суток (Если текущий период день, то на вечер)

  • ya_part_1_name - Наименование периода суток
  • ya_1_condition - Описание погоды
  • ya_1_temp_min - Минимальная температура
  • ya_1_temp_max - Максимальная температура
  • ya_1_feels_like - Температура (Ощущается)
  • ya_1_hum - Влажность
  • ya_1_wind_dir - Направление ветра (текстовое поле для использования в Телеграм)
  • ya_1_wind - Скорость ветра (м/с)
  • ya_1_gust - Порывы ветра (м/с)
  • ya_1_prec - Вероятность осадков
  • ya_1_prec_period - Продолжительность осадков
  • ya_1_prec_mm - Уровень осадков (мм)

Прогноз на последующий период суток (Если текущий период день, то на ночь)

  • ya_part_2_name - Наименование периода суток
  • ya_2_condition - Описание погоды (текстовое, для использования в Телеграм)
  • ya_2_temp_min - Минимальная температура
  • ya_2_temp_max - Максимальная температура
  • ya_2_feels_like - Температура (Ощущается)
  • ya_2_hum - Влажность
  • ya_2_wind_dir - Направление ветра (текстовое поле для использования в Телеграм)
  • ya_2_wind - Скорость ветра (м/с)
  • ya_2_gust - Порывы ветра (м/с)
  • ya_2_prec - Вероятность осадков
  • ya_2_prec_period - Продолжительность осадков
  • ya_2_prec_mm - Уровень осадков (мм)

Отправка показаний OpenWeather в Telegram

let deg = global.weather().ow_wind_deg();
switch (true) {
	case deg >= 348.75 || deg <= 11.25:
		deg = "Северный";
		break;
	case deg > 11.25 && deg < 33.75:
		deg = "Северо-северо-восточный";
		break;
	case deg >= 33.75 && deg <= 56.25:
		deg = "Северо-восточный";
		break;
	case deg > 56.25 && deg < 78.75:
		deg = "Восточно-северо-восточный";
		break;
	case deg >= 78.75 && deg <= 101.25:
		deg = "Восточный";
		break;
	case deg > 101.25 && deg < 123.75:
		deg = "Восточный-юго-восточный";
		break;
	case deg >= 123.75 && deg <= 146.25:
		deg = "Юго-восточный";
		break;
	case deg > 146.25 && deg < 168.75:
		deg = "Юго-юго-восточный";
		break;
	case deg >= 168.75 && deg <= 191.25:
		deg = "Южный";
		break;
	case deg > 191.25 && deg < 213.75:
		deg = "Юго-юго-Западный";
		break;
	case deg >= 213.75 && deg <= 236.25:
		deg = "Юго-западный";
		break;
	case deg > 236.25 && deg < 258.75:
		deg = "Западно-юго-западный";
		break;
	case deg >= 258.75 && deg <= 281.25:
		deg = "Западный";
		break;
	case deg > 281.25 && deg < 303.75:
		deg = "Западно-северо-западный";
		break;
	case deg >= 303.75 && deg <= 326.25:
		deg = "Северо-западный";
		break;
	case deg > 326.25 && deg < 348.75:
		deg = "Северо-северо-западный";
		break;
	default:
		deg = "Нет данных";
}

global.sendToTelegram([
      "☀️ Погода: " + global.weather().ow_condition(), ,
      "☁️ Облачность: " + global.weather().ow_clouds() + "%",
      "🔭 Видимость: " + global.weather().ow_visibility() + " м", ,
      "🌡 Температура на улице: " + global.weather().ow_temp() + "°",
      "      	Минимальная: " + global.weather().ow_temp_min() + "°",
      "      	Максимальная: " + global.weather().ow_temp_max() + "°",
      "      	Ощущается как: " + global.weather().ow_feels_like() + "°", ,
      "💧 Влажность: " + global.weather().ow_hum() + "%",
      "🩺 Давление: " + global.weather().ow_pressure() + " мм.рт.ст.", ,
      "💨 Скорость ветра: " + global.weather().ow_wind() + " м/с",
      "🧭 Напревление ветра: " + deg,
      "🌬 Порывы ветра: " + global.weather().ow_gust() + " м/с", ,
      "🌅 Восход: " + global.weather().ow_sunrise(),
      "🌇 Закат: " + global.weather().ow_sunset()
    ]);

Скачать шаблон сценария OpenWeather в Telegram