Получение онлайн прогноза погоды: различия между версиями

Материал из Sprut.hub Wiki
Нет описания правки
Строка 219: Строка 219:
         "Облачность: *" + global.acc.cloud + " %*",
         "Облачность: *" + global.acc.cloud + " %*",
         "--------------------------------------",
         "--------------------------------------",
        "Температура (факт):* " + Hub.getCharacteristicValue(552,15) + " °C*",
         "Температура (прогноз):* " + global.acc.temp + " °C*",
         "Температура (прогноз):* " + global.acc.temp + " °C*",
         "Ощущается (RealFeel):* " + global.acc.real_temp +" °C*",
         "Ощущается (RealFeel):* " + global.acc.real_temp +" °C*",
Строка 248: Строка 247:
         "--------------------------------------"  
         "--------------------------------------"  
         ])
         ])
}
</syntaxhighlight>
== Отправка показаний Yr.no в Telegram ==
<syntaxhighlight lang="js" line="1">
global.yr_request();
if (global.yr.error && !global.yr.temp) {log.warn("Данных YR нет: {}", global.yr.error_code); global.sendToTelegram(["Данных Yr.no нет","Причина: " +  global.yr.error_code])} else {
global.sendToTelegram(["Погода Yr.no:",
        "=================================",
"Время прогноза: *" + global.yr.time + "*",
        "=================================",
        "Состояние: *" + global.yr.condition_1_hour + "*",
        "---------------------------------------------",
        "Температура (прогноз):* " + global.yr.temp + " °C*",
        "Относительная влажность:* " + global.yr.hum + " %*",
        "---------------------------------------------",
        "Ветер: *" + global.yr.wind_dir + "*",
        "Скорость ветра: *" + global.yr.wind + " м/с*",
        "---------------------------------------------",
        "УФ Индекс: * " + global.yr.uv +"*",
        "---------------------------------------------",
"Точка росы: *" + global.yr.dewpoint + "°C*",
        "---------------------------------------------",
"Атмосферное давление: *" + global.yr.pressure + " мм.рт.ст.*",
        "---------------------------------------------",
"Туман: *" + global.yr.fog + "%*",
        "=================================",
"*Прогноз на ближайшие 6 часов*",
        "=================================",
        "*" + global.yr.condition_6_hours + "*",
"Температура (мин):* " + global.yr.temp_min_6_hours + " °C*",
        "Температура (макс):* " + global.yr.temp_max_6_hours + " °C*",
        "Уровень осадков: *" + global.yr.prec + " мм.*",
        "=================================",
"*Прогноз на ближайшие 12 часов*",
        "=================================",
        "*" + global.yr.condition_12_hours + "*",
        "---------------------------------------------",
        ]);
}
}
</syntaxhighlight>
</syntaxhighlight>

Версия от 19:07, 5 декабря 2022

Статья находится на стадии заполнения по причине разработки сценариев

OpenWeather

  • global.ow.temp - Температура
  • global.ow.hum - Влажность
  • global.ow.pressure - Давление (мм. рт. ст.)
  • global.ow.wind - Скорость ветра (м/с)
  • global.ow.gust - Порывы ветра (м/с)
  • global.ow.wind_deg - Направление ветра (в градусах)
  • global.ow.wind_deg_text - Направление ветра в текстовом формате
  • global.ow.feels_like - Температура (Ощущается)
  • global.ow.temp_min - Минимальная температура
  • global.ow.temp_max - Максимальная температура
  • global.ow.clouds - Уровень облачности (%)
  • global.ow.visibility - Видимость (м)
  • global.ow.condition - Описание погоды (текстовое, для использования в Телеграм)
  • global.ow.sunrise - Время восхода
  • global.ow.sunset - Время заката

Yr.No

  • global.yr.time - Время прогноза
  • global.yr.pressure - Атмосферное давление
  • global.yr.temp - Температура
  • global.yr.cloud - Уровень облачности (%)
  • global.yr.dewpoint - Точка росы
  • global.yr.fog - Уровень тумана (%)
  • global.yr.hum - Относительная влажность
  • global.yr.uv - Уровень ультрафиолета
  • global.yr.wind_deg - Направление ветра (в градусах)
  • global.yr.wind_dir - Направление ветра (текстовое)
  • global.yr.wind - Скорость ветра
  • global.yr.condition_1_hour - Состояние погоды в ближайший час
  • global.yr.condition_6_hours - Состояние погоды в ближайшие 6 часов
  • global.yr.condition_6_hours - Состояние погоды в ближайшие 12 часов
  • global.yr.temp_max_6_hours - Максимальная температура в ближайшие 6 часов
  • global.yr.temp_min_6_hours - Минимальная температура в ближайшие 6 часов
  • global.yr.prec - Уровень осадков в ближайшие 6 часов

