ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Go to file
Keith Burzinski c0ad5d1d16
Initial attempt at supporting ESP-IDF 5.0.0 (#4364)
* requirements: add pyparsing >= 3.0

ESP-IDF >= 5.0 requires pyparsing's rest_of_file, which was introduced
in version 3.0.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>

* esp32: fix build with ESP-IDF >= 5

We need to include esp_timer.h to be able to use esp_timer_get_time().
This header existed in ESP-IDF < 5 so we don't need if guards.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>

* ota: fix build with ESP-IDF >= 5

As of version 5, esp_task_wdt_init() takes a struct as argument. We also
need to include spi_flash_mmap.h.

[split unrelated change into separate commits, maintain ESP-IDF < 5
compat, use esp_task_wdt_reconfigure, add commit message]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>

* core: fix build with ESP-IDF >= 5

These header files already existed in ESP-IDF < 5 so skip if guards.

[add commit message]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>

* wifi: fix build with ESP-IDF >= 5

ESP-IDF 4.1 introduced the esp-netif API as successor to the tcp_adapter
API. The tcp_adapter API was removed in ESP-IDF 5.0.0. Part of the wifi
component was already migrated to the new API. Migrate the leftover uses
of the old API to the new API to fix build on ESP-IDF >= 5.

The version of ESP-IDF currently in use (4.4.4) supports the new API, so
we don't need any if guards to maintain backwards compatibility.

Also replace xQueueHandle, which is a pre FreeRTOS v8.0.0 data type,
with QueueHandle_t, so we don't need to enable backward compatibility
(CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY).

This reverts part of commit d42f35de5d to wifi_component_esp_idf.cpp,
as the esp-netif API handles that internally.

[replace pre FreeRTOS v8.0.0 data type, add commit message]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>

* mdns: fix build with ESP-IDF >= 5

In ESP-IDF 5.0.0, the mdns component was removed and moved to another
repository. Since the mdns component in esphome is always built, we
need to add the mdns component from the esp-protocols repository. This
component depends on ESP-IDF >= 5.0, so we need to add a version guard.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>

* docker: install python3-venv

As of version 6.0.1, platform-espressif32 requires python3-venv.
Switching between esp-idf 4.4.4 and 5.0 causes problems with esp-idf
python dependencies installed by PlatformIO. They've solved this by
using venv. Install python3-venv so that platform-espressif32 6.0.1 and
later can be used, and we don't need to wipe the dependencies manually
when switching esp-idf versions.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>

---------

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Co-authored-by: Stijn Tintel <stijn@linux-ipv6.be>
2023-04-20 03:54:06 +00:00
.devcontainer VSCode / devcontainer updates (#4647) 2023-04-03 19:44:46 +00:00
.github Bump docker/build-push-action from 3 to 4 (#4367) 2023-04-13 08:13:13 +00:00
.vscode VSCode / devcontainer updates (#4647) 2023-04-03 19:44:46 +00:00
docker Initial attempt at supporting ESP-IDF 5.0.0 (#4364) 2023-04-20 03:54:06 +00:00
esphome Initial attempt at supporting ESP-IDF 5.0.0 (#4364) 2023-04-20 03:54:06 +00:00
script VSCode / devcontainer updates (#4647) 2023-04-03 19:44:46 +00:00
tests Add event triggers to voice_assistant (#4699) 2023-04-17 02:57:28 +00:00
.clang-format Configure clang-format for consistent pointer alignment (#1890) 2021-06-10 12:55:20 +02:00
.clang-tidy Force braces around multi-line statements (#3094) 2022-01-25 08:56:36 +13:00
.coveragerc Unittests for esphome python code (#931) 2020-03-12 14:27:22 -07:00
.dockerignore More VSCode devcontainer improvements (#1934) 2021-06-22 16:37:05 +02:00
.editorconfig YAML linting (#3779) 2022-09-06 15:48:01 +12:00
.gitattributes Fix line endings normalization (#2407) 2021-09-30 18:07:28 +02:00
.gitignore Add Clipping to displaybuffer (#4271) 2023-02-11 09:56:15 +13:00
.pre-commit-config.yaml Bump black from 23.1.0 to 23.3.0 (#4635) 2023-04-04 02:34:36 +00:00
.yamllint YAML linting (#3779) 2022-09-06 15:48:01 +12:00
CODE_OF_CONDUCT.md Update email addresses (#1733) 2021-05-03 11:51:10 +12:00
CODEOWNERS Add push to talk voice assistant (#4648) 2023-04-11 23:45:10 +00:00
CONTRIBUTING.md Lint trailing whitespace (#3230) 2022-02-19 14:46:27 +01:00
LICENSE 🏗 Merge C++ into python codebase (#504) 2019-04-17 12:06:00 +02:00
MANIFEST.in Update Manifest to rmeove unused dashboard files and include .c ethernet drivers (#4459) 2023-02-19 19:12:29 +00:00
platformio.ini Bump arduino platform version to 5.3.0 (#4713) 2023-04-20 00:44:49 +00:00
pylintrc Bump pylint from 2.13.9 to 2.14.3 (#3589) 2022-06-21 16:27:33 +12:00
pyproject.toml Bump python min to 3.9 (#3871) 2022-10-05 20:09:27 +13:00
pytest.ini Unittests for esphome python code (#931) 2020-03-12 14:27:22 -07:00
README.md Rename master branch to release (#1976) 2021-07-02 15:42:36 +02:00
requirements_optional.txt Bump base image to 3.4.0 (#1879) 2021-06-08 22:03:04 +02:00
requirements_test.txt Bump pytest from 7.2.2 to 7.3.0 (#4673) 2023-04-10 22:29:40 +00:00
requirements.txt Initial attempt at supporting ESP-IDF 5.0.0 (#4364) 2023-04-20 03:54:06 +00:00
sdkconfig.defaults Set ESP32 watchdog to loop task (#2846) 2021-12-02 09:05:42 +13:00
setup.cfg add-black (#1593) 2021-03-07 16:03:16 -03:00
setup.py Bump python min to 3.9 (#3871) 2022-10-05 20:09:27 +13:00

ESPHome Discord Chat GitHub release

ESPHome Logo

Documentation: https://esphome.io/

For issues, please go to the issue tracker.

For feature requests, please see feature requests.