ESPHome  2022.9.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::a4988::A4988 esphome::ac_dimmer::AcDimmer esphome::ads1115::ADS1115Component esphome::am43::Am43Component esphome::analog_threshold::AnalogThresholdBinarySensor esphome::api::APIServer esphome::as3935::AS3935Component 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_map::BinarySensorMap esphome::ble_client::BLEBinaryOutput esphome::ble_client::BLEClient 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::canbus::Canbus esphome::canbus::CanbusTrigger esphome::cap1188::CAP1188Component esphome::captive_portal::CaptivePortal esphome::cd74hc4067::CD74HC4067Component esphome::climate_ir::ClimateIR 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::CopyTextSensor esphome::cs5460a::CS5460AComponent 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::dsmr::Dsmr esphome::e131::E131Component esphome::ektf2232::EKTF2232Touchscreen esphome::endstop::EndstopCover esphome::esp32_ble::ESP32BLE esphome::esp32_ble_beacon::ESP32BLEBeacon 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::globals::GlobalsComponent< T > esphome::globals::RestoringGlobalsComponent< T > esphome::gpio::GPIOBinaryOutput esphome::gpio::GPIOBinarySensor esphome::gpio::GPIOSwitch esphome::graph::Graph esphome::hbridge::HBridgeFan 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::I2SAudioMediaPlayer esphome::improv_serial::ImprovSerialComponent esphome::inkbird_ibsth1_mini::InkbirdIbstH1Mini esphome::integration::IntegrationSensor esphome::kalman_combinator::KalmanCombinatorComponent esphome::ledc::LEDCOutput esphome::light::AddressableLight esphome::light::LightState esphome::lilygo_t5_47::LilygoT547Touchscreen esphome::logger::Logger esphome::LoopTrigger 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::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::mpr121::MPR121Component esphome::mqtt::MQTTClientComponent esphome::mqtt::MQTTComponent esphome::mqtt::MQTTMessageTrigger esphome::mqtt_subscribe::MQTTSubscribeSensor esphome::mqtt_subscribe::MQTTSubscribeTextSensor esphome::my9231::MY9231OutputComponent esphome::ntc::NTC esphome::number::ValueRangeTrigger esphome::ota::OTAComponent esphome::output::OutputButton esphome::output::OutputLock esphome::output::OutputSwitch esphome::pca9685::PCA9685Output esphome::pcf8574::PCF8574Component esphome::pid::PIDClimate esphome::pid::PIDClimateSensor esphome::pipsolar::PipsolarSwitch esphome::pmsx003::PMSX003Component esphome::PollingComponent esphome::power_supply::PowerSupply esphome::preferences::IntervalSyncer esphome::prometheus::PrometheusHandler esphome::psram::PsramComponent esphome::pulse_meter::PulseMeterSensor esphome::pvvx_mithermometer::PVVXMiThermometer esphome::qr_code::QrCode 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::rtttl::Rtttl esphome::ruuvitag::RuuviTag esphome::safe_mode::SafeModeButton esphome::safe_mode::SafeModeSwitch esphome::scd30::SCD30Component esphome::script::QueueingScript esphome::script::ScriptWaitAction< Ts > esphome::sds011::SDS011Component esphome::sensor::DebounceFilter esphome::sensor::HeartbeatFilter esphome::sensor::ThrottleAverageFilter esphome::sensor::ValueRangeTrigger esphome::servo::Servo esphome::shutdown::ShutdownButton esphome::shutdown::ShutdownSwitch esphome::ShutdownTrigger esphome::slow_pwm::SlowPWMOutput esphome::sm16716::SM16716 esphome::sm2135::SM2135 esphome::sml::Sml esphome::sml::SmlSensor esphome::sml::SmlTextSensor esphome::sn74hc595::SN74HC595Component esphome::sonoff_d1::SonoffD1Output esphome::speed::SpeedFan esphome::spi::SPIComponent esphome::sprinkler::Sprinkler 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_::TemplateBinarySensor esphome::template_::TemplateCover 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::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::UARTDebugger esphome::uart::UARTDummyReceiver esphome::uart::UARTSwitch esphome::uln2003::ULN2003 esphome::version::VersionTextSensor esphome::WaitUntilAction< Ts > esphome::wake_on_lan::WakeOnLanButton esphome::web_server::WebServer esphome::web_server_base::WebServerBase esphome::wifi::WiFiComponent esphome::wifi_info::MacAddressWifiInfo 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::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 ()
 
virtual bool can_proceed ()
 
bool status_has_warning ()
 
bool status_has_error ()
 
void status_set_warning ()
 
void status_set_error ()
 
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()> &&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()> &&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 66 of file component.h.

Member Function Documentation

◆ call()

void esphome::Component::call ( )

Definition at line 80 of file component.cpp.

◆ call_dump_config()

void esphome::Component::call_dump_config ( )
protectedvirtual

Reimplemented in esphome::mqtt::MQTTComponent.

Definition at line 77 of file component.cpp.

◆ call_loop()

void esphome::Component::call_loop ( )
protectedvirtual

Reimplemented in esphome::mqtt::MQTTComponent.

Definition at line 75 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 120 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 54 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 63 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 71 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 123 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 117 of file component.cpp.

◆ dump_config()

void esphome::Component::dump_config ( )
virtual

