2018-05-13 11:37:02 +02:00
|
|
|
|
OTA Update Component
|
|
|
|
|
====================
|
|
|
|
|
|
2018-11-14 22:12:27 +01:00
|
|
|
|
.. seo::
|
|
|
|
|
:description: Instructions for setting up Over-The-Air (OTA) updates for ESPs to upload firmwares remotely.
|
2018-11-19 18:32:16 +01:00
|
|
|
|
:image: system-update.png
|
2018-11-14 22:12:27 +01:00
|
|
|
|
:keywords: Xiaomi, Mi Flora, BLE, Bluetooth
|
|
|
|
|
|
2018-05-13 11:37:02 +02:00
|
|
|
|
With the OTA (Over The Air) update component you can upload your
|
|
|
|
|
firmware binaries to your node without having to use an USB cable for
|
|
|
|
|
uploads. esphomeyaml natively supports this through its ``run`` and
|
|
|
|
|
``upload`` helper scripts.
|
|
|
|
|
|
2018-07-31 20:26:53 +02:00
|
|
|
|
.. note::
|
|
|
|
|
Please be aware that ESP8266 modules must be reset after a serial
|
|
|
|
|
upload before OTA can work.
|
|
|
|
|
When you are trying to conduct an OTA update and receive an error message
|
|
|
|
|
``Bad Answer: ERR: ERROR[11]: Invalid bootstrapping`` the reason is
|
|
|
|
|
very likely that power-cycling the ESP module is required once after
|
|
|
|
|
the serial upload.
|
|
|
|
|
|
|
|
|
|
|
2018-05-13 11:37:02 +02:00
|
|
|
|
Optionally, you can also define a password to use for OTA updates so
|
|
|
|
|
that an intruder isn’t able to upload any firmware to the ESP without
|
|
|
|
|
having hardware access to it. This password is also hashed
|
|
|
|
|
automatically, so an intruder can’t extract the password from the
|
|
|
|
|
binary.
|
|
|
|
|
|
|
|
|
|
esphomelib also supports an “OTA safe mode”. If for some reason your
|
|
|
|
|
node gets into a boot loop, esphomelib will automatically try to detect
|
|
|
|
|
this and will go over into a safe mode after 10 unsuccessful boot
|
|
|
|
|
attempts. In that mode, all components are disabled and only Serial
|
|
|
|
|
Logging+WiFi+OTA are initialized, so that you can upload a new binary.
|
|
|
|
|
|
2018-11-19 18:32:16 +01:00
|
|
|
|
.. code-block:: yaml
|
2018-05-13 11:37:02 +02:00
|
|
|
|
|
|
|
|
|
# Example configuration entry
|
|
|
|
|
ota:
|
|
|
|
|
safe_mode: True
|
|
|
|
|
password: VERYSECURE
|
|
|
|
|
|
|
|
|
|
Configuration variables:
|
2018-08-24 22:44:01 +02:00
|
|
|
|
------------------------
|
2018-05-13 11:37:02 +02:00
|
|
|
|
|
|
|
|
|
- **safe_mode** (*Optional*, boolean): Whether to enable safe mode.
|
|
|
|
|
Defaults to ``True``.
|
|
|
|
|
- **password** (*Optional*, string): The password to use for updates.
|
|
|
|
|
- **port** (*Optional*, int): The port to use for OTA updates. Defaults
|
|
|
|
|
to ``3232`` for the ESP32 and ``8266`` for the ESP8266.
|
2018-06-01 18:10:00 +02:00
|
|
|
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
|
|
|
|
|
2018-10-07 10:04:14 +02:00
|
|
|
|
.. note::
|
|
|
|
|
|
|
|
|
|
If you get errors like
|
|
|
|
|
|
|
|
|
|
.. code::
|
|
|
|
|
|
|
|
|
|
ERROR [esphomeyaml.espota] Failed
|
|
|
|
|
ERROR [esphomeyaml.espota] Host livingroom.local Not Found
|
|
|
|
|
|
|
|
|
|
when attempting to upload via OTA, please try setting a :ref:`manual IP for WiFi <wifi-manual_ip>`.
|
|
|
|
|
|
2018-06-01 18:10:00 +02:00
|
|
|
|
See Also
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
- :doc:`API Reference </api/core/ota>`
|
2018-06-04 08:17:22 +02:00
|
|
|
|
- `Edit this page on GitHub <https://github.com/OttoWinter/esphomedocs/blob/current/esphomeyaml/components/ota.rst>`__
|
2018-10-12 16:33:22 +02:00
|
|
|
|
|
|
|
|
|
.. disqus::
|