Skip to content

SILAM Pollen is a Home Assistant integration that delivers pollen level forecasts and sensor data for your location.

License

Notifications You must be signed in to change notification settings

danishru/silam_pollen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Release GitHub Activity Downloads License HACS Custom

SILAM Pollen Allergy Sensor for Home Assistant

Интеграция для Home Assistant, использующая набор данных "Лучший временной ряд, полученный из последнего доступного прогона." с сервера SILAM Thredds server для создания службы с сенсорами уровня пыльцы для конкретного местоположения. Расчет прогноза производится Finnish Meteorological Institute с учетом данных аэробиологических, фенологических и метеорологических наблюдений.

Источник данных: https://silam.fmi.fi/pollen.html

Caution

Предоставленные данные являются непроверенными модельными прогнозами, созданными только для научного использования. Ни качество, ни полнота представленной информации не гарантируются, и производители данных не несут никакой ответственности за её правильность и своевременность.

Important

Эта интеграция создана с использованием редакции ChatGPT для совместного написания кода, исправления ошибок и редактуры. Если вы придерживаетесь иной этической точки зрения, приношу извинения. Однако, я считаю, что данное применение является морально приемлемым, поскольку интеграция является некоммерческой, бесплатной и свободной, а её цель — способствовать открытости и взаимодействию.

🆕 Что нового в v0.2.1

🌸 Прогноз пыльцы (BETA)

  • В почасовой и дважды в день прогнозы пыльцы добавлены значения для выбранных аллергенов.
  • Для каждого сенсора пыльцы теперь добавлен атрибут с прогнозом на следующий день, который отображает дневной прогноз на следующий день, так же как для индекса пыльцы.

Подробнее в релизе v0.2.1

🆕 Что нового в v0.2.0

  • 🌍 Поддержка двух версий SILAM
    Возможность выбрать между SILAM Europe (v6.0) и SILAM Regional (v5.9.1) — с автоматическим тестом доступности.
    SILAM Regional (v5.9.1) обеспечивает более детальные и точные прогнозы для северной и северо-западной Европы.

  • 🌸 Прогноз пыльцы (BETA)
    Новый погодный сенсор с почасовым и двухразовым прогнозом пыльцы через weather.get_forecasts.

  • 📊 Единый обработчик данных + служба обновления
    Все данные кэшируются через data_processing.py.
    Добавлена служба SILAM Pollen monitor: Ручное обновление — можно вызывать вручную или в автоматизациях.

  • 🎨 Иконки для интеграции и сенсор
    Индикаторы стали нагляднее: каждый аллерген теперь со своей иконкой.

  • 🌐 Локализация (на 8 языках)
    Интерфейс переведён на: русский, английский, финский, итальянский, шведский, норвежский, датский и немецкий.

Подробнее в релизе v0.2.0

Описание

Интеграция SILAM Pollen предоставляет службу, состоящую из сенсоров, которая динамически формирует URL для запроса данных о пыльце. Данные запрашиваются с сервера SILAM с помощью HTTP-запроса, затем парсятся и обновляются в Home Assistant. Можно создавать несколько служб для разных местоположений, а также предоставляется возможность выбора необходимых типов пыльцы.

Note

Обратите внимание: охват территории ограничен и зависит от выбранного набора данных.
🟩 Зелёный — зона покрытия SILAM Regional (v5.9.1) (более детальная).
🟨 Жёлтый — зона покрытия SILAM Europe (v6.0) (более общая).

Для оценки покрытия и выбора подходящего региона используйте интерактивную карту ниже.

Интерактивная карта покрытия с данными по уровню пыльцы

Установка

Ручная установка

  1. Скопируйте папку silam_pollen в каталог custom_components вашей конфигурации Home Assistant.
  2. Перезапустите Home Assistant.
  3. Добавьте интеграцию через веб-интерфейс:
    • Перейдите в Настройки → Интеграции.
    • Нажмите Добавить интеграцию и выберите SILAM Pollen.
    • Заполните необходимые поля (например, имя, координаты, высоту, выбор типа пыльцы, интервал опроса).

Установка через HACS

Убедитесь, что HACS установлен:
Если HACS ещё не установлен, следуйте официальной инструкции по установке HACS.

Установка одним кликом

Для установки интеграции SILAM Pollen перейдите по ссылке ниже:

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

Обычная установка через HACS

  1. Откройте Home Assistant и перейдите в HACS:
    На боковой панели найдите и нажмите на значок HACS.
  2. Добавление пользовательского репозитория:
    • В HACS перейдите на вкладку Интеграции.
    • Нажмите кнопку Добавить пользовательский репозиторий (Custom Repositories).
    • В появившемся окне введите URL репозитория:
      https://github.com/danishru/silam_pollen
    • Выберите тип репозитория Integration.
    • Нажмите Добавить.
  3. Установка интеграции:
    • После добавления репозитория HACS автоматически обнаружит релиз вашей интеграции.
    • В разделе Интеграции появится интеграция с именем SILAM Pollen.
    • Найдите её и нажмите Установить.
    • Дождитесь завершения установки.