Reimplemented in esphome::nextion::Nextion, esphome::modbus_controller::ModbusController, esphome::waveshare_epaper::WaveshareEPaper2P13InDKE, esphome::waveshare_epaper::WaveshareEPaper7P5InHDB, esphome::waveshare_epaper::WaveshareEPaper7P5InV2alt, esphome::waveshare_epaper::WaveshareEPaper7P5InV2, esphome::mqtt::MQTTMessageTrigger, esphome::waveshare_epaper::WaveshareEPaper7P5InBC, esphome::waveshare_epaper::WaveshareEPaper7P5InBV2, esphome::remote_base::RemoteReceiverBinarySensorBase, esphome::waveshare_epaper::WaveshareEPaper7P5In, esphome::waveshare_epaper::WaveshareEPaper5P8In, esphome::tsl2591::TSL2591Component, esphome::mqtt::MQTTClientComponent, esphome::waveshare_epaper::WaveshareEPaper4P2InBV2, esphome::fastled_base::FastLEDLightOutput, esphome::wifi::WiFiComponent, esphome::sprinkler::Sprinkler, esphome::esp32_ble_tracker::ESP32BLETracker, esphome::waveshare_epaper::WaveshareEPaper4P2In, esphome::waveshare_epaper::WaveshareEPaper2P9InB, esphome::esp32_camera::ESP32Camera, esphome::graph::Graph, esphome::waveshare_epaper::WaveshareEPaper2P7In, esphome::st7789v::ST7789V, esphome::bedjet::BedJetHub, esphome::bme680::BME680Component, esphome::wifi_info::MacAddressWifiInfo, esphome::sprinkler::SprinklerControllerSwitch, esphome::ble_presence::BLEPresenceDevice, esphome::mpl3115a2::MPL3115A2Component, esphome::ble_rssi::BLERSSISensor, esphome::deep_sleep::DeepSleepComponent, esphome::fingerprint_grow::FingerprintGrowComponent, esphome::waveshare_epaper::WaveshareEPaperTypeA, esphome::wifi_info::BSSIDWiFiInfo, esphome::ble_client::BLEClient, esphome::qmp6988::QMP6988Component, esphome::web_server::WebServer, esphome::dfplayer::DFPlayer, esphome::rotary_encoder::RotaryEncoderSensor, esphome::havells_solar::HavellsSolar, esphome::spi::SPIComponent, esphome::bme280::BME280Component, esphome::cs5460a::CS5460AComponent, esphome::max31856::MAX31856Sensor, esphome::pulse_counter::PulseCounterSensor, esphome::tuya::Tuya, esphome::bmp3xx::BMP3XXComponent, esphome::sgp4x::SGP4xComponent, esphome::bl0939::BL0939, esphome::bl0940::BL0940, esphome::mpr121::MPR121Component, esphome::inkplate6::Inkplate6, esphome::zyaura::ZyAuraSensor, esphome::dsmr::Dsmr, esphome::logger::Logger, esphome::daly_bms::DalyBmsComponent, esphome::tsl2561::TSL2561Sensor, esphome::bmp280::BMP280Component, esphome::wifi_info::SSIDWiFiInfo, esphome::ota::OTAComponent, esphome::canbus::Canbus, esphome::xpt2046::XPT2046Component, esphome::bme680_bsec::BME680BSECComponent, esphome::sdm_meter::SDMMeter, esphome::thermostat::ThermostatClimate, esphome::as3935::AS3935Component, esphome::tcs34725::TCS34725Component, esphome::ltr390::LTR390Component, esphome::modbus_controller::ModbusBinaryOutput, esphome::sim800l::Sim800LComponent, esphome::sonoff_d1::SonoffD1Output, esphome::sen5x::SEN5XComponent, esphome::uart::ESP8266UartComponent, esphome::ac_dimmer::AcDimmer, esphome::light::LightState, esphome::ruuvitag::RuuviTag, esphome::wifi_info::ScanResultsWiFiInfo, esphome::cd74hc4067::CD74HC4067Sensor, esphome::rf_bridge::RFBridgeComponent, esphome::hydreon_rgxx::HydreonRGxxComponent, esphome::mcp4728::MCP4728Component, esphome::ili9341::ILI9341Display, esphome::cap1188::CAP1188Component, esphome::dht::DHT, esphome::pca9685::PCA9685Output, esphome::tlc59208f::TLC59208FOutput, esphome::bl0942::BL0942, esphome::esp32_touch::ESP32TouchComponent, esphome::pcd8544::PCD8544, esphome::dps310::DPS310Component, esphome::ethernet::EthernetComponent, esphome::st7735::ST7735, esphome::hmc5883l::HMC5883LComponent, esphome::selec_meter::SelecMeter, esphome::esp32_ble_beacon::ESP32BLEBeacon, esphome::max7219digit::MAX7219Component, esphome::max9611::MAX9611Component, esphome::modbus_controller::ModbusSelect, esphome::ads1115::ADS1115Component, esphome::esp32_ble_server::BLEServer, esphome::pvvx_mithermometer::PVVXDisplay, esphome::climate_ir::ClimateIR, esphome::dac7678::DAC7678Output, esphome::mqtt::MQTTSensorComponent, esphome::tx20::Tx20Component, esphome::ufire_ise::UFireISEComponent, esphome::ade7953::ADE7953, esphome::http_request::HttpRequestComponent, esphome::max31865::MAX31865Sensor, esphome::servo::Servo, esphome::pmsx003::PMSX003Component, esphome::template_::TemplateCover, esphome::mcp3008::MCP3008Sensor, esphome::pulse_width::PulseWidthSensor, esphome::esp32_ble::ESP32BLE, esphome::improv_serial::ImprovSerialComponent, esphome::lcd_gpio::GPIOLCDDisplay, esphome::pmsa003i::PMSA003IComponent, esphome::sx1509::SX1509Component, esphome::modbus_controller::ModbusBinarySensor, esphome::mqtt::MQTTFanComponent, esphome::qmc5883l::QMC5883LComponent, esphome::sgp30::SGP30Component, esphome::sun::SunTextSensor, esphome::ufire_ec::UFireECComponent, esphome::vl53l0x::VL53L0XSensor, esphome::ble_scanner::BLEScanner, esphome::hlw8012::HLW8012Component, esphome::tm1637::TM1637Display, esphome::adc::ADCSensor, esphome::cse7761::CSE7761Component, esphome::gpio::GPIOSwitch, esphome::mopeka_pro_check::MopekaProCheck, esphome::mqtt::MQTTCoverComponent, esphome::integration::IntegrationSensor, esphome::mdns::MDNSComponent, esphome::modbus_controller::ModbusSwitch, esphome::pulse_meter::PulseMeterSensor, esphome::t6615::T6615Component, esphome::teleinfo::TeleInfo, esphome::anova::Anova, esphome::modbus_controller::ModbusTextSensor, esphome::pid::PIDClimateSensor, esphome::power_supply::PowerSupply, esphome::sps30::SPS30Component, esphome::status_led::StatusLEDLightOutput, esphome::tm1638::TM1638Component, esphome::esp32_camera_web_server::CameraWebServer, esphome::ledc::LEDCOutput, esphome::max7219::MAX7219Component, esphome::output::OutputSwitch, esphome::pcf8574::PCF8574Component, esphome::tlc5947::TLC5947, esphome::binary_sensor_map::BinarySensorMap, esphome::ccs811::CCS811Component, esphome::duty_cycle::DutyCycleSensor, esphome::modbus_controller::ModbusNumber, esphome::mqtt::MQTTNumberComponent, esphome::mqtt::MQTTSelectComponent, esphome::pzemac::PZEMAC, esphome::resistance::ResistanceSensor, esphome::scd30::SCD30Component, esphome::st7920::ST7920, esphome::tca9548a::TCA9548AComponent, esphome::api::APIServer, esphome::atc_mithermometer::ATCMiThermometer, esphome::ektf2232::EKTF2232Touchscreen, esphome::esp8266_pwm::ESP8266PWM, esphome::hbridge::HBridgeFan, esphome::hm3301::HM3301Component, esphome::lilygo_t5_47::LilygoT547Touchscreen, esphome::midea::ac::AirConditioner, esphome::modbus_controller::ModbusSensor, esphome::pn532::PN532, esphome::pvvx_mithermometer::PVVXMiThermometer, esphome::radon_eye_rd200::RadonEyeRD200, esphome::total_daily_energy::TotalDailyEnergy, esphome::ttp229_bsf::TTP229BSFComponent, esphome::uln2003::ULN2003, esphome::xiaomi_rtcgq02lm::XiaomiRTCGQ02LM, esphome::airthings_wave_mini::AirthingsWaveMini, esphome::airthings_wave_plus::AirthingsWavePlus, esphome::am43::Am43, esphome::am43::Am43Component, esphome::bang_bang::BangBangClimate, esphome::ble_client::BLESensor, esphome::esp32_improv::ESP32ImprovComponent, esphome::mcp9600::MCP9600Component, esphome::my9231::MY9231OutputComponent, esphome::rc522_spi::RC522Spi, esphome::scd4x::SCD4XComponent, esphome::sml::Sml, esphome::debug::DebugComponent, esphome::hx711::HX711Sensor, esphome::modbus_controller::ModbusFloatOutput, esphome::mqtt::MQTTBinarySensorComponent, esphome::pzem004t::PZEM004T, esphome::shelly_dimmer::ShellyDimmer, esphome::sm300d2::SM300D2Sensor, esphome::ttp229_lsf::TTP229LSFComponent, esphome::xiaomi_cgpr1::XiaomiCGPR1, esphome::xiaomi_miscale::XiaomiMiscale, esphome::xiaomi_mjyd02yla::XiaomiMJYD02YLA, esphome::bh1750::BH1750Sensor, esphome::ble_client::BLETextSensor, esphome::growatt_solar::GrowattSolar, esphome::i2s_audio::I2SAudioMediaPlayer, esphome::mqtt::MQTTJSONLightComponent, esphome::mqtt::MQTTTextSensor, esphome::pzemdc::PZEMDC, esphome::sm16716::SM16716, esphome::tm1651::TM1651Display, esphome::ultrasonic::UltrasonicSensorComponent, esphome::xiaomi_wx08zm::XiaomiWX08ZM, esphome::bedjet::BedJetClimate, esphome::honeywellabp::HONEYWELLABPSensor, esphome::i2c::ArduinoI2CBus, esphome::i2c::IDFI2CBus, esphome::mcp3204::MCP3204Sensor, esphome::mqtt::MQTTButtonComponent, esphome::mqtt::MQTTLockComponent, esphome::mqtt::MQTTSwitchComponent, esphome::wifi_info::IPAddressWiFiInfo, esphome::xiaomi_mue4094rt::XiaomiMUE4094RT, esphome::captive_portal::CaptivePortal, esphome::cse7766::CSE7766Component, esphome::mcp3008::MCP3008, esphome::qr_code::QrCode, esphome::sds011::SDS011Component, esphome::sht4x::SHT4XComponent, esphome::slow_pwm::SlowPWMOutput, esphome::sm2135::SM2135, esphome::tm1621::TM1621Display, esphome::xiaomi_cgg1::XiaomiCGG1, esphome::as3935_spi::SPIAS3935Component, esphome::bedjet::BedJetFan, esphome::bmp085::BMP085Component, esphome::esp32_dac::ESP32DAC, esphome::gpio::GPIOBinaryOutput, esphome::mcp3204::MCP3204, esphome::mhz19::MHZ19Component, esphome::modbus::Modbus, esphome::mqtt_subscribe::MQTTSubscribeSensor, esphome::mqtt_subscribe::MQTTSubscribeTextSensor, esphome::pid::PIDClimate, esphome::shtcx::SHTCXComponent, esphome::sun::SunSensor, esphome::tuya::TuyaCover, 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::b_parasite::BParasite, esphome::ble_client::BLEClientSwitch, esphome::dallas::DallasComponent, esphome::feedback::FeedbackCover, esphome::inkbird_ibsth1_mini::InkbirdIbstH1Mini, esphome::max31855::MAX31855Sensor, esphome::max44009::MAX44009Sensor, esphome::mcp23s08::MCP23S08, esphome::mcp23s17::MCP23S17, esphome::rtttl::Rtttl, 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::template_::TemplateTextSensor, esphome::uart::ESP32ArduinoUARTComponent, esphome::ble_client::BLEBinaryOutput, esphome::bluetooth_proxy::BluetoothProxy, esphome::custom::CustomBinarySensorConstructor, esphome::custom::CustomTextSensorConstructor, esphome::gpio::GPIOBinarySensor, esphome::hdc1080::HDC1080Component, esphome::htu21d::HTU21DComponent, esphome::rc522::RC522, esphome::senseair::SenseAirComponent, esphome::sht3xd::SHT3XDComponent, esphome::template_::TemplateNumber, esphome::template_::TemplateSelect, esphome::uart::UARTSwitch, esphome::a4988::A4988, esphome::current_based::CurrentBasedCover, esphome::hrxl_maxsonar_wr::HrxlMaxsonarWrComponent, esphome::kalman_combinator::KalmanCombinatorComponent, esphome::max6675::MAX6675Sensor, esphome::mcp23008::MCP23008, esphome::mcp23017::MCP23017, esphome::mlx90393::MLX90393Cls, esphome::ntc::NTC, esphome::pm1006::PM1006Component, esphome::pn532_spi::PN532Spi, esphome::smt100::SMT100Component, esphome::sx1509::SX1509FloatOutputChannel, esphome::wake_on_lan::WakeOnLanButton, esphome::atm90e32::ATM90E32Component, esphome::cd74hc4067::CD74HC4067Component, esphome::ct_clamp::CTClampSensor, esphome::custom::CustomSensorConstructor, esphome::custom::CustomSwitchConstructor, esphome::endstop::EndstopCover, esphome::mcp4725::MCP4725, esphome::output::OutputLock, esphome::pipsolar::PipsolarSwitch, esphome::sn74hc595::SN74HC595Component, esphome::speed::SpeedFan, esphome::template_::TemplateSensor, esphome::template_::TemplateSwitch, esphome::uart::IDFUARTComponent, esphome::aht10::AHT10Component, esphome::apds9960::APDS9960, esphome::as3935_i2c::I2CAS3935Component, esphome::ds1307::DS1307Component, esphome::ens210::ENS210Component, esphome::ezo::EZOSensor, esphome::homeassistant::HomeassistantBinarySensor, esphome::homeassistant::HomeassistantSensor, esphome::homeassistant::HomeassistantTextSensor, esphome::homeassistant::HomeassistantTime, esphome::lcd_pcf8574::PCF8574LCDDisplay, esphome::sml::SmlTextSensor, esphome::status::StatusBinarySensor, esphome::status_led::StatusLED, esphome::sts3x::STS3XComponent, esphome::template_::TemplateBinarySensor, 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::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::CopyTextSensor, esphome::dht12::DHT12Component, esphome::esp32_hall::ESP32HallSensor, esphome::ina219::INA219Component, esphome::ina226::INA226Component, esphome::ina260::INA260Component, esphome::ina3221::INA3221Component, esphome::mcp9808::MCP9808Sensor, esphome::mpu6050::MPU6050Component, esphome::mpu6886::MPU6886Component, esphome::ms5611::MS5611Component, esphome::ssd1306_i2c::I2CSSD1306, esphome::ssd1327_i2c::I2CSSD1327, esphome::tmp117::TMP117Component, esphome::tuya::TuyaBinarySensor, esphome::tuya::TuyaLight, esphome::tuya::TuyaNumber, esphome::tuya::TuyaSelect, 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::pn532_i2c::PN532I2C, 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::uptime::UptimeSensor, esphome::factory_reset::FactoryResetButton, esphome::factory_reset::FactoryResetSwitch, esphome::restart::RestartButton, esphome::restart::RestartSwitch, esphome::shutdown::ShutdownButton, esphome::shutdown::ShutdownSwitch, and esphome::teleinfo::TeleInfoTextSensor.

