суббота, 11 февраля 2023 г.

ESPHome: замена пароля API на ключ шифрования

            Некоторое время назад мой Home Assistant начал выдавать ошибку «API Password deprecated on …», указывая на устройства с прошивкой ESPHome, которые были прошиты ранее. Как видим у меня есть 6 «проблем»:

 

            Подробное описание ошибки гласит, что «The API password for ESPHome is deprecated and the use of an API encryption key is recommended instead. Remove the API password and add an encryption key to your ESPHome device to resolve this issue.», что в переводе значит « Использование пароля для API ESPHome устарело, вместо него рекомендуется использовать ключ шифрования API. Чтобы решить эту проблему нужно удалить пароль API и добавить ключ шифрования на свое устройство ESPHome»:

 

            Расскажу подробней как это сделать. С недавнего времени ключ API автоматически генерируется при создании нового профиля. Этим и воспользуемся и вставим сгенерированный API ключ нового устройства в профили устройств  созданных ранее. Создаем профиль нового устройства. Для этого переходив во вкладку ESPHome и жмем «+ NEW DEVICE»:

 

            Нажимаем «CONTINUE»:

 

Придумываем устройству любое имя, например я назвал «test»: 


            Выбираем тип устройства. Тут не принципиально, можно выбрать любое:

 


            Профиль сгенерирован, ключ создан. Если щелкнуть мышкой на ключе, он будет скопирован в буфер обмена. Инсталлировать профиль у нас некуда, поэтому выбираем «SKIP»:

 

            Выбираем из списка наше вновь созданное устройство «test» и открываем его содержимое, нажав «EDIT»:

 

            Находим строку  «api:  encryption:    key:» и копируем в буфер обмена ее содержимое вместе с ключом:

 

            Открываем старый профиль с паролем, вместо ключа шифрования API. Находим строку «api: password» и заменяем ее содержимым буфера обмена.

 

            После замены нажимаем «INSTALL» 



            Выбираем вариант обновления по воздуху нажав «Wirelessly»:

 

            Может появиться такое сообщение. Не переживаем, просто ждем. Скоро все заработает.

 

            Через некоторое время видим, что «проблем» осталось 5:


    
         Остальные решаем аналогично, заменив API пароль на API ключ шифрования. Для всех устройств можно использовать один и тот же ключ API. На этом все!

2 комментария:

  1. добрый день. А у меня почему-то все устройства пропали во вкладке ESPHome. Где брать старые профили то?

    ОтветитьУдалить
    Ответы
    1. Профили по умолчанию на устройстве с Home assistant лежат в папке config/esphome (файлы с названием Ваших устройств и расширением yaml).

      Удалить