После того как 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)
Delsian
25.01.2022 09:49А не проще отсюда? https://openweathermap.org/api
Silvar Автор
25.01.2022 11:29Проще, но прогноз Яндекса для Москвы я считаю точнее. Для моих целей, конечно, хватает и примерных данных, но все ёж.
mkvmaks
25.01.2022 21:30Почему-то этот сайт не всегда открывается, а если и открывается, то не все работает ..
StraNNicK
25.01.2022 10:42Отличная новость. Я бы ещё добавил в ридми репозитория скриншот как оно выглядит.
Silvar Автор
25.01.2022 13:22То как HA отображает данные от интеграции не зависит. Она только сами данные собиарет.
Это может быть стандартная карточка погоды, кастомная или вообще диспей в выключателе.
Nerd0_0
25.01.2022 12:21Спасибо, по дефолту в HASS стоит met.no, показывающий неправду, думал на что бы заменить
catfish
26.01.2022 21:28Ставил вручную, интеграция появилась в списке, но настроить не дает - ошибка "Не удалось загрузить мастер настройки"
Silvar Автор
26.01.2022 21:29Откройте, пожалуйста, issue на гитхаб с home-assistnat.log с момента запуска и до появления сообщения с ошибкой -- посмотрим что происходит.
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.
shedj
26.01.2022 22:09Добавилось. Видимо, надо ждать какое-то время (минут 10 точно ) после создания ключа.
Firz
Но зачем ему что-то стороннее кроме встроенных часов(чтобы знать когда включать нагрев, чтобы нагреть к нужному времени) и датчика температуры пола?
Silvar Автор
Чтобы:
Включать теплый пол за полчаса до будильника (за это отвечает интеграция с SleepAsAndroid в соседнем репозитории ;) )
Не делать этого когда на улице +25
stripe
А не хватит добавить железный датчик температуры за окном?
Или датчик температуры непосредственно пола? Например если температура пола <20C - нужно включать
Silvar Автор
Там где за окном == улица датчик не высунуть, а там где балкон -- парник и с тем же успехом можно брать погоду на Марсе.
Температуру поверхности собирать можно, но тоже не очень интересно: когда жарко, то прохладный пол -- приятно. Плюс это сильно усложняет само управление нагревом: датчик контроллера на поверхность не положишь, а значит контроллер нужно дергать вопреки его алгоритмам, из HA.
Мне такие решения нравятся чуть меньше, чем сходить к профессиональным постащикам метео данных.
DaemonGloom
Просто наклеить датчик снаружи на створку/раму окна?
Но вообще — вас больше интересует температура воздуха в ванной, скорее. Воздух горячий — подогрев не делаем. Воздух холодный — греем. Не имеет значения, что за окном валяется снег, если в ванной уже и так +28, например.
Silvar Автор
Меня интересует общий комфорт: если и так жарко, то нет смысла греть пол.
У "наклеить" есть пара неочевидных проблем:
Датчик должен быть IP67
Датчик должен быть морозоустойчивым
Ну и отдавать данные прилично. Те это или жесткий DIY в силу требований по защищенности, или какие-то решения за деньги, которые тоже надо как-то интегрировать.
На водух в ванной смотреть тоже не правильно: температура воздуха в помещении в течении года меняется не сильно, а ощущения зависят от сезонности. Летом больше хочется прохлады, а зимой -- тепла.
putnik
Может сделать дополнительное условие на текущую дату? Летом есть шанс получить холодный пол, если температура не подгрузилась, а на улице холодно, но в декабре странно ожидать, что за окном будет +25. Даже с более стабильным источником вроде Яндекс.Погоды не исключены проблемы с подключением.
Silvar Автор
Шанс фэйла есть почти всегда.
Яндекс, кстати, в погодной сводке отдает текущий сезон :) Надо будет сенсор этого добавить и кэш на пару дней для значения...
slog2
А причём тут +25 на улице? Если пол +15 то на него не комфортно заходить хоть +25 на улице, хоть -25
praeivis
При +25 пол +15 оооооочень комфортно. А при +27 так вообще кайф.