Теперь ваша интеграция установлена и готова к использованию через HACS!

Конфигурация

Перейдите по ссылке ниже и следуйте инструкциям мастера настройки SILAM Pollen:

Open your Home Assistant instance and show an integration.

Или откройте Настройки → Интеграции в Home Assistant, найдите SILAM Pollen и следуйте инструкциям мастера настройки.

Здесь вы сможете задать параметры для корректной работы интеграции:

  • Зона наблюдения – позволяет выбрать настроенную зону в вашем Home Assistant. По умолчанию выбирается зона "Home".
  • Тип пыльцы – выбор наблюдаемой пыльцы. Можно не выбирать ни один тип или выбрать несколько из списка.
  • Интервал обновления – интервал загрузки данных с сервера SILAM Thredds server в минутах (по умолчанию 60, минимальное значение — 30 минут).
  • Прогноз пыльцы (BETA) – включает дополнительный погодный сенсор с прогнозом уровня пыльцы. Может увеличить время ответа API.
  • Название зоны – по умолчанию используется название из выбранной зоны. Это имя используется для формирования названий служб и сенсоров. Параметр можно переопределить.
  • Высота над уровнем моря – высота над уровнем моря, используемая для выборки данных об уровне пыльцы из набора данных. Если выбрана зона "Home", данные берутся из общих настроек (config/general); в ином случае по умолчанию устанавливается значение 275. Параметр можно переопределить.
  • Местоположение – отображает на карте местоположение выбранной зоны. Зону наблюдения можно изменить с помощью карты или вручную задать координаты "Широта" и "Долгота". Указанный радиус отражает примерное пространственное разрешение данных о пыльце (около 10 км).

Использование

После установки интеграции в Home Assistant создается служба с именем SILAM Pollen - {Название зоны}. В описании службы указываются координаты местоположения наблюдения и версия используемого набора данных.

image

В рамках службы создается сенсор Индекс пыльцы, состояние которого отображает локализованное значение, соответствующее числовому индексу, рассчитанному на основе почасовых средних значений и пороговых значений из справочной таблицы Mikhail Sofiev (ссылка).

Возможные значения индекса:

  • 1 – Очень низкий
  • 2 – Низкий
  • 3 – Средний
  • 4 – Высокий
  • 5 – Очень высокий
  • Если значение не соответствует ни одному из указанных уровней, отображается «Неизвестно».

Дополнительно в атрибуты сенсора записываются дата прогноза и основной аллерген, оказывающий существенное влияние на формирование индекса.

Если выбран тип пыльцы, то для каждого выбранного типа создается отдельный сенсор, отображающий округленное до целого число, представляющее смоделированное количество пыльцы (единиц на кубический метр). В атрибутах таких сенсоров также указывается ближайшая доступная высота над уровнем моря, которая использовалась для выборки данных.

image image

Если включена опция Прогноз пыльцы (BETA), будет создан дополнительный погодный сенсор, который предоставляет:

  • почасовой прогноз на 24 часа (с шагом 3 часа),
  • и прогноз дважды в сутки на 36 часов вперёд.

Состояние погодного сенсора отображает индекс пыльцы на первый доступный временной интервал почасового прогноза.

image

Эти данные доступны через стандартный сервис weather.get_forecasts.

image

Показать пример ответа "Ежечасный"
weather.silam_pollen_frantsiia_forecast:
  forecast:
    - datetime: "2025-04-10T14:00:00+00:00"
      condition: high
      native_temperature_unit: °C
      pollen_index: 4
      temperature: 15.2
      pollen_alder: 0
      pollen_birch: 260
    - datetime: "2025-04-10T17:00:00+00:00"
      condition: high
      native_temperature_unit: °C
      pollen_index: 4
      temperature: 15.3
      pollen_alder: 0
      pollen_birch: 308
    - datetime: "2025-04-10T20:00:00+00:00"
      condition: high
      native_temperature_unit: °C
      pollen_index: 4
      temperature: 13.7
      pollen_alder: 0
      pollen_birch: 340
    - datetime: "2025-04-10T23:00:00+00:00"
      condition: high
      native_temperature_unit: °C
      pollen_index: 4
      temperature: 10.5
      pollen_alder: 0
      pollen_birch: 264
    - datetime: "2025-04-11T02:00:00+00:00"
      condition: moderate
      native_temperature_unit: °C
      pollen_index: 3
      temperature: 7.8
      pollen_alder: 0
      pollen_birch: 79
    - datetime: "2025-04-11T05:00:00+00:00"
      condition: moderate
      native_temperature_unit: °C
      pollen_index: 3
      temperature: 5.9
      pollen_alder: 0
      pollen_birch: 162
    - datetime: "2025-04-11T08:00:00+00:00"
      condition: high
      native_temperature_unit: °C
      pollen_index: 4
      temperature: 10.3
      pollen_alder: 0
      pollen_birch: 352
    - datetime: "2025-04-11T11:00:00+00:00"
      condition: high
      native_temperature_unit: °C
      pollen_index: 4
      temperature: 16.8
      pollen_alder: 0
      pollen_birch: 332
