ESPHome 2025.6.3
|
#include <application.h>
Public Member Functions | |
void | pre_setup (const std::string &name, const std::string &friendly_name, const char *area, const char *comment, const char *compilation_time, bool name_add_mac_suffix) |
void | set_current_component (Component *component) |
Component * | get_current_component () |
void | register_binary_sensor (binary_sensor::BinarySensor *binary_sensor) |
void | register_sensor (sensor::Sensor *sensor) |
void | register_switch (switch_::Switch *a_switch) |
void | register_button (button::Button *button) |
void | register_text_sensor (text_sensor::TextSensor *sensor) |
void | register_fan (fan::Fan *state) |
void | register_cover (cover::Cover *cover) |
void | register_climate (climate::Climate *climate) |
void | register_light (light::LightState *light) |
void | register_number (number::Number *number) |
void | register_date (datetime::DateEntity *date) |
void | register_time (datetime::TimeEntity *time) |
void | register_datetime (datetime::DateTimeEntity *datetime) |
void | register_text (text::Text *text) |
void | register_select (select::Select *select) |
void | register_lock (lock::Lock *a_lock) |
void | register_valve (valve::Valve *valve) |
void | register_media_player (media_player::MediaPlayer *media_player) |
void | register_alarm_control_panel (alarm_control_panel::AlarmControlPanel *a_alarm_control_panel) |
void | register_event (event::Event *event) |
void | register_update (update::UpdateEntity *update) |
void | reserve_components (size_t count) |
Reserve space for components to avoid memory fragmentation. | |
void | reserve_binary_sensor (size_t count) |
void | reserve_switch (size_t count) |
void | reserve_button (size_t count) |
void | reserve_sensor (size_t count) |
void | reserve_text_sensor (size_t count) |
void | reserve_fan (size_t count) |
void | reserve_cover (size_t count) |
void | reserve_climate (size_t count) |
void | reserve_light (size_t count) |
void | reserve_number (size_t count) |
void | reserve_date (size_t count) |
void | reserve_time (size_t count) |
void | reserve_datetime (size_t count) |
void | reserve_select (size_t count) |
void | reserve_text (size_t count) |
void | reserve_lock (size_t count) |
void | reserve_valve (size_t count) |
void | reserve_media_player (size_t count) |
void | reserve_alarm_control_panel (size_t count) |
void | reserve_event (size_t count) |
void | reserve_update (size_t count) |
template<class C > | |
C * | register_component (C *c) |
Register the component in this Application instance. | |
void | setup () |
Set up all the registered components. Call this at the end of your setup() function. | |
void | loop () |
Make a loop iteration. Call this in your loop() function. | |
const std::string & | get_name () const |
Get the name of this Application set by pre_setup(). | |
const std::string & | get_friendly_name () const |
Get the friendly name of this Application set by pre_setup(). | |
std::string | get_area () const |
Get the area of this Application set by pre_setup(). | |
std::string | get_comment () const |
Get the comment of this Application set by pre_setup(). | |
bool | is_name_add_mac_suffix_enabled () const |
std::string | get_compilation_time () const |
uint32_t IRAM_ATTR HOT | get_loop_component_start_time () const |
Get the cached time in milliseconds from when the current component started its loop execution. | |
void | set_loop_interval (uint32_t loop_interval) |
Set the target interval with which to run the loop() calls. | |
uint32_t | get_loop_interval () const |
void | schedule_dump_config () |
void | feed_wdt (uint32_t time=0) |
void | reboot () |
void | safe_reboot () |
void | run_safe_shutdown_hooks () |
void | run_powerdown_hooks () |
void | teardown_components (uint32_t timeout_ms) |
Teardown all components with a timeout. | |
uint8_t | get_app_state () const |
const std::vector< binary_sensor::BinarySensor * > & | get_binary_sensors () |
binary_sensor::BinarySensor * | get_binary_sensor_by_key (uint32_t key, bool include_internal=false) |
const std::vector< switch_::Switch * > & | get_switches () |
switch_::Switch * | get_switch_by_key (uint32_t key, bool include_internal=false) |
const std::vector< button::Button * > & | get_buttons () |
button::Button * | get_button_by_key (uint32_t key, bool include_internal=false) |
const std::vector< sensor::Sensor * > & | get_sensors () |
sensor::Sensor * | get_sensor_by_key (uint32_t key, bool include_internal=false) |
const std::vector< text_sensor::TextSensor * > & | get_text_sensors () |
text_sensor::TextSensor * | get_text_sensor_by_key (uint32_t key, bool include_internal=false) |
const std::vector< fan::Fan * > & | get_fans () |
fan::Fan * | get_fan_by_key (uint32_t key, bool include_internal=false) |
const std::vector< cover::Cover * > & | get_covers () |
cover::Cover * | get_cover_by_key (uint32_t key, bool include_internal=false) |
const std::vector< light::LightState * > & | get_lights () |
light::LightState * | get_light_by_key (uint32_t key, bool include_internal=false) |
const std::vector< climate::Climate * > & | get_climates () |
climate::Climate * | get_climate_by_key (uint32_t key, bool include_internal=false) |
const std::vector< number::Number * > & | get_numbers () |
number::Number * | get_number_by_key (uint32_t key, bool include_internal=false) |
const std::vector< datetime::DateEntity * > & | get_dates () |
datetime::DateEntity * | get_date_by_key (uint32_t key, bool include_internal=false) |
const std::vector< datetime::TimeEntity * > & | get_times () |
datetime::TimeEntity * | get_time_by_key (uint32_t key, bool include_internal=false) |
const std::vector< datetime::DateTimeEntity * > & | get_datetimes () |
datetime::DateTimeEntity * | get_datetime_by_key (uint32_t key, bool include_internal=false) |
const std::vector< text::Text * > & | get_texts () |
text::Text * | get_text_by_key (uint32_t key, bool include_internal=false) |
const std::vector< select::Select * > & | get_selects () |
select::Select * | get_select_by_key (uint32_t key, bool include_internal=false) |
const std::vector< lock::Lock * > & | get_locks () |
lock::Lock * | get_lock_by_key (uint32_t key, bool include_internal=false) |
const std::vector< valve::Valve * > & | get_valves () |
valve::Valve * | get_valve_by_key (uint32_t key, bool include_internal=false) |
const std::vector< media_player::MediaPlayer * > & | get_media_players () |
media_player::MediaPlayer * | get_media_player_by_key (uint32_t key, bool include_internal=false) |
const std::vector< alarm_control_panel::AlarmControlPanel * > & | get_alarm_control_panels () |
alarm_control_panel::AlarmControlPanel * | get_alarm_control_panel_by_key (uint32_t key, bool include_internal=false) |
const std::vector< event::Event * > & | get_events () |
event::Event * | get_event_by_key (uint32_t key, bool include_internal=false) |
const std::vector< update::UpdateEntity * > & | get_updates () |
update::UpdateEntity * | get_update_by_key (uint32_t key, bool include_internal=false) |
bool | register_socket_fd (int fd) |
Register/unregister a socket file descriptor to be monitored for read events. | |
void | unregister_socket_fd (int fd) |
bool | is_socket_ready (int fd) const |
Check if there's data available on a socket without blocking This function is thread-safe for reading, but should be called after select() has run. | |
Data Fields | |
Scheduler | scheduler |
Protected Member Functions | |
void | register_component_ (Component *comp) |
void | calculate_looping_components_ () |
void | feed_wdt_arch_ () |
void | yield_with_select_ (uint32_t delay_ms) |
Perform a delay while also monitoring socket file descriptors for readiness. | |
Definition at line 88 of file application.h.
|
protected |
Definition at line 237 of file application.cpp.
void IRAM_ATTR HOT esphome::Application::feed_wdt | ( | uint32_t | time = 0 | ) |
Definition at line 148 of file application.cpp.
|
protected |
|
inline |
Definition at line 522 of file application.h.
|
inline |
Definition at line 519 of file application.h.
|
inline |
Definition at line 335 of file application.h.
|
inline |
Get the area of this Application set by pre_setup().
Definition at line 288 of file application.h.
|
inline |
Definition at line 339 of file application.h.
|
inline |
Definition at line 338 of file application.h.
|
inline |
Definition at line 359 of file application.h.
|
inline |
Definition at line 358 of file application.h.
|
inline |
Definition at line 419 of file application.h.
|
inline |
Definition at line 418 of file application.h.
|
inline |
Get the comment of this Application set by pre_setup().
Definition at line 291 of file application.h.
|
inline |
Definition at line 295 of file application.h.
|
inline |
Definition at line 399 of file application.h.
|
inline |
Definition at line 398 of file application.h.
|
inline |
Definition at line 111 of file application.h.
|
inline |
Definition at line 439 of file application.h.
|
inline |
Definition at line 438 of file application.h.
|
inline |
Definition at line 459 of file application.h.
|
inline |
Definition at line 458 of file application.h.
|
inline |
Definition at line 533 of file application.h.
|
inline |
Definition at line 532 of file application.h.
|
inline |
Definition at line 389 of file application.h.
|
inline |
Definition at line 388 of file application.h.
|
inline |
Get the friendly name of this Application set by pre_setup().
Definition at line 285 of file application.h.
|
inline |
Definition at line 409 of file application.h.
|
inline |
Definition at line 408 of file application.h.
|
inline |
Definition at line 489 of file application.h.
|
inline |
Definition at line 488 of file application.h.
|
inline |
Get the cached time in milliseconds from when the current component started its loop execution.
Definition at line 298 of file application.h.
|
inline |
Definition at line 315 of file application.h.
|
inline |
Definition at line 509 of file application.h.
|
inline |
Definition at line 508 of file application.h.
|
inline |
Get the name of this Application set by pre_setup().
Definition at line 282 of file application.h.
|
inline |
Definition at line 429 of file application.h.
|
inline |
Definition at line 428 of file application.h.
|
inline |
Definition at line 479 of file application.h.
|
inline |
Definition at line 478 of file application.h.
|
inline |
Definition at line 369 of file application.h.
|
inline |
Definition at line 368 of file application.h.
|
inline |
Definition at line 349 of file application.h.
|
inline |
Definition at line 348 of file application.h.
|
inline |
Definition at line 469 of file application.h.
|
inline |
Definition at line 379 of file application.h.
|
inline |
Definition at line 378 of file application.h.
|
inline |
Definition at line 468 of file application.h.
|
inline |
Definition at line 449 of file application.h.
|
inline |
Definition at line 448 of file application.h.
|
inline |
Definition at line 544 of file application.h.
|
inline |
Definition at line 543 of file application.h.
|
inline |
Definition at line 499 of file application.h.
|
inline |
Definition at line 498 of file application.h.
|
inline |
Definition at line 293 of file application.h.
bool esphome::Application::is_socket_ready | ( | int | fd | ) | const |
Check if there's data available on a socket without blocking This function is thread-safe for reading, but should be called after select() has run.
Definition at line 294 of file application.cpp.
void esphome::Application::loop | ( | ) |
Make a loop iteration. Call this in your loop() function.
Definition at line 89 of file application.cpp.
|
inline |
Definition at line 90 of file application.h.
void esphome::Application::reboot | ( | ) |
Definition at line 163 of file application.cpp.
|
inline |
Definition at line 188 of file application.h.
|
inline |
Definition at line 114 of file application.h.
|
inline |
Definition at line 128 of file application.h.
|
inline |
Definition at line 144 of file application.h.
|
inline |
Register the component in this Application instance.
Definition at line 269 of file application.h.
|
protected |
Definition at line 33 of file application.cpp.
|
inline |
Definition at line 140 of file application.h.
|
inline |
Definition at line 156 of file application.h.
|
inline |
Definition at line 164 of file application.h.
|
inline |
Definition at line 194 of file application.h.
|
inline |
Definition at line 136 of file application.h.
|
inline |
Definition at line 148 of file application.h.
|
inline |
Definition at line 176 of file application.h.
|
inline |
Definition at line 184 of file application.h.
|
inline |
Definition at line 152 of file application.h.
|
inline |
Definition at line 172 of file application.h.
|
inline |
Definition at line 120 of file application.h.
bool esphome::Application::register_socket_fd | ( | int | fd | ) |
Register/unregister a socket file descriptor to be monitored for read events.
These functions update the fd_set used by select() in the main loop. WARNING: These functions are NOT thread-safe. They must only be called from the main loop. NOTE: File descriptors >= FD_SETSIZE (typically 10 on ESP) will be rejected with an error.
Definition at line 245 of file application.cpp.
|
inline |
Definition at line 124 of file application.h.
|
inline |
Definition at line 168 of file application.h.
|
inline |
Definition at line 132 of file application.h.
|
inline |
Definition at line 160 of file application.h.
|
inline |
Definition at line 198 of file application.h.
|
inline |
Definition at line 180 of file application.h.
|
inline |
Definition at line 259 of file application.h.
|
inline |
Definition at line 205 of file application.h.
|
inline |
Definition at line 211 of file application.h.
|
inline |
Definition at line 226 of file application.h.
|
inline |
Reserve space for components to avoid memory fragmentation.
Definition at line 202 of file application.h.
|
inline |
Definition at line 223 of file application.h.
|
inline |
Definition at line 235 of file application.h.
|
inline |
Definition at line 241 of file application.h.
|
inline |
Definition at line 262 of file application.h.
|
inline |
Definition at line 220 of file application.h.
|
inline |
Definition at line 229 of file application.h.
|
inline |
Definition at line 250 of file application.h.
|
inline |
Definition at line 256 of file application.h.
|
inline |
Definition at line 232 of file application.h.
|
inline |
Definition at line 244 of file application.h.
|
inline |
Definition at line 214 of file application.h.
|
inline |
Definition at line 208 of file application.h.
|
inline |
Definition at line 247 of file application.h.
|
inline |
Definition at line 217 of file application.h.
|
inline |
Definition at line 238 of file application.h.
|
inline |
Definition at line 265 of file application.h.
|
inline |
Definition at line 253 of file application.h.
void esphome::Application::run_powerdown_hooks | ( | ) |
Definition at line 187 of file application.cpp.
void esphome::Application::run_safe_shutdown_hooks | ( | ) |
Definition at line 178 of file application.cpp.
void esphome::Application::safe_reboot | ( | ) |
Definition at line 170 of file application.cpp.
|
inline |
Definition at line 317 of file application.h.
|
inline |
Definition at line 110 of file application.h.
|
inline |
Set the target interval with which to run the loop() calls.
If the loop() method takes longer than the target interval, ESPHome won't sleep in loop(), but if the time spent in loop() is small than the target, ESPHome will delay at the end of the App.loop() method.
This is done to conserve power: In most use-cases, high-speed loop() calls are not required and degrade power consumption.
Each component can request a high frequency loop execution by using the HighFrequencyLoopRequester helper in helpers.h
loop_interval | The interval in milliseconds to run the core loop at. Defaults to 16 milliseconds. |
Definition at line 313 of file application.h.
void esphome::Application::setup | ( | ) |
Set up all the registered components. Call this at the end of your setup() function.
Definition at line 47 of file application.cpp.
void esphome::Application::teardown_components | ( | uint32_t | timeout_ms | ) |
Teardown all components with a timeout.
timeout_ms | Maximum time to wait for teardown in milliseconds |
Definition at line 193 of file application.cpp.
void esphome::Application::unregister_socket_fd | ( | int | fd | ) |
Definition at line 267 of file application.cpp.
|
protected |
Perform a delay while also monitoring socket file descriptors for readiness.
Definition at line 305 of file application.cpp.
|
protected |
Definition at line 641 of file application.h.
|
protected |
Definition at line 656 of file application.h.
|
protected |
Definition at line 649 of file application.h.
|
protected |
Definition at line 665 of file application.h.
|
protected |
Definition at line 584 of file application.h.
|
protected |
Definition at line 590 of file application.h.
|
protected |
Definition at line 608 of file application.h.
|
protected |
Definition at line 650 of file application.h.
|
protected |
Definition at line 651 of file application.h.
|
protected |
Definition at line 569 of file application.h.
|
protected |
Definition at line 580 of file application.h.
|
protected |
Definition at line 605 of file application.h.
|
protected |
Definition at line 657 of file application.h.
|
protected |
Definition at line 617 of file application.h.
|
protected |
Definition at line 623 of file application.h.
|
protected |
Definition at line 655 of file application.h.
|
protected |
Definition at line 593 of file application.h.
|
protected |
Definition at line 602 of file application.h.
|
protected |
Definition at line 648 of file application.h.
|
protected |
Definition at line 653 of file application.h.
|
protected |
Definition at line 611 of file application.h.
|
protected |
Definition at line 632 of file application.h.
|
protected |
Definition at line 658 of file application.h.
|
protected |
Definition at line 654 of file application.h.
|
protected |
Definition at line 581 of file application.h.
|
protected |
Definition at line 664 of file application.h.
|
protected |
Definition at line 638 of file application.h.
|
protected |
Definition at line 647 of file application.h.
|
protected |
Definition at line 652 of file application.h.
|
protected |
Definition at line 614 of file application.h.
|
protected |
Definition at line 666 of file application.h.
Scheduler esphome::Application::scheduler |
Definition at line 553 of file application.h.
|
protected |
Definition at line 626 of file application.h.
|
protected |
Definition at line 596 of file application.h.
|
protected |
Definition at line 662 of file application.h.
|
protected |
Definition at line 663 of file application.h.
|
protected |
Definition at line 587 of file application.h.
|
protected |
Definition at line 599 of file application.h.
|
protected |
Definition at line 629 of file application.h.
|
protected |
Definition at line 620 of file application.h.
|
protected |
Definition at line 644 of file application.h.
|
protected |
Definition at line 635 of file application.h.