AccuWeather

  • global.acc.condition - Описание погоды (текстовое, для использования в Телеграм)
  • global.acc.cloud - Уровень облачности (%)
  • global.acc.temp - Температура
  • global.acc.temp_min - Минимальная температура
  • global.acc.temp_max - Максимальная температура
  • global.acc.real_temp - Температура RealTemp (зарегистрированная торговая марка AccuWeather)
  • global.acc.real_shade - Температура RealTemp в тени
  • global.acc.apparent_temp - Температура (Ощущается)
  • global.acc.wind_chill_temp - Температура (Ощущается открытой кожей)
  • global.acc.hum - Влажность
  • global.acc.indoor_hum - Влажность воздуха попадающего в помещение с улицы
  • global.acc.dewpoint - Точка росы
  • global.acc.uv - Уровень ультрафиолета
  • global.acc.uv_text - Уровень ультрафиолета (текстовое, для использования в Телеграм)
  • global.acc.wind - Скорость ветра (м/с)
  • global.acc.gust - Порывы ветра (м/с)
  • global.acc.wind_dir - направление ветра (английский символ)
  • global.acc.wind_dir_text - направление ветра (текстовое)
  • global.acc.wind_deg - направление ветра (в градусах)
  • global.acc.wind_deg_text - направление ветра (текстовое, вычисленное из градусов)
  • global.acc.visibility - видимость (км)
  • global.acc.pressure - атмосферное давление (мм.рт.ст.)
  • global.acc.precip - уровень осадков (мм)

Яндекс

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

  • global.ya.condition - Описание погоды (текстовое, для использования в Телеграм)
  • global.ya.moon_text - Фаза луны (текстовое поле для использования в Телеграм)
  • global.ya.temp - Температура
  • global.ya.feels_like - Температура (Ощущается)
  • global.ya.hum - Влажность
  • global.ya.wind_direction_ - Направление ветра (символ)
  • global.ya.wind_direction_text - Направление ветра (текстовое поле для использования в Телеграм)
  • global.ya.wind - Скорость ветра (м/с)
  • global.ya.gust - Порывы ветра (м/с)
  • global.ya.sunrise - Время восхода
  • global.ya.sunset - Время заката

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

  • global.ya.part_1_name - Наименование периода суток
  • global.ya.condition_1 - Описание погоды
  • global.ya.temp_min_1 - Минимальная температура
  • global.ya.temp_max_1 - Максимальная температура
  • global.ya.feels_like_1 - Температура (Ощущается)
  • global.ya.hum_1 - Влажность
  • global.ya.wind_direction_1_text - Направление ветра (текстовое поле для использования в Телеграм)
  • global.ya.wind_direction_1 - Направление ветра (символ)
  • global.ya.wind_1 - Скорость ветра (м/с)
  • global.ya.gust_1 - Порывы ветра (м/с)
  • global.ya.prec_1 - Вероятность осадков
  • global.ya.prec_period_1 - Продолжительность осадков
  • global.ya.prec_mm_1 - Уровень осадков (мм)

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

  • global.ya.part_2_name - Наименование периода суток
  • global.ya.condition_2 - Описание погоды (текстовое, для использования в Телеграм)
  • global.ya.temp_min_2 - Минимальная температура
  • global.ya.temp_max_2 - Максимальная температура
  • global.ya.feels_like_2 - Температура (Ощущается)
  • global.ya.hum_2 - Влажность
  • global.ya.wind_direction_2_text - Направление ветра (текстовое поле для использования в Телеграм)
  • global.ya.wind_dir_2 - Направление ветра (символ)
  • global.ya.wind_2 - Скорость ветра (м/с)
  • global.ya.gust_2 - Порывы ветра (м/с)
  • global.ya.prec_2 - Вероятность осадков
  • global.ya.prec_period_2 - Продолжительность осадков
  • global.ya.prec_mm_2 - Уровень осадков (мм)

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

