* initial web_server_idf implementation
* initial web_server_idf implementation
* fix lint errors
* fix lint errors
* add captive_portal support
* fix lint errors
* fix lint errors
* add url decode
* Increase the max supported size of headers section in HTTP request
* add ota support
* add mulipart form data support (ota required)
* make linter happy
* make linter happy
* make linter happy
* fix review marks
* add DefaultHeaders support
* add DefaultHeaders support
* unify file names
* using std::isnan
* parse multipart requests only when ota enabled
* parse multipart requests only when ota enabled
* parse multipart requests only when ota enabled
* parse multipart requests only when ota enabled
* parse multipart requests only when ota enabled
* drop multipart request support
* drop multipart request support
* drop multipart request support
* OTA is disabled by default
* fail when OTA enabled on IDF framework
* changing file permissions to remove execute bit
* return back PGM_P and strncpy_P macro
* temp web_server fix to be compat with 2022.12
* fix config handling w/o web_server
* fix compilation with "local"
* fully remove all idf ota
* merge with esphome 2023.6
* add core/hal to web_server_base
* Update esphome/components/web_server_base/__init__.py
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
* Update __init__.py
* Update __init__.py
---------
Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
* Renamed Nameable to EntityBase (cpp)
* Renamed NAMEABLE_SCHEMA to ENTITY_BASE_SCHEMA (Python)
* Renamed cg.Nameable to cg.EntityBase (Python)
* Remove redundant use of CONF_NAME from esp32_touch
* Remove redundant use of CONF_NAME from mcp3008
* Updated test
* Moved EntityBase from Component.h and Component.cpp
* Added icon property to EntityBase
* Added CONF_ICON to ENTITY_BASE_SCHEMA and added setup_entity function to cpp_helpers
* Added MQTT component getters for icon and disabled_by_default
* Lint
* Removed icon field from MQTT components
* Code generation now uses setup_entity to setENTITY_BASE_SCHEMA fields
* Removed unused import
* Added cstdint include
* Optimisation: don't set icon if it is empty
* Remove icon from NumberTraits and SelectTraits
* Removed unused import
* Integration and Total Daily Energy sensors now inherit icons from their parents during code generation
* Minor comment correction
* Removed redundant icon-handling code from sensor, switch, and text_sensor
* Update esphome/components/tsl2591/tsl2591.h
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
* Added icon property to binary sensor, climate, cover, and fan component tests
* Added icons for Binary Sensor, Climate, Cover, Fan, and Light to API
* Consolidated EntityBase fields in MQTT components
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
* Update web_server.cpp
Added viewport meta tag to web_server.cpp in order to better control layout on mobile browsers. Adds 70 characters. Vastly improves accessibility on mobile devices.
* Update web_server.cpp
split line to meet clang format requirement.
* Update web_server.cpp
Reworked line break for clangtidy
* Add fan speed percentage support to the API
* Add float fan speed percentage
* Add percentage support to automation and configuration
* Update Tuya fan
* Fix pylint warning
* Update API to use speed levels instead of percentage
* Use speed levels
* Fix type warnings
* MQTT component now converts between speed levels and enums
* Webserver now supports speed_level
* Update prometheus
* Remove low/medium/high settings from speed fan
* Remove unused enum
* Configurable speed levels for speed fan
* Remove unused import
* Rename speed_level->speed and speed_levels->speed_count
* Rename supported_speed_levels -> supported_speed_count in API and FanTraits
Field id stays the same in the protocol, so the change is not breaking for aioesphome.
Add the GET and POST handler for cover components. Also add covers to
the index page although the Open/Close buttons that are shown for covers
will need a few lines added to webserver-v1.js, without them they don't
do anything.