ESPHome  2024.3.2
Public Member Functions | Protected Member Functions | Protected Attributes
esphome::Component Class Reference

#include <component.h>

Inheritance diagram for esphome::Component:
esphome::midea::ApplianceBase< dudanov::midea::ac::AirConditioner > esphome::a01nyub::A01nyubComponent esphome::a02yyuw::A02yyuwComponent esphome::a4988::A4988 esphome::absolute_humidity::AbsoluteHumidityComponent esphome::ac_dimmer::AcDimmer esphome::adc128s102::ADC128S102 esphome::ads1115::ADS1115Component esphome::ads1118::ADS1118 esphome::am43::Am43Component esphome::analog_threshold::AnalogThresholdBinarySensor esphome::api::APIServer esphome::as3935::AS3935Component esphome::as5600::AS5600Component esphome::atc_mithermometer::ATCMiThermometer esphome::b_parasite::BParasite esphome::bang_bang::BangBangClimate esphome::binary::BinaryFan esphome::binary_sensor::AutorepeatFilter esphome::binary_sensor::DelayedOffFilter esphome::binary_sensor::DelayedOnFilter esphome::binary_sensor::DelayedOnOffFilter esphome::binary_sensor::MultiClickTrigger esphome::binary_sensor::SettleFilter esphome::binary_sensor_map::BinarySensorMap esphome::ble_client::BLEBinaryOutput esphome::ble_client::BLEClientSwitch esphome::ble_presence::BLEPresenceDevice esphome::ble_rssi::BLERSSISensor esphome::ble_scanner::BLEScanner esphome::bluetooth_proxy::BluetoothProxy esphome::bme680_bsec::BME680BSECComponent esphome::bp1658cj::BP1658CJ esphome::bp5758d::BP5758D esphome::canbus::Canbus esphome::canbus::CanbusTrigger esphome::cap1188::CAP1188Component esphome::captive_portal::CaptivePortal esphome::cd74hc4067::CD74HC4067Component esphome::climate_ir::ClimateIR esphome::combination::CombinationComponent esphome::copy::CopyBinarySensor esphome::copy::CopyButton esphome::copy::CopyCover esphome::copy::CopyFan esphome::copy::CopyLock esphome::copy::CopyNumber esphome::copy::CopySelect esphome::copy::CopySensor esphome::copy::CopySwitch esphome::copy::CopyText esphome::copy::CopyTextSensor esphome::cs5460a::CS5460AComponent esphome::cse7766::CSE7766Component esphome::cst816::CST816Button esphome::current_based::CurrentBasedCover esphome::custom::CustomBinarySensorConstructor esphome::custom::CustomSensorConstructor esphome::custom::CustomSwitchConstructor esphome::custom::CustomTextSensorConstructor esphome::dac7678::DAC7678Output esphome::deep_sleep::DeepSleepComponent esphome::DelayAction< Ts > esphome::demo::DemoClimate esphome::demo::DemoCover esphome::demo::DemoFan esphome::demo::DemoLight esphome::demo::DemoNumber esphome::demo::DemoSwitch esphome::dfplayer::DFPlayer esphome::dfrobot_sen0395::DfrobotSen0395Component esphome::dfrobot_sen0395::DfrobotSen0395Switch esphome::display_menu_base::DisplayMenuComponent esphome::dsmr::Dsmr esphome::e131::E131Component esphome::emc2101::Emc2101Component esphome::endstop::EndstopCover esphome::esp32_ble::ESP32BLE esphome::esp32_ble_beacon::ESP32BLEBeacon esphome::esp32_ble_client::BLEClientBase esphome::esp32_ble_server::BLEServer esphome::esp32_ble_tracker::ESP32BLETracker esphome::esp32_camera::ESP32Camera esphome::esp32_camera_web_server::CameraWebServer esphome::esp32_dac::ESP32DAC esphome::esp32_improv::ESP32ImprovComponent esphome::esp32_touch::ESP32TouchComponent esphome::esp8266_pwm::ESP8266PWM esphome::ethernet::EthernetComponent esphome::factory_reset::FactoryResetButton esphome::factory_reset::FactoryResetSwitch esphome::feedback::FeedbackCover esphome::ForCondition< Ts > esphome::gcja5::GCJA5Component esphome::globals::GlobalsComponent< T > esphome::globals::RestoringGlobalsComponent< T > esphome::globals::RestoringGlobalStringComponent< T, SZ > esphome::gp8403::GP8403 esphome::gp8403::GP8403Output esphome::gpio::GPIOBinaryOutput esphome::gpio::GPIOBinarySensor esphome::gpio::GPIOSwitch esphome::graph::Graph esphome::grove_tb6612fng::GroveMotorDriveTB6612FNG esphome::gt911::GT911Button esphome::haier::HaierClimateBase esphome::hbridge::HBridgeFan esphome::he60r::HE60rCover esphome::homeassistant::HomeassistantBinarySensor esphome::homeassistant::HomeassistantSensor esphome::homeassistant::HomeassistantTextSensor esphome::hrxl_maxsonar_wr::HrxlMaxsonarWrComponent esphome::http_request::HttpRequestComponent esphome::hydreon_rgxx::HydreonRGxxBinaryComponent esphome::i2c::ArduinoI2CBus esphome::i2c::IDFI2CBus esphome::i2s_audio::I2SAudioComponent esphome::i2s_audio::I2SAudioMediaPlayer esphome::i2s_audio::I2SAudioMicrophone esphome::i2s_audio::I2SAudioSpeaker esphome::improv_serial::ImprovSerialComponent esphome::inkbird_ibsth1_mini::InkbirdIbstH1Mini esphome::integration::IntegrationSensor esphome::key_collector::KeyCollector esphome::ld2410::LD2410Component esphome::ld2420::LD2420BinarySensor esphome::ld2420::LD2420Component esphome::ld2420::LD2420Select esphome::ld2420::LD2420Sensor esphome::ld2420::LD2420TextSensor esphome::ledc::LEDCOutput esphome::libretiny::LTComponent esphome::libretiny_pwm::LibreTinyPWM esphome::light::AddressableLight esphome::light::LightState esphome::logger::Logger esphome::LoopTrigger esphome::matrix_keypad::MatrixKeypad esphome::max6956::MAX6956 esphome::max6956::MAX6956LedChannel esphome::mcp23016::MCP23016 esphome::mcp23xxx_base::MCP23XXXBase esphome::mcp3008::MCP3008 esphome::mcp3204::MCP3204 esphome::mcp4725::MCP4725 esphome::mcp4728::MCP4728Component esphome::mcp47a1::MCP47A1 esphome::mdns::MDNSComponent esphome::micro_wake_word::MicroWakeWord esphome::micronova::MicroNovaButton esphome::micronova::MicroNovaSwitch esphome::midea::ApplianceBase< T > esphome::modbus::Modbus esphome::modbus_controller::ModbusBinaryOutput esphome::modbus_controller::ModbusBinarySensor esphome::modbus_controller::ModbusFloatOutput esphome::modbus_controller::ModbusNumber esphome::modbus_controller::ModbusSelect esphome::modbus_controller::ModbusSensor esphome::modbus_controller::ModbusSwitch esphome::modbus_controller::ModbusTextSensor esphome::mopeka_pro_check::MopekaProCheck esphome::mopeka_std_check::MopekaStdCheck esphome::mpr121::MPR121Component esphome::mqtt::MQTTClientComponent esphome::mqtt::MQTTComponent esphome::mqtt::MQTTMessageTrigger esphome::mqtt_subscribe::MQTTSubscribeSensor esphome::mqtt_subscribe::MQTTSubscribeTextSensor esphome::my9231::MY9231OutputComponent esphome::nfc::NfcTagBinarySensor esphome::ntc::NTC esphome::number::ValueRangeTrigger esphome::ota::OTAComponent esphome::output::OutputButton esphome::output::OutputLock esphome::output::OutputSwitch esphome::pca6416a::PCA6416AComponent esphome::pca9554::PCA9554Component esphome::pca9685::PCA9685Output esphome::pcf8574::PCF8574Component esphome::pid::PIDClimate esphome::pid::PIDClimateSensor esphome::pipsolar::PipsolarSwitch esphome::pmsx003::PMSX003Component esphome::pn7150::PN7150 esphome::pn7160::PN7160 esphome::PollingComponent esphome::power_supply::PowerSupply esphome::preferences::IntervalSyncer esphome::ProjectUpdateTrigger esphome::prometheus::PrometheusHandler esphome::psram::PsramComponent esphome::pulse_meter::PulseMeterSensor esphome::pvvx_mithermometer::PVVXMiThermometer esphome::pylontech::PylontechSensor esphome::pylontech::PylontechTextSensor esphome::qr_code::QrCode esphome::qwiic_pir::QwiicPIRComponent esphome::rdm6300::RDM6300Component esphome::remote_base::RawTrigger esphome::remote_base::RemoteReceiverBinarySensorBase esphome::resistance::ResistanceSensor esphome::restart::RestartButton esphome::restart::RestartSwitch esphome::rf_bridge::RFBridgeComponent esphome::rotary_encoder::RotaryEncoderSensor esphome::rp2040_pwm::RP2040PWM esphome::rtttl::Rtttl esphome::ruuvitag::RuuviTag esphome::safe_mode::SafeModeButton esphome::safe_mode::SafeModeSwitch esphome::scd30::SCD30Component esphome::script::QueueingScript< Ts > esphome::script::ScriptWaitAction< C, Ts > esphome::sds011::SDS011Component esphome::seeed_mr24hpc1::MR24HPC1Component esphome::sensor::DebounceFilter esphome::sensor::HeartbeatFilter esphome::sensor::ThrottleAverageFilter esphome::sensor::TimeoutFilter esphome::sensor::ValueRangeTrigger esphome::servo::Servo esphome::shutdown::ShutdownButton esphome::shutdown::ShutdownSwitch esphome::ShutdownTrigger esphome::slow_pwm::SlowPWMOutput esphome::sm10bit_base::Sm10BitBase esphome::sm16716::SM16716 esphome::sm2135::SM2135 esphome::sml::Sml esphome::sml::SmlSensor esphome::sml::SmlTextSensor esphome::sn74hc165::SN74HC165Component esphome::sn74hc595::SN74HC595Component esphome::sonoff_d1::SonoffD1Output esphome::speed::SpeedFan esphome::spi::SPIComponent esphome::spi_device::SPIDeviceComponent esphome::sprinkler::Sprinkler esphome::sprinkler::SprinklerControllerNumber esphome::sprinkler::SprinklerControllerSwitch esphome::StartupTrigger esphome::status::StatusBinarySensor esphome::status_led::StatusLED esphome::status_led::StatusLEDLightOutput esphome::sx1509::SX1509Component esphome::sx1509::SX1509FloatOutputChannel esphome::tca9548a::TCA9548AComponent esphome::teleinfo::TeleInfoSensor esphome::teleinfo::TeleInfoTextSensor esphome::template_::TemplateAlarmControlPanel esphome::template_::TemplateBinarySensor esphome::template_::TemplateCover esphome::template_::TemplateFan esphome::template_::TemplateLock esphome::template_::TemplateSwitch esphome::thermostat::ThermostatClimate esphome::time::CronTrigger esphome::time::SyncTrigger esphome::time_based::TimeBasedCover esphome::tlc59208f::TLC59208FOutput esphome::tlc5947::TLC5947 esphome::tm1638::TM1638OutputLed esphome::tm1638::TM1638SwitchLed esphome::tm1651::TM1651Display esphome::total_daily_energy::TotalDailyEnergy esphome::touchscreen::TouchscreenBinarySensor esphome::tt21100::TT21100Button esphome::ttp229_bsf::TTP229BSFComponent esphome::ttp229_lsf::TTP229LSFComponent esphome::tuya::Tuya esphome::tuya::TuyaBinarySensor esphome::tuya::TuyaClimate esphome::tuya::TuyaCover esphome::tuya::TuyaFan esphome::tuya::TuyaLight esphome::tuya::TuyaNumber esphome::tuya::TuyaSelect esphome::tuya::TuyaSensor esphome::tuya::TuyaSwitch esphome::tuya::TuyaTextSensor esphome::tx20::Tx20Component esphome::uart::ESP32ArduinoUARTComponent esphome::uart::ESP8266UartComponent esphome::uart::IDFUARTComponent esphome::uart::LibreTinyUARTComponent esphome::uart::RP2040UartComponent esphome::uart::UARTButton esphome::uart::UARTDebugger esphome::uart::UARTDummyReceiver esphome::uart::UARTSwitch esphome::uln2003::ULN2003 esphome::uponor_smatrix::UponorSmatrixClimate esphome::uponor_smatrix::UponorSmatrixComponent esphome::uponor_smatrix::UponorSmatrixSensor esphome::vbus::DeltaSolBS2009BSensor esphome::vbus::DeltaSolBS2009Sensor esphome::vbus::DeltaSolBSPlusBSensor esphome::vbus::DeltaSolBSPlusSensor esphome::vbus::DeltaSolCBSensor esphome::vbus::DeltaSolCS2BSensor esphome::vbus::DeltaSolCS2Sensor esphome::vbus::DeltaSolCSensor esphome::vbus::DeltaSolCSPlusBSensor esphome::vbus::DeltaSolCSPlusSensor esphome::vbus::VBus esphome::vbus::VBusCustomBSensor esphome::vbus::VBusCustomSensor esphome::vbus::VBusCustomSubBSensor esphome::vbus::VBusCustomSubSensor esphome::version::VersionTextSensor esphome::voice_assistant::VoiceAssistant esphome::WaitUntilAction< Ts > esphome::wake_on_lan::WakeOnLanButton esphome::web_server::WebServer esphome::web_server_base::WebServerBase esphome::wiegand::Wiegand esphome::wifi::WiFiComponent esphome::wifi_info::MacAddressWifiInfo esphome::wl_134::Wl134Component esphome::x9c::X9cOutput esphome::xiaomi_cgd1::XiaomiCGD1 esphome::xiaomi_cgdk2::XiaomiCGDK2 esphome::xiaomi_cgg1::XiaomiCGG1 esphome::xiaomi_cgpr1::XiaomiCGPR1 esphome::xiaomi_gcls002::XiaomiGCLS002 esphome::xiaomi_hhccjcy01::XiaomiHHCCJCY01 esphome::xiaomi_hhccpot002::XiaomiHHCCPOT002 esphome::xiaomi_jqjcy01ym::XiaomiJQJCY01YM esphome::xiaomi_lywsd02::XiaomiLYWSD02 esphome::xiaomi_lywsd03mmc::XiaomiLYWSD03MMC esphome::xiaomi_lywsdcgq::XiaomiLYWSDCGQ esphome::xiaomi_mhoc303::XiaomiMHOC303 esphome::xiaomi_mhoc401::XiaomiMHOC401 esphome::xiaomi_miscale::XiaomiMiscale esphome::xiaomi_mjyd02yla::XiaomiMJYD02YLA esphome::xiaomi_mue4094rt::XiaomiMUE4094RT esphome::xiaomi_rtcgq02lm::XiaomiRTCGQ02LM esphome::xiaomi_wx08zm::XiaomiWX08ZM esphome::xl9535::XL9535Component esphome::yashima::YashimaClimate

