5 #include "list_entities.h" 14 namespace web_server {
44 void set_css_url(
const char *css_url);
50 void set_css_include(
const char *css_include);
57 void set_js_url(
const char *js_url);
63 void set_js_include(
const char *js_include);
80 void setup()
override;
83 void dump_config()
override;
86 float get_setup_priority()
const override;
89 void handle_index_request(AsyncWebServerRequest *request);
91 #ifdef USE_WEBSERVER_CSS_INCLUDE 92 void handle_css_request(AsyncWebServerRequest *request);
96 #ifdef USE_WEBSERVER_JS_INCLUDE 97 void handle_js_request(AsyncWebServerRequest *request);
104 void handle_sensor_request(AsyncWebServerRequest *request,
const UrlMatch &match);
114 void handle_switch_request(AsyncWebServerRequest *request,
const UrlMatch &match);
121 void handle_button_request(AsyncWebServerRequest *request,
const UrlMatch &match);
128 #ifdef USE_BINARY_SENSOR 132 void handle_binary_sensor_request(AsyncWebServerRequest *request,
const UrlMatch &match);
139 void on_fan_update(
fan::Fan *obj)
override;
142 void handle_fan_request(AsyncWebServerRequest *request,
const UrlMatch &match);
152 void handle_light_request(AsyncWebServerRequest *request,
const UrlMatch &match);
158 #ifdef USE_TEXT_SENSOR 162 void handle_text_sensor_request(AsyncWebServerRequest *request,
const UrlMatch &match);
172 void handle_cover_request(AsyncWebServerRequest *request,
const UrlMatch &match);
181 void handle_number_request(AsyncWebServerRequest *request,
const UrlMatch &match);
188 void on_select_update(
select::Select *obj,
const std::string &state,
size_t index)
override;
190 void handle_select_request(AsyncWebServerRequest *request,
const UrlMatch &match);
199 void handle_climate_request(AsyncWebServerRequest *request,
const UrlMatch &match);
206 void on_lock_update(
lock::Lock *obj)
override;
209 void handle_lock_request(AsyncWebServerRequest *request,
const UrlMatch &match);
216 bool canHandle(AsyncWebServerRequest *request)
override;
218 void handleRequest(AsyncWebServerRequest *request)
override;
220 bool isRequestHandlerTrivial()
override;
225 AsyncEventSource events_{
"/events"};
227 const char *css_url_{
nullptr};
228 const char *css_include_{
nullptr};
229 const char *js_url_{
nullptr};
230 const char *js_include_{
nullptr};
231 bool include_internal_{
false};
232 bool allow_ota_{
true};
238 #endif // USE_ARDUINO
Base class for all switches.
This class represents the communication layer between the front-end MQTT layer and the hardware outpu...
Base class for all cover devices.
WebServer(web_server_base::WebServerBase *base)
void set_allow_ota(bool allow_ota)
Set whether or not the webserver should expose the OTA form and handler.
This class allows users to create a web server with their ESP nodes.
void set_include_internal(bool include_internal)
Determine whether internal components should be displayed on the web server.
friend ListEntitiesIterator
Internal helper struct that is used to parse incoming URLs.
std::string domain
The domain of the component, for example "sensor".
Base-class for all numbers.
bool valid
Whether this match is valid.
std::string id
The id of the device that's being accessed, for example "living_room_fan".
Base-class for all selects.
web_server_base::WebServerBase * base_
Base class for all binary_sensor-type classes.
LockState
Enum for all states a lock can be in.
Base-class for all sensors.
ListEntitiesIterator entities_iterator_
std::string method
The method that's being called, for example "turn_on".
Base class for all locks.
ClimateDevice - This is the base class for all climate integrations.