Открыть меню
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

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

Материал из 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

if (!global.openweather_api) {
global.sendToTelegram("Погода OpenWeather не настроена"); log.info("Погода OpenWeather не настроена")} else {
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

Отправка показаний Яндекс.Погоды в Telegram

if (!global.yandex_api) {
global.sendToTelegram("Погода Яндекса не настроена"); log.info("Погода Яндекса не настроена")} else {
var cond
switch(global.weather().ya_condition())
{
    case 'clear' : cond = "*Ясно 🌞*"; break;
    case 'partly-cloudy' : cond = "*Малооблачно 🌥*"; break;
    case 'cloudy' : cond = "*Облачно с прояснениями 🌤*"; break;
    case 'overcast' : cond = "*Пасмурно ☁️*"; break;
    case 'drizzle' : cond = "*Морось 🌦*"; break;
    case 'light-rain' : cond = "*Небольшой дождь 🌧*"; break;
    case 'rain' : cond = "*Дождь 🌧*"; break;
    case 'moderate-rain' : cond = "*Умеренно сильный дождь 🌧*"; break;
    case 'heavy-rain' : cond = "*Сильный дождь 🌧*"; break;
    case 'continuous-heavy-rain' : cond = "*Длительный сильный дождь 🌧*"; break;
    case 'showers' : cond = "*Ливень 🌧*"; break;
    case 'wet-snow' : cond = "*Дождь со снегом 🌧🌨*"; break;
    case 'light-snow' : cond = "*Небольшой снег 🌧*"; break;
    case 'snow' : cond = "*Снег 🌧*"; break;
    case 'snow-showers' : cond = "*Снегопад 🌧*"; break;
    case 'hail' : cond = "*град*"; break;
    case 'thunderstorm' : cond = "*гроза*"; break;
    case 'thunderstorm-with-rain' : cond = "*Дождь с грозой*"; break;
    case 'thunderstorm-with-hail' : cond = "*Гроза с градом*"; break;

}
let cond0
switch(global.weather().ya_1_condition())
{
    case 'clear' : cond0 = "*Ясно 🌞*"; break;
    case 'partly-cloudy' : cond0 = "*Малооблачно 🌥*"; break;
    case 'cloudy' : cond0 = "*Облачно с прояснениями 🌤*"; break;
    case 'overcast' : cond0 = "*Пасмурно ☁️*"; break;
    case 'drizzle' : cond0 = "*Морось 🌦*"; break;
    case 'light-rain' : cond0 = "*Небольшой дождь 🌧*"; break;
    case 'rain' : cond0 = "*Дождь 🌧*"; break;
    case 'moderate-rain' : cond0 = "*Умеренно сильный дождь 🌧*"; break;
    case 'heavy-rain' : cond0 = "*Сильный дождь 🌧*"; break;
    case 'continuous-heavy-rain' : cond0 = "*Длительный сильный дождь 🌧*"; break;
    case 'showers' : cond0 = "*Ливень 🌧*"; break;
    case 'wet-snow' : cond0 = "*Дождь со снегом 🌧🌨*"; break;
    case 'light-snow' : cond0 = "*Небольшой снег 🌧*"; break;
    case 'snow' : cond0 = "*Снег 🌧*"; break;
    case 'snow-showers' : cond0 = "*Снегопад 🌧*"; break;
    case 'hail' : cond0 = "*град*"; break;
    case 'thunderstorm' : cond0 = "*гроза*"; break;
    case 'thunderstorm-with-rain' : cond0 = "*Дождь с грозой*"; break;
    case 'thunderstorm-with-hail' : cond0 = "*Гроза с градом*"; break;

}
let cond1
switch(global.weather().ya_2_condition())
{
    case 'clear' : cond1 = "*Ясно 🌞*"; break;
    case 'partly-cloudy' : cond1 = "*Малооблачно 🌥*"; break;
    case 'cloudy' : cond1 = "*Облачно с прояснениями 🌤*"; break;
    case 'overcast' : cond1 = "*Пасмурно ☁️*"; break;
    case 'drizzle' : cond1 = "*Морось 🌦*"; break;
    case 'light-rain' : cond1 = "*Небольшой дождь 🌧*"; break;
    case 'rain' : cond1 = "*Дождь 🌧*"; break;
    case 'moderate-rain' : cond1 = "*Умеренно сильный дождь 🌧*"; break;
    case 'heavy-rain' : cond1 = "*Сильный дождь 🌧*"; break;
    case 'continuous-heavy-rain' : cond1 = "*Длительный сильный дождь 🌧*"; break;
    case 'showers' : cond1 = "*Ливень 🌧*"; break;
    case 'wet-snow' : cond1 = "*Дождь со снегом 🌧🌨*"; break;
    case 'light-snow' : cond1 = "*Небольшой снег 🌧*"; break;
    case 'snow' : cond1 = "*Снег 🌧*"; break;
    case 'snow-showers' : cond1 = "*Снегопад 🌧*"; break;
    case 'hail' : cond1 = "*град*"; break;
    case 'thunderstorm' : cond1 = "*гроза*"; break;
    case 'thunderstorm-with-rain' : cond1 = "*Дождь с грозой*"; break;
    case 'thunderstorm-with-hail' : cond1 = "*Гроза с градом*"; break;

}
let wind_dir
switch(global.weather().ya_wind_direction())
{
    case 'nw' : wind_dir = "северо-западный";  break;
    case 'n' : wind_dir = "северный";  break;
    case 'ne' : wind_dir = "северо-восточный";  break;
    case 'e' : wind_dir = "восточный";  break;
    case 'se' : wind_dir = "юго-восточный";  break;
    case 's' : wind_dir = "южный";  break;
    case 'sw' : wind_dir = "юго-западный";  break;
    case 'w' : wind_dir = "западный";  break;
    case 'c' : wind_dir = "штиль";  break;
}

let wind_dir0
switch(global.weather().ya_1_wind_direction())
{
    case 'nw' : wind_dir0 = "северо-западный";  break;
    case 'n' : wind_dir0 = "северный";  break;
    case 'ne' : wind_dir0 = "северо-восточный";  break;
    case 'e' : wind_dir0 = "восточный";  break;
    case 'se' : wind_dir0 = "юго-восточный";  break;
    case 's' : wind_dir0 = "южный";  break;
    case 'sw' : wind_dir0 = "юго-западный";  break;
    case 'w' : wind_dir0 = "западный";  break;
    case 'c' : wind_dir0 = "штиль";  break;
}

let wind_dir1
switch(global.weather().ya_2_wind_direction())
{
    case 'nw' : wind_dir1 = "северо-западный";  break;
    case 'n' : wind_dir1 = "северный";  break;
    case 'ne' : wind_dir1 = "северо-восточный";  break;
    case 'e' : wind_dir1 = "восточный";  break;
    case 'se' : wind_dir1 = "юго-восточный";  break;
    case 's' : wind_dir1 = "южный";  break;
    case 'sw' : wind_dir1 = "юго-западный";  break;
    case 'w' : wind_dir1 = "западный";  break;
    case 'c' : wind_dir1 = "штиль";  break;
}


let moon
switch(global.weather().ya_moon_text())
{
	case 'moon-code-0' : moon = "полнолуние";  break;
	case 'moon-code-1' : moon = "убывающая луна";  break;
	case 'moon-code-2' : moon = "убывающая луна";  break;
	case 'moon-code-3' : moon = "убывающая луна";  break;
	case 'moon-code-4' : moon = "последняя четверть";  break;
	case 'moon-code-5' : moon = "убывающая луна";  break;
	case 'moon-code-6' : moon = "убывающая луна";  break;
	case 'moon-code-7' : moon = "убывающая луна";  break;
	case 'moon-code-8' : moon = "новолуние";  break;
	case 'moon-code-9' : moon = "растущая луна";  break;
	case 'moon-code-10' : moon = "растущая луна";  break;
	case 'moon-code-11' : moon = "растущая луна";  break;
	case 'moon-code-12' : moon = "первая четверть";  break;
	case 'moon-code-13' : moon = "растущая луна";  break;
	case 'moon-code-14' : moon = "растущая луна";  break;
	case 'moon-code-15' : moon = "растущая луна";  break;
}
let part0
switch(global.weather().ya_part_1_name())
{
	case 'night' : part0 = "*Ночью*";  break;
	case 'morning' : part0 = "*Утром*";  break;
	case 'day' : part0 = "*Днем*";  break;
	case 'evening' : part0 = "*Вечером*";  break;
}
let part1
switch(global.weather().ya_part_2_name())
{
	case 'night' : part1 = "*Ночью*";  break;
	case 'morning' : part1 = "*Утром*";  break;
	case 'day' : part1 = "*Днем*";  break;
	case 'evening' : part1 = "*Вечером*";  break;
}

global.sendToTelegram(["Погода Яндекс:",
        "=================================",
        "=================================",
        cond,
        "---------------------------------------------",
        "Температура (факт):* " + Hub.getCharacteristicValue(1199,15) + " °C*",
        "Температура (прогноз):* " + global.weather().ya_temp() + " °C*",
        "Ощущается:* " + global.weather().ya_feels_like() +" °C*",
        "Относительная влажность:* " + global.weather().ya_hum() + " %*",
        "---------------------------------------------",
        "Ветер: *" + wind_dir +"*", 
        "Скорость ветра: *" + global.weather().ya_wind() + " м/с*", 
        "С порывами до: *" + global.weather().ya_gust() + " м/с*",
        "---------------------------------------------",
        "Фаза луны: * " + moon +"*",
        "---------------------------------------------",
        "Восход: *" + global.weather().ya_sunrise() +"*",
        "Закат:    *" + global.weather().ya_sunset() +"*",
        "=================================",
        "=================================",
        part0 + " ожидается:",
        cond0,
        "---------------------------------------------",
        "Вероятность осадков: *" + global.weather().ya_1_prec() + " %*",
        "Длительность осадков: *" + global.weather().ya_1_prec_period() + " минут*",
        "Количество осадков: *" + global.weather().ya_1_prec_mm() + " мм.*",
        "---------------------------------------------",
        "Температура (мин):* " + global.weather().ya_1_temp_min() + " °C*",
        "Температура (макс):* " + global.weather().ya_1_temp_max() + " °C*",
        "Ощущается:* " + global.weather().ya_1_feels_like() +" °C*",
        "Относительная влажность:* " + global.weather().ya_1_hum() + " %*",
        "---------------------------------------------",
        "Ветер: *" + wind_dir0 +"*", 
        "Скорость ветра: *" + global.weather().ya_1_wind() + " м/с*", 
        "С порывами до: *" + global.weather().ya_1_gust() + " м/с*",
        "=================================",
        "=================================",
        part1 + " ожидается:",
        cond1,
        "---------------------------------------------",
        "Вероятность осадков: *" + global.weather().ya_2_prec() + " %*",
        "Длительность осадков: *" + global.weather().ya_2_prec_period() + " минут*",
        "Количество осадков: *" + global.weather().ya_2_prec_mm() + " мм.*",
        "---------------------------------------------",
        "Температура (мин):* " + global.weather().ya_2_temp_min() + " °C*",
        "Температура (макс):* " + global.weather().ya_2_temp_max() + " °C*",
        "Ощущается:* " + global.weather().ya_2_feels_like() +" °C*",
        "Относительная влажность:* " + global.weather().ya_2_hum() + " %*",
        "---------------------------------------------",
        "Ветер: *" + wind_dir1 +"*", 
        "Скорость ветра: *" + global.weather().ya_2_wind() + " м/с*", 
        "С порывами до: *" + global.weather().ya_2_gust() + " м/с*",
        "---------------------------------------------",
        ]);
}

Скачать шаблон сценария Яндекс.Погоды в Telegram