Public Member Functions

virtual void setup ()
 Where the component's initialization should happen. More...
 
virtual void loop ()
 This method will be called repeatedly. More...
 
virtual void dump_config ()
 
virtual float get_setup_priority () const
 priority of setup(). More...
 
float get_actual_setup_priority () const
 
void set_setup_priority (float priority)
 
virtual float get_loop_priority () const
 priority of loop(). More...
 
void call ()
 
virtual void on_shutdown ()
 
virtual void on_safe_shutdown ()
 
uint32_t get_component_state () const
 
virtual void mark_failed ()
 Mark this component as failed. More...
 
bool is_failed ()
 
bool is_ready ()
 
virtual bool can_proceed ()
 
bool status_has_warning () const
 
bool status_has_error () const
 
void status_set_warning (const char *message="unspecified")
 
void status_set_error (const char *message="unspecified")
 
void status_clear_warning ()
 
void status_clear_error ()
 
void status_momentary_warning (const std::string &name, uint32_t length=5000)
 
void status_momentary_error (const std::string &name, uint32_t length=5000)
 
bool has_overridden_loop () const
 
void set_component_source (const char *source)
 Set where this component was loaded from for some debug messages. More...
 
const char * get_component_source () const
 Get the integration where this component was declared as a string. More...
 

Protected Member Functions

virtual void call_loop ()
 
virtual void call_setup ()
 
virtual void call_dump_config ()
 