global.ow_request();
if (global.ow.error && !global.ow.temp) {log.warn("Данных OpenWeather нет: {}", global.ow.error_code); global.sendToTelegram(["Данных OpenWeather нет","Причина: " +  global.ow.error_code])} else {

global.sendToTelegram(["*Прогноз OpenWeather*",
        "=================================",
        "Прогноз на *: " + global.ow.time + "*",
        "=================================",
        "На улице *" + global.ow.condition + "*",
        "Облачность: *" + global.ow.clouds + "%*",
        "Видимость: *" + global.ow.visibility + " м.*",
        "---------------------------------------------",
        "Температура (прогноз):* " + global.ow.temp + " °C*",
        "Ощущается:* " + global.ow.feels_like +" °C*",
        "---------------------------------------------",        
        "Минимальная: *" + global.ow.temp_min + "°C*",
        "Максимальная: *" + global.ow.temp_max + "°C*",
        "---------------------------------------------",        
        "Относительная влажность:* " + global.ow.hum + " %*",
        "---------------------------------------------",
        "Атмосферное давление: *" + global.ow.pressure + " мм.рт.ст.*",
        "---------------------------------------------",
        "Ветер: *" + global.ow.wind_deg_text +"*", 
        "Скорость ветра: *" + global.ow.wind + " м/с*", 
        "С порывами до: *" + global.ow.gust + " м/с*",
        "---------------------------------------------",
        "Восход: *" + global.ow.sunrise +"*",
        "Закат:    *" + global.ow.sunset +"*",
        "=================================",
        ]);
}

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

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

global.ya_request();
if (global.ya.error && !global.ya.temp) 
{log.warn("Данных Yandex нет: {}", global.ya.error_code); global.sendToTelegram(["Данных Яндекс нет","Причина: " +  global.ya.error_code])} 
else {
global.sendToTelegram(["Погода Яндекс:",
        "=================================",
        "=================================",
        global.ya.condition,
        "---------------------------------------------",
        "Температура (факт):* " + Hub.getCharacteristicValue(10,15) + " °C*",
        "Температура (прогноз):* " + global.ya.temp + " °C*",
        "Ощущается:* " + global.ya.feels_like +" °C*",
        "Относительная влажность:* " + global.ya.hum + " %*",
        "---------------------------------------------",
        "Ветер: *" + global.ya.wind_direction_text +"*", 
        "Скорость ветра: *" + global.ya.wind + " м/с*", 
        "С порывами до: *" + global.ya.gust + " м/с*",
        "---------------------------------------------",
        "Фаза луны: * " + global.ya.moon_text +"*",
        "---------------------------------------------",
        "Восход: *" + global.ya.sunrise +"*",
        "Закат:    *" + global.ya.sunset +"*",
        "=================================",
        "=================================",
        global.ya.part_1_name + " ожидается:",
        global.ya.condition_1,
        "---------------------------------------------",
        "Вероятность осадков: *" + global.ya.prec_1 + " %*",
        "Длительность осадков: *" + global.ya.prec_period_1 + " минут*",
        "Количество осадков: *" + global.ya.prec_mm_1 + " мм.*",
        "---------------------------------------------",
        "Температура (мин):* " + global.ya.temp_min_1 + " °C*",
        "Температура (макс):* " + global.ya.temp_max_1 + " °C*",
        "Ощущается:* " + global.ya.feels_like_1 +" °C*",
        "Относительная влажность:* " + global.ya.hum_1 + " %*",
        "---------------------------------------------",
        "Ветер: *" + global.ya.wind_direction_1_text +"*", 
        "Скорость ветра: *" + global.ya.wind_1 + " м/с*", 
        "С порывами до: *" + global.ya.gust_1 + " м/с*",
        "=================================",
        "=================================",
        global.ya.part_2_name + " ожидается:",
        global.ya.condition_2,
        "---------------------------------------------",
        "Вероятность осадков: *" + global.ya.prec_2 + " %*",
        "Длительность осадков: *" + global.ya.prec_period_2 + " минут*",
        "Количество осадков: *" + global.ya.prec_mm_2 + " мм.*",
        "---------------------------------------------",
        "Температура (мин):* " + global.ya.temp_min_2 + " °C*",
        "Температура (макс):* " + global.ya.temp_max_2 + " °C*",
        "Ощущается:* " + global.ya.feels_like_2 +" °C*",
        "Относительная влажность:* " + global.ya.hum_2 + " %*",
        "---------------------------------------------",
        "Ветер: *" + global.ya.wind_direction_2_text +"*", 
        "Скорость ветра: *" + global.ya.wind_2 + " м/с*", 
        "С порывами до: *" + global.ya.gust_2 + " м/с*",
        "---------------------------------------------",
        ]);
}

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

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

