|
ESPHome 2026.10.0
|
This class allows users to create a web server with their ESP nodes. More...
#include <web_server.h>
Public Member Functions | |
| WebServer (web_server_base::WebServerBase *base) | |
| void | set_css_url (const char *css_url) |
| Set the URL to the CSS <link> that's sent to each client. | |
| void | set_js_url (const char *js_url) |
| Set the URL to the script that's embedded in the index page. | |
| void | set_css_include (const char *css_include) |
| Set local path to the script that's embedded in the index page. | |
| void | set_js_include (const char *js_include) |
| Set local path to the script that's embedded in the index page. | |
| void | set_include_internal (bool include_internal) |
| Determine whether internal components should be displayed on the web server. | |
| void | set_expose_log (bool expose_log) |
| Set whether or not the webserver should expose the Log. | |
| void | set_allowed_origins (const char *const *origins) |
| Set the origins that browsers are allowed to make cross-origin requests from. | |
| void | setup () override |
| Setup the internal web server and register handlers. | |
| void | loop () override |
| void | dump_config () override |
| void | on_log (uint8_t level, const char *tag, const char *message, size_t message_len) |
| float | get_setup_priority () const override |
| MQTT setup priority. | |
| void | handle_index_request (AsyncWebServerRequest *request) |
| Handle an index request under '/'. | |
| json::SerializationBuffer | get_config_json () |
| Return the webserver configuration as JSON. | |
| void | handle_css_request (AsyncWebServerRequest *request) |
| Handle included css request under '/0.css'. | |
| void | handle_js_request (AsyncWebServerRequest *request) |
| Handle included js request under '/0.js'. | |
| void | handle_pna_cors_request (AsyncWebServerRequest *request) |
| void | on_sensor_update (sensor::Sensor *obj) |
| void | handle_sensor_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a sensor request under '/sensor/<id>'. | |
| void | on_switch_update (switch_::Switch *obj) |
| void | handle_switch_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a switch request under '/switch/<id>/</turn_on/turn_off/toggle>'. | |
| void | handle_button_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a button request under '/button/<id>/press'. | |
| void | on_binary_sensor_update (binary_sensor::BinarySensor *obj) |
| void | handle_binary_sensor_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a binary sensor request under '/binary_sensor/<id>'. | |
| void | on_fan_update (fan::Fan *obj) |
| void | handle_fan_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a fan request under '/fan/<id>/</turn_on/turn_off/toggle>'. | |
| void | on_light_update (light::LightState *obj) |
| void | handle_light_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a light request under '/light/<id>/</turn_on/turn_off/toggle>'. | |
| void | on_text_sensor_update (text_sensor::TextSensor *obj) |
| void | handle_text_sensor_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a text sensor request under '/text_sensor/<id>'. | |
| void | on_cover_update (cover::Cover *obj) |
| void | handle_cover_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a cover request under '/cover/<id>/<open/close/stop/set>'. | |
| void | on_number_update (number::Number *obj) |
| void | handle_number_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a number request under '/number/<id>'. | |
| void | on_date_update (datetime::DateEntity *obj) |
| void | handle_date_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a date request under '/date/<id>'. | |
| void | on_time_update (datetime::TimeEntity *obj) |
| void | handle_time_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a time request under '/time/<id>'. | |
| void | on_datetime_update (datetime::DateTimeEntity *obj) |
| void | handle_datetime_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a datetime request under '/datetime/<id>'. | |
| void | on_text_update (text::Text *obj) |
| void | handle_text_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a text input request under '/text/<id>'. | |
| void | on_select_update (select::Select *obj) |
| void | handle_select_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a select request under '/select/<id>'. | |
| void | on_climate_update (climate::Climate *obj) |
| void | handle_climate_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a climate request under '/climate/<id>'. | |
| void | on_lock_update (lock::Lock *obj) |
| void | handle_lock_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a lock request under '/lock/<id>/</lock/unlock/open>'. | |
| void | on_valve_update (valve::Valve *obj) |
| void | handle_valve_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a valve request under '/valve/<id>/<open/close/stop/set>'. | |
| void | on_alarm_control_panel_update (alarm_control_panel::AlarmControlPanel *obj) |
| void | handle_alarm_control_panel_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a alarm_control_panel request under '/alarm_control_panel/<id>'. | |
| void | on_water_heater_update (water_heater::WaterHeater *obj) |
| void | handle_water_heater_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a water_heater request under '/water_heater/<id>/<mode/set>'. | |
| void | handle_infrared_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle an infrared request under '/infrared/<id>/transmit'. | |
| void | handle_radio_frequency_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a radio frequency request under '/radio_frequency/<id>/transmit'. | |
| void | on_media_player_update (media_player::MediaPlayer *) |
| void | on_event (event::Event *obj) |
| void | handle_event_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a event request under '/event<id>'. | |
| void | on_update (update::UpdateEntity *obj) |
| void | handle_update_request (AsyncWebServerRequest *request, const UrlMatch &match) |
| Handle a update request under '/update/<id>'. | |
| bool | canHandle (AsyncWebServerRequest *request) const override |
| Override the web handler's canHandle method. | |
| void | handleRequest (AsyncWebServerRequest *request) override |
| Override the web handler's handleRequest method. | |
| bool | isRequestHandlerTrivial () const override |
| This web handle is not trivial. | |
| void | add_entity_config (EntityBase *entity, float weight, uint64_t group) |
| void | add_sorting_group (uint64_t group_id, const std::string &group_name, float weight) |
Public Member Functions inherited from esphome::Component | |
| float | get_actual_setup_priority () const |
| void | set_setup_priority (float priority) |
| void | call () |
| virtual void | on_shutdown () |
| virtual void | on_safe_shutdown () |
| virtual bool | teardown () |
| Called during teardown to allow component to gracefully finish operations. | |
| virtual void | on_powerdown () |
| Called after teardown is complete to power down hardware. | |
| uint8_t | get_component_state () const |
| void | reset_to_construction_state () |
| Reset this component back to the construction state to allow setup to run again. | |
| bool | is_in_loop_state () const |
| Check if this component has completed setup and is in the loop state. | |
| bool | is_idle () const |
| Check if this component is idle. | |
| void | mark_failed () |
| Mark this component as failed. | |
| void | mark_failed (const LogString *message) |
| void | disable_loop () |
| Disable this component's loop. | |
| void | enable_loop () |
| Enable this component's loop. | |
| void | enable_loop_soon_any_context () |
| Thread and ISR-safe version of enable_loop() that can be called from any context. | |
| bool | is_failed () const |
| bool | is_ready () const |
| virtual bool | can_proceed () |
| bool | status_has_warning () const |
| bool | status_has_error () const |
| void | status_set_warning () |
| void | status_set_warning (const char *message) |
| void | status_set_warning (const LogString *message) |
| void | status_set_error () |
| void | status_set_error (const LogString *message) |
| void | status_clear_warning () |
| void | status_clear_error () |
| void | status_momentary_warning (const char *name, uint32_t length=5000) |
| Set warning status flag and automatically clear it after a timeout. | |
| void | status_momentary_error (const char *name, uint32_t length=5000) |
| Set error status flag and automatically clear it after a timeout. | |
| bool | has_overridden_loop () const |
| const LogString * | get_component_log_str () const ESPHOME_ALWAYS_INLINE |
| Get the integration where this component was declared as a LogString for logging. | |
| bool | should_warn_of_blocking (uint32_t blocking_time, uint32_t &threshold_ms_out) |
Static Public Member Functions | |
| static void | sensor_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | sensor_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | switch_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | switch_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | button_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | binary_sensor_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | binary_sensor_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | fan_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | fan_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | light_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | light_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | text_sensor_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | text_sensor_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | cover_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | cover_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | number_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | number_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | date_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | date_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | time_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | time_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | datetime_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | datetime_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | text_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | text_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | select_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | select_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | climate_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | climate_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | lock_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | lock_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | valve_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | valve_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | alarm_control_panel_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | alarm_control_panel_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | water_heater_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | water_heater_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | infrared_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | radio_frequency_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | event_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | event_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | update_state_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
| static void | update_all_json_generator (WebServer *web_server, void *source, json::JsonBuilder &builder) |
Data Fields | |
| std::map< EntityBase *, SortingComponents > | sorting_entitys_ |
| std::map< uint64_t, SortingGroup > | sorting_groups_ |
| bool | include_internal_ {false} |
Protected Member Functions | |
| void | add_sorting_info_ (JsonObject &root, EntityBase *entity) |
| template<typename T , typename Ret > | |
| void | parse_light_param_ (AsyncWebServerRequest *request, ParamNameType param_name, T &call, Ret(T::*setter)(float), float scale=1.0f) |
| template<typename T , typename Ret > | |
| void | parse_light_param_uint_ (AsyncWebServerRequest *request, ParamNameType param_name, T &call, Ret(T::*setter)(uint32_t), uint32_t scale=1) |
| template<typename NumT , typename T , typename Ret > | |
| void | parse_num_param_ (AsyncWebServerRequest *request, ParamNameType param_name, T &call, Ret(T::*setter)(NumT)) |
| template<typename T , typename Ret > | |
| void | parse_cstr_param_ (AsyncWebServerRequest *request, ParamNameType param_name, T &call, Ret(T::*setter)(const char *, size_t)) |
| template<typename T , typename Ret > | |
| void | parse_bool_param_ (AsyncWebServerRequest *request, ParamNameType param_name, T &call, Ret(T::*setter)(bool)) |
| bool | is_request_origin_allowed_ (AsyncWebServerRequest *request, const std::string &origin) |
| Check whether the given request Origin is permitted. | |
Protected Member Functions inherited from esphome::Component | |
| friend | void::setup () |
| friend | void::original_setup () |
| void | set_component_source_ (uint8_t index) |
| Set where this component was loaded from for some debug messages. | |
| virtual void | call_setup () |
| void | call_dump_config_ () |
| void | enable_loop_slow_path_ () |
| void | set_component_state_ (uint8_t state) |
| Helper to set component state (clears state bits and sets new state) | |
| bool | set_status_flag_ (uint8_t flag) |
| Helper to set a status LED flag on both this component and the app. | |
| void | set_interval (const char *name, uint32_t interval, std::function< void()> &&f) |
| Set an interval function with a const char* name. | |
| void | set_interval (uint32_t id, uint32_t interval, std::function< void()> &&f) |
| Set an interval function with a numeric ID (zero heap allocation). | |
| void | set_interval (InternalSchedulerID id, uint32_t interval, std::function< void()> &&f) |
| void | set_interval (uint32_t interval, std::function< void()> &&f) |
| bool | cancel_interval (const char *name) |
| Cancel an interval function. | |
| bool | cancel_interval (uint32_t id) |
| bool | cancel_interval (InternalSchedulerID id) |
| void | set_timeout (const char *name, uint32_t timeout, std::function< void()> &&f) |
| Set a timeout function with a const char* name. | |
| void | set_timeout (uint32_t id, uint32_t timeout, std::function< void()> &&f) |
| Set a timeout function with a numeric ID (zero heap allocation). | |
| void | set_timeout (InternalSchedulerID id, uint32_t timeout, std::function< void()> &&f) |
| void | set_timeout (uint32_t timeout, std::function< void()> &&f) |
| bool | cancel_timeout (const char *name) |
| Cancel a timeout function. | |
| bool | cancel_timeout (uint32_t id) |
| bool | cancel_timeout (InternalSchedulerID id) |
| void | defer (const char *name, std::function< void()> &&f) |
| Defer a callback to the next loop() call with a const char* name. | |
| void | defer (std::function< void()> &&f) |
| Defer a callback to the next loop() call. | |
| void | defer (uint32_t id, std::function< void()> &&f) |
| Defer a callback with a numeric ID (zero heap allocation) | |
| bool | cancel_defer (const char *name) |
| Cancel a defer callback using the specified name, name must not be empty. | |
| bool | cancel_defer (uint32_t id) |
| void | status_clear_warning_slow_path_ () |
| void | status_clear_error_slow_path_ () |
Protected Attributes | |
| bool | expose_log_ {true} |
| web_server_base::WebServerBase * | base_ |
| AsyncEventSource | events_ {StringRef::from_lit("/events"), this} |
| DeferredUpdateEventSourceList | events_ |
| const char * | css_url_ {nullptr} |
| const char * | js_url_ {nullptr} |
| const char * | css_include_ {nullptr} |
| const char * | js_include_ {nullptr} |
| const char *const * | allowed_origins_ {nullptr} |
Protected Attributes inherited from esphome::Component | |
| uint8_t | component_source_index_ {0} |
| Index into component source PROGMEM lookup table (0 = not set) | |
| uint8_t | warn_if_blocking_over_ {WARN_IF_BLOCKING_OVER_CS} |
| Warn threshold in centiseconds (max 2550ms) | |
| uint8_t | component_state_ {0x00} |
| State of this component - each bit has a purpose: Bits 0-2: Component state (0x00=CONSTRUCTION, 0x01=SETUP, 0x02=LOOP, 0x03=FAILED, 0x04=LOOP_DONE) Bit 3: STATUS_LED_WARNING Bit 4: STATUS_LED_ERROR Bit 5: Has overridden loop() (set at registration time) Bits 6-7: Unused - reserved for future expansion. | |
| volatile bool | pending_enable_loop_ {false} |
| ISR-safe flag for enable_loop_soon_any_context. | |
| ComponentRuntimeStats | runtime_stats_ |
This class allows users to create a web server with their ESP nodes.
Behind the scenes it's using AsyncWebServer to set up the server. It exposes 3 things: an index page under '/' that's used to show a simple web interface (the css/js is hosted by esphome.io by default), an event source under '/events' that automatically sends all state updates in real time + the debug log. Lastly, there's an REST API available under the '/light/...', '/sensor/...', ... URLs. A full documentation for this API can be found under https://esphome.io/web-api/.
Definition at line 194 of file web_server.h.
| esphome::web_server::WebServer::WebServer | ( | web_server_base::WebServerBase * | base | ) |
Definition at line 353 of file web_server.cpp.
| void esphome::web_server::WebServer::add_entity_config | ( | EntityBase * | entity, |
| float | weight, | ||
| uint64_t | group ) |
Definition at line 2638 of file web_server.cpp.
| void esphome::web_server::WebServer::add_sorting_group | ( | uint64_t | group_id, |
| const std::string & | group_name, | ||
| float | weight ) |
Definition at line 2642 of file web_server.cpp.
|
protected |
Definition at line 2626 of file web_server.cpp.
|
static |
Definition at line 1872 of file web_server.cpp.
|
static |
Definition at line 1866 of file web_server.cpp.
|
static |
Definition at line 859 of file web_server.cpp.
|
static |
Definition at line 855 of file web_server.cpp.
|
static |
Definition at line 820 of file web_server.cpp.
|
override |
Override the web handler's canHandle method.
Definition at line 2304 of file web_server.cpp.
|
static |
Definition at line 1543 of file web_server.cpp.
|
static |
Definition at line 1539 of file web_server.cpp.
|
static |
Definition at line 1098 of file web_server.cpp.
|
static |
Definition at line 1095 of file web_server.cpp.
|
static |
Definition at line 1228 of file web_server.cpp.
|
static |
Definition at line 1225 of file web_server.cpp.
|
static |
Definition at line 1344 of file web_server.cpp.
|
static |
Definition at line 1341 of file web_server.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 428 of file web_server.cpp.
|
static |
Definition at line 2220 of file web_server.cpp.
|
static |
Definition at line 2215 of file web_server.cpp.
|
static |
Definition at line 933 of file web_server.cpp.
|
static |
Definition at line 930 of file web_server.cpp.
| json::SerializationBuffer esphome::web_server::WebServer::get_config_json | ( | ) |
Return the webserver configuration as JSON.
Definition at line 358 of file web_server.cpp.
|
overridevirtual |
MQTT setup priority.
Reimplemented from esphome::Component.
Definition at line 435 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_alarm_control_panel_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a alarm_control_panel request under '/alarm_control_panel/<id>'.
Definition at line 1814 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_binary_sensor_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a binary sensor request under '/binary_sensor/<id>'.
Definition at line 839 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_button_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a button request under '/button/<id>/press'.
Definition at line 799 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_climate_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a climate request under '/climate/<id>'.
Definition at line 1488 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_cover_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a cover request under '/cover/<id>/<open/close/stop/set>'.
Definition at line 1038 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_css_request | ( | AsyncWebServerRequest * | request | ) |
Handle included css request under '/0.css'.
Definition at line 530 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_date_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a date request under '/date/<id>'.
Definition at line 1191 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_datetime_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a datetime request under '/datetime/<id>'.
Definition at line 1308 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_event_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a event request under '/event<id>'.
Definition at line 2195 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_fan_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a fan request under '/fan/<id>/</turn_on/turn_off/toggle>'.
Definition at line 880 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_index_request | ( | AsyncWebServerRequest * | request | ) |
Handle an index request under '/'.
Definition at line 438 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_infrared_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle an infrared request under '/infrared/<id>/transmit'.
Definition at line 2004 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_js_request | ( | AsyncWebServerRequest * | request | ) |
Handle included js request under '/0.js'.
Definition at line 544 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_light_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a light request under '/light/<id>/</turn_on/turn_off/toggle>'.
Definition at line 959 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_lock_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a lock request under '/lock/<id>/</lock/unlock/open>'.
Definition at line 1675 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_number_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a number request under '/number/<id>'.
Definition at line 1125 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_pna_cors_request | ( | AsyncWebServerRequest * | request | ) |
Definition at line 511 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_radio_frequency_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a radio frequency request under '/radio_frequency/<id>/transmit'.
Definition at line 2093 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_select_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a select request under '/select/<id>'.
Definition at line 1428 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_sensor_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a sensor request under '/sensor/<id>'.
Definition at line 643 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_switch_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a switch request under '/switch/<id>/</turn_on/turn_off/toggle>'.
Definition at line 747 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_text_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a text input request under '/text/<id>'.
Definition at line 1367 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_text_sensor_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a text sensor request under '/text_sensor/<id>'.
Definition at line 688 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_time_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a time request under '/time/<id>'.
Definition at line 1250 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_update_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a update request under '/update/<id>'.
Definition at line 2249 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_valve_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a valve request under '/valve/<id>/<open/close/stop/set>'.
Definition at line 1732 of file web_server.cpp.
| void esphome::web_server::WebServer::handle_water_heater_request | ( | AsyncWebServerRequest * | request, |
| const UrlMatch & | match ) |
Handle a water_heater request under '/water_heater/<id>/<mode/set>'.
Definition at line 1897 of file web_server.cpp.
|
override |
Override the web handler's handleRequest method.
Definition at line 2449 of file web_server.cpp.
|
static |
Definition at line 2073 of file web_server.cpp.
|
protected |
Check whether the given request Origin is permitted.
Same-origin (matching the Host the request was sent to) and requests without an Origin header are always allowed; any other origin must be listed in allowed_origins. The caller passes the already-read Origin header.
Definition at line 479 of file web_server.cpp.
|
override |
This web handle is not trivial.
Definition at line 2624 of file web_server.cpp.
|
static |
Definition at line 1012 of file web_server.cpp.
|
static |
Definition at line 1009 of file web_server.cpp.
|
static |
Definition at line 1712 of file web_server.cpp.
|
static |
Definition at line 1709 of file web_server.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 408 of file web_server.cpp.
|
static |
Definition at line 1156 of file web_server.cpp.
|
static |
Definition at line 1153 of file web_server.cpp.
| void esphome::web_server::WebServer::on_alarm_control_panel_update | ( | alarm_control_panel::AlarmControlPanel * | obj | ) |
Definition at line 1809 of file web_server.cpp.
| void esphome::web_server::WebServer::on_binary_sensor_update | ( | binary_sensor::BinarySensor * | obj | ) |
Definition at line 834 of file web_server.cpp.
| void esphome::web_server::WebServer::on_climate_update | ( | climate::Climate * | obj | ) |
Definition at line 1483 of file web_server.cpp.
| void esphome::web_server::WebServer::on_cover_update | ( | cover::Cover * | obj | ) |
Definition at line 1033 of file web_server.cpp.
| void esphome::web_server::WebServer::on_date_update | ( | datetime::DateEntity * | obj | ) |
Definition at line 1186 of file web_server.cpp.
| void esphome::web_server::WebServer::on_datetime_update | ( | datetime::DateTimeEntity * | obj | ) |
Definition at line 1303 of file web_server.cpp.
| void esphome::web_server::WebServer::on_event | ( | event::Event * | obj | ) |
Definition at line 2189 of file web_server.cpp.
| void esphome::web_server::WebServer::on_fan_update | ( | fan::Fan * | obj | ) |
Definition at line 875 of file web_server.cpp.
| void esphome::web_server::WebServer::on_light_update | ( | light::LightState * | obj | ) |
Definition at line 954 of file web_server.cpp.
| void esphome::web_server::WebServer::on_lock_update | ( | lock::Lock * | obj | ) |
Definition at line 1670 of file web_server.cpp.
| void esphome::web_server::WebServer::on_log | ( | uint8_t | level, |
| const char * | tag, | ||
| const char * | message, | ||
| size_t | message_len ) |
Definition at line 421 of file web_server.cpp.
|
inline |
Definition at line 493 of file web_server.h.
| void esphome::web_server::WebServer::on_number_update | ( | number::Number * | obj | ) |
Definition at line 1120 of file web_server.cpp.
| void esphome::web_server::WebServer::on_select_update | ( | select::Select * | obj | ) |
Definition at line 1423 of file web_server.cpp.
| void esphome::web_server::WebServer::on_sensor_update | ( | sensor::Sensor * | obj | ) |
Definition at line 638 of file web_server.cpp.
| void esphome::web_server::WebServer::on_switch_update | ( | switch_::Switch * | obj | ) |
Definition at line 742 of file web_server.cpp.
| void esphome::web_server::WebServer::on_text_sensor_update | ( | text_sensor::TextSensor * | obj | ) |
Definition at line 683 of file web_server.cpp.
| void esphome::web_server::WebServer::on_text_update | ( | text::Text * | obj | ) |
Definition at line 1362 of file web_server.cpp.
| void esphome::web_server::WebServer::on_time_update | ( | datetime::TimeEntity * | obj | ) |
Definition at line 1245 of file web_server.cpp.
| void esphome::web_server::WebServer::on_update | ( | update::UpdateEntity * | obj | ) |
Definition at line 2246 of file web_server.cpp.
| void esphome::web_server::WebServer::on_valve_update | ( | valve::Valve * | obj | ) |
Definition at line 1727 of file web_server.cpp.
| void esphome::web_server::WebServer::on_water_heater_update | ( | water_heater::WaterHeater * | obj | ) |
Definition at line 1892 of file web_server.cpp.
|
inlineprotected |
Definition at line 585 of file web_server.h.
|
inlineprotected |
Definition at line 572 of file web_server.h.
|
inlineprotected |
Definition at line 542 of file web_server.h.
|
inlineprotected |
Definition at line 552 of file web_server.h.
|
inlineprotected |
Definition at line 563 of file web_server.h.
|
static |
Definition at line 2161 of file web_server.cpp.
|
static |
Definition at line 1462 of file web_server.cpp.
|
static |
Definition at line 1458 of file web_server.cpp.
|
static |
Definition at line 662 of file web_server.cpp.
|
static |
Definition at line 659 of file web_server.cpp.
|
inline |
Set the origins that browsers are allowed to make cross-origin requests from.
Requests without an Origin header (e.g. non-browser clients like curl or the native API) are always allowed. Requests whose Origin matches the address the device is served on (same-origin) are always allowed. Any other browser origin must appear in this list, or the request is rejected. A single "*" entry allows any origin. Each other entry must exactly match the requesting page's Origin header (e.g. "https://example.com").
This list is also used to authorize Private Network Access requests when that feature is enabled.
| origins | nullptr-terminated table of allowed origins; must outlive the server. |
Definition at line 259 of file web_server.h.
|
inline |
Set local path to the script that's embedded in the index page.
Defaults to
| css_include | Local path to web server script. |
Definition at line 223 of file web_server.h.
|
inline |
Set the URL to the CSS <link> that's sent to each client.
Defaults to https://oi.esphome.io/v1/webserver-v1.min.css
| css_url | The url to the web server stylesheet. |
Definition at line 208 of file web_server.h.
|
inline |
Set whether or not the webserver should expose the Log.
| expose_log. |
Definition at line 244 of file web_server.h.
|
inline |
Determine whether internal components should be displayed on the web server.
Defaults to false.
| include_internal | Whether internal components should be displayed. |
Definition at line 239 of file web_server.h.
|
inline |
Set local path to the script that's embedded in the index page.
Defaults to
| js_include | Local path to web server script. |
Definition at line 231 of file web_server.h.
|
inline |
Set the URL to the script that's embedded in the index page.
Defaults to https://oi.esphome.io/v1/webserver-v1.min.js
| js_url | The url to the web server script. |
Definition at line 215 of file web_server.h.
|
overridevirtual |
Setup the internal web server and register handlers.
Reimplemented from esphome::Component.
Definition at line 378 of file web_server.cpp.
|
static |
Definition at line 784 of file web_server.cpp.
|
static |
Definition at line 781 of file web_server.cpp.
|
static |
Definition at line 1400 of file web_server.cpp.
|
static |
Definition at line 708 of file web_server.cpp.
|
static |
Definition at line 704 of file web_server.cpp.
|
static |
Definition at line 1397 of file web_server.cpp.
|
static |
Definition at line 1286 of file web_server.cpp.
|
static |
Definition at line 1283 of file web_server.cpp.
|
static |
Definition at line 2278 of file web_server.cpp.
|
static |
Definition at line 2274 of file web_server.cpp.
|
static |
Definition at line 1790 of file web_server.cpp.
|
static |
Definition at line 1787 of file web_server.cpp.
|
static |
Definition at line 1948 of file web_server.cpp.
|
static |
Definition at line 1945 of file web_server.cpp.
|
protected |
Definition at line 623 of file web_server.h.
|
protected |
Definition at line 603 of file web_server.h.
|
protected |
Definition at line 615 of file web_server.h.
|
protected |
Definition at line 611 of file web_server.h.
|
protected |
Definition at line 605 of file web_server.h.
|
protected |
Definition at line 607 of file web_server.h.
|
protected |
Definition at line 535 of file web_server.h.
| bool esphome::web_server::WebServer::include_internal_ {false} |
Definition at line 531 of file web_server.h.
|
protected |
Definition at line 618 of file web_server.h.
|
protected |
Definition at line 612 of file web_server.h.
| std::map<EntityBase *, SortingComponents> esphome::web_server::WebServer::sorting_entitys_ |
Definition at line 527 of file web_server.h.
| std::map<uint64_t, SortingGroup> esphome::web_server::WebServer::sorting_groups_ |
Definition at line 528 of file web_server.h.