После того как gismeteo стал все чаще и чаще огорчать недоступностью данных в Home Assistant (а я утром оказывался на холодном полу в ванной потому что HA не мог узнать какая погода на улице и нужно ли ему включать теплый пол), я задумался о смене источника погодной информации. Выбор пал на Яндекс.Погоду. В начале хотел обойтись command_line сенсором, который бы тянул температуру через API, но сорвался и запилил целую интеграцию, которой и хотел бы поделиться.

Pull Request на добавление в HACS висит на рассмотрении (видимо, сказывается отсутсвие востребованности у нового репозитория), так что репозиторий (пока) придется добавлять в ручную как пользовательский: HACS -> Интеграции -> Три точки в правом верхнем углу -> пользовательские репозитоии. Заполняем:

После чего интеграцию можно установить через HACS, перезапустить Home Assistant и добавить в HA в разелее настроек "Устройства и службы".

Дальше понадобится ключ API Яндекс.Погоды (бесплатный, без ограничения срока, но с ограничением количества запросов в сутки, называется "Погода на вашем сайте"), координаты интеграция берет из настроек HA.

И немного интересностей, для тех кто решит воспользоваться:

  • Яндекс обновляет погодные данные (по крайней мере для Москвы на бесплатном тарифе) раз в час, поэтому 50 запросов в сутки, доступных на бесплатном тарифе, вполне достаточно.

  • Яндекс рисует свои картинки со статусом погоды. Ссылка на картинку с текущим статусом доступна через компонент погоды интеграции, в атрибуте entity_picture

  • Погодные состояния Яндекса гораздо богаче чем предусмотренные в Home Assistant, поэтому вынесены в отдельный сенсор.

  • Через API прогноз отдается в виде прогноза на часть суток (утро/день/вечер/ночь) и в интеграцию пока не добавлен (но будет в следующих релизах).

  • При смене погодного состояния интеграция выбрасывает event, который можно использовать в автоматизациях.

Комментарии (22)


  1. Firz
    24.01.2022 21:52
    +3

    После того как gismeteo стал все чаще и чаще огорчать недоступностью данных в Home Assistant (а я утром оказывался на холодном полу в ванной потому что HA не мог узнать какая погода на улице и нужно ли ему включать теплый пол), я задумался о смене источника погодной информации.

    Но зачем ему что-то стороннее кроме встроенных часов(чтобы знать когда включать нагрев, чтобы нагреть к нужному времени) и датчика температуры пола?


    1. Silvar Автор
      24.01.2022 22:35
      +2

      Чтобы:

      1. Включать теплый пол за полчаса до будильника (за это отвечает интеграция с SleepAsAndroid в соседнем репозитории ;) )

      2. Не делать этого когда на улице +25


      1. stripe
        24.01.2022 23:38
        +3

        А не хватит добавить железный датчик температуры за окном?
        Или датчик температуры непосредственно пола? Например если температура пола <20C - нужно включать


        1. Silvar Автор
          24.01.2022 23:58

          Там где за окном == улица датчик не высунуть, а там где балкон -- парник и с тем же успехом можно брать погоду на Марсе.

          Температуру поверхности собирать можно, но тоже не очень интересно: когда жарко, то прохладный пол -- приятно. Плюс это сильно усложняет само управление нагревом: датчик контроллера на поверхность не положишь, а значит контроллер нужно дергать вопреки его алгоритмам, из HA.

          Мне такие решения нравятся чуть меньше, чем сходить к профессиональным постащикам метео данных.


          1. DaemonGloom
            25.01.2022 08:58

            Просто наклеить датчик снаружи на створку/раму окна?
            Но вообще — вас больше интересует температура воздуха в ванной, скорее. Воздух горячий — подогрев не делаем. Воздух холодный — греем. Не имеет значения, что за окном валяется снег, если в ванной уже и так +28, например.


            1. Silvar Автор
              25.01.2022 13:16

              Меня интересует общий комфорт: если и так жарко, то нет смысла греть пол.

              У "наклеить" есть пара неочевидных проблем:

              1. Датчик должен быть IP67

              2. Датчик должен быть морозоустойчивым

              Ну и отдавать данные прилично. Те это или жесткий DIY в силу требований по защищенности, или какие-то решения за деньги, которые тоже надо как-то интегрировать.

              На водух в ванной смотреть тоже не правильно: температура воздуха в помещении в течении года меняется не сильно, а ощущения зависят от сезонности. Летом больше хочется прохлады, а зимой -- тепла.


      1. putnik
        25.01.2022 03:09

        Может сделать дополнительное условие на текущую дату? Летом есть шанс получить холодный пол, если температура не подгрузилась, а на улице холодно, но в декабре странно ожидать, что за окном будет +25. Даже с более стабильным источником вроде Яндекс.Погоды не исключены проблемы с подключением.


        1. Silvar Автор
          25.01.2022 13:18

          Шанс фэйла есть почти всегда.

          Яндекс, кстати, в погодной сводке отдает текущий сезон :) Надо будет сенсор этого добавить и кэш на пару дней для значения...


      1. slog2
        25.01.2022 08:09

        А причём тут +25 на улице? Если пол +15 то на него не комфортно заходить хоть +25 на улице, хоть -25


        1. praeivis
          25.01.2022 09:07

          При +25 пол +15 оооооочень комфортно. А при +27 так вообще кайф.


  1. Delsian
    25.01.2022 09:49

    А не проще отсюда? https://openweathermap.org/api


    1. Silvar Автор
      25.01.2022 11:29

      Проще, но прогноз Яндекса для Москвы я считаю точнее. Для моих целей, конечно, хватает и примерных данных, но все ёж.


    1. mkvmaks
      25.01.2022 21:30

      Почему-то этот сайт не всегда открывается, а если и открывается, то не все работает ..


  1. StraNNicK
    25.01.2022 10:42

    Отличная новость. Я бы ещё добавил в ридми репозитория скриншот как оно выглядит.


    1. Silvar Автор
      25.01.2022 13:22

      То как HA отображает данные от интеграции не зависит. Она только сами данные собиарет.

      Это может быть стандартная карточка погоды, кастомная или вообще диспей в выключателе.


  1. Nerd0_0
    25.01.2022 12:21

    Спасибо, по дефолту в HASS стоит met.no, показывающий неправду, думал на что бы заменить


  1. Salavat
    25.01.2022 14:11

    Странно, но у меня не получилось добавить. Ошибка на скрине ниже:

    Скрин

    UPD. С 3-го раза добавилось.


    1. StraNNicK
      25.01.2022 14:52
      +1

      Была та же проблема. Не сразу понял, что после добавления ключа надо пару минут подождать.


  1. catfish
    26.01.2022 21:28

    Ставил вручную, интеграция появилась в списке, но настроить не дает - ошибка "Не удалось загрузить мастер настройки"


    1. Silvar Автор
      26.01.2022 21:29

      Откройте, пожалуйста, issue на гитхаб с home-assistnat.log с момента запуска и до появления сообщения с ошибкой -- посмотрим что происходит.


  1. shedj
    26.01.2022 21:55

    Все сделал, ключ создал, тариф нужный поставил, но все равно: Could not get data. Check API key in Yandex developer zone and make sure that 'Weather for website' tariff is used.


    1. shedj
      26.01.2022 22:09

      Добавилось. Видимо, надо ждать какое-то время (минут 10 точно ) после создания ключа.