Skip to content

Аварійне оновлення прошивки через REST API (Emergency Update)

Якщо на вашому пристрої встановлено прошивку на старій версії ESPHome і через це внутрішній графічний WEB-інтерфейс (сторінка пристрою в локальній мережі) не завантажується або працює некоректно, ви можете ініціювати примусове оновлення «по повітрю» за допомогою прямих HTTP-запитів до ядра системи.

Принцип роботи

Цей метод використовує вбудований REST API ESPHome, який працює у фоновому режимі незалежно від стану відображення графічного інтерфейсу дашборду.

Крок 1. Перевірка статусу компонента оновлень

Перед початком варто переконатися, що пристрій підключений до вашої Wi-Fi мережі та бачить сервер із файлами оновлень. Для цього виконайте перевірку статусу.

Відкрийте нову вкладку у вашому браузері та введіть у адресний рядок:

http://<IP_ПРИСТРОЮ>/update/Firmware Update
curl -X GET "http://<IP_ПРИСТРОЮ>/update/Firmware Update"

Очікувана відповідь від пристрою (JSON):

{
  "id": "update/Firmware Update",
  "state": "UPDATE_AVAILABLE",
}

Крок 2. Примусовий запуск прошивки

Для старту оновлення необхідно надіслати команду на «натискання» внутрішньої сервісної кнопки. Спробуйте виконати це найпростішим способом через браузер, а якщо він видасть помилку методу — скористайтеся терміналом.

Скопіюйте це посилання, вставте його в адресний рядок вашого браузера, замініть <IP_ПРИСТРОЮ> на реальну локальну IP-адресу вашого пристрою та натисніть Enter:

http://<IP_ПРИСТРОЮ>/button/Firmware Update/press

Tip

Якщо сторінка завантажилася без критичних помилок або залишилася просто пустою — запит успішно прийнято пристроєм.

Якщо браузер видав помилку про непідтримуваний метод (Method Not Allowed), надішліть точний POST-запит через термінал або командний рядок Windows:

curl -X POST "http://<IP_ПРИСТРОЮ>/button/Firmware Update/press"

Важливе застереження під час оновлення

Після надсилання запиту не вимикайте SvitloBot з розетки та не перезавантажуйте його примусово!

Зачекайте 1–2 хвилини. Контролер самостійно виконає наступні кроки:

  1. Звернеться до репозиторію SvitloBot.
  2. Автоматично завантажить актуальний файл під вашу архітектуру чіпа (ESP32 чи ESP8266).
  3. Виконає OTA-оновлення та перезапуститься вже з повністю відновленим, актуальним та робочим WEB-інтерфейсом.

Якщо налаштовано авторизацію

Якщо раніше на пристрої було задано логін та пароль для входу в інтерфейс, звичайний запит поверне помилку 401 Unauthorized. При використанні cURL обов'язково додайте прапорець аутентифікації:

curl -u admin:ваш_пароль -X POST "http://<IP_ПРИСТРОЮ>/button/Firmware Update/press"