global.acc_request();
if (global.acc.error && !global.acc.temp) {log.warn("Данных AccuWeather нет: {}", global.acc.error_code); global.sendToTelegram(["Данных AccuWeather нет","Причина: " +  global.acc.error_code])} else {
global.sendToTelegram(["*Погода AccuWeather*:",
        "======================================",
        "Данные актуальны на: *" + global.acc.time + "*",
        "======================================",
        "На улице: *" + global.acc.condition + "*",
        "Облачность: *" + global.acc.cloud + " %*",
        "--------------------------------------",
        "Температура (прогноз):* " + global.acc.temp + " °C*",
        "Ощущается (RealFeel):* " + global.acc.real_temp +" °C*",
        "--------------------------------------",
        "Ощущается (RealFeel в тени):* " + global.acc.real_shade +" °C*",
        "Ощущается (с учетом влажности и ветра):* " + global.acc.apparent_temp +" °C*",
        "Ощущается (открытой кожей с ветром):* " + global.acc.wind_chill_temp +" °C*",
        "--------------------------------------",
        "Температура (мин):* " + global.acc.temp_min + " °C*",
        "Температура (макс):* " + global.acc.temp_max + " °C*",
        "--------------------------------------",
        "Относительная влажность:* " + global.acc.hum + " %*",
        "Влажность уличного воздуха в помещении:* " + global.acc.indoor_hum + " %*",
        "--------------------------------------",
        "Точка росы:* " + global.acc.dewpoint + " °C*",
        "--------------------------------------",
        "УФ Индекс:* " + global.acc.uv + " (" + global.acc.uv_text + ")*",
        "--------------------------------------",
        "Ветер: *" + global.acc.wind_deg_text +"*", 
        "Скорость ветра: *" + global.acc.wind + " м/с*", 
        "С порывами до: *" + global.acc.gust + " м/с*",
        "--------------------------------------",
        "Атмосферное давление:* " + global.acc.pressure + " мм.рт.ст.*",
        "--------------------------------------",
        "Видимость:* " + global.acc.visibility + " км.*",
        "--------------------------------------",
        "Уровень осадков в ближайший час:* " + global.acc.precip + " мм.*",
        "--------------------------------------" 
        ])
}

Отправка показаний Yr.no в Telegram

global.yr_request();
if (global.yr.error && !global.yr.temp) {log.warn("Данных YR нет: {}", global.yr.error_code); global.sendToTelegram(["Данных Yr.no нет","Причина: " +  global.yr.error_code])} else {
global.sendToTelegram(["Погода Yr.no:",
        "=================================",
		"Время прогноза: *" + global.yr.time + "*",
        "=================================",
        "Состояние: *" + global.yr.condition_1_hour + "*",
        "---------------------------------------------",
        "Температура (прогноз):* " + global.yr.temp + " °C*",
        "Относительная влажность:* " + global.yr.hum + " %*",
        "---------------------------------------------",
        "Ветер: *" + global.yr.wind_dir + "*", 
        "Скорость ветра: *" + global.yr.wind + " м/с*", 
        "---------------------------------------------",
        "УФ Индекс: * " + global.yr.uv +"*",
        "---------------------------------------------",
		"Точка росы: *" + global.yr.dewpoint + "°C*",
        "---------------------------------------------",
		"Атмосферное давление: *" + global.yr.pressure + " мм.рт.ст.*",
        "---------------------------------------------",
		"Туман: *" + global.yr.fog + "%*",
        "=================================",
		"*Прогноз на ближайшие 6 часов*",
        "=================================",
        "*" + global.yr.condition_6_hours + "*",
		"Температура (мин):* " + global.yr.temp_min_6_hours + " °C*",
        "Температура (макс):* " + global.yr.temp_max_6_hours + " °C*",
        "Уровень осадков: *" + global.yr.prec + " мм.*",
        "=================================",
		"*Прогноз на ближайшие 12 часов*",
        "=================================",
        "*" + global.yr.condition_12_hours + "*",
        "---------------------------------------------",
        ]);
}