Definition at line 158 of file component.cpp.

◆ get_actual_setup_priority()

float esphome::Component::get_actual_setup_priority ( ) const

Definition at line 159 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 106 of file component.cpp.

◆ get_component_state()

uint32_t esphome::Component::get_component_state ( ) const

Definition at line 79 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, and esphome::status_led::StatusLED.

Definition at line 42 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::mqtt::MQTTMessageTrigger, esphome::sensor::HeartbeatFilter, esphome::sensor::DebounceFilter, esphome::WaitUntilAction< Ts >, esphome::tsl2591::TSL2591Component, esphome::mqtt::MQTTClientComponent, esphome::spi::SPIComponent, esphome::sensor::ThrottleAverageFilter, esphome::fastled_base::FastLEDLightOutput, esphome::wifi::WiFiComponent, esphome::esp32_ble_tracker::ESP32BLETracker, esphome::esp32_camera::ESP32Camera, esphome::graph::Graph, esphome::script::ScriptWaitAction< Ts >, esphome::st7789v::ST7789V, esphome::DelayAction< Ts >, esphome::bedjet::BedJetHub, esphome::LoopTrigger, esphome::sprinkler::SprinklerControllerSwitch, esphome::binary_sensor::MultiClickTrigger, esphome::bme680::BME680Component, esphome::mqtt::MQTTComponent, esphome::web_server_base::WebServerBase, esphome::ShutdownTrigger, esphome::mpl3115a2::MPL3115A2Component, esphome::ble_presence::BLEPresenceDevice, esphome::deep_sleep::DeepSleepComponent, esphome::ble_rssi::BLERSSISensor, esphome::neopixelbus::NeoPixelBusLightOutputBase< T_METHOD, T_COLOR_FEATURE >, esphome::StartupTrigger, esphome::binary_sensor::AutorepeatFilter, esphome::ble_client::BLEClient, esphome::web_server::WebServer, esphome::qmp6988::QMP6988Component, esphome::rotary_encoder::RotaryEncoderSensor, esphome::wifi_info::BSSIDWiFiInfo, esphome::midea::ApplianceBase< T >, esphome::midea::ApplianceBase< dudanov::midea::ac::AirConditioner >, esphome::bme280::BME280Component, esphome::cs5460a::CS5460AComponent, esphome::max31856::MAX31856Sensor, esphome::bmp3xx::BMP3XXComponent, esphome::sgp4x::SGP4xComponent, esphome::logger::Logger, esphome::pulse_counter::PulseCounterSensor, esphome::mpr121::MPR121Component, esphome::tuya::Tuya, esphome::zyaura::ZyAuraSensor, esphome::daly_bms::DalyBmsComponent, esphome::inkplate6::Inkplate6, esphome::tsl2561::TSL2561Sensor, esphome::bmp280::BMP280Component, esphome::ota::OTAComponent, esphome::wifi_info::SSIDWiFiInfo, esphome::ForCondition< Ts >, esphome::canbus::Canbus, esphome::xpt2046::XPT2046Component, esphome::bme680_bsec::BME680BSECComponent, esphome::number::ValueRangeTrigger, esphome::as3935::AS3935Component, esphome::binary_sensor::DelayedOffFilter, esphome::sonoff_d1::SonoffD1Output, esphome::prometheus::PrometheusHandler, esphome::tcs34725::TCS34725Component, esphome::light::LightState, esphome::ltr390::LTR390Component, esphome::uart::ESP8266UartComponent, esphome::cd74hc4067::CD74HC4067Sensor, esphome::ruuvitag::RuuviTag, esphome::sen5x::SEN5XComponent, esphome::sensor::ValueRangeTrigger, esphome::dht::DHT, esphome::hydreon_rgxx::HydreonRGxxComponent, esphome::st7735::ST7735, esphome::mcp4728::MCP4728Component, esphome::ssd1306_base::SSD1306, esphome::wifi_info::ScanResultsWiFiInfo, esphome::cap1188::CAP1188Component, esphome::pca9685::PCA9685Output, esphome::binary_sensor::DelayedOnFilter, esphome::tlc59208f::TLC59208FOutput, esphome::esp32_touch::ESP32TouchComponent, esphome::globals::RestoringGlobalsComponent< T >, esphome::max7219digit::MAX7219Component, esphome::dps310::DPS310Component, esphome::ethernet::EthernetComponent, esphome::hbridge::HBridgeLightOutput, esphome::hmc5883l::HMC5883LComponent, esphome::esp32_ble_beacon::ESP32BLEBeacon, esphome::max9611::MAX9611Component, esphome::ads1115::ADS1115Component, esphome::pvvx_mithermometer::PVVXDisplay, esphome::esp32_ble_server::BLEServer, esphome::gps::GPS, esphome::dac7678::DAC7678Output, esphome::tx20::Tx20Component, esphome::http_request::HttpRequestComponent, esphome::max31865::MAX31865Sensor, esphome::mcp23016::MCP23016, esphome::pcd8544::PCD8544, esphome::servo::Servo, esphome::template_::TemplateCover, esphome::binary_sensor_map::BinarySensorMap, esphome::tm1637::TM1637Display, esphome::e131::E131Component, esphome::improv_serial::ImprovSerialComponent, esphome::mcp3008::MCP3008Sensor, esphome::pmsa003i::PMSA003IComponent, esphome::pulse_width::PulseWidthSensor, esphome::ssd1325_base::SSD1325, esphome::binary_sensor::DelayedOnOffFilter, esphome::esp32_ble::ESP32BLE, esphome::mdns::MDNSComponent, esphome::pmsx003::PMSX003Component, esphome::sx1509::SX1509Component, esphome::qmc5883l::QMC5883LComponent, esphome::sgp30::SGP30Component, esphome::tm1621::TM1621Display, esphome::vl53l0x::VL53L0XSensor, esphome::adc::ADCSensor, esphome::ble_scanner::BLEScanner, esphome::hlw8012::HLW8012Component, esphome::cse7761::CSE7761Component, esphome::max7219::MAX7219Component, esphome::mopeka_pro_check::MopekaProCheck, esphome::ssd1351_base::SSD1351, esphome::esp32_improv::ESP32ImprovComponent, esphome::ili9341::ILI9341Display, esphome::integration::IntegrationSensor, esphome::power_supply::PowerSupply, esphome::ssd1322_base::SSD1322, esphome::ssd1327_base::SSD1327, esphome::status_led::StatusLEDLightOutput, esphome::tm1638::TM1638Component, esphome::anova::Anova, esphome::ledc::LEDCOutput, esphome::sps30::SPS30Component, esphome::tlc5947::TLC5947, esphome::ccs811::CCS811Component, esphome::esp32_camera_web_server::CameraWebServer, esphome::modbus_controller::ModbusNumber, esphome::pn532::PN532, esphome::pulse_meter::PulseMeterSensor, esphome::esp8266_pwm::ESP8266PWM, esphome::gpio::GPIOSwitch, esphome::lcd_base::LCDDisplay, esphome::mcp9600::MCP9600Component, esphome::resistance::ResistanceSensor, esphome::scd30::SCD30Component, esphome::st7920::ST7920, esphome::tca9548a::TCA9548AComponent, esphome::time::CronTrigger, esphome::atc_mithermometer::ATCMiThermometer, esphome::hm3301::HM3301Component, esphome::my9231::MY9231OutputComponent, esphome::output::OutputSwitch, esphome::pvvx_mithermometer::PVVXMiThermometer, esphome::total_daily_energy::TotalDailyEnergy, esphome::ttp229_bsf::TTP229BSFComponent, esphome::uln2003::ULN2003, esphome::ultrasonic::UltrasonicSensorComponent, esphome::xiaomi_rtcgq02lm::XiaomiRTCGQ02LM, esphome::am43::Am43, esphome::am43::Am43Component, esphome::ble_client::BLESensor, esphome::captive_portal::CaptivePortal, esphome::duty_cycle::DutyCycleSensor, esphome::pcf8574::PCF8574Component, esphome::sntp::SNTPComponent, esphome::ssd1331_base::SSD1331, esphome::t6615::T6615Component, esphome::template_::TemplateSwitch, esphome::bh1750::BH1750Sensor, esphome::hx711::HX711Sensor, esphome::i2c::ArduinoI2CBus, esphome::i2c::IDFI2CBus, esphome::sm16716::SM16716, esphome::ttp229_lsf::TTP229LSFComponent, esphome::xiaomi_cgpr1::XiaomiCGPR1, esphome::xiaomi_miscale::XiaomiMiscale, esphome::xiaomi_mjyd02yla::XiaomiMJYD02YLA, esphome::api::APIServer, esphome::ble_client::BLETextSensor, esphome::modbus::Modbus, esphome::sds011::SDS011Component, esphome::template_::TemplateLock, esphome::xiaomi_wx08zm::XiaomiWX08ZM, esphome::bedjet::BedJetClimate, esphome::ble_client::BLEClientSwitch, esphome::debug::DebugComponent, esphome::mcp3204::MCP3204Sensor, esphome::scd4x::SCD4XComponent, esphome::slow_pwm::SlowPWMOutput, esphome::sm2135::SM2135, esphome::xiaomi_mue4094rt::XiaomiMUE4094RT, esphome::bmp085::BMP085Component, esphome::esp32_dac::ESP32DAC, esphome::hdc1080::HDC1080Component, esphome::htu21d::HTU21DComponent, esphome::mcp3008::MCP3008, esphome::rdm6300::RDM6300Component, esphome::xiaomi_cgg1::XiaomiCGG1, esphome::bedjet::BedJetFan, esphome::gpio::GPIOBinaryOutput, esphome::honeywellabp::HONEYWELLABPSensor, esphome::mcp3204::MCP3204, esphome::mqtt_subscribe::MQTTSubscribeSensor, esphome::mqtt_subscribe::MQTTSubscribeTextSensor, esphome::pm1006::PM1006Component, esphome::rc522::RC522, esphome::sdp3x::SDP3XComponent, esphome::shtcx::SHTCXComponent, esphome::smt100::SMT100Component, 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::b_parasite::BParasite, esphome::ble_client::BLEBinaryOutput, esphome::dallas::DallasComponent, esphome::feedback::FeedbackCover, esphome::gpio::GPIOBinarySensor, esphome::inkbird_ibsth1_mini::InkbirdIbstH1Mini, esphome::max31855::MAX31855Sensor, esphome::max44009::MAX44009Sensor, esphome::mcp23xxx_base::MCP23XXXBase, esphome::shelly_dimmer::ShellyDimmer, esphome::uart::ESP32ArduinoUARTComponent, esphome::wifi_info::IPAddressWiFiInfo, esphome::a4988::A4988, esphome::cse7766::CSE7766Component, esphome::i2s_audio::I2SAudioMediaPlayer, esphome::sht3xd::SHT3XDComponent, esphome::sht4x::SHT4XComponent, esphome::template_::TemplateNumber, esphome::template_::TemplateSelect, esphome::tmp102::TMP102Component, esphome::current_based::CurrentBasedCover, esphome::max6675::MAX6675Sensor, esphome::mlx90393::MLX90393Cls, esphome::mpu6050::MPU6050Component, esphome::mpu6886::MPU6886Component, esphome::ntc::NTC, esphome::sx1509::SX1509FloatOutputChannel, esphome::template_::TemplateSensor, esphome::wifi_signal::WiFiSignalSensor, esphome::atm90e32::ATM90E32Component, esphome::cd74hc4067::CD74HC4067Component, esphome::ct_clamp::CTClampSensor, esphome::endstop::EndstopCover, esphome::ezo::EZOSensor, esphome::homeassistant::HomeassistantTime, esphome::ina260::INA260Component, esphome::preferences::IntervalSyncer, esphome::status::StatusBinarySensor, esphome::status_led::StatusLED, esphome::template_::TemplateBinarySensor, esphome::template_::TemplateTextSensor, esphome::uart::IDFUARTComponent, esphome::waveshare_epaper::WaveshareEPaper, esphome::aht10::AHT10Component, esphome::analog_threshold::AnalogThresholdBinarySensor, esphome::apds9960::APDS9960, esphome::ds1307::DS1307Component, esphome::homeassistant::HomeassistantBinarySensor, esphome::homeassistant::HomeassistantSensor, esphome::homeassistant::HomeassistantTextSensor, esphome::ina3221::INA3221Component, esphome::mhz19::MHZ19Component, esphome::sts3x::STS3XComponent, esphome::time_based::TimeBasedCover, esphome::tof10120::TOF10120Sensor, 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::CopyTextSensor, esphome::dht12::DHT12Component, esphome::ina219::INA219Component, esphome::ina226::INA226Component, esphome::kalman_combinator::KalmanCombinatorComponent, esphome::mcp9808::MCP9808Sensor, esphome::ms5611::MS5611Component, esphome::output::OutputLock, esphome::sn74hc595::SN74HC595Component, esphome::tmp117::TMP117Component, esphome::uptime::UptimeSensor, esphome::version::VersionTextSensor, esphome::copy::CopyButton, esphome::ens210::ENS210Component, esphome::senseair::SenseAirComponent, esphome::interval::IntervalTrigger, and esphome::sm300d2::SM300D2Sensor.

Definition at line 44 of file component.cpp.

◆ has_overridden_loop()

bool esphome::Component::has_overridden_loop ( ) const

Definition at line 166 of file component.cpp.

◆ is_failed()

bool esphome::Component::is_failed ( )

Definition at line 136 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::mqtt::MQTTClientComponent, esphome::wifi::WiFiComponent, esphome::sprinkler::Sprinkler, esphome::esp32_ble_tracker::ESP32BLETracker, esphome::esp32_camera::ESP32Camera, esphome::script::ScriptWaitAction< Ts >, esphome::bedjet::BedJetHub, esphome::LoopTrigger, esphome::sprinkler::SprinklerControllerSwitch, esphome::deep_sleep::DeepSleepComponent, esphome::ble_client::BLEClient, esphome::rotary_encoder::RotaryEncoderSensor, esphome::midea::ApplianceBase< T >, esphome::web_server::WebServer, esphome::midea::ApplianceBase< dudanov::midea::ac::AirConditioner >, esphome::cs5460a::CS5460AComponent, esphome::tuya::Tuya, esphome::uart::UARTDummyReceiver, esphome::mpr121::MPR121Component, esphome::bl0939::BL0939, esphome::bl0940::BL0940, esphome::xpt2046::XPT2046Component, esphome::ota::OTAComponent, esphome::ForCondition< Ts >, esphome::canbus::Canbus, esphome::bme680_bsec::BME680BSECComponent, esphome::as3935::AS3935Component, esphome::script::QueueingScript, esphome::tm1637::TM1637Display, esphome::sim800l::Sim800LComponent, esphome::sonoff_d1::SonoffD1Output, esphome::dsmr::Dsmr, esphome::light::LightState, esphome::mcp4728::MCP4728Component, esphome::tm1638::TM1638Component, esphome::cap1188::CAP1188Component, esphome::pca9685::PCA9685Output, esphome::rf_bridge::RFBridgeComponent, esphome::globals::RestoringGlobalsComponent< T >, esphome::tlc59208f::TLC59208FOutput, esphome::hydreon_rgxx::HydreonRGxxComponent, esphome::esp32_touch::ESP32TouchComponent, esphome::slow_pwm::SlowPWMOutput, esphome::ethernet::EthernetComponent, esphome::gps::GPS, esphome::bl0942::BL0942, esphome::tx20::Tx20Component, esphome::max7219digit::MAX7219Component, esphome::esp32_ble_server::BLEServer, esphome::vl53l0x::VL53L0XSensor, esphome::binary_sensor_map::BinarySensorMap, esphome::sx1509::SX1509Component, esphome::e131::E131Component, esphome::template_::TemplateCover, esphome::pmsx003::PMSX003Component, esphome::esp32_ble::ESP32BLE, esphome::improv_serial::ImprovSerialComponent, esphome::mdns::MDNSComponent, esphome::tlc5947::TLC5947, esphome::esp32_camera_web_server::CameraWebServer, esphome::pn532::PN532, esphome::dfplayer::DFPlayer, esphome::my9231::MY9231OutputComponent, esphome::sntp::SNTPComponent, esphome::pulse_meter::PulseMeterSensor, esphome::sm16716::SM16716, esphome::t6615::T6615Component, esphome::total_daily_energy::TotalDailyEnergy, esphome::ttp229_bsf::TTP229BSFComponent, esphome::teleinfo::TeleInfo, esphome::time::CronTrigger, esphome::esp32_improv::ESP32ImprovComponent, esphome::sm2135::SM2135, esphome::ttp229_lsf::TTP229LSFComponent, esphome::anova::Anova, esphome::api::APIServer, esphome::ektf2232::EKTF2232Touchscreen, esphome::lilygo_t5_47::LilygoT547Touchscreen, esphome::uart::UARTDebugger, esphome::uln2003::ULN2003, esphome::sml::Sml, esphome::template_::TemplateSwitch, esphome::rc522::RC522, esphome::am43::Am43Component, esphome::captive_portal::CaptivePortal, esphome::gpio::GPIOBinarySensor, esphome::rtttl::Rtttl, esphome::sds011::SDS011Component, esphome::template_::TemplateLock, esphome::ble_client::BLESensor, esphome::debug::DebugComponent, esphome::i2s_audio::I2SAudioMediaPlayer, esphome::status_led::StatusLEDLightOutput, esphome::bedjet::BedJetClimate, esphome::ble_client::BLEClientSwitch, esphome::pzem004t::PZEM004T, esphome::ble_client::BLEBinaryOutput, esphome::ble_client::BLETextSensor, esphome::a4988::A4988, esphome::apds9960::APDS9960, esphome::cse7766::CSE7766Component, esphome::feedback::FeedbackCover, esphome::modbus::Modbus, esphome::pm1006::PM1006Component, esphome::servo::Servo, esphome::smt100::SMT100Component, esphome::rdm6300::RDM6300Component, esphome::current_based::CurrentBasedCover, esphome::hrxl_maxsonar_wr::HrxlMaxsonarWrComponent, esphome::status_led::StatusLED, esphome::ct_clamp::CTClampSensor, esphome::endstop::EndstopCover, esphome::ezo::EZOSensor, esphome::template_::TemplateBinarySensor, esphome::time_based::TimeBasedCover, esphome::tuya::TuyaClimate, esphome::uart::UARTSwitch, and esphome::status::StatusBinarySensor.

Definition at line 48 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.

Reimplemented in esphome::esp32_ble::ESP32BLE.

Definition at line 111 of file component.cpp.

◆ on_safe_shutdown()

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

Reimplemented in esphome::ota::OTAComponent, and esphome::waveshare_epaper::WaveshareEPaper.

Definition at line 107 of file component.h.

◆ 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 145 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 50 of file component.cpp.

◆ set_interval() [2/2]

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

Definition at line 129 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()> &&  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 f. If f returns RetryResult::RETRY f is called again after initial_wait_time ms. f should return RetryResult::DONE if no repeat is required. The initial wait time will be increased by backoff_increase_factor for each iteration. Default is doubling the time between iterations Can be cancelled via cancel_retry().

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

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

Definition at line 58 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()> &&  f,
float  backoff_increase_factor = 1.0f 
)
protected

Definition at line 132 of file component.cpp.

◆ set_setup_priority()

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

Definition at line 164 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 67 of file component.cpp.

◆ set_timeout() [2/2]

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

Definition at line 126 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::modbus_controller::ModbusController, esphome::mqtt::MQTTMessageTrigger, esphome::sensor::HeartbeatFilter, esphome::tsl2591::TSL2591Component, esphome::mqtt::MQTTClientComponent, esphome::sensor::ThrottleAverageFilter, esphome::fastled_base::FastLEDLightOutput, esphome::wifi::WiFiComponent, esphome::sprinkler::Sprinkler, esphome::esp32_ble_tracker::ESP32BLETracker, esphome::canbus::CanbusTrigger, esphome::esp32_camera::ESP32Camera, esphome::graph::Graph, esphome::st7789v::ST7789V, esphome::bedjet::BedJetHub, esphome::bme680::BME680Component, esphome::binary_sensor::MultiClickTrigger, esphome::wifi_info::MacAddressWifiInfo, esphome::sprinkler::SprinklerControllerSwitch, esphome::heatpumpir::HeatpumpIRClimate, esphome::mpl3115a2::MPL3115A2Component, esphome::deep_sleep::DeepSleepComponent, esphome::fingerprint_grow::FingerprintGrowComponent, esphome::StartupTrigger, esphome::ble_client::BLEClient, esphome::qmp6988::QMP6988Component, esphome::rotary_encoder::RotaryEncoderSensor, esphome::inkplate6::Inkplate6, esphome::midea::ApplianceBase< T >, esphome::web_server::WebServer, esphome::midea::ApplianceBase< dudanov::midea::ac::AirConditioner >, esphome::bme280::BME280Component, esphome::spi::SPIComponent, esphome::cs5460a::CS5460AComponent, esphome::max31856::MAX31856Sensor, esphome::bmp3xx::BMP3XXComponent, esphome::neopixelbus::NeoPixelBusLightOutputBase< T_METHOD, T_COLOR_FEATURE >, esphome::tuya::Tuya, esphome::bl0939::BL0939, esphome::bl0940::BL0940, esphome::pulse_counter::PulseCounterSensor, esphome::sgp4x::SGP4xComponent, esphome::mpr121::MPR121Component, esphome::zyaura::ZyAuraSensor, esphome::daly_bms::DalyBmsComponent, esphome::tsl2561::TSL2561Sensor, esphome::bmp280::BMP280Component, esphome::ota::OTAComponent, esphome::pid::PIDSimulator, esphome::canbus::Canbus, esphome::xpt2046::XPT2046Component, esphome::bme680_bsec::BME680BSECComponent, esphome::number::ValueRangeTrigger, esphome::thermostat::ThermostatClimate, esphome::as3935::AS3935Component, esphome::ltr390::LTR390Component, esphome::tcs34725::TCS34725Component, esphome::sonoff_d1::SonoffD1Output, esphome::dsmr::Dsmr, esphome::sen5x::SEN5XComponent, esphome::uart::ESP8266UartComponent, esphome::prometheus::PrometheusHandler, esphome::light::LightState, esphome::pcd8544::PCD8544, esphome::ac_dimmer::AcDimmer, esphome::ili9341::ILI9341Display, esphome::hydreon_rgxx::HydreonRGxxComponent, esphome::mcp4728::MCP4728Component, esphome::cap1188::CAP1188Component, esphome::dht::DHT, esphome::pca9685::PCA9685Output, esphome::tlc59208f::TLC59208FOutput, esphome::st7735::ST7735, esphome::bl0942::BL0942, esphome::esp32_touch::ESP32TouchComponent, esphome::sensor::ValueRangeTrigger, esphome::dps310::DPS310Component, esphome::addressable_light::AddressableLightDisplay, esphome::ethernet::EthernetComponent, esphome::hmc5883l::HMC5883LComponent, esphome::esp32_ble_beacon::ESP32BLEBeacon, esphome::globals::RestoringGlobalsComponent< T >, esphome::max9611::MAX9611Component, esphome::ads1115::ADS1115Component, esphome::climate_ir::ClimateIR, esphome::dac7678::DAC7678Output, esphome::esp32_ble_server::BLEServer, esphome::max7219digit::MAX7219Component, esphome::tx20::Tx20Component, esphome::max31865::MAX31865Sensor, esphome::mqtt::MQTTSensorComponent, esphome::ufire_ise::UFireISEComponent, esphome::e131::E131Component, esphome::pulse_width::PulseWidthSensor, esphome::template_::TemplateCover, esphome::mcp3008::MCP3008Sensor, esphome::pmsa003i::PMSA003IComponent, esphome::sx1509::SX1509Component, esphome::waveshare_epaper::WaveshareEPaper, esphome::esp32_ble::ESP32BLE, esphome::improv_serial::ImprovSerialComponent, esphome::mcp23016::MCP23016, esphome::qmc5883l::QMC5883LComponent, esphome::hlw8012::HLW8012Component, esphome::mqtt::MQTTFanComponent, esphome::sgp30::SGP30Component, esphome::ufire_ec::UFireECComponent, esphome::vl53l0x::VL53L0XSensor, esphome::adc::ADCSensor, esphome::cse7761::CSE7761Component, esphome::gpio::GPIOSwitch, esphome::tm1637::TM1637Display, esphome::integration::IntegrationSensor, esphome::mdns::MDNSComponent, esphome::whirlpool::WhirlpoolClimate, esphome::hbridge::HBridgeLightOutput, esphome::modbus_controller::ModbusSwitch, esphome::power_supply::PowerSupply, esphome::ssd1306_base::SSD1306, esphome::teleinfo::TeleInfo, esphome::tm1638::TM1638Component, esphome::toshiba::ToshibaClimate, esphome::esp32_improv::ESP32ImprovComponent, esphome::lcd_base::LCDDisplay, esphome::ledc::LEDCOutput, esphome::pulse_meter::PulseMeterSensor, esphome::sps30::SPS30Component, esphome::status_led::StatusLEDLightOutput, esphome::esp32_camera_web_server::CameraWebServer, esphome::max7219::MAX7219Component, esphome::mqtt::MQTTNumberComponent, esphome::mqtt::MQTTSelectComponent, esphome::output::OutputSwitch, esphome::st7920::ST7920, esphome::tca9548a::TCA9548AComponent, esphome::tlc5947::TLC5947, esphome::ade7953::ADE7953, esphome::duty_cycle::DutyCycleSensor, esphome::esp8266_pwm::ESP8266PWM, esphome::hbridge::HBridgeFan, esphome::hm3301::HM3301Component, esphome::pid::PIDClimateSensor, esphome::scd30::SCD30Component, esphome::servo::Servo, esphome::total_daily_energy::TotalDailyEnergy, esphome::ttp229_bsf::TTP229BSFComponent, esphome::anova::Anova, esphome::bang_bang::BangBangClimate, esphome::ektf2232::EKTF2232Touchscreen, esphome::lilygo_t5_47::LilygoT547Touchscreen, esphome::mcp9600::MCP9600Component, esphome::my9231::MY9231OutputComponent, esphome::pn532::PN532, esphome::scd4x::SCD4XComponent, esphome::uln2003::ULN2003, esphome::ccs811::CCS811Component, esphome::hx711::HX711Sensor, esphome::rc522_spi::RC522Spi, esphome::ttp229_lsf::TTP229LSFComponent, esphome::api::APIServer, esphome::bh1750::BH1750Sensor, esphome::globals::GlobalsComponent< T >, esphome::mqtt::MQTTBinarySensorComponent, esphome::resistance::ResistanceSensor, esphome::shelly_dimmer::ShellyDimmer, esphome::tm1651::TM1651Display, esphome::ultrasonic::UltrasonicSensorComponent, esphome::am43::Am43, esphome::am43::Am43Component, esphome::i2c::ArduinoI2CBus, esphome::i2c::IDFI2CBus, esphome::mqtt::MQTTButtonComponent, esphome::mqtt::MQTTClimateComponent, esphome::mqtt::MQTTJSONLightComponent, esphome::mqtt::MQTTLockComponent, esphome::mqtt::MQTTSwitchComponent, esphome::mqtt::MQTTTextSensor, esphome::sm16716::SM16716, esphome::ssd1325_base::SSD1325, esphome::captive_portal::CaptivePortal, esphome::demo::DemoCover, esphome::mcp3008::MCP3008, esphome::sds011::SDS011Component, esphome::sht4x::SHT4XComponent, esphome::slow_pwm::SlowPWMOutput, esphome::as3935_spi::SPIAS3935Component, esphome::bedjet::BedJetClimate, esphome::bmp085::BMP085Component, esphome::demo::DemoClimate, esphome::demo::DemoNumber, esphome::esp32_dac::ESP32DAC, esphome::honeywellabp::HONEYWELLABPSensor, esphome::mcp3204::MCP3204, esphome::mqtt::MQTTCoverComponent, esphome::mqtt_subscribe::MQTTSubscribeSensor, esphome::mqtt_subscribe::MQTTSubscribeTextSensor, esphome::pid::PIDClimate, esphome::shtcx::SHTCXComponent, esphome::sm2135::SM2135, esphome::tm1621::TM1621Display, esphome::tuya::TuyaCover, esphome::dallas::DallasComponent, esphome::i2s_audio::I2SAudioMediaPlayer, esphome::kalman_combinator::KalmanCombinatorComponent, esphome::max31855::MAX31855Sensor, esphome::max44009::MAX44009Sensor, esphome::mcp23s08::MCP23S08, esphome::mcp23s17::MCP23S17, esphome::mhz19::MHZ19Component, esphome::pcf8574::PCF8574Component, esphome::pzem004t::PZEM004T, esphome::sdp3x::SDP3XComponent, esphome::sntp::SNTPComponent, esphome::ssd1351_base::SSD1351, esphome::touchscreen::TouchscreenBinarySensor, esphome::uart::ESP32ArduinoUARTComponent, esphome::feedback::FeedbackCover, esphome::gpio::GPIOBinarySensor, esphome::hdc1080::HDC1080Component, esphome::htu21d::HTU21DComponent, esphome::sht3xd::SHT3XDComponent, 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::a4988::A4988, esphome::ens210::ENS210Component, esphome::max6675::MAX6675Sensor, esphome::mcp23008::MCP23008, esphome::mcp23017::MCP23017, esphome::mlx90393::MLX90393Cls, esphome::modbus::Modbus, esphome::ntc::NTC, esphome::pm1006::PM1006Component, esphome::rc522::RC522, esphome::sx1509::SX1509FloatOutputChannel, esphome::template_::TemplateNumber, esphome::template_::TemplateSelect, esphome::yashima::YashimaClimate, esphome::atm90e32::ATM90E32Component, esphome::cd74hc4067::CD74HC4067Component, esphome::current_based::CurrentBasedCover, esphome::gpio::GPIOBinaryOutput, esphome::mcp4725::MCP4725, esphome::pn532_spi::PN532Spi, esphome::speed::SpeedFan, esphome::template_::TemplateSwitch, esphome::uart::IDFUARTComponent, esphome::analog_threshold::AnalogThresholdBinarySensor, esphome::apds9960::APDS9960, esphome::endstop::EndstopCover, esphome::homeassistant::HomeassistantBinarySensor, esphome::homeassistant::HomeassistantSensor, esphome::homeassistant::HomeassistantTextSensor, esphome::lcd_pcf8574::PCF8574LCDDisplay, esphome::sn74hc595::SN74HC595Component, esphome::status::StatusBinarySensor, esphome::sts3x::STS3XComponent, esphome::tmp102::TMP102Component, esphome::tuya::TuyaFan, esphome::aht10::AHT10Component, esphome::am2320::AM2320Component, esphome::binary::BinaryFan, 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::CopyTextSensor, esphome::demo::DemoSwitch, esphome::dht12::DHT12Component, esphome::ds1307::DS1307Component, esphome::homeassistant::HomeassistantTime, esphome::ina219::INA219Component, esphome::ina226::INA226Component, esphome::ina260::INA260Component, esphome::ina3221::INA3221Component, esphome::lcd_gpio::GPIOLCDDisplay, esphome::mcp9808::MCP9808Sensor, esphome::mpu6050::MPU6050Component, esphome::mpu6886::MPU6886Component, esphome::ms5611::MS5611Component, esphome::preferences::IntervalSyncer, esphome::ssd1306_i2c::I2CSSD1306, esphome::ssd1327_i2c::I2CSSD1327, esphome::ssd1331_base::SSD1331, esphome::time_based::TimeBasedCover, esphome::tmp117::TMP117Component, esphome::tof10120::TOF10120Sensor, esphome::tuya::TuyaBinarySensor, esphome::tuya::TuyaClimate, esphome::tuya::TuyaLight, esphome::tuya::TuyaNumber, esphome::tuya::TuyaSelect, esphome::tuya::TuyaSensor, esphome::tuya::TuyaSwitch, esphome::tuya::TuyaTextSensor, esphome::version::VersionTextSensor, and esphome::demo::DemoBinarySensor.

Definition at line 46 of file component.cpp.

◆ status_clear_error()

void esphome::Component::status_clear_error ( )

Definition at line 149 of file component.cpp.

◆ status_clear_warning()

void esphome::Component::status_clear_warning ( )

Definition at line 148 of file component.cpp.

◆ status_has_error()

bool esphome::Component::status_has_error ( )

Definition at line 139 of file component.cpp.

◆ status_has_warning()

bool esphome::Component::status_has_warning ( )

Definition at line 138 of file component.cpp.

◆ status_momentary_error()

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

Definition at line 154 of file component.cpp.

◆ status_momentary_warning()

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

Definition at line 150 of file component.cpp.

◆ status_set_error()

void esphome::Component::status_set_error ( )

Definition at line 144 of file component.cpp.

◆ status_set_warning()

void esphome::Component::status_set_warning ( )

Definition at line 140 of file component.cpp.

Field Documentation

◆ component_source_

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

Definition at line 257 of file component.h.

◆ component_state_

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

State of this component.

Definition at line 255 of file component.h.

◆ setup_priority_override_

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

Definition at line 256 of file component.h.


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