void set_interval (const std::string &name, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a unique name. More...
 
void set_interval (uint32_t interval, std::function< void()> &&f)
 
bool cancel_interval (const std::string &name)
 Cancel an interval function. More...
 
void set_retry (const std::string &name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 Set an retry function with a unique name. More...
 
void set_retry (uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 
bool cancel_retry (const std::string &name)
 Cancel a retry function. More...
 
void set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a unique name. More...
 
void set_timeout (uint32_t timeout, std::function< void()> &&f)
 
bool cancel_timeout (const std::string &name)
 Cancel a timeout function. More...
 
void defer (const std::string &name, std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
void defer (std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
bool cancel_defer (const std::string &name)
 Cancel a defer callback using the specified name, name must not be empty. More...
 

Protected Attributes

uint32_t component_state_ {0x0000}
 State of this component. More...
 
float setup_priority_override_ {NAN}
 
const char * component_source_ {nullptr}
 

Detailed Description

Definition at line 68 of file component.h.

Member Function Documentation

◆ call()

void esphome::Component::call ( )

Definition at line 82 of file component.cpp.

◆ call_dump_config()

void esphome::Component::call_dump_config ( )
protectedvirtual

Reimplemented in esphome::mqtt::MQTTComponent.

Definition at line 79 of file component.cpp.

◆ call_loop()

void esphome::Component::call_loop ( )
protectedvirtual

Reimplemented in esphome::mqtt::MQTTComponent.

Definition at line 77 of file component.cpp.

◆ call_setup()

void esphome::Component::call_setup ( )
protectedvirtual

◆ can_proceed()

bool esphome::Component::can_proceed ( )
virtual

◆ cancel_defer()

bool esphome::Component::cancel_defer ( const std::string &  name)
protected

Cancel a defer callback using the specified name, name must not be empty.

Definition at line 122 of file component.cpp.

◆ cancel_interval()

bool esphome::Component::cancel_interval ( const std::string &  name)
protected

Cancel an interval function.

Parameters
nameThe identifier for this interval function.
Returns
Whether an interval functions was deleted.

Definition at line 56 of file component.cpp.

◆ cancel_retry()

bool esphome::Component::cancel_retry ( const std::string &  name)
protected

Cancel a retry function.

Parameters
nameThe identifier for this retry function.
Returns
Whether a retry function was deleted.

Definition at line 65 of file component.cpp.

◆ cancel_timeout()

bool esphome::Component::cancel_timeout ( const std::string &  name)
protected

Cancel a timeout function.

Parameters
nameThe identifier for this timeout function.
Returns
Whether a timeout functions was deleted.

Definition at line 73 of file component.cpp.

◆ defer() [1/2]

void esphome::Component::defer ( const std::string &  name,
std::function< void()> &&  f 
)
protected

Defer a callback to the next loop() call.

If name is specified and a defer() object with the same name exists, the old one is first removed.

Parameters
nameThe name of the defer function.
fThe callback.

Definition at line 125 of file component.cpp.

◆ defer() [2/2]

void esphome::Component::defer ( std::function< void()> &&  f)
protected

Defer a callback to the next loop() call.

Definition at line 119 of file component.cpp.

◆ dump_config()

void esphome::Component::dump_config ( )
virtual

Reimplemented in esphome::nextion::Nextion, esphome::waveshare_epaper::WaveshareEPaper2P13InV3, esphome::waveshare_epaper::WaveshareEPaper2P13InDKE, esphome::waveshare_epaper::WaveshareEPaper7P5InHDB, esphome::waveshare_epaper::WaveshareEPaper7P5InV2alt, esphome::waveshare_epaper::WaveshareEPaper7P5InV2, esphome::waveshare_epaper::WaveshareEPaper7P5InBC, esphome::waveshare_epaper::WaveshareEPaper7P5InBV3, esphome::waveshare_epaper::WaveshareEPaper7P5InBV2, esphome::waveshare_epaper::WaveshareEPaper7P5In, esphome::waveshare_epaper::WaveshareEPaper5P8InV2, esphome::waveshare_epaper::WaveshareEPaper5P8In, esphome::waveshare_epaper::WaveshareEPaper4P2InBV2, esphome::modbus_controller::ModbusController, esphome::waveshare_epaper::WaveshareEPaper4P2In, esphome::waveshare_epaper::WaveshareEPaper2P9InV2R2, esphome::spi::SPIComponent, esphome::waveshare_epaper::WaveshareEPaper2P9InBV3, esphome::mqtt::MQTTMessageTrigger, esphome::waveshare_epaper::WaveshareEPaper2P9InB, esphome::waveshare_epaper::GDEW0154M09, esphome::waveshare_epaper::WaveshareEPaper2P7InV2, esphome::tsl2591::TSL2591Component, esphome::wifi::WiFiComponent, esphome::waveshare_epaper::GDEY029T94, esphome::mqtt::MQTTClientComponent, esphome::fastled_base::FastLEDLightOutput, esphome::waveshare_epaper::WaveshareEPaper2P7InBV2, esphome::sprinkler::Sprinkler, esphome::esp32_ble_tracker::ESP32BLETracker, esphome::waveshare_epaper::WaveshareEPaper2P7InB, esphome::remote_base::RemoteReceiverBinarySensorBase, esphome::waveshare_epaper::WaveshareEPaper2P7In, esphome::seeed_mr24hpc1::MR24HPC1Component, esphome::vbus::VBusCustomSensor, esphome::pn7160::PN7160, esphome::esp32_camera::ESP32Camera, esphome::pn7150::PN7150, esphome::graph::Graph, esphome::combination::SumCombinationComponent, esphome::wifi_info::MacAddressWifiInfo, esphome::st7789v::ST7789V, esphome::combination::RangeCombinationComponent, esphome::micronova::MicroNova, esphome::vbus::DeltaSolCSPlusSensor, esphome::sprinkler::SprinklerControllerSwitch, esphome::wifi_info::BSSIDWiFiInfo, esphome::combination::MostRecentCombinationComponent, esphome::bedjet::BedJetHub, esphome::ble_presence::BLEPresenceDevice, esphome::vbus::VBusCustomBSensor, esphome::combination::MinimumCombinationComponent, esphome::ld2420::LD2420Component, esphome::web_server::WebServer, esphome::ft5x06::FT5x06Touchscreen, esphome::waveshare_epaper::WaveshareEPaperTypeA, esphome::combination::MedianCombinationComponent, esphome::veml7700::VEML7700Component, esphome::sprinkler::SprinklerControllerNumber, esphome::wifi_info::SSIDWiFiInfo, esphome::inkplate6::Inkplate6, esphome::emc2101::Emc2101Component, esphome::vbus::DeltaSolCS2Sensor, esphome::bme680::BME680Component, esphome::combination::MeanCombinationComponent, esphome::qspi_amoled::QspiAmoLed, esphome::fingerprint_grow::FingerprintGrowComponent, esphome::vbus::DeltaSolCSPlusBSensor, esphome::combination::MaximumCombinationComponent, esphome::deep_sleep::DeepSleepComponent, esphome::mpl3115a2::MPL3115A2Component, esphome::ble_rssi::BLERSSISensor, esphome::haier::HonClimate, esphome::wifi_info::ScanResultsWiFiInfo, esphome::ade7880::ADE7880, esphome::dfplayer::DFPlayer, esphome::combination::LinearCombinationComponent, esphome::kamstrup_kmp::KamstrupKMPComponent, esphome::esp32_ble::ESP32BLE, esphome::logger::Logger, esphome::qmp6988::QMP6988Component, esphome::tuya::Tuya, esphome::havells_solar::HavellsSolar, esphome::rotary_encoder::RotaryEncoderSensor, esphome::vbus::DeltaSolCS2BSensor, esphome::ade7953_base::ADE7953, esphome::cs5460a::CS5460AComponent, esphome::ili9xxx::ILI9XXXDisplay, esphome::as7341::AS7341Component, esphome::max31856::MAX31856Sensor, esphome::pulse_counter::PulseCounterSensor, esphome::rp2040_pio_led_strip::RP2040PIOLEDStripLightOutput, esphome::bme280_base::BME280Component, esphome::sgp4x::SGP4xComponent, esphome::bmp3xx::BMP3XXComponent, esphome::bl0939::BL0939, esphome::bl0940::BL0940, esphome::mpr121::MPR121Component, esphome::st7701s::ST7701S, esphome::vbus::DeltaSolCSensor, esphome::dsmr::Dsmr, esphome::uponor_smatrix::UponorSmatrixComponent, esphome::sen21231_sensor::Sen21231Sensor, esphome::zyaura::ZyAuraSensor, esphome::canbus::Canbus, esphome::daly_bms::DalyBmsComponent, esphome::micro_wake_word::MicroWakeWord, esphome::template_::TemplateText, esphome::tsl2561::TSL2561Sensor, esphome::bmp280::BMP280Component, esphome::ota::OTAComponent, esphome::bme680_bsec::BME680BSECComponent, esphome::bmp581::BMP581Component, esphome::veml3235::VEML3235Sensor, esphome::vbus::DeltaSolCBSensor, esphome::tmp1075::TMP1075Sensor, esphome::thermostat::ThermostatClimate, esphome::esp32_rmt_led_strip::ESP32RMTLEDStripLightOutput, esphome::sdm_meter::SDMMeter, esphome::rpi_dpi_rgb::RpiDpiRgb, esphome::wifi_info::DNSAddressWifiInfo, esphome::combination::KalmanCombinationComponent, esphome::modbus_controller::ModbusBinaryOutput, esphome::tcs34725::TCS34725Component, esphome::max6956::MAX6956, esphome::sim800l::Sim800LComponent, esphome::sonoff_d1::SonoffD1Output, esphome::grove_tb6612fng::GroveMotorDriveTB6612FNG, esphome::hydreon_rgxx::HydreonRGxxComponent, esphome::esp32_touch::ESP32TouchComponent, esphome::sen5x::SEN5XComponent, esphome::template_::TemplateAlarmControlPanel, esphome::uart::ESP8266UartComponent, esphome::bluetooth_proxy::BluetoothProxy, esphome::ac_dimmer::AcDimmer, esphome::as5600::AS5600Component, esphome::ble_client::BLEClient, esphome::light::LightState, esphome::mopeka_std_check::MopekaStdCheck, esphome::rf_bridge::RFBridgeComponent, esphome::ruuvitag::RuuviTag, esphome::cd74hc4067::CD74HC4067Sensor, esphome::ltr390::LTR390Component, esphome::cap1188::CAP1188Component, esphome::dht::DHT, esphome::ethernet::EthernetComponent, esphome::ina226::INA226Component, esphome::mcp4728::MCP4728Component, esphome::spi_led_strip::SpiLedStrip, esphome::ads1115::ADS1115Component, esphome::pca9685::PCA9685Output, esphome::tlc59208f::TLC59208FOutput, esphome::sm2135::SM2135, esphome::vbus::DeltaSolBS2009BSensor, esphome::alpha3::Alpha3, esphome::bl0942::BL0942, esphome::cst816::CST816Touchscreen, esphome::improv_serial::ImprovSerialComponent, esphome::rtttl::Rtttl, esphome::selec_meter::SelecMeter, esphome::dps310::DPS310Component, esphome::pcd8544::PCD8544, esphome::vbus::DeltaSolBS2009Sensor, esphome::esp32_ble_beacon::ESP32BLEBeacon, esphome::hmc5883l::HMC5883LComponent, esphome::http_request::HttpRequestComponent, esphome::st7735::ST7735, esphome::climate_ir::ClimateIR, esphome::esp32_ble_server::BLEServer, esphome::max9611::MAX9611Component, esphome::modbus_controller::ModbusSelect, esphome::pvvx_mithermometer::PVVXDisplay, esphome::ezo::EZOSensor, esphome::graphical_display_menu::GraphicalDisplayMenu, esphome::ms8607::MS8607Component, esphome::max7219digit::MAX7219Component, esphome::qwiic_pir::QwiicPIRComponent, esphome::template_::TemplateCover, esphome::adc::ADCSensor, esphome::dac7678::DAC7678Output, esphome::mqtt::MQTTSensorComponent, esphome::tx20::Tx20Component, esphome::ufire_ise::UFireISEComponent, esphome::wl_134::Wl134Component, esphome::ads1118::ADS1118, esphome::max31865::MAX31865Sensor, esphome::mopeka_pro_check::MopekaProCheck, esphome::wiegand::Wiegand, esphome::binary_sensor_map::BinarySensorMap, esphome::pmsx003::PMSX003Component, esphome::pn532::PN532, esphome::pylontech::PylontechComponent, esphome::sx1509::SX1509Component, esphome::wireguard::Wireguard, esphome::esp32_improv::ESP32ImprovComponent, esphome::haier::HaierClimateBase, esphome::modbus_controller::ModbusBinarySensor, esphome::pulse_width::PulseWidthSensor, esphome::sgp30::SGP30Component, esphome::sun::SunTextSensor, esphome::am2315c::AM2315C, esphome::ethernet_info::IPAddressEthernetInfo, esphome::hlw8012::HLW8012Component, esphome::i2s_audio::I2SAudioMediaPlayer, esphome::lcd_gpio::GPIOLCDDisplay, esphome::pmsa003i::PMSA003IComponent, esphome::ags10::AGS10Component, esphome::mqtt::MQTTFanComponent, esphome::qmc5883l::QMC5883LComponent, esphome::sigma_delta_output::SigmaDeltaOutput, esphome::ufire_ec::UFireECComponent, esphome::vl53l0x::VL53L0XSensor, esphome::ble_scanner::BLEScanner, esphome::modbus_controller::ModbusSwitch, esphome::power_supply::PowerSupply, esphome::pulse_meter::PulseMeterSensor, esphome::teleinfo::TeleInfo, esphome::vbus::VBus, esphome::wifi_info::IPAddressWiFiInfo, esphome::cse7761::CSE7761Component, esphome::lcd_menu::LCDCharacterMenuComponent, esphome::modbus_controller::ModbusTextSensor, esphome::mqtt::MQTTCoverComponent, esphome::status_led::StatusLEDLightOutput, esphome::tm1637::TM1637Display, esphome::integration::IntegrationSensor, esphome::mdns::MDNSComponent, esphome::pca9554::PCA9554Component, esphome::t6615::T6615Component, esphome::anova::Anova, esphome::api::APIServer, esphome::esp32_camera_web_server::CameraWebServer, esphome::hbridge::HBridgeFan, esphome::modbus_controller::ModbusNumber, esphome::pid::PIDClimateSensor, esphome::pzemac::PZEMAC, esphome::scd30::SCD30Component, esphome::sm10bit_base::Sm10BitBase, esphome::sps30::SPS30Component, esphome::tca9548a::TCA9548AComponent, esphome::tm1651::TM1651Display, esphome::xl9535::XL9535Component, esphome::ads1118::ADS1118Sensor, esphome::atc_mithermometer::ATCMiThermometer, esphome::ledc::LEDCOutput, esphome::lightwaverf::LightWaveRF, esphome::modbus_controller::ModbusSensor, esphome::pcf8574::PCF8574Component, esphome::pvvx_mithermometer::PVVXMiThermometer, esphome::resistance::ResistanceSensor, esphome::sen0321_sensor::Sen0321Sensor, esphome::tlc5947::TLC5947, esphome::tm1638::TM1638Component, esphome::ttp229_bsf::TTP229BSFComponent, esphome::absolute_humidity::AbsoluteHumidityComponent, esphome::ble_client::BLESensor, esphome::bp1658cj::BP1658CJ, esphome::ccs811::CCS811Component, esphome::duty_cycle::DutyCycleSensor, esphome::mqtt::MQTTDateComponent, esphome::mqtt::MQTTNumberComponent, esphome::mqtt::MQTTSelectComponent, esphome::mqtt::MQTTTextComponent, esphome::rp2040_pwm::RP2040PWM, esphome::esp8266_pwm::ESP8266PWM, esphome::ezo_pmp::EzoPMP, esphome::growatt_solar::GrowattSolar, esphome::hm3301::HM3301Component, esphome::hx711::HX711Sensor, esphome::kuntze::Kuntze, esphome::matrix_keypad::MatrixKeypad, esphome::midea::ac::AirConditioner, esphome::modbus_controller::ModbusFloatOutput, esphome::pca6416a::PCA6416AComponent, esphome::radon_eye_rd200::RadonEyeRD200, esphome::shelly_dimmer::ShellyDimmer, esphome::sml::Sml, esphome::st7920::ST7920, esphome::total_daily_energy::TotalDailyEnergy, esphome::ttp229_lsf::TTP229LSFComponent, esphome::uln2003::ULN2003, esphome::xiaomi_miscale::XiaomiMiscale, esphome::xiaomi_rtcgq02lm::XiaomiRTCGQ02LM, esphome::xpt2046::XPT2046Component, esphome::am43::Am43Component, esphome::am43::Am43, esphome::bang_bang::BangBangClimate, esphome::ft63x6::FT63X6Touchscreen, esphome::mcp9600::MCP9600Component, esphome::my9231::MY9231OutputComponent, esphome::pzemdc::PZEMDC, esphome::rc522_spi::RC522Spi, esphome::scd4x::SCD4XComponent, esphome::ultrasonic::UltrasonicSensorComponent, esphome::cse7766::CSE7766Component, esphome::debug::DebugComponent, esphome::libretiny_pwm::LibreTinyPWM, esphome::max7219::MAX7219Component, esphome::mqtt::MQTTBinarySensorComponent, esphome::pzem004t::PZEM004T, esphome::sm300d2::SM300D2Sensor, esphome::sn74hc595::SN74HC595Component, esphome::tt21100::TT21100Touchscreen, esphome::xiaomi_cgpr1::XiaomiCGPR1, esphome::xiaomi_mjyd02yla::XiaomiMJYD02YLA, esphome::bh1750::BH1750Sensor, esphome::ble_client::BLETextSensor, esphome::honeywellabp2_i2c::HONEYWELLABP2Sensor, esphome::mqtt::MQTTJSONLightComponent, esphome::mqtt::MQTTTextSensor, esphome::pn7160_spi::PN7160Spi, esphome::servo::Servo, esphome::sht4x::SHT4XComponent, esphome::sm16716::SM16716, esphome::template_::TemplateDate, esphome::uart::UARTSwitch, esphome::xiaomi_wx08zm::XiaomiWX08ZM, esphome::adc128s102::ADC128S102Sensor, esphome::bedjet::BedJetClimate, esphome::cst816::CST816Button, esphome::duty_time_sensor::DutyTimeSensor, esphome::ens160::ENS160Component, esphome::gpio::GPIOSwitch, esphome::honeywellabp::HONEYWELLABPSensor, esphome::i2c::ArduinoI2CBus, esphome::i2c::IDFI2CBus, esphome::libretiny::LTComponent, esphome::mcp3008::MCP3008Sensor, esphome::mcp3204::MCP3204Sensor, esphome::modbus::Modbus, esphome::mqtt::MQTTButtonComponent, esphome::mqtt::MQTTLockComponent, esphome::mqtt::MQTTSwitchComponent, esphome::slow_pwm::SlowPWMOutput, esphome::xiaomi_mue4094rt::XiaomiMUE4094RT, esphome::ade7953_spi::AdE7953Spi, esphome::airthings_wave_mini::AirthingsWaveMini, esphome::airthings_wave_plus::AirthingsWavePlus, esphome::atm90e32::ATM90E32Component, esphome::ble_client::BLEClientRSSISensor, esphome::bp5758d::BP5758D, esphome::captive_portal::CaptivePortal, esphome::cst226::CST226Touchscreen, esphome::dallas::DallasComponent, esphome::fs3000::FS3000Component, esphome::lilygo_t5_47::LilygoT547Touchscreen, esphome::max31855::MAX31855Sensor, esphome::qr_code::QrCode, esphome::sds011::SDS011Component, esphome::tm1621::TM1621Display, esphome::uart::RP2040UartComponent, esphome::xiaomi_cgg1::XiaomiCGG1, esphome::as3935_spi::SPIAS3935Component, esphome::bedjet::BedJetFan, esphome::bmp085::BMP085Component, esphome::custom::CustomBinarySensorConstructor, esphome::custom::CustomTextSensorConstructor, esphome::ee895::EE895Component, esphome::esp32_dac::ESP32DAC, esphome::gpio::GPIOBinaryOutput, esphome::gt911::GT911Touchscreen, esphome::htu21d::HTU21DComponent, esphome::mcp3204::MCP3204, esphome::mhz19::MHZ19Component, esphome::mmc5603::MMC5603Component, esphome::mqtt_subscribe::MQTTSubscribeSensor, esphome::mqtt_subscribe::MQTTSubscribeTextSensor, esphome::pid::PIDClimate, esphome::rc522::RC522, esphome::sht3xd::SHT3XDComponent, esphome::shtcx::SHTCXComponent, esphome::sn74hc165::SN74HC165Component, esphome::sun::SunSensor, esphome::tuya::TuyaCover, esphome::tuya::TuyaLight, esphome::uart::ESP32ArduinoUARTComponent, esphome::xiaomi_cgd1::XiaomiCGD1, esphome::xiaomi_cgdk2::XiaomiCGDK2, esphome::xiaomi_gcls002::XiaomiGCLS002, esphome::xiaomi_hhccjcy01::XiaomiHHCCJCY01, esphome::xiaomi_hhccpot002::XiaomiHHCCPOT002, esphome::xiaomi_jqjcy01ym::XiaomiJQJCY01YM, esphome::xiaomi_lywsd02::XiaomiLYWSD02, esphome::xiaomi_lywsd03mmc::XiaomiLYWSD03MMC, esphome::xiaomi_lywsdcgq::XiaomiLYWSDCGQ, esphome::xiaomi_mhoc303::XiaomiMHOC303, esphome::xiaomi_mhoc401::XiaomiMHOC401, esphome::a01nyub::A01nyubComponent, esphome::a02yyuw::A02yyuwComponent, esphome::aht10::AHT10Component, esphome::b_parasite::BParasite, esphome::ble_client::BLEClientSwitch, esphome::feedback::FeedbackCover, esphome::hte501::HTE501Component, esphome::inkbird_ibsth1_mini::InkbirdIbstH1Mini, esphome::max44009::MAX44009Sensor, esphome::mcp23s08::MCP23S08, esphome::mcp23s17::MCP23S17, esphome::nfc::NfcTagBinarySensor, esphome::pn532_spi::PN532Spi, esphome::sdp3x::SDP3XComponent, esphome::sntp::SNTPComponent, esphome::ssd1306_spi::SPISSD1306, esphome::ssd1322_spi::SPISSD1322, esphome::ssd1325_spi::SPISSD1325, esphome::ssd1327_spi::SPISSD1327, esphome::ssd1331_spi::SPISSD1331, esphome::ssd1351_spi::SPISSD1351, esphome::st7567_spi::SPIST7567, esphome::template_::TemplateTextSensor, esphome::x9c::X9cOutput, esphome::xgzp68xx::XGZP68XXComponent, esphome::adc128s102::ADC128S102, esphome::ble_client::BLEBinaryOutput, esphome::custom::CustomSensorConstructor, esphome::custom::CustomSwitchConstructor, esphome::ektf2232::EKTF2232Touchscreen, esphome::gp8403::GP8403, esphome::gpio::GPIOBinarySensor, esphome::gt911::GT911Button, esphome::hdc1080::HDC1080Component, esphome::iaqcore::IAQCore, esphome::pmwcs3::PMWCS3Component, esphome::senseair::SenseAirComponent, esphome::speed::SpeedFan, esphome::template_::TemplateNumber, esphome::template_::TemplateSelect, esphome::tt21100::TT21100Button, esphome::uart::LibreTinyUARTComponent, esphome::a4988::A4988, esphome::ade7953_i2c::AdE7953I2c, esphome::as5600::AS5600Sensor, esphome::current_based::CurrentBasedCover, esphome::hrxl_maxsonar_wr::HrxlMaxsonarWrComponent, esphome::max6675::MAX6675Sensor, esphome::max6956::MAX6956LedChannel, esphome::mcp23008::MCP23008, esphome::mcp23017::MCP23017, esphome::mcp3008::MCP3008, esphome::mlx90393::MLX90393Cls, esphome::ntc::NTC, esphome::output::OutputSwitch, esphome::pm1006::PM1006Component, esphome::sfa30::SFA30Component, esphome::smt100::SMT100Component, esphome::sts3x::STS3XComponent, esphome::sx1509::SX1509FloatOutputChannel, esphome::uart::UARTButton, esphome::wake_on_lan::WakeOnLanButton, esphome::zio_ultrasonic::ZioUltrasonicComponent, esphome::atm90e26::ATM90E26Component, esphome::cd74hc4067::CD74HC4067Component, esphome::ct_clamp::CTClampSensor, esphome::emc2101::EMC2101Sensor, esphome::endstop::EndstopCover, esphome::haier::Smartair2Climate, esphome::he60r::HE60rCover, esphome::htu31d::HTU31DComponent, esphome::hyt271::HYT271Component, esphome::ina219::INA219Component, esphome::mcp4725::MCP4725, esphome::output::OutputLock, esphome::pipsolar::PipsolarSwitch, esphome::sm2235::SM2235, esphome::sm2335::SM2335, esphome::template_::TemplateBinarySensor, esphome::template_::TemplateFan, esphome::template_::TemplateSensor, esphome::template_::TemplateSwitch, esphome::tuya::TuyaSelect, esphome::uart::IDFUARTComponent, esphome::as3935_i2c::I2CAS3935Component, esphome::ds1307::DS1307Component, esphome::ens210::ENS210Component, esphome::homeassistant::HomeassistantBinarySensor, esphome::homeassistant::HomeassistantSensor, esphome::homeassistant::HomeassistantTextSensor, esphome::homeassistant::HomeassistantTime, esphome::key_collector::KeyCollector, esphome::lcd_pcf8574::PCF8574LCDDisplay, esphome::mmc5983::MMC5983Component, esphome::pcf85063::PCF85063Component, esphome::pcf8563::PCF8563Component, esphome::pn532_i2c::PN532I2C, esphome::pn7150_i2c::PN7150I2C, esphome::pn7160_i2c::PN7160I2C, esphome::sml::SmlTextSensor, esphome::spi_device::SPIDeviceComponent, esphome::status::StatusBinarySensor, esphome::status_led::StatusLED, esphome::tee501::TEE501Component, esphome::template_::TemplateLock, esphome::time_based::TimeBasedCover, esphome::tmp102::TMP102Component, esphome::tof10120::TOF10120Sensor, esphome::tuya::TuyaClimate, esphome::tuya::TuyaFan, esphome::wifi_signal::WiFiSignalSensor, esphome::am2320::AM2320Component, esphome::binary::BinaryFan, esphome::bmi160::BMI160Component, esphome::copy::CopyBinarySensor, esphome::copy::CopyCover, esphome::copy::CopyFan, esphome::copy::CopyLock, esphome::copy::CopyNumber, esphome::copy::CopySelect, esphome::copy::CopySensor, esphome::copy::CopySwitch, esphome::copy::CopyText, esphome::copy::CopyTextSensor, esphome::dht12::DHT12Component, esphome::esp32_hall::ESP32HallSensor, esphome::gcja5::GCJA5Component, esphome::gp8403::GP8403Output, esphome::honeywell_hih_i2c::HoneywellHIComponent, esphome::ina260::INA260Component, esphome::ina3221::INA3221Component, esphome::mcp9808::MCP9808Sensor, esphome::micronova::MicroNovaButton, esphome::micronova::MicroNovaSwitch, esphome::mlx90614::MLX90614Component, esphome::mpu6050::MPU6050Component, esphome::mpu6886::MPU6886Component, esphome::ms5611::MS5611Component, esphome::ssd1306_i2c::I2CSSD1306, esphome::ssd1327_i2c::I2CSSD1327, esphome::st7567_i2c::I2CST7567, esphome::tmp117::TMP117Component, esphome::tuya::TuyaBinarySensor, esphome::tuya::TuyaNumber, esphome::tuya::TuyaSensor, esphome::tuya::TuyaSwitch, esphome::tuya::TuyaTextSensor, esphome::version::VersionTextSensor, esphome::analog_threshold::AnalogThresholdBinarySensor, esphome::copy::CopyButton, esphome::mcp47a1::MCP47A1, esphome::output::OutputButton, esphome::pylontech::PylontechSensor, esphome::pylontech::PylontechTextSensor, esphome::rc522_i2c::RC522I2C, esphome::safe_mode::SafeModeButton, esphome::safe_mode::SafeModeSwitch, esphome::sml::SmlSensor, esphome::teleinfo::TeleInfoSensor, esphome::tm1638::TM1638OutputLed, esphome::tm1638::TM1638SwitchLed, esphome::uponor_smatrix::UponorSmatrixClimate, esphome::uptime::UptimeSensor, esphome::factory_reset::FactoryResetButton, esphome::factory_reset::FactoryResetSwitch, esphome::internal_temperature::InternalTemperatureSensor, esphome::ld2420::LD2420BinarySensor, esphome::ld2420::LD2420Sensor, esphome::ld2420::LD2420TextSensor, esphome::restart::RestartButton, esphome::restart::RestartSwitch, esphome::shutdown::ShutdownButton, esphome::shutdown::ShutdownSwitch, esphome::vbus::DeltaSolBSPlusBSensor, esphome::vbus::DeltaSolBSPlusSensor, and esphome::teleinfo::TeleInfoTextSensor.

Definition at line 181 of file component.cpp.

◆ get_actual_setup_priority()

float esphome::Component::get_actual_setup_priority ( ) const

Definition at line 182 of file component.cpp.

◆ get_component_source()

const char * esphome::Component::get_component_source ( ) const

Get the integration where this component was declared as a string.

Returns "<unknown>" if source not set

Definition at line 108 of file component.cpp.

◆ get_component_state()

uint32_t esphome::Component::get_component_state ( ) const

Definition at line 81 of file component.cpp.

◆ get_loop_priority()

float esphome::Component::get_loop_priority ( ) const
virtual

priority of loop().

higher -> executed earlier

Defaults to 0.

Returns
The loop priority of this component

Reimplemented in esphome::wifi::WiFiComponent, esphome::deep_sleep::DeepSleepComponent, esphome::status_led::StatusLEDLightOutput, esphome::pca9554::PCA9554Component, and esphome::status_led::StatusLED.

Definition at line 44 of file component.cpp.

◆ get_setup_priority()

float esphome::Component::get_setup_priority ( ) const
virtual

priority of setup().

higher -> executed earlier

Defaults to 0.

Returns
The setup priority of this component

Reimplemented in esphome::nextion::Nextion, esphome::sensor::HeartbeatFilter, esphome::spi::SPIComponent, esphome::WaitUntilAction< Ts >, esphome::sensor::DebounceFilter, esphome::mqtt::MQTTMessageTrigger, esphome::sensor::TimeoutFilter, esphome::tsl2591::TSL2591Component, esphome::wifi::WiFiComponent, esphome::script::ScriptWaitAction< C, Ts >, esphome::sensor::ThrottleAverageFilter, esphome::mqtt::MQTTClientComponent, esphome::fastled_base::FastLEDLightOutput, esphome::esp32_ble_tracker::ESP32BLETracker, esphome::ld2420::LD2420Component, esphome::seeed_mr24hpc1::MR24HPC1Component, esphome::pn7160::PN7160, esphome::DelayAction< Ts >, esphome::esp32_camera::ESP32Camera, esphome::pn7150::PN7150, esphome::ProjectUpdateTrigger, esphome::graph::Graph, esphome::sprinkler::SprinklerControllerSwitch, esphome::st7789v::ST7789V, esphome::LoopTrigger, esphome::wifi_info::BSSIDWiFiInfo, esphome::bedjet::BedJetHub, esphome::ble_presence::BLEPresenceDevice, esphome::ShutdownTrigger, esphome::binary_sensor::SettleFilter, esphome::web_server::WebServer, esphome::StartupTrigger, esphome::sprinkler::SprinklerControllerNumber, esphome::veml7700::VEML7700Component, esphome::web_server_base::WebServerBase, esphome::binary_sensor::MultiClickTrigger, esphome::emc2101::Emc2101Component, esphome::mqtt::MQTTComponent, esphome::wifi_info::SSIDWiFiInfo, esphome::bme680::BME680Component, esphome::inkplate6::Inkplate6, esphome::deep_sleep::DeepSleepComponent, esphome::mpl3115a2::MPL3115A2Component, esphome::binary_sensor::AutorepeatFilter, esphome::ble_rssi::BLERSSISensor, esphome::globals::RestoringGlobalStringComponent< T, SZ >, esphome::logger::Logger, esphome::neopixelbus::NeoPixelBusLightOutputBase< T_METHOD, T_COLOR_FEATURE >, esphome::ade7880::ADE7880, esphome::kamstrup_kmp::KamstrupKMPComponent, esphome::wifi_info::ScanResultsWiFiInfo, esphome::esp32_ble::ESP32BLE, esphome::qmp6988::QMP6988Component, esphome::rotary_encoder::RotaryEncoderSensor, esphome::ForCondition< Ts >, esphome::midea::ApplianceBase< T >, esphome::midea::ApplianceBase< dudanov::midea::ac::AirConditioner >, esphome::as7341::AS7341Component, esphome::tuya::Tuya, esphome::cs5460a::CS5460AComponent, esphome::max31856::MAX31856Sensor, esphome::bme280_base::BME280Component, esphome::pulse_counter::PulseCounterSensor, esphome::sgp4x::SGP4xComponent, esphome::bmp3xx::BMP3XXComponent, esphome::mpr121::MPR121Component, esphome::daly_bms::DalyBmsComponent, esphome::zyaura::ZyAuraSensor, esphome::canbus::Canbus, esphome::tsl2561::TSL2561Sensor, esphome::template_::TemplateText, esphome::bmp280::BMP280Component, esphome::micro_wake_word::MicroWakeWord, esphome::ota::OTAComponent, esphome::veml3235::VEML3235Sensor, esphome::bme680_bsec::BME680BSECComponent, esphome::bmp581::BMP581Component, esphome::tmp1075::TMP1075Sensor, esphome::binary_sensor::DelayedOffFilter, esphome::st7567_base::ST7567, esphome::number::ValueRangeTrigger, esphome::wifi_info::DNSAddressWifiInfo, esphome::hydreon_rgxx::HydreonRGxxComponent, esphome::ili9xxx::ILI9XXXDisplay, esphome::sonoff_d1::SonoffD1Output, esphome::voice_assistant::VoiceAssistant, esphome::esp32_touch::ESP32TouchComponent, esphome::tcs34725::TCS34725Component, esphome::prometheus::PrometheusHandler, esphome::uart::ESP8266UartComponent, esphome::as5600::AS5600Component, esphome::light::LightState, esphome::rp2040_pio_led_strip::RP2040PIOLEDStripLightOutput, esphome::dht::DHT, esphome::cd74hc4067::CD74HC4067Sensor, esphome::mopeka_std_check::MopekaStdCheck, esphome::ruuvitag::RuuviTag, esphome::sen5x::SEN5XComponent, esphome::sensor::ValueRangeTrigger, esphome::ssd1306_base::SSD1306, esphome::max6956::MAX6956, esphome::binary_sensor::DelayedOnFilter, esphome::cap1188::CAP1188Component, esphome::ethernet::EthernetComponent, esphome::st7735::ST7735, esphome::ina226::INA226Component, esphome::mcp4728::MCP4728Component, esphome::ads1115::ADS1115Component, esphome::ltr390::LTR390Component, esphome::pca9685::PCA9685Output, esphome::sm2135::SM2135, esphome::tlc59208f::TLC59208FOutput, esphome::globals::RestoringGlobalsComponent< T >, esphome::improv_serial::ImprovSerialComponent, esphome::alpha3::Alpha3, esphome::dps310::DPS310Component, esphome::hbridge::HBridgeLightOutput, esphome::i2s_audio::I2SAudioSpeaker, esphome::esp32_ble_beacon::ESP32BLEBeacon, esphome::hmc5883l::HMC5883LComponent, esphome::http_request::HttpRequestComponent, esphome::max7219digit::MAX7219Component, esphome::pvvx_mithermometer::PVVXDisplay, esphome::esp32_ble_server::BLEServer, esphome::ezo::EZOSensor, esphome::gps::GPS, esphome::max9611::MAX9611Component, esphome::esp32_improv::ESP32ImprovComponent, esphome::ms8607::MS8607Component, esphome::template_::TemplateCover, esphome::adc::ADCSensor, esphome::qwiic_pir::QwiicPIRComponent, esphome::wireguard::Wireguard, esphome::dac7678::DAC7678Output, esphome::pn532::PN532, esphome::tx20::Tx20Component, esphome::ads1118::ADS1118, esphome::max31865::MAX31865Sensor, esphome::mcp23016::MCP23016, esphome::mopeka_pro_check::MopekaProCheck, esphome::pylontech::PylontechComponent, esphome::am2315c::AM2315C, esphome::pcd8544::PCD8544, esphome::sx1509::SX1509Component, esphome::binary_sensor::DelayedOnOffFilter, esphome::haier::HaierClimateBase, esphome::pmsa003i::PMSA003IComponent, esphome::pulse_width::PulseWidthSensor, esphome::sgp30::SGP30Component, esphome::ssd1325_base::SSD1325, esphome::tm1637::TM1637Display, esphome::ags10::AGS10Component, esphome::hlw8012::HLW8012Component, esphome::mdns::MDNSComponent, esphome::pmsx003::PMSX003Component, esphome::e131::E131Component, esphome::power_supply::PowerSupply, esphome::qmc5883l::QMC5883LComponent, esphome::tm1621::TM1621Display, esphome::vbus::VBus, esphome::vl53l0x::VL53L0XSensor, esphome::wiegand::Wiegand, esphome::ble_scanner::BLEScanner, esphome::status_led::StatusLEDLightOutput, esphome::cse7761::CSE7761Component, esphome::esp32_rmt_led_strip::ESP32RMTLEDStripLightOutput, esphome::ethernet_info::IPAddressEthernetInfo, esphome::ssd1351_base::SSD1351, esphome::time::CronTrigger, esphome::integration::IntegrationSensor, esphome::modbus_controller::ModbusNumber, esphome::pulse_meter::PulseMeterSensor, esphome::ssd1322_base::SSD1322, esphome::ssd1327_base::SSD1327, esphome::anova::Anova, esphome::display_menu_base::DisplayMenuComponent, esphome::esp32_camera_web_server::CameraWebServer, esphome::i2s_audio::I2SAudioMediaPlayer, esphome::ledc::LEDCOutput, esphome::scd30::SCD30Component, esphome::sps30::SPS30Component, esphome::tca9548a::TCA9548AComponent, esphome::tlc5947::TLC5947, esphome::tm1638::TM1638Component, esphome::wifi_info::IPAddressWiFiInfo, esphome::xl9535::XL9535Component, esphome::atc_mithermometer::ATCMiThermometer, esphome::bp1658cj::BP1658CJ, esphome::ccs811::CCS811Component, esphome::esp32_ble_client::BLEClientBase, esphome::htu21d::HTU21DComponent, esphome::lcd_menu::LCDCharacterMenuComponent, esphome::pvvx_mithermometer::PVVXMiThermometer, esphome::resistance::ResistanceSensor, esphome::rp2040_pwm::RP2040PWM, esphome::ttp229_bsf::TTP229BSFComponent, esphome::ultrasonic::UltrasonicSensorComponent, esphome::absolute_humidity::AbsoluteHumidityComponent, esphome::ble_client::BLESensor, esphome::captive_portal::CaptivePortal, esphome::esp8266_pwm::ESP8266PWM, esphome::max7219::MAX7219Component, esphome::mcp9600::MCP9600Component, esphome::api::APIServer, esphome::ezo_pmp::EzoPMP, esphome::hm3301::HM3301Component, esphome::hx711::HX711Sensor, esphome::interval::IntervalTrigger, esphome::my9231::MY9231OutputComponent, esphome::st7920::ST7920, esphome::total_daily_energy::TotalDailyEnergy, esphome::ttp229_lsf::TTP229LSFComponent, esphome::uln2003::ULN2003, esphome::xiaomi_miscale::XiaomiMiscale, esphome::xiaomi_rtcgq02lm::XiaomiRTCGQ02LM, esphome::am43::Am43Component, esphome::am43::Am43, esphome::duty_cycle::DutyCycleSensor, esphome::libretiny_pwm::LibreTinyPWM, esphome::modbus::Modbus, esphome::pca9554::PCA9554Component, esphome::pcf8574::PCF8574Component, esphome::sm10bit_base::Sm10BitBase, esphome::sntp::SNTPComponent, esphome::ssd1331_base::SSD1331, esphome::t6615::T6615Component, esphome::bh1750::BH1750Sensor, esphome::i2c::ArduinoI2CBus, esphome::i2c::IDFI2CBus, esphome::lcd_base::LCDDisplay, esphome::rdm6300::RDM6300Component, esphome::sm16716::SM16716, esphome::template_::TemplateSwitch, esphome::tt21100::TT21100Touchscreen, esphome::xiaomi_cgpr1::XiaomiCGPR1, esphome::xiaomi_mjyd02yla::XiaomiMJYD02YLA, esphome::ble_client::BLETextSensor, esphome::htu31d::HTU31DComponent, esphome::pca6416a::PCA6416AComponent, esphome::sds011::SDS011Component, esphome::servo::Servo, esphome::slow_pwm::SlowPWMOutput, esphome::template_::TemplateDate, esphome::template_::TemplateLock, esphome::xiaomi_wx08zm::XiaomiWX08ZM, esphome::adc128s102::ADC128S102Sensor, esphome::bedjet::BedJetClimate, esphome::ble_client::BLEClientSwitch, esphome::bp5758d::BP5758D, esphome::cse7766::CSE7766Component, esphome::debug::DebugComponent, esphome::duty_time_sensor::DutyTimeSensor, esphome::ens160::ENS160Component, esphome::mcp3008::MCP3008Sensor, esphome::mcp3204::MCP3204Sensor, esphome::rc522::RC522, esphome::scd4x::SCD4XComponent, esphome::sn74hc595::SN74HC595Component, esphome::xiaomi_mue4094rt::XiaomiMUE4094RT, esphome::atm90e32::ATM90E32Component, esphome::ble_client::BLEClientRSSISensor, esphome::bmp085::BMP085Component, esphome::dallas::DallasComponent, esphome::esp32_dac::ESP32DAC, esphome::fs3000::FS3000Component, esphome::hdc1080::HDC1080Component, esphome::honeywellabp2_i2c::HONEYWELLABP2Sensor, esphome::max31855::MAX31855Sensor, esphome::shelly_dimmer::ShellyDimmer, esphome::uart::RP2040UartComponent, esphome::xiaomi_cgg1::XiaomiCGG1, esphome::bedjet::BedJetFan, esphome::gpio::GPIOBinaryOutput, esphome::honeywellabp::HONEYWELLABPSensor, esphome::kmeteriso::KMeterISOComponent, esphome::libretiny::LTComponent, esphome::mcp3204::MCP3204, esphome::mmc5603::MMC5603Component, esphome::mqtt_subscribe::MQTTSubscribeSensor, esphome::mqtt_subscribe::MQTTSubscribeTextSensor, esphome::pm1006::PM1006Component, esphome::sdp3x::SDP3XComponent, esphome::sht3xd::SHT3XDComponent, esphome::sht4x::SHT4XComponent, esphome::shtcx::SHTCXComponent, esphome::smt100::SMT100Component, esphome::uart::ESP32ArduinoUARTComponent, esphome::xiaomi_cgd1::XiaomiCGD1, esphome::xiaomi_cgdk2::XiaomiCGDK2, esphome::xiaomi_gcls002::XiaomiGCLS002, esphome::xiaomi_hhccjcy01::XiaomiHHCCJCY01, esphome::xiaomi_hhccpot002::XiaomiHHCCPOT002, esphome::xiaomi_jqjcy01ym::XiaomiJQJCY01YM, esphome::xiaomi_lywsd02::XiaomiLYWSD02, esphome::xiaomi_lywsd03mmc::XiaomiLYWSD03MMC, esphome::xiaomi_lywsdcgq::XiaomiLYWSDCGQ, esphome::xiaomi_mhoc303::XiaomiMHOC303, esphome::xiaomi_mhoc401::XiaomiMHOC401, esphome::aht10::AHT10Component, esphome::b_parasite::BParasite, esphome::ble_client::BLEBinaryOutput, esphome::emc2101::EMC2101Sensor, esphome::feedback::FeedbackCover, esphome::gpio::GPIOBinarySensor, esphome::hyt271::HYT271Component, esphome::iaqcore::IAQCore, esphome::inkbird_ibsth1_mini::InkbirdIbstH1Mini, esphome::max44009::MAX44009Sensor, esphome::mcp23xxx_base::MCP23XXXBase, esphome::a4988::A4988, esphome::adc128s102::ADC128S102, esphome::gp8403::GP8403, esphome::gpio::GPIOSwitch, esphome::pmwcs3::PMWCS3Component, esphome::sn74hc165::SN74HC165Component, esphome::template_::TemplateNumber, esphome::template_::TemplateSelect, esphome::tmp102::TMP102Component, esphome::uart::LibreTinyUARTComponent, esphome::as5600::AS5600Sensor, esphome::bmi160::BMI160Component, esphome::current_based::CurrentBasedCover, esphome::ee895::EE895Component, esphome::max6675::MAX6675Sensor, esphome::max6956::MAX6956LedChannel, esphome::mcp3008::MCP3008, esphome::mlx90393::MLX90393Cls, esphome::mpu6050::MPU6050Component, esphome::mpu6886::MPU6886Component, esphome::ntc::NTC, esphome::sts3x::STS3XComponent, esphome::sx1509::SX1509FloatOutputChannel, esphome::template_::TemplateBinarySensor, esphome::template_::TemplateSensor, esphome::wifi_signal::WiFiSignalSensor, esphome::atm90e26::ATM90E26Component, esphome::cd74hc4067::CD74HC4067Component, esphome::ct_clamp::CTClampSensor, esphome::endstop::EndstopCover, esphome::he60r::HE60rCover, esphome::homeassistant::HomeassistantTime, esphome::hte501::HTE501Component, esphome::ina219::INA219Component, esphome::ina260::INA260Component, esphome::preferences::IntervalSyncer, esphome::spi_device::SPIDeviceComponent, esphome::status::StatusBinarySensor, esphome::status_led::StatusLED, esphome::template_::TemplateTextSensor, esphome::uart::IDFUARTComponent, esphome::analog_threshold::AnalogThresholdBinarySensor, esphome::ds1307::DS1307Component, esphome::gcja5::GCJA5Component, esphome::homeassistant::HomeassistantBinarySensor, esphome::homeassistant::HomeassistantSensor, esphome::homeassistant::HomeassistantTextSensor, esphome::ina3221::INA3221Component, esphome::mhz19::MHZ19Component, esphome::mlx90614::MLX90614Component, esphome::mmc5983::MMC5983Component, esphome::output::OutputSwitch, esphome::pcf85063::PCF85063Component, esphome::pcf8563::PCF8563Component, esphome::tee501::TEE501Component, esphome::time_based::TimeBasedCover, esphome::tof10120::TOF10120Sensor, esphome::waveshare_epaper::WaveshareEPaperBase, esphome::am2320::AM2320Component, esphome::copy::CopyBinarySensor, esphome::copy::CopyCover, esphome::copy::CopyFan, esphome::copy::CopyLock, esphome::copy::CopyNumber, esphome::copy::CopySelect, esphome::copy::CopySensor, esphome::copy::CopySwitch, esphome::copy::CopyText, esphome::copy::CopyTextSensor, esphome::dht12::DHT12Component, esphome::gp8403::GP8403Output, esphome::honeywell_hih_i2c::HoneywellHIComponent, esphome::mcp9808::MCP9808Sensor, esphome::ms5611::MS5611Component, esphome::output::OutputLock, esphome::sfa30::SFA30Component, esphome::tmp117::TMP117Component, esphome::uptime::UptimeSensor, esphome::version::VersionTextSensor, esphome::zio_ultrasonic::ZioUltrasonicComponent, esphome::combination::CombinationComponent, esphome::copy::CopyButton, esphome::ens210::ENS210Component, esphome::senseair::SenseAirComponent, and esphome::sm300d2::SM300D2Sensor.

Definition at line 46 of file component.cpp.

◆ has_overridden_loop()

bool esphome::Component::has_overridden_loop ( ) const

Definition at line 189 of file component.cpp.

◆ is_failed()

bool esphome::Component::is_failed ( )

Definition at line 138 of file component.cpp.

◆ is_ready()

bool esphome::Component::is_ready ( )

Definition at line 139 of file component.cpp.

◆ loop()

void esphome::Component::loop ( )
virtual

This method will be called repeatedly.

Analogous to Arduino's loop(). setup() is guaranteed to be called before this. Defaults to doing nothing.

Reimplemented in esphome::nextion::Nextion, esphome::modbus_controller::ModbusController, esphome::WaitUntilAction< Ts >, esphome::wifi::WiFiComponent, esphome::script::ScriptWaitAction< C, Ts >, esphome::mqtt::MQTTClientComponent, esphome::sprinkler::Sprinkler, esphome::esp32_ble_tracker::ESP32BLETracker, esphome::seeed_mr24hpc1::MR24HPC1Component, esphome::pn7160::PN7160, esphome::esp32_camera::ESP32Camera, esphome::pn7150::PN7150, esphome::sprinkler::SprinklerControllerSwitch, esphome::micronova::MicroNova, esphome::LoopTrigger, esphome::bedjet::BedJetHub, esphome::script::QueueingScript< Ts >, esphome::ble_presence::BLEPresenceDevice, esphome::ld2420::LD2420Component, esphome::web_server::WebServer, esphome::veml7700::VEML7700Component, esphome::deep_sleep::DeepSleepComponent, esphome::globals::RestoringGlobalStringComponent< T, SZ >, esphome::kamstrup_kmp::KamstrupKMPComponent, esphome::ForCondition< Ts >, esphome::esp32_ble::ESP32BLE, esphome::rotary_encoder::RotaryEncoderSensor, esphome::touchscreen::Touchscreen, esphome::tuya::Tuya, esphome::ade7880::ADE7880, esphome::midea::ApplianceBase< T >, esphome::midea::ApplianceBase< dudanov::midea::ac::AirConditioner >, esphome::cs5460a::CS5460AComponent, esphome::mpr121::MPR121Component, esphome::uart::UARTDummyReceiver, esphome::uponor_smatrix::UponorSmatrixComponent, esphome::bl0939::BL0939, esphome::bl0940::BL0940, esphome::canbus::Canbus, esphome::daly_bms::DalyBmsComponent, esphome::ota::OTAComponent, esphome::bme680_bsec::BME680BSECComponent, esphome::micro_wake_word::MicroWakeWord, esphome::thermostat::ThermostatClimate, esphome::logger::Logger, esphome::tm1637::TM1637Display, esphome::dsmr::Dsmr, esphome::template_::TemplateAlarmControlPanel, esphome::voice_assistant::VoiceAssistant, esphome::esp32_touch::ESP32TouchComponent, esphome::sim800l::Sim800LComponent, esphome::sonoff_d1::SonoffD1Output, esphome::bluetooth_proxy::BluetoothProxy, esphome::ble_client::BLEClient, esphome::hydreon_rgxx::HydreonRGxxComponent, esphome::light::LightState, esphome::cap1188::CAP1188Component, esphome::mcp4728::MCP4728Component, esphome::rf_bridge::RFBridgeComponent, esphome::sm2135::SM2135, esphome::tm1638::TM1638Component, esphome::ethernet::EthernetComponent, esphome::globals::RestoringGlobalsComponent< T >, esphome::pca9685::PCA9685Output, esphome::tlc59208f::TLC59208FOutput, esphome::i2s_audio::I2SAudioSpeaker, esphome::rtttl::Rtttl, esphome::slow_pwm::SlowPWMOutput, esphome::binary_sensor_map::BinarySensorMap, esphome::gps::GPS, esphome::improv_serial::ImprovSerialComponent, esphome::pn532::PN532, esphome::bl0942::BL0942, esphome::esp32_ble_server::BLEServer, esphome::tx20::Tx20Component, esphome::ezo::EZOSensor, esphome::sx1509::SX1509Component, esphome::template_::TemplateCover, esphome::max7219digit::MAX7219Component, esphome::qwiic_pir::QwiicPIRComponent, esphome::vl53l0x::VL53L0XSensor, esphome::wl_134::Wl134Component, esphome::esp32_improv::ESP32ImprovComponent, esphome::wiegand::Wiegand, esphome::pmsx003::PMSX003Component, esphome::wireguard::Wireguard, esphome::e131::E131Component, esphome::esp32_camera_web_server::CameraWebServer, esphome::haier::HaierClimateBase, esphome::mdns::MDNSComponent, esphome::pylontech::PylontechComponent, esphome::tlc5947::TLC5947, esphome::vbus::VBus, esphome::bp1658cj::BP1658CJ, esphome::i2s_audio::I2SAudioMediaPlayer, esphome::time::CronTrigger, esphome::pulse_meter::PulseMeterSensor, esphome::sm10bit_base::Sm10BitBase, esphome::ttp229_bsf::TTP229BSFComponent, esphome::absolute_humidity::AbsoluteHumidityComponent, esphome::dfplayer::DFPlayer, esphome::ezo_pmp::EzoPMP, esphome::my9231::MY9231OutputComponent, esphome::sntp::SNTPComponent, esphome::teleinfo::TeleInfo, esphome::api::APIServer, esphome::esp32_ble_client::BLEClientBase, esphome::sm16716::SM16716, esphome::t6615::T6615Component, esphome::total_daily_energy::TotalDailyEnergy, esphome::ttp229_lsf::TTP229LSFComponent, esphome::bp5758d::BP5758D, esphome::anova::Anova, esphome::matrix_keypad::MatrixKeypad, esphome::rc522::RC522, esphome::sml::Sml, esphome::uart::UARTDebugger, esphome::uln2003::ULN2003, esphome::ble_client::BLESensor, esphome::captive_portal::CaptivePortal, esphome::growatt_solar::GrowattSolar, esphome::status_led::StatusLEDLightOutput, esphome::template_::TemplateSwitch, esphome::am43::Am43Component, esphome::cse7766::CSE7766Component, esphome::gpio::GPIOBinarySensor, esphome::sds011::SDS011Component, esphome::template_::TemplateLock, esphome::debug::DebugComponent, esphome::duty_time_sensor::DutyTimeSensor, esphome::kuntze::Kuntze, esphome::bedjet::BedJetClimate, esphome::ble_client::BLEClientSwitch, esphome::honeywellabp2_i2c::HONEYWELLABP2Sensor, esphome::i2s_audio::I2SAudioMicrophone, esphome::modbus::Modbus, esphome::pzem004t::PZEM004T, esphome::rdm6300::RDM6300Component, esphome::atm90e32::ATM90E32Component, esphome::ble_client::BLEBinaryOutput, esphome::ble_client::BLEClientRSSISensor, esphome::ble_client::BLETextSensor, esphome::a01nyub::A01nyubComponent, esphome::a02yyuw::A02yyuwComponent, esphome::a4988::A4988, esphome::feedback::FeedbackCover, esphome::pca9554::PCA9554Component, esphome::pm1006::PM1006Component, esphome::servo::Servo, esphome::smt100::SMT100Component, esphome::sn74hc165::SN74HC165Component, esphome::current_based::CurrentBasedCover, esphome::honeywell_hih_i2c::HoneywellHIComponent, esphome::hrxl_maxsonar_wr::HrxlMaxsonarWrComponent, esphome::status_led::StatusLED, esphome::uart::UARTSwitch, esphome::ct_clamp::CTClampSensor, esphome::endstop::EndstopCover, esphome::gcja5::GCJA5Component, esphome::he60r::HE60rCover, esphome::template_::TemplateBinarySensor, esphome::key_collector::KeyCollector, esphome::time_based::TimeBasedCover, esphome::tuya::TuyaClimate, esphome::uponor_smatrix::UponorSmatrixClimate, and esphome::status::StatusBinarySensor.

Definition at line 50 of file component.cpp.

◆ mark_failed()

void esphome::Component::mark_failed ( )
virtual

Mark this component as failed.

Any future timeouts/intervals/setup/loop will no longer be called.

This might be useful if a component wants to indicate that a connection to its peripheral failed. For example, i2c based components can check if the remote device is responding and otherwise mark the component as failed. Eventually this will also enable smart status LEDs.

Definition at line 113 of file component.cpp.

◆ on_safe_shutdown()

virtual void esphome::Component::on_safe_shutdown ( )
inlinevirtual

◆ on_shutdown()

virtual void esphome::Component::on_shutdown ( )
inlinevirtual

◆ set_component_source()

void esphome::Component::set_component_source ( const char *  source)
inline

Set where this component was loaded from for some debug messages.

This is set by the ESPHome core, and should not be called manually.

Definition at line 149 of file component.h.

◆ set_interval() [1/2]

void esphome::Component::set_interval ( const std::string &  name,
uint32_t  interval,
std::function< void()> &&  f 
)
protected

Set an interval function with a unique name.

Empty name means no cancelling possible.

This will call f every interval ms. Can be cancelled via CancelInterval(). Similar to javascript's setInterval().

IMPORTANT: Do not rely on this having correct timing. This is only called from loop() and therefore can be significantly delay. If you need exact timing please use hardware timers.

Parameters
nameThe identifier for this interval function.
intervalThe interval in ms.
fThe function (or lambda) that should be called
See also
cancel_interval()

Definition at line 52 of file component.cpp.

◆ set_interval() [2/2]

void esphome::Component::set_interval ( uint32_t  interval,
std::function< void()> &&  f 
)
protected

Definition at line 131 of file component.cpp.

◆ set_retry() [1/2]

void esphome::Component::set_retry ( const std::string &  name,
uint32_t  initial_wait_time,
uint8_t  max_attempts,
std::function< RetryResult(uint8_t)> &&  f,
float  backoff_increase_factor = 1.0f 
)
protected

Set an retry function with a unique name.

Empty name means no cancelling possible.

This will call the retry function f on the next scheduler loop. f should return RetryResult::DONE if it is successful and no repeat is required. Otherwise, returning RetryResult::RETRY will call f again in the future.

The first retry of f happens after initial_wait_time milliseconds. The delay between retries is increased by multiplying by backoff_increase_factor each time. If no backoff_increase_factor is supplied (default = 1.0), the wait time will stay constant.

The retry function f needs to accept a single argument: the number of attempts remaining. On the final retry of f, this value will be 0.

This retry function can also be cancelled by name via cancel_retry().

IMPORTANT: Do not rely on this having correct timing. This is only called from loop() and therefore can be significantly delayed.

REMARK: It is an error to supply a negative or zero backoff_increase_factor, and 1.0 will be used instead.

REMARK: The interval between retries is stored into a uint32_t, so this doesn't behave correctly if initial_wait_time * (backoff_increase_factor ** (max_attempts - 2)) overflows.

Parameters
nameThe identifier for this retry function.
initial_wait_timeThe time in ms before f is called again
max_attemptsThe maximum number of executions
fThe function (or lambda) that should be called
backoff_increase_factortime between retries is multiplied by this factor on every retry after the first
See also
cancel_retry()

Definition at line 60 of file component.cpp.

◆ set_retry() [2/2]

void esphome::Component::set_retry ( uint32_t  initial_wait_time,
uint8_t  max_attempts,
std::function< RetryResult(uint8_t)> &&  f,
float  backoff_increase_factor = 1.0f 
)
protected

Definition at line 134 of file component.cpp.

◆ set_setup_priority()

void esphome::Component::set_setup_priority ( float  priority)

Definition at line 187 of file component.cpp.

◆ set_timeout() [1/2]

void esphome::Component::set_timeout ( const std::string &  name,
uint32_t  timeout,
std::function< void()> &&  f 
)
protected

Set a timeout function with a unique name.

Similar to javascript's setTimeout(). Empty name means no cancelling possible.

IMPORTANT: Do not rely on this having correct timing. This is only called from loop() and therefore can be significantly delay. If you need exact timing please use hardware timers.

Parameters
nameThe identifier for this timeout function.
timeoutThe timeout in ms.
fThe function (or lambda) that should be called
See also
cancel_timeout()

Definition at line 69 of file component.cpp.

◆ set_timeout() [2/2]

void esphome::Component::set_timeout ( uint32_t  timeout,
std::function< void()> &&  f 
)
protected

Definition at line 128 of file component.cpp.

◆ setup()

void esphome::Component::setup ( )
virtual

Where the component's initialization should happen.

Analogous to Arduino's setup(). This method is guaranteed to only be called once. Defaults to doing nothing.

Reimplemented in esphome::nextion::Nextion, esphome::waveshare_epaper::WaveshareEPaper2P13InV3, esphome::modbus_controller::ModbusController, esphome::spi::SPIComponent, esphome::sensor::HeartbeatFilter, esphome::mqtt::MQTTMessageTrigger, esphome::tsl2591::TSL2591Component, esphome::wifi::WiFiComponent, esphome::sensor::ThrottleAverageFilter, esphome::mqtt::MQTTClientComponent, esphome::fastled_base::FastLEDLightOutput, esphome::sprinkler::Sprinkler, esphome::esp32_ble_tracker::ESP32BLETracker, esphome::seeed_mr24hpc1::MR24HPC1Component, esphome::pn7160::PN7160, esphome::zhlt01::ZHLT01Climate, esphome::esp32_camera::ESP32Camera, esphome::canbus::CanbusTrigger, esphome::pn7150::PN7150, esphome::graph::Graph, esphome::ProjectUpdateTrigger, esphome::wifi_info::MacAddressWifiInfo, esphome::st7789v::ST7789V, esphome::micronova::MicroNova, esphome::sprinkler::SprinklerControllerSwitch, esphome::bedjet::BedJetHub, esphome::ld2420::LD2420Component, esphome::inkplate6::Inkplate6, esphome::web_server::WebServer, esphome::StartupTrigger, esphome::veml7700::VEML7700Component, esphome::sprinkler::SprinklerControllerNumber, esphome::bme680::BME680Component, esphome::emc2101::Emc2101Component, esphome::binary_sensor::MultiClickTrigger, esphome::fingerprint_grow::FingerprintGrowComponent, esphome::heatpumpir::HeatpumpIRClimate, esphome::deep_sleep::DeepSleepComponent, esphome::mpl3115a2::MPL3115A2Component, esphome::combination::LinearCombinationComponent, esphome::sn74hc595::SN74HC595SPIComponent, esphome::qmp6988::QMP6988Component, esphome::esp32_ble::ESP32BLE, esphome::ili9xxx::ILI9XXXDisplay, esphome::tuya::Tuya, esphome::globals::RestoringGlobalStringComponent< T, SZ >, esphome::rotary_encoder::RotaryEncoderSensor, esphome::ade7880::ADE7880, esphome::midea::ApplianceBase< T >, esphome::midea::ApplianceBase< dudanov::midea::ac::AirConditioner >, esphome::ade7953_base::ADE7953, esphome::as7341::AS7341Component, esphome::cs5460a::CS5460AComponent, esphome::max31856::MAX31856Sensor, esphome::bme280_base::BME280Component, esphome::pulse_counter::PulseCounterSensor, esphome::bmp3xx::BMP3XXComponent, esphome::neopixelbus::NeoPixelBusLightOutputBase< T_METHOD, T_COLOR_FEATURE >, esphome::bl0939::BL0939, esphome::bl0940::BL0940, esphome::mpr121::MPR121Component, esphome::sgp4x::SGP4xComponent, esphome::uponor_smatrix::UponorSmatrixComponent, esphome::sn74hc595::SN74HC595GPIOComponent, esphome::zyaura::ZyAuraSensor, esphome::bmp581::BMP581Component, esphome::canbus::Canbus, esphome::tsl2561::TSL2561Sensor, esphome::bmp280::BMP280Component, esphome::micro_wake_word::MicroWakeWord, esphome::ota::OTAComponent, esphome::pid::PIDSimulator, esphome::template_::TemplateText, esphome::bme680_bsec::BME680BSECComponent, esphome::veml3235::VEML3235Sensor, esphome::qspi_amoled::QspiAmoLed, esphome::thermostat::ThermostatClimate, esphome::combination::KalmanCombinationComponent, esphome::tmp1075::TMP1075Sensor, esphome::number::ValueRangeTrigger, esphome::dsmr::Dsmr, esphome::tcs34725::TCS34725Component, esphome::template_::TemplateAlarmControlPanel, esphome::voice_assistant::VoiceAssistant, esphome::grove_tb6612fng::GroveMotorDriveTB6612FNG, esphome::hydreon_rgxx::HydreonRGxxComponent, esphome::sonoff_d1::SonoffD1Output, esphome::esp32_touch::ESP32TouchComponent, esphome::sen5x::SEN5XComponent, esphome::uart::ESP8266UartComponent, esphome::rp2040_pio_led_strip::RP2040PIOLEDStripLightOutput, esphome::as5600::AS5600Component, esphome::ble_client::BLEClient, esphome::prometheus::PrometheusHandler, esphome::ac_dimmer::AcDimmer, esphome::light::LightState, esphome::pcd8544::PCD8544, esphome::ltr390::LTR390Component, esphome::cap1188::CAP1188Component, esphome::dht::DHT, esphome::ethernet::EthernetComponent, esphome::ina226::INA226Component, esphome::mcp4728::MCP4728Component, esphome::i2s_audio::I2SAudioSpeaker, esphome::ads1115::ADS1115Component, esphome::pca9685::PCA9685Output, esphome::tlc59208f::TLC59208FOutput, esphome::max6956::MAX6956, esphome::addressable_light::AddressableLightDisplay, esphome::bl0942::BL0942, esphome::ft5x06::FT5x06Touchscreen, esphome::sensor::ValueRangeTrigger, esphome::sm2135::SM2135, esphome::st7735::ST7735, esphome::dps310::DPS310Component, esphome::improv_serial::ImprovSerialComponent, esphome::cst816::CST816Touchscreen, esphome::esp32_ble_beacon::ESP32BLEBeacon, esphome::hmc5883l::HMC5883LComponent, esphome::alpha3::Alpha3, esphome::climate_ir::ClimateIR, esphome::globals::RestoringGlobalsComponent< T >, esphome::max9611::MAX9611Component, esphome::st7567_base::ST7567, esphome::esp32_ble_server::BLEServer, esphome::graphical_display_menu::GraphicalDisplayMenu, esphome::ms8607::MS8607Component, esphome::adc::ADCSensor, esphome::dac7678::DAC7678Output, esphome::esp32_improv::ESP32ImprovComponent, esphome::template_::TemplateCover, esphome::tx20::Tx20Component, esphome::ads1118::ADS1118, esphome::am2315c::AM2315C, esphome::max31865::MAX31865Sensor, esphome::mqtt::MQTTSensorComponent, esphome::qwiic_pir::QwiicPIRComponent, esphome::ufire_ise::UFireISEComponent, esphome::wl_134::Wl134Component, esphome::max7219digit::MAX7219Component, esphome::pylontech::PylontechComponent, esphome::st7701s::ST7701S, esphome::sx1509::SX1509Component, esphome::wiegand::Wiegand, esphome::pn532::PN532, esphome::pulse_width::PulseWidthSensor, esphome::hlw8012::HLW8012Component, esphome::pmsa003i::PMSA003IComponent, esphome::sgp30::SGP30Component, esphome::wireguard::Wireguard, esphome::e131::E131Component, esphome::haier::HaierClimateBase, esphome::mcp23016::MCP23016, esphome::qmc5883l::QMC5883LComponent, esphome::sigma_delta_output::SigmaDeltaOutput, esphome::mqtt::MQTTFanComponent, esphome::power_supply::PowerSupply, esphome::toshiba::ToshibaClimate, esphome::ufire_ec::UFireECComponent, esphome::vl53l0x::VL53L0XSensor, esphome::waveshare_epaper::WaveshareEPaperBase, esphome::cse7761::CSE7761Component, esphome::esp32_rmt_led_strip::ESP32RMTLEDStripLightOutput, esphome::modbus_controller::ModbusSwitch, esphome::ssd1306_base::SSD1306, esphome::teleinfo::TeleInfo, esphome::ags10::AGS10Component, esphome::combination::CombinationNoParameterComponent, esphome::i2s_audio::I2SAudioMediaPlayer, esphome::integration::IntegrationSensor, esphome::mdns::MDNSComponent, esphome::pulse_meter::PulseMeterSensor, esphome::sen0321_sensor::Sen0321Sensor, esphome::status_led::StatusLEDLightOutput, esphome::tm1637::TM1637Display, esphome::whirlpool::WhirlpoolClimate, esphome::hbridge::HBridgeFan, esphome::hbridge::HBridgeLightOutput, esphome::lcd_menu::LCDCharacterMenuComponent, esphome::sm10bit_base::Sm10BitBase, esphome::tca9548a::TCA9548AComponent, esphome::tm1651::TM1651Display, esphome::xl9535::XL9535Component, esphome::esp32_ble_client::BLEClientBase, esphome::esp32_camera_web_server::CameraWebServer, esphome::ledc::LEDCOutput, esphome::lightwaverf::LightWaveRF, esphome::scd30::SCD30Component, esphome::sps30::SPS30Component, esphome::tm1638::TM1638Component, esphome::ttp229_bsf::TTP229BSFComponent, esphome::absolute_humidity::AbsoluteHumidityComponent, esphome::mqtt::MQTTDateComponent, esphome::mqtt::MQTTNumberComponent, esphome::mqtt::MQTTSelectComponent, esphome::mqtt::MQTTTextComponent, esphome::rp2040_pwm::RP2040PWM, esphome::rpi_dpi_rgb::RpiDpiRgb, esphome::tlc5947::TLC5947, esphome::api::APIServer, esphome::bp1658cj::BP1658CJ, esphome::duty_cycle::DutyCycleSensor, esphome::esp8266_pwm::ESP8266PWM, esphome::hm3301::HM3301Component, esphome::hx711::HX711Sensor, esphome::pid::PIDClimateSensor, esphome::st7920::ST7920, esphome::total_daily_energy::TotalDailyEnergy, esphome::ttp229_lsf::TTP229LSFComponent, esphome::xpt2046::XPT2046Component, esphome::anova::Anova, esphome::bang_bang::BangBangClimate, esphome::ft63x6::FT63X6Touchscreen, esphome::lcd_base::LCDDisplay, esphome::matrix_keypad::MatrixKeypad, esphome::mcp9600::MCP9600Component, esphome::my9231::MY9231OutputComponent, esphome::scd4x::SCD4XComponent, esphome::shelly_dimmer::ShellyDimmer, esphome::uln2003::ULN2003, esphome::ultrasonic::UltrasonicSensorComponent, esphome::ccs811::CCS811Component, esphome::libretiny_pwm::LibreTinyPWM, esphome::rc522_spi::RC522Spi, esphome::resistance::ResistanceSensor, esphome::tt21100::TT21100Touchscreen, esphome::bh1750::BH1750Sensor, esphome::globals::GlobalsComponent< T >, esphome::max7219::MAX7219Component, esphome::mqtt::MQTTBinarySensorComponent, esphome::servo::Servo, esphome::sht4x::SHT4XComponent, esphome::sn74hc595::SN74HC595Component, esphome::am43::Am43Component, esphome::am43::Am43, esphome::gpio::GPIOSwitch, esphome::i2c::ArduinoI2CBus, esphome::i2c::IDFI2CBus, esphome::i2s_audio::I2SAudioComponent, esphome::mqtt::MQTTButtonComponent, esphome::mqtt::MQTTClimateComponent, esphome::mqtt::MQTTJSONLightComponent, esphome::mqtt::MQTTLockComponent, esphome::mqtt::MQTTSwitchComponent, esphome::mqtt::MQTTTextSensor, esphome::noblex::NoblexClimate, esphome::pn7160_spi::PN7160Spi, esphome::slow_pwm::SlowPWMOutput, esphome::sm16716::SM16716, esphome::ssd1325_base::SSD1325, esphome::template_::TemplateDate, esphome::atm90e32::ATM90E32Component, esphome::captive_portal::CaptivePortal, esphome::dallas::DallasComponent, esphome::demo::DemoCover, esphome::ens160::ENS160Component, esphome::kmeteriso::KMeterISOComponent, esphome::max31855::MAX31855Sensor, esphome::sds011::SDS011Component, esphome::uart::RP2040UartComponent, esphome::ade7953_spi::AdE7953Spi, esphome::as3935_spi::SPIAS3935Component, esphome::bedjet::BedJetClimate, esphome::bmp085::BMP085Component, esphome::bp5758d::BP5758D, esphome::cst226::CST226Touchscreen, esphome::demo::DemoClimate, esphome::demo::DemoNumber, esphome::duty_time_sensor::DutyTimeSensor, esphome::ee895::EE895Component, esphome::esp32_dac::ESP32DAC, esphome::gt911::GT911Touchscreen, esphome::honeywellabp::HONEYWELLABPSensor, esphome::htu21d::HTU21DComponent, esphome::lilygo_t5_47::LilygoT547Touchscreen, esphome::mcp3204::MCP3204, esphome::mmc5603::MMC5603Component, esphome::mqtt::MQTTCoverComponent, esphome::mqtt_subscribe::MQTTSubscribeSensor, esphome::mqtt_subscribe::MQTTSubscribeTextSensor, esphome::pid::PIDClimate, esphome::sht3xd::SHT3XDComponent, esphome::shtcx::SHTCXComponent, esphome::tm1621::TM1621Display, esphome::tuya::TuyaCover, esphome::tuya::TuyaLight, esphome::uart::ESP32ArduinoUARTComponent, esphome::fs3000::FS3000Component, esphome::hte501::HTE501Component, esphome::max44009::MAX44009Sensor, esphome::mcp23s08::MCP23S08, esphome::mcp23s17::MCP23S17, esphome::mhz19::MHZ19Component, esphome::modbus::Modbus, esphome::nfc::NfcTagBinarySensor, esphome::pcf8574::PCF8574Component, esphome::pzem004t::PZEM004T, esphome::rc522::RC522, esphome::sdp3x::SDP3XComponent, esphome::sntp::SNTPComponent, esphome::ssd1351_base::SSD1351, esphome::touchscreen::TouchscreenBinarySensor, esphome::x9c::X9cOutput, esphome::xgzp68xx::XGZP68XXComponent, esphome::adc128s102::ADC128S102, esphome::aht10::AHT10Component, esphome::cst816::CST816Button, esphome::ektf2232::EKTF2232Touchscreen, esphome::feedback::FeedbackCover, esphome::gp8403::GP8403, esphome::gpio::GPIOBinarySensor, esphome::gt911::GT911Button, esphome::hdc1080::HDC1080Component, esphome::interval::IntervalTrigger, esphome::pn532_spi::PN532Spi, esphome::sn74hc165::SN74HC165Component, esphome::speed::SpeedFan, esphome::spi_led_strip::SpiLedStrip, esphome::ssd1306_spi::SPISSD1306, esphome::ssd1322_base::SSD1322, esphome::ssd1322_spi::SPISSD1322, esphome::ssd1325_spi::SPISSD1325, esphome::ssd1327_base::SSD1327, esphome::ssd1327_spi::SPISSD1327, esphome::ssd1331_spi::SPISSD1331, esphome::ssd1351_spi::SPISSD1351, esphome::st7567_spi::SPIST7567, esphome::tt21100::TT21100Button, esphome::uart::LibreTinyUARTComponent, esphome::a4988::A4988, esphome::ens210::ENS210Component, esphome::i2s_audio::I2SAudioMicrophone, esphome::iaqcore::IAQCore, esphome::max6675::MAX6675Sensor, esphome::max6956::MAX6956LedChannel, esphome::mcp23008::MCP23008, esphome::mcp23017::MCP23017, esphome::mcp3008::MCP3008, esphome::mlx90393::MLX90393Cls, esphome::ntc::NTC, esphome::pca6416a::PCA6416AComponent, esphome::pca9554::PCA9554Component, esphome::pm1006::PM1006Component, esphome::pmwcs3::PMWCS3Component, esphome::sfa30::SFA30Component, esphome::sts3x::STS3XComponent, esphome::sx1509::SX1509FloatOutputChannel, esphome::template_::TemplateNumber, esphome::template_::TemplateSelect, esphome::yashima::YashimaClimate, esphome::atm90e26::ATM90E26Component, esphome::cd74hc4067::CD74HC4067Component, esphome::current_based::CurrentBasedCover, esphome::gpio::GPIOBinaryOutput, esphome::ina219::INA219Component, esphome::mcp4725::MCP4725, esphome::output::OutputSwitch, esphome::sm2235::SM2235, esphome::sm2335::SM2335, esphome::template_::TemplateFan, esphome::template_::TemplateSwitch, esphome::tuya::TuyaSelect, esphome::uart::IDFUARTComponent, esphome::analog_threshold::AnalogThresholdBinarySensor, esphome::endstop::EndstopCover, esphome::he60r::HE60rCover, esphome::homeassistant::HomeassistantBinarySensor, esphome::homeassistant::HomeassistantSensor, esphome::homeassistant::HomeassistantTextSensor, esphome::htu31d::HTU31DComponent, esphome::lcd_pcf8574::PCF8574LCDDisplay, esphome::mmc5983::MMC5983Component, esphome::spi_device::SPIDeviceComponent, esphome::status::StatusBinarySensor, esphome::tee501::TEE501Component, esphome::template_::TemplateBinarySensor, esphome::tmp102::TMP102Component, esphome::tuya::TuyaFan, esphome::am2320::AM2320Component, esphome::binary::BinaryFan, esphome::bmi160::BMI160Component, esphome::copy::CopyBinarySensor, esphome::copy::CopyCover, esphome::copy::CopyFan, esphome::copy::CopyLock, esphome::copy::CopyNumber, esphome::copy::CopySelect, esphome::copy::CopySensor, esphome::copy::CopySwitch, esphome::copy::CopyText, esphome::copy::CopyTextSensor, esphome::demo::DemoSwitch, esphome::dht12::DHT12Component, esphome::ds1307::DS1307Component, esphome::gcja5::GCJA5Component, esphome::homeassistant::HomeassistantTime, esphome::ina260::INA260Component, esphome::ina3221::INA3221Component, esphome::lcd_gpio::GPIOLCDDisplay, esphome::mcp9808::MCP9808Sensor, esphome::mlx90614::MLX90614Component, esphome::mpu6050::MPU6050Component, esphome::mpu6886::MPU6886Component, esphome::ms5611::MS5611Component, esphome::pcf85063::PCF85063Component, esphome::pcf8563::PCF8563Component, esphome::preferences::IntervalSyncer, esphome::ssd1306_i2c::I2CSSD1306, esphome::ssd1327_i2c::I2CSSD1327, esphome::ssd1331_base::SSD1331, esphome::st7567_i2c::I2CST7567, esphome::time_based::TimeBasedCover, esphome::tmp117::TMP117Component, esphome::tof10120::TOF10120Sensor, esphome::tuya::TuyaBinarySensor, esphome::tuya::TuyaClimate, esphome::tuya::TuyaNumber, esphome::tuya::TuyaSensor, esphome::tuya::TuyaSwitch, esphome::tuya::TuyaTextSensor, esphome::version::VersionTextSensor, and esphome::demo::DemoBinarySensor.

Definition at line 48 of file component.cpp.

◆ status_clear_error()

void esphome::Component::status_clear_error ( )

Definition at line 167 of file component.cpp.

◆ status_clear_warning()

void esphome::Component::status_clear_warning ( )

Definition at line 161 of file component.cpp.

◆ status_has_error()

bool esphome::Component::status_has_error ( ) const

Definition at line 145 of file component.cpp.

◆ status_has_warning()

bool esphome::Component::status_has_warning ( ) const

Definition at line 144 of file component.cpp.

◆ status_momentary_error()

void esphome::Component::status_momentary_error ( const std::string &  name,
uint32_t  length = 5000 
)

Definition at line 177 of file component.cpp.

◆ status_momentary_warning()

void esphome::Component::status_momentary_warning ( const std::string &  name,
uint32_t  length = 5000 
)

Definition at line 173 of file component.cpp.

◆ status_set_error()

void esphome::Component::status_set_error ( const char *  message = "unspecified")

Definition at line 154 of file component.cpp.

◆ status_set_warning()

void esphome::Component::status_set_warning ( const char *  message = "unspecified")

Definition at line 146 of file component.cpp.

Field Documentation

◆ component_source_

const char* esphome::Component::component_source_ {nullptr}
protected

Definition at line 274 of file component.h.

◆ component_state_

uint32_t esphome::Component::component_state_ {0x0000}
protected

State of this component.

Definition at line 272 of file component.h.

◆ setup_priority_override_

float esphome::Component::setup_priority_override_ {NAN}
protected

Definition at line 273 of file component.h.


The documentation for this class was generated from the following files: