Improv via Serial
=================
.. seo::
:description: Instructions for setting up Improv via Serial in ESPHome.
:image: improv-social.png
The ``improv_serial`` component in ESPHome implements the open `Improv standard `__
for configuring Wi-Fi on an ESPHome device by using a serial connection to the device, eg. USB.
The ``improv_serial`` component requires the serial ``logger`` to be configured.
.. code-block:: yaml
# Example configuration entry
wifi:
# ...
improv_serial:
Configuration variables
-----------------------
- **next_url** (*Optional*, url): A URL that can be used to forward the user to after setting credentials with improv.
Next URL
--------
Substitutions can be inserted into the URL, such as project name and version and there are some special substitutions
that can be performed by ESPHome when wrapped in double braces ``{{ }}``:
- **device_name**: This will substitute the device name including the mac address suffix.
- **ip_address**: This will substitute the IP address of the device.
- **esphome_version**: This will substitute the version of ESPHome that is running on the device.
.. code-block:: yaml
# Example next_url
improv_serial:
next_url: http://example.com/?device_name={{device_name}}&ip_address={{ip_address}}&esphome_version={{esphome_version}}
See Also
--------
- :doc:`wifi`
- :doc:`captive_portal`
- :doc:`esp32_improv`
- `Improv Wi-Fi `__
- :apiref:`improv_serial/improv_serial_component.h`
- :ghedit:`Edit`