Показать пример ответа "Два раза в день"
weather.silam_pollen_frantsiia_forecast:
  forecast:
    - datetime: "2025-04-10T21:00:00+00:00"
      is_daytime: false
      condition: high
      pollen_index: 4
      temperature: 15.3
      pollen_alder: 0
      pollen_birch: 296
      templow: 8.6
    - datetime: "2025-04-11T09:00:00+00:00"
      is_daytime: true
      condition: moderate
      pollen_index: 3
      temperature: 16.8
      pollen_alder: 0
      pollen_birch: 278
      templow: 5.2
    - datetime: "2025-04-11T21:00:00+00:00"
      is_daytime: false
      condition: high
      pollen_index: 4
      temperature: 19.7
      pollen_alder: 0
      pollen_birch: 416
      templow: 12.1

Как рассчитывается прогноз

Прогноз пыльцы в интеграции SILAM Pollen формируется на основе модели SILAM и агрегируется в два типа прогнозов:

Почасовой прогноз (24 часа)

  • Строится с шагом в 3 часа.
  • Для каждого 3-часового окна рассчитываются:
    • Максимальная температура.
    • Индекс пыльцы — медианное значение, округлённое вверх до ближайшего целого.
    • Медианное значение для каждого выбранного аллергена.
  • Используется текущая дата + 24 часа вперёд.

Прогноз дважды в сутки (36 часов)

  • Данные группируются в 3 интервала по 12 часов (утро/ночь).
  • Вычисляется:
    • Максимальная и минимальная температура.
    • Индекс пыльцы — медианное значение по интервалу, также округляется вверх.
    • Медианное значение для каждого выбранного аллергена.
  • Прогнозы фиксируются на 00:00 и 12:00 (локальное время пользователя).

Используемые параметры

  • POLI — значение индекса пыльцы.
  • temp_2m — температура на высоте 2 метров.

Техника агрегации

  • Данные из SILAM парсятся из XML и объединяются по дате (date).
  • Расчёты выполняются с использованием statistics.median, max, min.
  • Все прогнозы кэшируются в merged_data и доступны через weather.get_forecasts.

Дополнительные ресурсы

Для более подробного изучения информации о пыльце и зонах её распространения рекомендуем ознакомиться со следующими проектами:

  • SILAM Pollen (FMI)
    https://silam.fmi.fi/pollen.html
    Официальный источник пыльцевых прогнозов от Финского метеорологического института. Предоставляет 5-дневные прогнозы распределения пыльцы по Европе и Северной Европе (береза, трава, олива, амброзия) в сотрудничестве с Европейской сетью аллергенов (EAN).

  • Pollen Club
    https://pollen.club/
    Совместный проект SILAM и Пыльца Club, предлагающий прогнозы появления пыльцы для европейской части России. На карте отображается почасовой прогноз SILAM и дневной прогноз для Москвы, при этом при совмещении выбирается вариант с более высокими концентрациями.

  • Allergotop: Allergofon
    https://allergotop.com/allergofon
    Проект, предоставляющий лабораторно-исследовательские данные пыльцевого мониторинга, полученные с помощью пыльцевых ловушек. Эти данные помогают определить порог чувствительности к аллергенам и оптимизировать ежедневную активность аллергиков.

  • MyAllergo
    https://myallergo.ru/pylca/
    Проект, публикующий ежедневные данные пыльцевой ловушки в Санкт-Петербурге. Предоставляет информацию о концентрации пыльцы с удобной цветовой индикацией, что особенно полезно для аллергиков.

  • Allergo.Space: Pollen Monitoring
    https://allergo.space/pollen-monitoring/
    Информационный ресурс, публикующий модельные прогнозы пыльцы, собранные из открытых источников (в том числе данных SILAM). Проект ориентирован на улучшение качества жизни аллергиков за счёт точного мониторинга аллергенов.

  • Яндекс.Погода – Аллергии
    https://yandex.ru/pogoda/allergies
    Раздел Яндекс.Погоды, где по уникальной формуле рассчитывается активность пыльцы с учётом периодов цветения, погодных условий и отзывов пользователей для оценки влияния аллергенов на самочувствие.

Лицензия

MIT License

Поддержка

Если возникнут вопросы или проблемы, создайте issue в репозитории.

About

SILAM Pollen is a Home Assistant integration that delivers pollen level forecasts and sensor data for your location.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages