|
ESPHome 2026.5.0-dev
|
Providing packet encoding functions for exchanging data with a remote host. More...
Namespaces | |
| namespace | a01nyub |
| namespace | a02yyuw |
| namespace | a4988 |
| namespace | absolute_humidity |
| namespace | ac_dimmer |
| namespace | adalight |
| namespace | adc |
| namespace | adc128s102 |
| namespace | addressable_light |
| namespace | ade7880 |
| namespace | ade7953_base |
| namespace | ade7953_i2c |
| namespace | ade7953_spi |
| namespace | ads1115 |
| namespace | ads1118 |
| namespace | ags10 |
| namespace | aht10 |
| namespace | aic3204 |
| namespace | airthings_ble |
| namespace | airthings_wave_base |
| namespace | airthings_wave_mini |
| namespace | airthings_wave_plus |
| namespace | alarm_control_panel |
| namespace | alpha3 |
| namespace | am2315c |
| namespace | am2320 |
| namespace | am43 |
| namespace | analog_threshold |
| namespace | animation |
| namespace | anova |
| namespace | apds9306 |
| namespace | apds9960 |
| namespace | api |
| namespace | aqi |
| namespace | as3935 |
| namespace | as3935_i2c |
| namespace | as3935_spi |
| namespace | as5600 |
| namespace | as7341 |
| namespace | async_tcp |
| namespace | at581x |
| namespace | atc_mithermometer |
| namespace | atm90e26 |
| namespace | atm90e32 |
| namespace | audio |
| namespace | audio_adc |
| namespace | audio_dac |
| namespace | audio_file |
| namespace | axs15231 |
| namespace | b_parasite |
| namespace | ballu |
| namespace | bang_bang |
| namespace | bedjet |
| namespace | beken_spi_led_strip |
| namespace | bh1750 |
| namespace | bh1900nux |
| namespace | binary |
| namespace | binary_sensor |
| namespace | binary_sensor_map |
| namespace | bl0906 |
| namespace | bl0939 |
| namespace | bl0940 |
| namespace | bl0942 |
| namespace | ble_client |
| namespace | ble_nus |
| namespace | ble_presence |
| namespace | ble_rssi |
| namespace | ble_scanner |
| namespace | bluetooth_proxy |
| namespace | bm8563 |
| namespace | bme280_base |
| namespace | bme280_i2c |
| namespace | bme280_spi |
| namespace | bme680 |
| namespace | bme680_bsec |
| namespace | bme68x_bsec2 |
| namespace | bme68x_bsec2_i2c |
| namespace | bmi160 |
| namespace | bmp085 |
| namespace | bmp280_base |
| namespace | bmp280_i2c |
| namespace | bmp280_spi |
| namespace | bmp3xx_base |
| namespace | bmp3xx_i2c |
| namespace | bmp3xx_spi |
| namespace | bmp581_base |
| namespace | bmp581_i2c |
| namespace | bmp581_spi |
| namespace | bp1658cj |
| namespace | bp5758d |
| namespace | bthome_mithermometer |
| namespace | button |
| namespace | bytebuffer |
| namespace | camera |
| namespace | camera_encoder |
| namespace | canbus |
| namespace | cap1188 |
| namespace | captive_portal |
| namespace | cc1101 |
| namespace | ccs811 |
| namespace | cd74hc4067 |
| namespace | ch422g |
| namespace | ch423 |
| namespace | chsc6x |
| namespace | climate |
| namespace | climate_ir |
| namespace | climate_ir_lg |
| namespace | cm1106 |
| namespace | color_temperature |
| namespace | combination |
| namespace | coolix |
| namespace | copy |
| namespace | cover |
| namespace | cs5460a |
| namespace | cse7761 |
| namespace | cse7766 |
| namespace | cst226 |
| namespace | cst816 |
| namespace | ct_clamp |
| namespace | current_based |
| namespace | cwww |
| namespace | dac7678 |
| namespace | daikin |
| namespace | daikin_arc |
| namespace | daikin_brc |
| namespace | dallas_temp |
| namespace | daly_bms |
| namespace | dashboard_import |
| namespace | datetime |
| namespace | debug |
| namespace | deep_sleep |
| namespace | delonghi |
| namespace | demo |
| namespace | dew_point |
| namespace | dfplayer |
| namespace | dfrobot_sen0395 |
| namespace | dht |
| namespace | dht12 |
| namespace | display |
| namespace | display_menu_base |
| namespace | dlms_meter |
| namespace | dps310 |
| namespace | ds1307 |
| namespace | ds2484 |
| namespace | dsmr |
| namespace | duty_cycle |
| namespace | duty_time_sensor |
| namespace | e131 |
| namespace | ee895 |
| namespace | ektf2232 |
| namespace | emc2101 |
| namespace | emmeti |
| namespace | emontx |
| namespace | endstop |
| namespace | ens160_base |
| namespace | ens160_i2c |
| namespace | ens160_spi |
| namespace | ens210 |
| namespace | epaper_spi |
| namespace | es7210 |
| namespace | es7243e |
| namespace | es8156 |
| namespace | es8311 |
| namespace | es8388 |
| namespace | esp32 |
| namespace | esp32_ble |
| namespace | esp32_ble_beacon |
| namespace | esp32_ble_client |
| namespace | esp32_ble_server |
| namespace | esp32_ble_tracker |
| namespace | esp32_camera |
| namespace | esp32_camera_web_server |
| namespace | esp32_can |
| namespace | esp32_dac |
| namespace | esp32_hosted |
| namespace | esp32_improv |
| namespace | esp32_rmt_led_strip |
| namespace | esp32_touch |
| namespace | esp8266 |
| namespace | esp8266_pwm |
| namespace | esp_ldo |
| namespace | espnow |
| namespace | ethernet |
| namespace | ethernet_info |
| namespace | event |
| namespace | exposure_notifications |
| namespace | ezo |
| namespace | ezo_pmp |
| namespace | factory_reset |
| namespace | fan |
| namespace | fastled_base |
| namespace | feedback |
| namespace | fingerprint_grow |
| namespace | font |
| namespace | fs3000 |
| namespace | ft5x06 |
| namespace | ft63x6 |
| namespace | fujitsu_general |
| namespace | gcja5 |
| namespace | gdk101 |
| namespace | gl_r01_i2c |
| namespace | globals |
| namespace | gp2y1010au0f |
| namespace | gp8403 |
| namespace | gpio |
| namespace | gpio_expander |
| namespace | gps |
| namespace | graph |
| namespace | graphical_display_menu |
| namespace | gree |
| namespace | grove_gas_mc_v2 |
| namespace | grove_tb6612fng |
| namespace | growatt_solar |
| namespace | gt911 |
| namespace | haier |
| namespace | havells_solar |
| namespace | hbridge |
| namespace | hc8 |
| namespace | hdc1080 |
| namespace | hdc2010 |
| namespace | hdc2080 |
| namespace | hdc302x |
| namespace | he60r |
| namespace | heatpumpir |
| namespace | hitachi_ac344 |
| namespace | hitachi_ac424 |
| namespace | hlk_fm22x |
| namespace | hlw8012 |
| namespace | hlw8032 |
| namespace | hm3301 |
| namespace | hmac_md5 |
| namespace | hmac_sha256 |
| namespace | hmc5883l |
| namespace | homeassistant |
| namespace | honeywell_hih_i2c |
| namespace | honeywellabp |
| namespace | honeywellabp2_i2c |
| namespace | host |
| namespace | hrxl_maxsonar_wr |
| namespace | hte501 |
| namespace | http_request |
| namespace | htu21d |
| namespace | htu31d |
| namespace | hub75 |
| namespace | hx711 |
| namespace | hydreon_rgxx |
| namespace | hyt271 |
| namespace | i2c |
| namespace | i2c_device |
| namespace | i2s_audio |
| namespace | iaqcore |
| namespace | ili9xxx |
| namespace | image |
| namespace | improv_base |
| namespace | improv_serial |
| namespace | ina219 |
| namespace | ina226 |
| namespace | ina260 |
| namespace | ina2xx_base |
| namespace | ina2xx_i2c |
| namespace | ina2xx_spi |
| namespace | ina3221 |
| namespace | infrared |
| namespace | inkbird_ibsth1_mini |
| namespace | inkplate |
| namespace | integration |
| namespace | internal |
| RP2040 wakeable delay uses file-scope state (alarm callback + flag) — defined in wake.cpp. | |
| namespace | internal_temperature |
| namespace | interval |
| namespace | ir_rf_proxy |
| namespace | jsn_sr04t |
| namespace | json |
| namespace | kamstrup_kmp |
| namespace | key_collector |
| namespace | key_provider |
| namespace | kmeteriso |
| namespace | kuntze |
| namespace | lc709203f |
| namespace | lcd_base |
| namespace | lcd_gpio |
| namespace | lcd_menu |
| namespace | lcd_pcf8574 |
| namespace | ld2410 |
| namespace | ld2412 |
| namespace | ld2420 |
| namespace | ld2450 |
| namespace | ld24xx |
| namespace | ledc |
| namespace | libretiny |
| namespace | libretiny_pwm |
| namespace | light |
| namespace | lightwaverf |
| namespace | lilygo_t5_47 |
| namespace | lm75b |
| namespace | lock |
| namespace | logger |
| namespace | lps22 |
| namespace | ltr390 |
| namespace | ltr501 |
| namespace | ltr_als_ps |
| namespace | lvgl |
| namespace | m5stack_8angle |
| namespace | mapping |
| namespace | matrix_keypad |
| namespace | max17043 |
| namespace | max31855 |
| namespace | max31856 |
| namespace | max31865 |
| namespace | max44009 |
| namespace | max6675 |
| namespace | max6956 |
| namespace | max7219 |
| namespace | max7219digit |
| namespace | max9611 |
| namespace | mcp23008 |
| namespace | mcp23016 |
| namespace | mcp23017 |
| namespace | mcp23s08 |
| namespace | mcp23s17 |
| namespace | mcp23x08_base |
| namespace | mcp23x17_base |
| namespace | mcp23xxx_base |
| namespace | mcp2515 |
| namespace | mcp3008 |
| namespace | mcp3204 |
| namespace | mcp3221 |
| namespace | mcp4461 |
| namespace | mcp4725 |
| namespace | mcp4728 |
| namespace | mcp47a1 |
| namespace | mcp9600 |
| namespace | mcp9808 |
| namespace | md5 |
| namespace | mdns |
| namespace | media_player |
| namespace | media_source |
| namespace | mhz19 |
| namespace | micro_wake_word |
| namespace | micronova |
| namespace | microphone |
| namespace | mics_4514 |
| namespace | midea |
| namespace | midea_ir |
| namespace | mipi_dsi |
| namespace | mipi_rgb |
| namespace | mipi_spi |
| namespace | mitsubishi |
| namespace | mitsubishi_cn105 |
| namespace | mixer_speaker |
| namespace | mlx90393 |
| namespace | mlx90614 |
| namespace | mmc5603 |
| namespace | mmc5983 |
| namespace | modbus |
| namespace | modbus_controller |
| namespace | monochromatic |
| namespace | mopeka_ble |
| namespace | mopeka_pro_check |
| namespace | mopeka_std_check |
| namespace | mpl3115a2 |
| namespace | mpr121 |
| namespace | mpu6050 |
| namespace | mpu6886 |
| namespace | mqtt |
| namespace | mqtt_subscribe |
| namespace | ms5611 |
| namespace | ms8607 |
| namespace | msa3xx |
| namespace | my9231 |
| namespace | nau7802 |
| namespace | neopixelbus |
| namespace | network |
| namespace | nextion |
| namespace | nfc |
| namespace | noblex |
| namespace | npi19 |
| namespace | nrf52 |
| namespace | ntc |
| namespace | number |
| namespace | one_wire |
| namespace | online_image |
| namespace | opentherm |
| namespace | openthread |
| namespace | openthread_info |
| namespace | opt3001 |
| namespace | ota |
| namespace | output |
| namespace | packet_transport |
| namespace | partition |
| namespace | pca6416a |
| namespace | pca9554 |
| namespace | pca9685 |
| namespace | pcd8544 |
| namespace | pcf85063 |
| namespace | pcf8563 |
| namespace | pcf8574 |
| namespace | pi4ioe5v6408 |
| namespace | pid |
| namespace | pipsolar |
| namespace | pm1006 |
| namespace | pm2005 |
| namespace | pmsa003i |
| namespace | pmsx003 |
| namespace | pmwcs3 |
| namespace | pn532 |
| namespace | pn532_i2c |
| namespace | pn532_spi |
| namespace | pn7150 |
| namespace | pn7150_i2c |
| namespace | pn7160 |
| namespace | pn7160_i2c |
| namespace | pn7160_spi |
| namespace | power_supply |
| namespace | preferences |
| namespace | prometheus |
| namespace | psram |
| namespace | pulse_counter |
| namespace | pulse_meter |
| namespace | pulse_width |
| namespace | pvvx_mithermometer |
| namespace | pylontech |
| namespace | pzem004t |
| namespace | pzemac |
| namespace | pzemdc |
| namespace | qmc5883l |
| namespace | qmp6988 |
| namespace | qr_code |
| namespace | qspi_dbi |
| namespace | qwiic_pir |
| namespace | radon_eye_ble |
| namespace | radon_eye_rd200 |
| namespace | rc522 |
| namespace | rc522_i2c |
| namespace | rc522_spi |
| Library based on https://github.com/miguelbalboa/rfid and adapted to ESPHome by @glmnet. | |
| namespace | rd03d |
| namespace | rdm6300 |
| namespace | remote_base |
| namespace | remote_receiver |
| namespace | remote_transmitter |
| namespace | resampler |
| namespace | resistance |
| namespace | restart |
| namespace | rf_bridge |
| namespace | rgb |
| namespace | rgbct |
| namespace | rgbw |
| namespace | rgbww |
| namespace | rotary_encoder |
| namespace | rp2040 |
| namespace | rp2040_ble |
| namespace | rp2040_pio_led_strip |
| namespace | rp2040_pwm |
| namespace | rpi_dpi_rgb |
| namespace | rtttl |
| namespace | runtime_image |
| namespace | runtime_stats |
| namespace | ruuvi_ble |
| namespace | ruuvitag |
| namespace | rx8130 |
| namespace | safe_mode |
| namespace | scd30 |
| namespace | scd4x |
| namespace | script |
| namespace | sdl |
| namespace | sdm_meter |
| namespace | sdp3x |
| namespace | sds011 |
| namespace | seeed_mr24hpc1 |
| namespace | seeed_mr60bha2 |
| namespace | seeed_mr60fda2 |
| namespace | selec_meter |
| namespace | select |
| namespace | sen0321_sensor |
| namespace | sen21231_sensor |
| namespace | sen5x |
| namespace | sen6x |
| namespace | senseair |
| namespace | sensirion_common |
| namespace | sensor |
| namespace | serial_proxy |
| namespace | servo |
| namespace | setup_priority |
| Default setup priorities for components of different types. | |
| namespace | sfa30 |
| namespace | sgp30 |
| namespace | sgp4x |
| namespace | sha256 |
| namespace | shelly_dimmer |
| namespace | sht3xd |
| namespace | sht4x |
| namespace | shtcx |
| namespace | shutdown |
| namespace | sigma_delta_output |
| namespace | sim800l |
| namespace | slow_pwm |
| namespace | sm10bit_base |
| namespace | sm16716 |
| namespace | sm2135 |
| namespace | sm2235 |
| namespace | sm2335 |
| namespace | sm300d2 |
| namespace | sml |
| namespace | smt100 |
| namespace | sn74hc165 |
| namespace | sn74hc595 |
| namespace | sntp |
| namespace | socket |
| namespace | sonoff_d1 |
| namespace | sound_level |
| namespace | spa06_base |
| namespace | spa06_i2c |
| namespace | spa06_spi |
| namespace | speaker |
| namespace | speaker_source |
| namespace | speed |
| namespace | spi |
| Implementation of SPI Controller mode. | |
| namespace | spi_device |
| namespace | spi_led_strip |
| namespace | split_buffer |
| namespace | sprinkler |
| namespace | sps30 |
| namespace | ssd1306_base |
| namespace | ssd1306_i2c |
| namespace | ssd1306_spi |
| namespace | ssd1322_base |
| namespace | ssd1322_spi |
| namespace | ssd1325_base |
| namespace | ssd1325_spi |
| namespace | ssd1327_base |
| namespace | ssd1327_i2c |
| namespace | ssd1327_spi |
| namespace | ssd1331_base |
| namespace | ssd1331_spi |
| namespace | ssd1351_base |
| namespace | ssd1351_spi |
| namespace | st7567_base |
| namespace | st7567_i2c |
| namespace | st7567_spi |
| namespace | st7701s |
| namespace | st7735 |
| namespace | st7789v |
| namespace | st7920 |
| namespace | statsd |
| namespace | status |
| namespace | status_led |
| namespace | stepper |
| namespace | sts3x |
| namespace | stts22h |
| namespace | sun |
| namespace | sun_gtil2 |
| namespace | switch_ |
| namespace | sx126x |
| namespace | sx127x |
| namespace | sx1509 |
| Here you'll find the Arduino code used to interface with the SX1509 I2C 16 I/O expander. | |
| namespace | sy6970 |
| namespace | syslog |
| namespace | t6615 |
| namespace | tc74 |
| namespace | tca9548a |
| namespace | tca9555 |
| namespace | tcl112 |
| namespace | tcs34725 |
| namespace | tee501 |
| namespace | teleinfo |
| namespace | tem3200 |
| namespace | template_ |
| namespace | text |
| namespace | text_sensor |
| namespace | thermopro_ble |
| namespace | thermostat |
| namespace | time |
| namespace | time_based |
| namespace | tinyusb |
| namespace | tlc59208f |
| namespace | tlc5947 |
| namespace | tlc5971 |
| namespace | tm1621 |
| namespace | tm1637 |
| namespace | tm1638 |
| namespace | tm1651 |
| namespace | tmp102 |
| namespace | tmp1075 |
| namespace | tmp117 |
| namespace | tof10120 |
| namespace | tormatic |
| namespace | toshiba |
| namespace | total_daily_energy |
| namespace | touchscreen |
| namespace | tsl2561 |
| namespace | tsl2591 |
| namespace | tt21100 |
| namespace | ttp229_bsf |
| namespace | ttp229_lsf |
| namespace | tuya |
| namespace | tx20 |
| namespace | uart |
| namespace | udp |
| namespace | ufire_ec |
| namespace | ufire_ise |
| namespace | uln2003 |
| namespace | ultrasonic |
| namespace | update |
| namespace | uponor_smatrix |
| namespace | uptime |
| namespace | usb_cdc_acm |
| namespace | usb_host |
| namespace | usb_uart |
| namespace | valve |
| namespace | vbus |
| namespace | veml3235 |
| namespace | veml7700 |
| namespace | version |
| namespace | vl53l0x |
| namespace | voice_assistant |
| namespace | voltage_sampler |
| namespace | wake_on_lan |
| namespace | watchdog |
| namespace | water_heater |
| namespace | waveshare_epaper |
| namespace | web_server |
| namespace | web_server_base |
| namespace | web_server_idf |
| namespace | weikai |
| namespace | weikai_i2c |
| namespace | weikai_spi |
| namespace | whirlpool |
| namespace | whynter |
| namespace | wiegand |
| namespace | wifi |
| namespace | wifi_info |
| namespace | wifi_signal |
| namespace | wireguard |
| namespace | wk2132_i2c |
| namespace | wl_134 |
| namespace | wled |
| namespace | wts01 |
| namespace | x9c |
| namespace | xgzp68xx |
| namespace | xiaomi_ble |
| namespace | xiaomi_cgd1 |
| namespace | xiaomi_cgdk2 |
| namespace | xiaomi_cgg1 |
| namespace | xiaomi_cgpr1 |
| namespace | xiaomi_gcls002 |
| namespace | xiaomi_hhccjcy01 |
| namespace | xiaomi_hhccjcy10 |
| namespace | xiaomi_hhccpot002 |
| namespace | xiaomi_jqjcy01ym |
| namespace | xiaomi_lywsd02 |
| namespace | xiaomi_lywsd02mmc |
| namespace | xiaomi_lywsd03mmc |
| namespace | xiaomi_lywsdcgq |
| namespace | xiaomi_mhoc303 |
| namespace | xiaomi_mhoc401 |
| namespace | xiaomi_miscale |
| namespace | xiaomi_mjyd02yla |
| namespace | xiaomi_mue4094rt |
| namespace | xiaomi_rtcgq02lm |
| namespace | xiaomi_wx08zm |
| namespace | xiaomi_xmwsdj04mmc |
| namespace | xl9535 |
| namespace | xpt2046 |
| namespace | xxtea |
| namespace | yashima |
| namespace | zephyr |
| namespace | zephyr_ble_server |
| namespace | zephyr_coredump |
| namespace | zephyr_mcumgr |
| namespace | zhlt01 |
| namespace | zigbee |
| namespace | zio_ultrasonic |
| namespace | zwave_proxy |
| namespace | zyaura |
Data Structures | |
| class | Action |
| class | ActionList |
| class | AndCondition |
| class | Application |
| class | Area |
| class | Automation |
| struct | Callback |
| Lightweight type-erased callback (8 bytes on 32-bit) that avoids std::function overhead. More... | |
| struct | Callback< void(Ts...)> |
| class | CallbackManager |
| class | CallbackManager< void(Ts...)> |
| Helper class to allow having multiple subscribers to a callback. More... | |
| struct | Color |
| class | Component |
| class | ComponentIterator |
| struct | ComponentRuntimeStats |
| Inline runtime statistics — eliminates std::map lookup on every loop iteration. More... | |
| class | Condition |
| Base class for all automation conditions. More... | |
| class | ConstVector |
| Lightweight read-only view over a const array stored in RODATA (will typically be in flash memory) Avoids copying data from flash to RAM by keeping a pointer to the flash data. More... | |
| class | ContinuationAction |
| Simple continuation action that calls play_next_ on a parent action. More... | |
| class | Controller |
| class | ControllerRegistry |
| Global registry for Controllers to receive entity state updates. More... | |
| class | Deduplicator |
| Helper class to deduplicate items in a series of values. More... | |
| struct | DefaultBitPolicy |
| Default bit mapping policy for contiguous enums starting at 0 Provides 1:1 mapping where enum value equals bit position. More... | |
| class | DelayAction |
| class | Device |
| class | EntityBase |
| class | ESPHomeOTAComponent |
| ESPHomeOTAComponent provides a simple way to integrate Over-the-Air updates into your app using ArduinoOTA. More... | |
| class | ESPPreferenceObject |
| struct | ESPTime |
| A more user-friendly version of struct tm from time.h. More... | |
| class | EventPool |
| class | FiniteSetMask |
| Generic bitmask for storing a finite set of discrete values efficiently. More... | |
| class | FixedRingBuffer |
| Fixed-capacity circular buffer - allocates once at runtime, never reallocates. More... | |
| struct | FixedString |
| Helper for C++20 string literal template arguments. More... | |
| class | FixedVector |
| Fixed-capacity vector - allocates once at runtime, never reallocates This avoids std::vector template overhead (_M_realloc_insert, _M_default_append) when size is known at initialization but not at compile time. More... | |
| class | ForCondition |
| struct | gens< 0, S... > |
| class | GPIOPin |
| class | HashBase |
| Base class for hash algorithms. More... | |
| struct | HasLoopOverride |
| SFINAE helper: detects whether T overrides Component::loop(). More... | |
| struct | HasLoopOverride< T, std::void_t< decltype(&T::loop)> > |
| class | HighFrequencyLoopRequester |
Helper class to request loop() to be called as fast as possible. More... | |
| class | IfAction |
| struct | int24_t |
| 24-bit signed integer type, transparently converting to 32-bit. More... | |
| class | InternalGPIOPin |
| class | InterruptLock |
| Helper class to disable interrupts. More... | |
| class | ISRInternalGPIOPin |
| Copy of GPIOPin that is safe to use from ISRs (with no virtual functions) More... | |
| class | LambdaAction |
| class | LambdaCondition |
| class | LazyCallbackManager |
| class | LazyCallbackManager< void(Ts...)> |
| Lazy-allocating callback manager that only allocates memory when callbacks are registered. More... | |
| class | LockFreeQueue |
| class | LockGuard |
| Helper class that wraps a mutex with a RAII-style API. More... | |
| class | LoopTrigger |
| class | LwIPLock |
| Helper class to lock the lwIP TCPIP core when making lwIP API calls from non-TCPIP threads. More... | |
| class | Millis64Impl |
| Extends 32-bit millis() to 64-bit using rollover tracking. More... | |
| class | Mutex |
| Mutex implementation, with API based on the unavailable std::mutex. More... | |
| class | NotCondition |
| class | NotifyingLockFreeQueue |
| class | OrCondition |
| class | Parented |
Helper class to easily give an object a parent of type T. More... | |
| class | PollingComponent |
| This class simplifies creating components that periodically check a state. More... | |
| struct | PreferenceBackend |
| struct | Preferences |
| class | PreferencesMixin |
| CRTP mixin providing type-safe template make_preference<T>() helpers. More... | |
| struct | ProgmemStringTable |
| Compile-time string table that packs strings into a single blob with offset lookup. More... | |
| class | ProjectUpdateTrigger |
| class | RAMAllocator |
| An STL allocator that uses SPI or internal RAM. More... | |
| class | RepeatAction |
| class | RepeatLoopContinuation |
| Loop continuation for RepeatAction that increments iteration and repeats or continues. More... | |
| class | ResumeComponentAction |
| class | RingBuffer |
| class | ShutdownTrigger |
| class | SmallBufferWithHeapFallback |
| Helper class for efficient buffer allocation - uses stack for small sizes, heap for large This is useful when most operations need a small buffer but occasionally need larger ones. More... | |
| class | SmallInlineBuffer |
| Small buffer optimization - stores data inline when small, heap-allocates for large data This avoids heap fragmentation for common small allocations while supporting arbitrary sizes. More... | |
| class | StartupTrigger |
| class | StatefulEntityBase |
| Base class for entities that track a typed state value with change-detection and callbacks. More... | |
| class | StatelessLambdaAction |
| Optimized lambda action for stateless lambdas (no capture). More... | |
| class | StatelessLambdaCondition |
| Optimized lambda condition for stateless lambdas (no capture). More... | |
| class | StaticCallbackManager |
| CallbackManager backed by StaticVector for compile-time-known callback counts. More... | |
| class | StaticCallbackManager< N, void(Ts...)> |
| class | StaticRingBuffer |
| Fixed-size circular buffer with FIFO semantics and iteration support. More... | |
| class | StaticTask |
| Helper for FreeRTOS static task management. More... | |
| class | StaticVector |
| Minimal static vector - saves memory by avoiding std::vector overhead. More... | |
| class | StringRef |
| StringRef is a reference to a string owned by something else. More... | |
| class | SuspendComponentAction |
| class | TemplatableFn |
| Function-pointer-only templatable storage (4 bytes on 32-bit). More... | |
| class | TemplatableValue |
| Primary TemplatableValue: stores either a constant value or a function pointer. More... | |
| class | TemplatableValue< std::string, X... > |
| Specialization for std::string: supports VALUE, STATIC_STRING, FLASH_STRING, stateless lambdas, and stateful lambdas (std::function). More... | |
| class | TemplateLambda |
| Lightweight wrapper for template platform lambdas (stateless function pointers only). More... | |
| class | Trigger |
| struct | TriggerForwarder |
| Callback forwarder that triggers an Automation directly. More... | |
| struct | TriggerOnFalseForwarder |
| Callback forwarder that triggers an Automation<> only when the bool arg is false. More... | |
| struct | TriggerOnTrueForwarder |
| Callback forwarder that triggers an Automation<> only when the bool arg is true. More... | |
| struct | uint24_t |
| 24-bit unsigned integer type, transparently converting to 32-bit. More... | |
| class | UpdateComponentAction |
| class | WaitUntilAction |
| Wait until a condition is true to continue execution. More... | |
| class | WarnIfComponentBlockingGuard |
| class | WhileAction |
| class | WhileLoopContinuation |
| Loop continuation for WhileAction that checks condition and repeats or continues. More... | |
| class | XorCondition |
Concepts | |
| concept | comparable_with |
| Functions to constrain the range of arithmetic values. | |
Enumerations | |
| enum class | InternalSchedulerID : uint32_t { POLLING_UPDATE = 0 , DELAY_ACTION = 1 } |
| Type-safe scheduler IDs for core base classes. More... | |
| enum class | RetryResult { DONE , RETRY } |
| enum | EntityCategory : uint8_t { ENTITY_CATEGORY_NONE = 0 , ENTITY_CATEGORY_CONFIG = 1 , ENTITY_CATEGORY_DIAGNOSTIC = 2 } |
Functions | |
| void HOT | yield () |
| uint32_t IRAM_ATTR HOT | millis () |
| uint64_t HOT | millis_64 () |
| void HOT | delay (uint32_t ms) |
| uint32_t IRAM_ATTR HOT | micros () |
| void IRAM_ATTR HOT | delayMicroseconds (uint32_t us) |
| void | arch_restart () |
| void | arch_init () |
| void HOT | arch_feed_wdt () |
| uint32_t | arch_get_cpu_cycle_count () |
| uint32_t | arch_get_cpu_freq_hz () |
| void | loop_task (void *pv_params) |
| void | app_main () |
| uint8_t | progmem_read_byte (const uint8_t *addr) |
| const char * | progmem_read_ptr (const char *const *addr) |
| uint16_t | progmem_read_uint16 (const uint16_t *addr) |
| void | force_link_symbols () |
| void | resetPins () |
| void | esphome_wake_ota_component_any_context () |
| char app_storage[sizeof(Application)] | asm (ESPHOME_STRINGIFY_(__USER_LABEL_PREFIX__) "_ZN7esphome3AppE") |
| template<int... > | |
| struct | ESPDEPRECATED ("Use std::index_sequence instead. Removed in 2026.6.0", "2025.12.0") seq |
| void | log_update_interval (const char *tag, PollingComponent *component) |
| void | __attribute__ ((noinline, cold)) WarnIfComponentBlockingGuard |
| void | clear_setup_priority_overrides () |
| __attribute__ ((weak)) const LogString *component_source_lookup(uint8_t) | |
| const LogString * | component_source_lookup (uint8_t index) |
| Lookup component source name by index (1-based). | |
| struct esphome::uint24_t | __attribute__ ((packed)) |
| void | log_entity_icon (const char *tag, const char *prefix, const EntityBase &obj) |
| void | log_entity_device_class (const char *tag, const char *prefix, const EntityBase &obj) |
| void | log_entity_unit_of_measurement (const char *tag, const char *prefix, const EntityBase &obj) |
| const char * | entity_device_class_lookup (uint8_t index) |
| const char * | entity_uom_lookup (uint8_t index) |
| const char * | entity_icon_lookup (uint8_t index) |
| void | log_pin (const char *tag, const __FlashStringHelper *prefix, GPIOPin *pin) |
| void | log_pin (const char *tag, const char *prefix, GPIOPin *pin) |
| void | log_pin_with_prefix (const char *tag, const char *prefix, GPIOPin *pin) |
| __attribute__ ((always_inline)) inline bool in_isr_context() | |
| Returns true when executing inside an interrupt handler. | |
| void | __attribute__ ((noreturn)) arch_restart() |
| if (data) | |
| template<int(*)(int) fn> | |
| std::string | str_ctype_transform (const std::string &str) |
| std::string | str_snprintf (const char *fmt, size_t len,...) |
| std::string | str_sprintf (const char *fmt,...) |
| std::string | format_mac_address_pretty (const uint8_t *mac) |
| std::string | value_accuracy_to_string (float value, int8_t accuracy_decimals) |
| float | gamma_correct (float value, float gamma) |
| float | gamma_uncorrect (float value, float gamma) |
| void HOT | esp_log_printf_ (int level, const char *tag, int line, const char *format,...) |
| void HOT | esp_log_printf_ (int level, const char *tag, int line, const __FlashStringHelper *format,...) |
| void HOT | esp_log_vprintf_ (int level, const char *tag, int line, const char *format, va_list args) |
| void HOT | esp_log_vprintf_ (int level, const char *tag, int line, const __FlashStringHelper *format, va_list args) |
| int HOT | esp_idf_log_vprintf_ (const char *format, va_list args) |
| __attribute__ ((deprecated("Use esp_log_printf_() instead. Removed in 2026.9.0."))) void esp_log_vprintf_(int level | |
| void | retry_handler (const std::shared_ptr< RetryArgs > &args) |
| bool | operator== (const StringRef &lhs, const StringRef &rhs) |
| bool | operator== (const StringRef &lhs, const std::string &rhs) |
| bool | operator== (const std::string &lhs, const StringRef &rhs) |
| bool | operator== (const StringRef &lhs, const char *rhs) |
| bool | operator== (const char *lhs, const StringRef &rhs) |
| bool | operator!= (const StringRef &lhs, const StringRef &rhs) |
| bool | operator!= (const StringRef &lhs, const std::string &rhs) |
| bool | operator!= (const std::string &lhs, const StringRef &rhs) |
| bool | operator!= (const StringRef &lhs, const char *rhs) |
| bool | operator!= (const char *lhs, const StringRef &rhs) |
| bool | operator== (const StringRef &lhs, const __FlashStringHelper *rhs) |
| bool | operator== (const __FlashStringHelper *lhs, const StringRef &rhs) |
| bool | operator!= (const StringRef &lhs, const __FlashStringHelper *rhs) |
| bool | operator!= (const __FlashStringHelper *lhs, const StringRef &rhs) |
| bool | operator< (const StringRef &lhs, const StringRef &rhs) |
| std::string & | operator+= (std::string &lhs, const StringRef &rhs) |
| std::string | operator+ (const char *lhs, const StringRef &rhs) |
| std::string | operator+ (const StringRef &lhs, const char *rhs) |
| std::string | operator+ (const StringRef &lhs, const std::string &rhs) |
| std::string | operator+ (const std::string &lhs, const StringRef &rhs) |
| int | stoi (const StringRef &str, size_t *pos=nullptr, int base=10) |
| long | stol (const StringRef &str, size_t *pos=nullptr, int base=10) |
| float | stof (const StringRef &str, size_t *pos=nullptr) |
| double | stod (const StringRef &str, size_t *pos=nullptr) |
| void | convertToJson (const StringRef &src, JsonVariant dst) |
| uint8_t | days_in_month (uint8_t month, uint16_t year) |
| template<typename T > | |
| bool | increment_time_value (T ¤t, uint16_t begin, uint16_t end) |
| bool | api_is_connected () |
| Return whether the node has at least one client connected to the native API. | |
| bool | mqtt_is_connected () |
| Return whether the node has an active connection to an MQTT broker. | |
| bool | remote_is_connected () |
| Return whether the node has any form of "remote" connection via the API or to an MQTT broker. | |
| void IRAM_ATTR | wake_loop_isrsafe (BaseType_t *px_higher_priority_task_woken) |
| IRAM_ATTR entry points — defined in wake.cpp. | |
| void IRAM_ATTR | wake_loop_any_context () |
| IRAM_ATTR entry point for ISR callers — defined in wake.cpp. | |
| void | wake_loop_threadsafe () |
| Non-ISR: always inline. | |
| void ESPHOME_ALWAYS_INLINE | wake_loop_impl () |
| Inline implementation — IRAM callers inline this directly. | |
System APIs | |
| void | get_mac_address_raw (uint8_t *mac) |
| Get the device MAC address as raw bytes, written into the provided byte array (6 bytes). | |
| void | set_mac_address (uint8_t *mac) |
| Set the MAC address to use from the provided byte array (6 bytes). | |
| bool | has_custom_mac_address () |
| Check if a custom MAC address is set (ESP32 & variants) | |
| std::string | get_mac_address () |
| Get the device MAC address as a string, in lowercase hex notation. | |
| std::string | get_mac_address_pretty () |
| Get the device MAC address as a string, in colon-separated uppercase hex notation. | |
| void | get_mac_address_into_buffer (std::span< char, MAC_ADDRESS_BUFFER_SIZE > buf) |
| Get the device MAC address into the given buffer, in lowercase hex notation. | |
| const char * | get_mac_address_pretty_into_buffer (std::span< char, MAC_ADDRESS_PRETTY_BUFFER_SIZE > buf) |
| Get the device MAC address into the given buffer, in colon-separated uppercase hex notation. | |
| bool | mac_address_is_valid (const uint8_t *mac) |
| Check if the MAC address is not all zeros or all ones. | |
| void IRAM_ATTR HOT | delay_microseconds_safe (uint32_t us) |
| Delay for the given amount of microseconds, possibly yielding to other processes during the wait. | |
STL backports | |
| template<typename To , typename From , enable_if_t< sizeof(To)==sizeof(From) &&is_trivially_copyable< From >::value &&is_trivially_copyable< To >::value, int > = 0> | |
| To | bit_cast (const From &src) |
| Convert data between types, without aliasing issues or undefined behaviour. | |
| float | lerp (float completion, float start, float end)=delete |
| template<typename T > | |
| constexpr T | byteswap (T n) |
| template<> | |
| constexpr uint8_t | byteswap (uint8_t n) |
| template<> | |
| uint16_t | byteswap (uint16_t n) |
| template<> | |
| uint32_t | byteswap (uint32_t n) |
| template<> | |
| uint64_t | byteswap (uint64_t n) |
| template<> | |
| int8_t | byteswap (int8_t n) |
| template<> | |
| int16_t | byteswap (int16_t n) |
| template<> | |
| int32_t | byteswap (int32_t n) |
| template<> | |
| int64_t | byteswap (int64_t n) |
| template<> | |
| constexpr uint16_t | byteswap (uint16_t n) |
| template<> | |
| constexpr uint32_t | byteswap (uint32_t n) |
| template<> | |
| constexpr uint64_t | byteswap (uint64_t n) |
| template<> | |
| constexpr int8_t | byteswap (int8_t n) |
| template<> | |
| constexpr int16_t | byteswap (int16_t n) |
| template<> | |
| constexpr int32_t | byteswap (int32_t n) |
| template<> | |
| constexpr int64_t | byteswap (int64_t n) |
Container utilities | |
| template<typename T , size_t N> | |
| void | init_array_from (std::array< T, N > &dest, std::initializer_list< T > src) |
| Initialize a std::array from an initializer_list. | |
Bit manipulation | |
| constexpr uint16_t | encode_uint16 (uint8_t msb, uint8_t lsb) |
| Encode a 16-bit value given the most and least significant byte. | |
| constexpr uint32_t | encode_uint24 (uint8_t byte1, uint8_t byte2, uint8_t byte3) |
| Encode a 24-bit value given three bytes in most to least significant byte order. | |
| constexpr uint32_t | encode_uint32 (uint8_t byte1, uint8_t byte2, uint8_t byte3, uint8_t byte4) |
| Encode a 32-bit value given four bytes in most to least significant byte order. | |
| template<typename T , enable_if_t< std::is_unsigned< T >::value, int > = 0> | |
| constexpr T | encode_value (const uint8_t *bytes) |
| Encode a value from its constituent bytes (from most to least significant) in an array with length sizeof(T). | |
| template<typename T , enable_if_t< std::is_unsigned< T >::value, int > = 0> | |
| constexpr T | encode_value (const std::array< uint8_t, sizeof(T)> bytes) |
| Encode a value from its constituent bytes (from most to least significant) in an std::array with length sizeof(T). | |
| template<typename T , enable_if_t< std::is_unsigned< T >::value, int > = 0> | |
| constexpr std::array< uint8_t, sizeof(T)> | decode_value (T val) |
| Decode a value into its constituent bytes (from most to least significant). | |
| uint8_t | reverse_bits (uint8_t x) |
| Reverse the order of 8 bits. | |
| uint16_t | reverse_bits (uint16_t x) |
| Reverse the order of 16 bits. | |
| uint32_t | reverse_bits (uint32_t x) |
| Reverse the order of 32 bits. | |
| template<typename T > | |
| constexpr T | convert_big_endian (T val) |
| Convert a value between host byte order and big endian (most significant byte first) order. | |
| template<typename T > | |
| constexpr T | convert_little_endian (T val) |
| Convert a value between host byte order and little endian (least significant byte first) order. | |
Units | |
| constexpr float | celsius_to_fahrenheit (float value) |
| Convert degrees Celsius to degrees Fahrenheit. | |
| constexpr float | fahrenheit_to_celsius (float value) |
| Convert degrees Fahrenheit to degrees Celsius. | |
Utilities | |
| void * | callback_manager_grow (void *data, uint16_t size, uint16_t &capacity, size_t elem_size) |
| Grow a CallbackManager's backing array to exactly size+1. Defined in helpers.cpp. | |
Internal functions | |
| template<typename T , enable_if_t<!std::is_pointer< T >::value, int > = 0> | |
| T | id (T value) |
Helper function to make id(var) known from lambdas work in custom components. | |
| template<typename T , enable_if_t< std::is_pointer< T * >::value, int > = 0> | |
| T & | id (T *value) |
Helper function to make id(var) known from lambdas work in custom components. | |
Variables | |
| TaskHandle_t | loop_task_handle = nullptr |
| ESPPreferences * | global_preferences |
| runtime_stats::RuntimeStatsCollector * | global_runtime_stats |
| Application | App |
| Global storage of Application pointer - only one Application can exist. | |
| constexpr uint32_t | SCHEDULER_DONT_RUN = 4294967295UL |
| constexpr uint8_t | COMPONENT_STATE_MASK = 0x07 |
| constexpr uint8_t | COMPONENT_STATE_CONSTRUCTION = 0x00 |
| constexpr uint8_t | COMPONENT_STATE_SETUP = 0x01 |
| constexpr uint8_t | COMPONENT_STATE_LOOP = 0x02 |
| constexpr uint8_t | COMPONENT_STATE_FAILED = 0x03 |
| constexpr uint8_t | COMPONENT_STATE_LOOP_DONE = 0x04 |
| constexpr uint8_t | STATUS_LED_MASK = 0x18 |
| constexpr uint8_t | STATUS_LED_OK = 0x00 |
| constexpr uint8_t | STATUS_LED_WARNING = 0x08 |
| constexpr uint8_t | STATUS_LED_ERROR = 0x10 |
| constexpr uint8_t | COMPONENT_HAS_LOOP = 0x20 |
| constexpr uint8_t | APP_STATE_SETUP_COMPLETE = 0x40 |
| constexpr uint8_t | WARN_IF_BLOCKING_OVER_CS = 5U |
| constexpr size_t | GPIO_SUMMARY_MAX_LEN = 48 |
| Maximum buffer size for dump_summary output. | |
| uint16_t uint16_t & | capacity = new_cap |
| uint16_t uint16_t size_t | elem_size |
| uint16_t | new_cap = size + 1 |
| auto * | new_data = ::operator new(new_cap *elem_size) |
| const char * | tag |
| const char int | line |
| const char int const __FlashStringHelper * | format |
| const char int const __FlashStringHelper va_list | args |
| volatile bool | g_main_loop_woke = false |
Parsing & formatting | |
| enum | ParseOnOffState : uint8_t { PARSE_NONE = 0 , PARSE_ON , PARSE_OFF , PARSE_TOGGLE } |
| Return values for parse_on_off(). More... | |
| size_t | parse_hex (const char *str, size_t len, uint8_t *data, size_t count) |
| Parse bytes from a hex-encoded string into a byte array. | |
| char * | uint32_to_str_unchecked (char *buf, uint32_t val) |
| Write unsigned 32-bit integer to buffer (internal, no size check). | |
| char * | format_hex_to (char *buffer, size_t buffer_size, const uint8_t *data, size_t length) |
| Format byte array as lowercase hex to buffer (base implementation). | |
| std::string | format_hex (const uint8_t *data, size_t length) |
Format the byte array data of length len in lowercased hex. | |
| std::string | format_hex (const std::vector< uint8_t > &data) |
Format the vector data in lowercased hex. | |
| char * | format_hex_pretty_to (char *buffer, size_t buffer_size, const uint8_t *data, size_t length, char separator=':') |
| Format byte array as uppercase hex to buffer (base implementation). | |
| char * | format_hex_pretty_to (char *buffer, size_t buffer_size, const uint16_t *data, size_t length, char separator=':') |
| Format uint16_t array as uppercase hex with separator to pre-allocated buffer. | |
| std::string | format_hex_pretty (const uint8_t *data, size_t length, char separator='.', bool show_length=true) |
| Format a byte array in pretty-printed, human-readable hex format. | |
| std::string | format_hex_pretty (const std::vector< uint8_t > &data, char separator='.', bool show_length=true) |
| Format a byte vector in pretty-printed, human-readable hex format. | |
| std::string | format_hex_pretty (const uint16_t *data, size_t length, char separator='.', bool show_length=true) |
| Format a 16-bit word array in pretty-printed, human-readable hex format. | |
| std::string | format_hex_pretty (const std::vector< uint16_t > &data, char separator='.', bool show_length=true) |
| Format a 16-bit word vector in pretty-printed, human-readable hex format. | |
| std::string | format_hex_pretty (const std::string &data, char separator='.', bool show_length=true) |
| Format a string's bytes in pretty-printed, human-readable hex format. | |
| char * | format_bin_to (char *buffer, size_t buffer_size, const uint8_t *data, size_t length) |
| Format byte array as binary string to buffer. | |
| std::string | format_bin (const uint8_t *data, size_t length) |
Format the byte array data of length len in binary. | |
| ParseOnOffState | parse_on_off (const char *str, const char *on=nullptr, const char *off=nullptr) |
| Parse a string that contains either on, off or toggle. | |
| size_t | value_accuracy_to_buf (std::span< char, VALUE_ACCURACY_MAX_LEN > buf, float value, int8_t accuracy_decimals) |
| Format value with accuracy to buffer, returns chars written (excluding null) | |
| size_t | value_accuracy_with_uom_to_buf (std::span< char, VALUE_ACCURACY_MAX_LEN > buf, float value, int8_t accuracy_decimals, StringRef unit_of_measurement) |
| Format value with accuracy and UOM to buffer, returns chars written (excluding null) | |
| int8_t | step_to_accuracy_decimals (float step) |
| Derive accuracy in decimals from an increment step. | |
| std::string | base64_encode (const std::vector< uint8_t > &buf) |
| std::string | base64_encode (const uint8_t *buf, size_t buf_len) |
| size_t | base64_decode (const std::string &encoded_string, uint8_t *buf, size_t buf_len) |
| size_t | base64_decode (const uint8_t *encoded_data, size_t encoded_len, uint8_t *buf, size_t buf_len) |
| std::vector< uint8_t > | base64_decode (const std::string &encoded_string) |
| bool | base64_decode_int32_vector (const std::string &base64, std::vector< int32_t > &out) |
| Decode base64/base64url string directly into vector of little-endian int32 values. | |
| template<typename T , enable_if_t<(std::is_integral< T >::value &&std::is_unsigned< T >::value), int > = 0> | |
| optional< T > | parse_number (const char *str) |
| Parse an unsigned decimal number from a null-terminated string. | |
| template<typename T , enable_if_t<(std::is_integral< T >::value &&std::is_unsigned< T >::value), int > = 0> | |
| optional< T > | parse_number (const std::string &str) |
| Parse an unsigned decimal number. | |
| bool | parse_hex (const char *str, uint8_t *data, size_t count) |
Parse count bytes from the hex-encoded string str of at least 2*count characters into array data. | |
| bool | parse_hex (const std::string &str, uint8_t *data, size_t count) |
Parse count bytes from the hex-encoded string str of at least 2*count characters into array data. | |
| bool | parse_hex (const char *str, std::vector< uint8_t > &data, size_t count) |
Parse count bytes from the hex-encoded string str of at least 2*count characters into vector data. | |
| bool | parse_hex (const std::string &str, std::vector< uint8_t > &data, size_t count) |
Parse count bytes from the hex-encoded string str of at least 2*count characters into vector data. | |
| template<typename T , enable_if_t< std::is_unsigned< T >::value, int > = 0> | |
| optional< T > | parse_hex (const char *str, size_t len) |
| Parse a hex-encoded string into an unsigned integer. | |
| template<typename T , enable_if_t< std::is_unsigned< T >::value, int > = 0> | |
| optional< T > | parse_hex (const char *str) |
| Parse a hex-encoded null-terminated string (starting with the most significant byte) into an unsigned integer. | |
| template<typename T , enable_if_t< std::is_unsigned< T >::value, int > = 0> | |
| optional< T > | parse_hex (const std::string &str) |
| Parse a hex-encoded null-terminated string (starting with the most significant byte) into an unsigned integer. | |
| constexpr uint8_t | parse_hex_char (char c) |
| ESPHOME_ALWAYS_INLINE char | format_hex_char (uint8_t v, char base) |
| Convert a nibble (0-15) to hex char with specified base ('a' for lowercase, 'A' for uppercase) | |
| ESPHOME_ALWAYS_INLINE char | format_hex_char (uint8_t v) |
| Convert a nibble (0-15) to lowercase hex char. | |
| ESPHOME_ALWAYS_INLINE char | format_hex_pretty_char (uint8_t v) |
| Convert a nibble (0-15) to uppercase hex char (used for pretty printing) | |
| char * | int8_to_str (char *buf, int8_t val) |
| Write int8 value to buffer without modulo operations. | |
| size_t | uint32_to_str (std::span< char, UINT32_MAX_STR_SIZE > buf, uint32_t val) |
| Write unsigned 32-bit integer to buffer with compile-time size check. | |
| template<size_t N> | |
| char * | format_hex_to (char(&buffer)[N], const uint8_t *data, size_t length) |
| Format byte array as lowercase hex to buffer. | |
| template<size_t N, typename T , enable_if_t< std::is_unsigned< T >::value, int > = 0> | |
| char * | format_hex_to (char(&buffer)[N], T val) |
| Format an unsigned integer in lowercased hex to buffer, starting with the most significant byte. | |
| template<size_t N> | |
| char * | format_hex_to (char(&buffer)[N], const std::vector< uint8_t > &data) |
| Format std::vector<uint8_t> as lowercase hex to buffer. | |
| template<size_t N, size_t M> | |
| char * | format_hex_to (char(&buffer)[N], const std::array< uint8_t, M > &data) |
| Format std::array<uint8_t, M> as lowercase hex to buffer. | |
| constexpr size_t | format_hex_size (size_t byte_count) |
| Calculate buffer size needed for format_hex_to: "XXXXXXXX...\0" = bytes * 2 + 1. | |
| constexpr size_t | format_hex_prefixed_size (size_t byte_count) |
| Calculate buffer size needed for format_hex_prefixed_to: "0xXXXXXXXX...\0" = bytes * 2 + 3. | |
| template<size_t N, typename T , enable_if_t< std::is_unsigned< T >::value, int > = 0> | |
| char * | format_hex_prefixed_to (char(&buffer)[N], T val) |
| Format an unsigned integer as "0x" prefixed lowercase hex to buffer. | |
| template<size_t N> | |
| char * | format_hex_prefixed_to (char(&buffer)[N], const uint8_t *data, size_t length) |
| Format byte array as "0x" prefixed lowercase hex to buffer. | |
| constexpr size_t | format_hex_pretty_size (size_t byte_count) |
| Calculate buffer size needed for format_hex_pretty_to with separator: "XX:XX:...:XX\0". | |
| template<size_t N> | |
| char * | format_hex_pretty_to (char(&buffer)[N], const uint8_t *data, size_t length, char separator=':') |
| Format byte array as uppercase hex with separator to buffer. Automatically deduces buffer size. | |
| template<size_t N> | |
| char * | format_hex_pretty_to (char(&buffer)[N], const std::vector< uint8_t > &data, char separator=':') |
| Format std::vector<uint8_t> as uppercase hex with separator to buffer. | |
| template<size_t N, size_t M> | |
| char * | format_hex_pretty_to (char(&buffer)[N], const std::array< uint8_t, M > &data, char separator=':') |
| Format std::array<uint8_t, M> as uppercase hex with separator to buffer. | |
| constexpr size_t | format_hex_pretty_uint16_size (size_t count) |
| Calculate buffer size needed for format_hex_pretty_to with uint16_t data: "XXXX:XXXX:...:XXXX\0". | |
| template<size_t N> | |
| char * | format_hex_pretty_to (char(&buffer)[N], const uint16_t *data, size_t length, char separator=':') |
| Format uint16_t array as uppercase hex with separator to buffer. Automatically deduces buffer size. | |
| char * | format_mac_addr_upper (const uint8_t *mac, char *output) |
| Format MAC address as XX:XX:XX:XX:XX:XX (uppercase, colon separators) | |
| void | format_mac_addr_lower_no_sep (const uint8_t *mac, char *output) |
| Format MAC address as xxxxxxxxxxxxxx (lowercase, no separators) | |
| std::string | format_mac_address_pretty (const uint8_t mac[6]) |
Format the six-byte array mac into a MAC address. | |
| template<typename T , enable_if_t< std::is_unsigned< T >::value, int > = 0> | |
| std::string | format_hex (T val) |
| Format an unsigned integer in lowercased hex, starting with the most significant byte. | |
| template<std::size_t N> | |
| std::string | format_hex (const std::array< uint8_t, N > &data) |
Format the std::array data in lowercased hex. | |
| template<typename T , enable_if_t< std::is_unsigned< T >::value, int > = 0> | |
| std::string | format_hex_pretty (T val, char separator='.', bool show_length=true) |
| Format an unsigned integer in pretty-printed, human-readable hex format. | |
| constexpr size_t | format_bin_size (size_t byte_count) |
| Calculate buffer size needed for format_bin_to: "01234567...\0" = bytes * 8 + 1. | |
| template<size_t N> | |
| char * | format_bin_to (char(&buffer)[N], const uint8_t *data, size_t length) |
| Format byte array as binary to buffer. Automatically deduces buffer size. | |
| template<size_t N, typename T , enable_if_t< std::is_unsigned< T >::value, int > = 0> | |
| char * | format_bin_to (char(&buffer)[N], T val) |
| Format an unsigned integer in binary to buffer, MSB first. | |
| template<typename T , enable_if_t< std::is_unsigned< T >::value, int > = 0> | |
| std::string | format_bin (T val) |
| Format an unsigned integer in binary, starting with the most significant byte. | |
Memory management | |
| template<class T > | |
| using | ExternalRAMAllocator = RAMAllocator<T> |
| template<std::totally_ordered T, comparable_with< T > U> | |
| T | clamp_at_least (T value, U min) |
| template<std::totally_ordered T, comparable_with< T > U> | |
| T | clamp_at_most (T value, U max) |
Strings | |
| uint16_t | size |
| std::string size_t | len |
| size_t size_t | pos |
| size_t size_t const char * | fmt |
| int | written = vsnprintf(buf + pos, size - pos, fmt, args) |
| bool | str_equals_case_insensitive (const std::string &a, const std::string &b) |
| Compare strings for equality in case-insensitive manner. | |
| bool | str_equals_case_insensitive (StringRef a, StringRef b) |
| Compare StringRefs for equality in case-insensitive manner. | |
| bool | str_startswith (const std::string &str, const std::string &start) |
| Check whether a string starts with a value. | |
| bool | str_endswith (const std::string &str, const std::string &end) |
| Check whether a string ends with a value. | |
| bool | str_endswith_ignore_case (const char *str, size_t str_len, const char *suffix, size_t suffix_len) |
| Case-insensitive check if string ends with suffix (no heap allocation). | |
| std::string | str_truncate (const std::string &str, size_t length) |
| Truncate a string to a specific length. | |
| std::string | str_until (const char *str, char ch) |
| Extract the part of the string until either the first occurrence of the specified character, or the end (requires str to be null-terminated). | |
| std::string | str_until (const std::string &str, char ch) |
| Extract the part of the string until either the first occurrence of the specified character, or the end. | |
| std::string | str_lower_case (const std::string &str) |
| Convert the string to lower case. | |
| std::string | str_upper_case (const std::string &str) |
| Convert the string to upper case. | |
| std::string | str_snake_case (const std::string &str) |
| Convert the string to snake case (lowercase with underscores). | |
| char * | str_sanitize_to (char *buffer, size_t buffer_size, const char *str) |
| Sanitize a string to buffer, keeping only alphanumerics, dashes, and underscores. | |
| std::string | str_sanitize (const std::string &str) |
| Sanitizes the input string by removing all characters but alphanumerics, dashes and underscores. | |
| size_t | make_name_with_suffix_to (char *buffer, size_t buffer_size, const char *name, size_t name_len, char sep, const char *suffix_ptr, size_t suffix_len) |
| Zero-allocation version: format name + separator + suffix directly into buffer. | |
| std::string | make_name_with_suffix (const char *name, size_t name_len, char sep, const char *suffix_ptr, size_t suffix_len) |
| Optimized string concatenation: name + separator + suffix (const char* overload) Uses a fixed stack buffer to avoid heap allocations. | |
| std::string | make_name_with_suffix (const std::string &name, char sep, const char *suffix_ptr, size_t suffix_len) |
| Concatenate a name with a separator and suffix using an efficient stack-based approach. | |
| bool | str_equals_case_insensitive (const char *a, const char *b) |
| Compare C strings for equality in case-insensitive manner (no heap allocation). | |
| bool | str_equals_case_insensitive (const std::string &a, const char *b) |
| bool | str_equals_case_insensitive (const char *a, const std::string &b) |
| bool | str_endswith_ignore_case (const char *str, const char *suffix) |
| bool | str_endswith_ignore_case (const std::string &str, const char *suffix) |
| constexpr char | to_snake_case_char (char c) |
| Convert a single char to snake_case: lowercase and space to underscore. | |
| constexpr char | to_sanitized_char (char c) |
| Sanitize a single char: keep alphanumerics, dashes, underscores; replace others with underscore. | |
| template<size_t N> | |
| char * | str_sanitize_to (char(&buffer)[N], const char *str) |
| Sanitize a string to buffer. Automatically deduces buffer size. | |
| uint32_t | fnv1_hash_object_id (const char *str, size_t len) |
| Calculate FNV-1 hash of a string while applying snake_case + sanitize transformations. | |
| std::string | __attribute__ ((format(printf, 1, 3))) str_snprintf(const char *fmt |
snprintf-like function returning std::string of maximum length len (excluding null terminator). | |
| std::string size_t std::string | __attribute__ ((format(printf, 1, 2))) str_sprintf(const char *fmt |
| sprintf-like function returning std::string. | |
| std::string size_t std::string size_t | buf_append_printf_p (char *buf, size_t size, size_t pos, PGM_P fmt,...) |
| Safely append formatted string to buffer, returning new position (capped at size). | |
| __attribute__ ((format(printf, 4, 5))) inline size_t buf_append_printf(char *buf | |
| Safely append formatted string to buffer, returning new position (capped at size). | |
| size_t size_t const char | va_start (args, fmt) |
| va_end (args) | |
| if (written< 0) | |
| size_t | buf_append_str (char *buf, size_t size, size_t pos, const char *str) |
| Safely append a string to buffer without format parsing, returning new position (capped at size). | |
Mathematics | |
| constexpr uint32_t | FNV1_OFFSET_BASIS = 2166136261UL |
| FNV-1 32-bit offset basis. | |
| constexpr uint32_t | FNV1_PRIME = 16777619UL |
| FNV-1 32-bit prime. | |
| bool | random_bytes (uint8_t *data, size_t len) |
Generate len random bytes using the platform's secure RNG (hardware RNG or OS CSPRNG). | |
| uint32_t | random_uint32 () |
| Return a random 32-bit unsigned integer. | |
| uint8_t | crc8 (const uint8_t *data, uint8_t len, uint8_t crc=0x00, uint8_t poly=0x8C, bool msb_first=false) |
Calculate a CRC-8 checksum of data with size len. | |
| uint16_t | crc16 (const uint8_t *data, uint16_t len, uint16_t crc=0xffff, uint16_t reverse_poly=0xa001, bool refin=false, bool refout=false) |
Calculate a CRC-16 checksum of data with size len. | |
| uint16_t | crc16be (const uint8_t *data, uint16_t len, uint16_t crc, uint16_t poly, bool refin, bool refout) |
| uint32_t | fnv1_hash (const char *str) |
Calculate a FNV-1 hash of str. | |
| float | random_float () |
| Return a random float between 0 and 1. | |
| float | pow10_int (int8_t exp) |
| Compute 10^exp using iterative multiplication/division. | |
| template<typename T , typename U > | |
| T | remap (U value, U min, U max, T min_out, T max_out) |
Remap value from the range (min, max) to (min_out, max_out). | |
| uint32_t | fnv1_hash (const std::string &str) |
| template<std::integral T> | |
| constexpr uint32_t | fnv1_hash_extend (uint32_t hash, T value) |
| Extend a FNV-1 hash with an integer (hashes each byte). | |
| constexpr uint32_t | fnv1_hash_extend (uint32_t hash, const char *str) |
| Extend a FNV-1 hash with additional string data. | |
| uint32_t | fnv1_hash_extend (uint32_t hash, const std::string &str) |
| constexpr uint32_t | fnv1a_hash_extend (uint32_t hash, const char *str) |
| Extend a FNV-1a hash with additional string data. | |
| uint32_t | fnv1a_hash_extend (uint32_t hash, const std::string &str) |
| template<std::integral T> | |
| constexpr uint32_t | fnv1a_hash_extend (uint32_t hash, T value) |
| Extend a FNV-1a hash with an integer (hashes each byte). | |
| constexpr uint32_t | fnv1a_hash (const char *str) |
Calculate a FNV-1a hash of str. | |
| uint32_t | fnv1a_hash (const std::string &str) |
| template<typename ReturnT = uint32_t> | |
| constexpr ESPHOME_ALWAYS_INLINE ReturnT | micros_to_millis (uint64_t us) |
| Convert a 64-bit microsecond count to milliseconds without calling __udivdi3 (software 64-bit divide, ~1200 ns on Xtensa @ 240 MHz). | |
Colors | |
| float | gamma |
| void | rgb_to_hsv (float red, float green, float blue, int &hue, float &saturation, float &value) |
Convert red, green and blue (all 0-1) values to hue (0-360), saturation (0-1) and value (0-1). | |
| void | hsv_to_rgb (int hue, float saturation, float value, float &red, float &green, float &blue) |
Convert hue (0-360), saturation (0-1) and value (0-1) to red, green and blue (all 0-1). | |
| ESPDEPRECATED ("Use LightState::gamma_correct_lut() instead. Removed in 2026.9.0.", "2026.3.0") float gamma_correct(float value | |
Applies gamma correction of gamma to value. | |
| ESPDEPRECATED ("Use LightState::gamma_uncorrect_lut() instead. Removed in 2026.9.0.", "2026.3.0") float gamma_uncorrect(float value | |
Reverts gamma correction of gamma to value. | |
Providing packet encoding functions for exchanging data with a remote host.
When the TEST_COMPONENT flag is defined we include some auto-test methods.
This file implements the UART protocol spoken over the on-board Micro-USB (Type B) connector of Tormatic and Novoferm gates manufactured as of 2016.
Author: Gustavo Ambrozio Based on work by: Atsushi Sasaki (https://github.com/aselectroworks/Arduino-FT6336U)
A transport is required to send the data; this is provided by a child class. The child class should implement the virtual functions send_packet_ and get_max_packet_size_. On receipt of a data packet, it should call this->process_() with the data.
All communication is initiated by the component. The unit doesn't send data without being asked first.
There are two main message types: status requests and commands.
Querying the gate's status:
| sequence | length | type | payload | | 0xF3 0xCB | 0x00 0x00 0x00 0x06 | 0x01 0x04 | 0x00 0x0A 0x00 0x01 | | 0xF3 0xCB | 0x00 0x00 0x00 0x05 | 0x01 0x04 | 0x02 0x03 0x00 |
This request asks for the gate status (0x0A); the only other value observed in the request was 0x0B, but replies were always zero. Presumably this queries another sensor on the unit like a safety breaker, but this is not relevant for an esphome cover component.
The second byte of the reply is set to 0x03 when the gate is in fully open position. Other valid values for the second byte are: (0x0) Paused, (0x1) Closed, (0x2) Ventilating, (0x3) Opened, (0x4) Opening, (0x5) Closing. The meaning of the other bytes is currently unknown and ignored by the component.
Controlling the gate:
| sequence | length | type | payload | | 0x40 0xFF | 0x00 0x00 0x00 0x06 | 0x01 0x06 | 0x00 0x0A 0x00 0x03 | | 0x40 0xFF | 0x00 0x00 0x00 0x06 | 0x01 0x06 | 0x00 0x0A 0x00 0x03 |
The unit acks any commands by echoing back the message in full. However, this does not mean the gate has started closing. The component only considers status replies as authoritative and simply fires off commands, ignoring the echoed messages.
The payload structure is as follows: [0x00, 0x0A] (gate), followed by one of the states normally carried in status replies: (0x0) Pause, (0x1) Close, (0x2) Ventilate (open ~20%), (0x3) Open/high-torque reverse. The protocol implementation in this file simply reuses the GateStatus enum for this purpose.
Used to test the software during development but can also be used in situ to test if the component is working correctly. For release we do not set it by default but you can set it by using the following lines in you configuration file:
Definition at line 36 of file preference_backend.h.
| using esphome::ESPPreferences = Preferences |
Definition at line 42 of file preferences.h.
| using esphome::ExternalRAMAllocator = RAMAllocator<T> |
| using esphome::int16_be_t = internal::BigEndianLayout<int16_t> |
Definition at line 51 of file datatypes.h.
| using esphome::int16_le_t = internal::LittleEndianLayout<int16_t> |
Definition at line 59 of file datatypes.h.
Definition at line 50 of file datatypes.h.
Definition at line 58 of file datatypes.h.
| using esphome::int32_be_t = internal::BigEndianLayout<int32_t> |
Definition at line 49 of file datatypes.h.
| using esphome::int32_le_t = internal::LittleEndianLayout<int32_t> |
Definition at line 57 of file datatypes.h.
| using esphome::int64_be_t = internal::BigEndianLayout<int64_t> |
Definition at line 48 of file datatypes.h.
| using esphome::int64_le_t = internal::LittleEndianLayout<int64_t> |
Definition at line 56 of file datatypes.h.
| typedef zephyr::ZephyrPreferenceBackend esphome::PreferenceBackend = esp32::ESP32PreferenceBackend |
Definition at line 24 of file preference_backend.h.
| using esphome::TemplatableStorage |
Selects TemplatableFn (4 bytes) for trivially copyable types, TemplatableValue (8 bytes) otherwise.
Non-trivial types (std::string, std::vector<uint8_t>, etc.) need TemplatableValue for raw value storage, PROGMEM/FlashStringHelper support (strings), and proper copy/move/destruction.
Definition at line 100 of file automation.h.
| using esphome::uint16_be_t = internal::BigEndianLayout<uint16_t> |
Definition at line 47 of file datatypes.h.
| using esphome::uint16_le_t = internal::LittleEndianLayout<uint16_t> |
Definition at line 55 of file datatypes.h.
Definition at line 46 of file datatypes.h.
Definition at line 54 of file datatypes.h.
Definition at line 45 of file datatypes.h.
Definition at line 53 of file datatypes.h.
| using esphome::uint64_be_t = internal::BigEndianLayout<uint64_t> |
Definition at line 44 of file datatypes.h.
| using esphome::uint64_le_t = internal::LittleEndianLayout<uint64_t> |
Definition at line 52 of file datatypes.h.
| enum esphome::EntityCategory : uint8_t |
| Enumerator | |
|---|---|
| ENTITY_CATEGORY_NONE | |
| ENTITY_CATEGORY_CONFIG | |
| ENTITY_CATEGORY_DIAGNOSTIC | |
Definition at line 52 of file entity_base.h.
|
strong |
Type-safe scheduler IDs for core base classes.
Uses a separate NameType (NUMERIC_ID_INTERNAL) so IDs can never collide with component-level NUMERIC_ID values, even if the uint32_t values overlap.
| Enumerator | |
|---|---|
| POLLING_UPDATE | |
| DELAY_ACTION | |
Definition at line 65 of file component.h.
| enum esphome::ParseOnOffState : uint8_t |
Return values for parse_on_off().
| Enumerator | |
|---|---|
| PARSE_NONE | |
| PARSE_ON | |
| PARSE_OFF | |
| PARSE_TOGGLE | |
|
strong |
| Enumerator | |
|---|---|
| DONE | |
| RETRY | |
Definition at line 98 of file component.h.
| esphome::__attribute__ | ( | (always_inline) | ) |
| esphome::__attribute__ | ( | (deprecated("Use esp_log_printf_() instead. Removed in 2026.9.0.")) | ) |
| std::string size_t std::string esphome::__attribute__ | ( | (format(printf, 1, 2)) | ) | const |
sprintf-like function returning std::string.
| std::string esphome::__attribute__ | ( | (format(printf, 1, 3)) | ) | const |
snprintf-like function returning std::string of maximum length len (excluding null terminator).
| esphome::__attribute__ | ( | (format(printf, 4, 5)) | ) |
Safely append formatted string to buffer, returning new position (capped at size).
Handles snprintf edge cases: negative returns (encoding errors) and truncation.
| buf | Output buffer |
| size | Total buffer size |
| pos | Current position in buffer |
| fmt | printf-style format string |
| esphome::__attribute__ | ( | (noinline, cold) | ) |
Definition at line 513 of file component.cpp.
| void esphome::__attribute__ | ( | (noreturn) | ) |
| struct esphome::int24_t esphome::__attribute__ | ( | (packed) | ) |
| esphome::__attribute__ | ( | (weak) | ) | const |
Definition at line 537 of file component.cpp.
| bool esphome::api_is_connected | ( | ) |
| char app_storage[sizeof(Application)] esphome::asm | ( | ESPHOME_STRINGIFY_(__USER_LABEL_PREFIX__) "_ZN7esphome3AppE" | ) |
| std::vector< uint8_t > esphome::base64_decode | ( | const std::string & | encoded_string | ) |
Definition at line 708 of file helpers.cpp.
| size_t esphome::base64_decode | ( | const std::string & | encoded_string, |
| uint8_t * | buf, | ||
| size_t | buf_len ) |
Definition at line 649 of file helpers.cpp.
| size_t esphome::base64_decode | ( | const uint8_t * | encoded_data, |
| size_t | encoded_len, | ||
| uint8_t * | buf, | ||
| size_t | buf_len ) |
Definition at line 674 of file helpers.cpp.
| bool esphome::base64_decode_int32_vector | ( | const std::string & | base64, |
| std::vector< int32_t > & | out ) |
Decode base64/base64url string directly into vector of little-endian int32 values.
| base64 | Base64 or base64url encoded string (both +/ and -_ accepted) |
| out | Output vector (cleared and filled with decoded int32 values) |
Definition at line 721 of file helpers.cpp.
| std::string esphome::base64_encode | ( | const std::vector< uint8_t > & | buf | ) |
Definition at line 609 of file helpers.cpp.
| std::string esphome::base64_encode | ( | const uint8_t * | buf, |
| size_t | buf_len ) |
Definition at line 623 of file helpers.cpp.
| To esphome::bit_cast | ( | const From & | src | ) |
|
inline |
Safely append formatted string to buffer, returning new position (capped at size).
| buf | Output buffer |
| size | Total buffer size |
| pos | Current position in buffer |
| fmt | Format string (must be in PROGMEM on ESP8266) |
|
inline |
Safely append a string to buffer without format parsing, returning new position (capped at size).
More efficient than buf_append_printf for plain string literals.
| buf | Output buffer |
| size | Total buffer size |
| pos | Current position in buffer |
| str | String to append (must not be null) |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
inline |
|
constexpr |
|
constexpr |
| void * esphome::callback_manager_grow | ( | void * | data, |
| uint16_t | size, | ||
| uint16_t & | capacity, | ||
| size_t | elem_size ) |
Grow a CallbackManager's backing array to exactly size+1. Defined in helpers.cpp.
|
constexpr |
| T esphome::clamp_at_least | ( | T | value, |
| U | min ) |
| T esphome::clamp_at_most | ( | T | value, |
| U | max ) |
| void esphome::clear_setup_priority_overrides | ( | ) |
Definition at line 529 of file component.cpp.
| const LogString * esphome::component_source_lookup | ( | uint8_t | index | ) |
Lookup component source name by index (1-based).
Generated by Python codegen. Weak default returns "<unknown>" so builds without codegen still link.
|
constexpr |
|
constexpr |
|
inline |
Definition at line 252 of file string_ref.h.
| uint16_t esphome::crc16 | ( | const uint8_t * | data, |
| uint16_t | len, | ||
| uint16_t | crc, | ||
| uint16_t | reverse_poly, | ||
| bool | refin, | ||
| bool | refout ) |
Calculate a CRC-16 checksum of data with size len.
Definition at line 86 of file helpers.cpp.
| uint16_t esphome::crc16be | ( | const uint8_t * | data, |
| uint16_t | len, | ||
| uint16_t | crc, | ||
| uint16_t | poly, | ||
| bool | refin, | ||
| bool | refout ) |
Definition at line 126 of file helpers.cpp.
| uint8_t esphome::crc8 | ( | const uint8_t * | data, |
| uint8_t | len, | ||
| uint8_t | crc, | ||
| uint8_t | poly, | ||
| bool | msb_first ) |
Calculate a CRC-8 checksum of data with size len.
Definition at line 59 of file helpers.cpp.
| uint8_t esphome::days_in_month | ( | uint8_t | month, |
| uint16_t | year ) |
|
constexpr |
| void esphome::delay_microseconds_safe | ( | uint32_t | us | ) |
Delay for the given amount of microseconds, possibly yielding to other processes during the wait.
Definition at line 908 of file helpers.cpp.
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
extern |
|
extern |
|
extern |
| int esphome::esp_idf_log_vprintf_ | ( | const char * | format, |
| va_list | args ) |
| void void esphome::esp_log_printf_ | ( | int | level, |
| const char * | tag, | ||
| int | line, | ||
| const __FlashStringHelper * | format, | ||
| ... ) |
| void esphome::esp_log_printf_ | ( | int | level, |
| const char * | tag, | ||
| int | line, | ||
| const char * | format, | ||
| ... ) |
| void HOT esphome::esp_log_vprintf_ | ( | int | level, |
| const char * | tag, | ||
| int | line, | ||
| const __FlashStringHelper * | format, | ||
| va_list | args ) |
| void esphome::esp_log_vprintf_ | ( | int | level, |
| const char * | tag, | ||
| int | line, | ||
| const char * | format, | ||
| va_list | args ) |
| esphome::ESPDEPRECATED | ( | "Use LightState::gamma_correct_lut() instead. Removed in 2026.9.0." | , |
| "2026.3.0" | ) |
Applies gamma correction of gamma to value.
| esphome::ESPDEPRECATED | ( | "Use LightState::gamma_uncorrect_lut() instead. Removed in 2026.9.0." | , |
| "2026.3.0" | ) |
Reverts gamma correction of gamma to value.
| struct esphome::ESPDEPRECATED | ( | "Use std::index_sequence instead. Removed in 2026.6.0" | , |
| "2025.12.0" | ) |
Definition at line 1 of file automation.h.
| void esphome::esphome_wake_ota_component_any_context | ( | void | ) |
Definition at line 39 of file ota_esphome.cpp.
|
constexpr |
| uint32_t esphome::fnv1_hash | ( | const char * | str | ) |
Calculate a FNV-1 hash of str.
Note: FNV-1a (fnv1a_hash) is preferred for new code due to better avalanche characteristics.
Definition at line 161 of file helpers.cpp.
|
inline |
|
inline |
Calculate FNV-1 hash of a string while applying snake_case + sanitize transformations.
This computes object_id hashes directly from names without creating an intermediate buffer. IMPORTANT: Must match Python fnv1_hash_object_id() in esphome/helpers.py. If you modify this function, update the Python version and tests in both places.
|
constexpr |
|
inline |
| std::string esphome::format_bin | ( | const uint8_t * | data, |
| size_t | length ) |
Format the byte array data of length len in binary.
Definition at line 503 of file helpers.cpp.
| std::string esphome::format_bin | ( | T | val | ) |
Format an unsigned integer in binary, starting with the most significant byte.
|
constexpr |
| char * esphome::format_bin_to | ( | char * | buffer, |
| size_t | buffer_size, | ||
| const uint8_t * | data, | ||
| size_t | length ) |
Format byte array as binary string to buffer.
Each byte is formatted as 8 binary digits (MSB first). Truncates output if data exceeds buffer capacity.
| buffer | Output buffer to write to. |
| buffer_size | Size of the output buffer. |
| data | Pointer to the byte array to format. |
| length | Number of bytes in the array. |
Buffer size needed: length * 8 + 1 (use format_bin_size()).
Example:
Definition at line 482 of file helpers.cpp.
|
inline |
|
inline |
Format an unsigned integer in binary to buffer, MSB first.
| N | Buffer size (must be >= sizeof(T) * 8 + 1). |
| T | Unsigned integer type. |
| buffer | Output buffer to write to. |
| val | The unsigned integer value to format. |
Example:
| std::string esphome::format_hex | ( | const std::array< uint8_t, N > & | data | ) |
Format the std::array data in lowercased hex.
| std::string esphome::format_hex | ( | const std::vector< uint8_t > & | data | ) |
Format the vector data in lowercased hex.
Definition at line 407 of file helpers.cpp.
| std::string esphome::format_hex | ( | const uint8_t * | data, |
| size_t | length ) |
Format the byte array data of length len in lowercased hex.
Definition at line 401 of file helpers.cpp.
| std::string esphome::format_hex | ( | T | val | ) |
Format an unsigned integer in lowercased hex, starting with the most significant byte.
|
inline |
|
inline |
|
constexpr |
|
inline |
|
inline |
| std::string esphome::format_hex_pretty | ( | const std::string & | data, |
| char | separator = '.', | ||
| bool | show_length = true ) |
Format a string's bytes in pretty-printed, human-readable hex format.
Treats each character in the string as a byte and formats it in hex. Useful for debugging binary data stored in std::string containers.
| data | String whose bytes should be formatted as hex. |
| separator | Character to use between hex bytes (default: '.'). |
| show_length | Whether to append the byte count in parentheses (default: true). |
Example:
Definition at line 478 of file helpers.cpp.
| std::string esphome::format_hex_pretty | ( | const std::vector< uint16_t > & | data, |
| char | separator = '.', | ||
| bool | show_length = true ) |
Format a 16-bit word vector in pretty-printed, human-readable hex format.
Convenience overload for std::vector<uint16_t>. Each 16-bit word is formatted as a 4-digit uppercase hex value in big-endian order.
| data | Vector of 16-bit words to format. |
| separator | Character to use between hex words (default: '.'). |
| show_length | Whether to append the word count in parentheses (default: true). |
Example:
Definition at line 475 of file helpers.cpp.
| std::string esphome::format_hex_pretty | ( | const std::vector< uint8_t > & | data, |
| char | separator = '.', | ||
| bool | show_length = true ) |
Format a byte vector in pretty-printed, human-readable hex format.
Convenience overload for std::vector<uint8_t>. Formats each byte as a two-digit uppercase hex value with customizable separator.
| data | Vector of bytes to format. |
| separator | Character to use between hex bytes (default: '.'). |
| show_length | Whether to append the byte count in parentheses (default: true). |
Example:
Definition at line 460 of file helpers.cpp.
| std::string esphome::format_hex_pretty | ( | const uint16_t * | data, |
| size_t | length, | ||
| char | separator = '.', | ||
| bool | show_length = true ) |
Format a 16-bit word array in pretty-printed, human-readable hex format.
Similar to the byte array version, but formats 16-bit words as 4-digit hex values.
| data | Pointer to the 16-bit word array to format. |
| length | Number of 16-bit words in the array. |
| separator | Character to use between hex words (default: '.'). |
| show_length | Whether to append the word count in parentheses (default: true). |
Example:
Definition at line 464 of file helpers.cpp.
| std::string esphome::format_hex_pretty | ( | const uint8_t * | data, |
| size_t | length, | ||
| char | separator = '.', | ||
| bool | show_length = true ) |
Format a byte array in pretty-printed, human-readable hex format.
Converts binary data to a hexadecimal string representation with customizable formatting. Each byte is displayed as a two-digit uppercase hex value, separated by the specified separator. Optionally includes the total byte count in parentheses at the end.
| data | Pointer to the byte array to format. |
| length | Number of bytes in the array. |
| separator | Character to use between hex bytes (default: '.'). |
| show_length | Whether to append the byte count in parentheses (default: true). |
Example:
Definition at line 457 of file helpers.cpp.
| std::string esphome::format_hex_pretty | ( | T | val, |
| char | separator = '.', | ||
| bool | show_length = true ) |
Format an unsigned integer in pretty-printed, human-readable hex format.
Converts the integer to big-endian byte order and formats each byte as hex. The most significant byte appears first in the output string.
| T | Unsigned integer type (uint8_t, uint16_t, uint32_t, uint64_t, etc.). |
| val | The unsigned integer value to format. |
| separator | Character to use between hex bytes (default: '.'). |
| show_length | Whether to append the byte count in parentheses (default: true). |
Example:
|
inline |
|
constexpr |
| char * esphome::format_hex_pretty_to | ( | char * | buffer, |
| size_t | buffer_size, | ||
| const uint16_t * | data, | ||
| size_t | length, | ||
| char | separator = ':' ) |
Format uint16_t array as uppercase hex with separator to pre-allocated buffer.
Each uint16_t is formatted as 4 hex chars in big-endian order.
| buffer | Output buffer to write to. |
| buffer_size | Size of the output buffer. |
| data | Pointer to uint16_t array. |
| length | Number of uint16_t values. |
| separator | Character to use between values, or '\0' for no separator. |
Buffer size needed: length * 5 with separator (for "XXXX:XXXX\0"), length * 4 + 1 without.
Definition at line 413 of file helpers.cpp.
| char * esphome::format_hex_pretty_to | ( | char * | buffer, |
| size_t | buffer_size, | ||
| const uint8_t * | data, | ||
| size_t | length, | ||
| char | separator = ':' ) |
Format byte array as uppercase hex to buffer (base implementation).
| buffer | Output buffer to write to. |
| buffer_size | Size of the output buffer. |
| data | Pointer to the byte array to format. |
| length | Number of bytes in the array. |
| separator | Character to use between hex bytes, or '\0' for no separator. |
Buffer size needed: length * 3 with separator (for "XX:XX:XX\0"), length * 2 + 1 without.
Definition at line 409 of file helpers.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
constexpr |
|
constexpr |
| char * esphome::format_hex_to | ( | char * | buffer, |
| size_t | buffer_size, | ||
| const uint8_t * | data, | ||
| size_t | length ) |
Format byte array as lowercase hex to buffer (base implementation).
Definition at line 397 of file helpers.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| std::string esphome::format_mac_address_pretty | ( | const uint8_t * | mac | ) |
Definition at line 344 of file helpers.cpp.
| std::string esphome::format_mac_address_pretty | ( | const uint8_t | mac[6] | ) |
Format the six-byte array mac into a MAC address.
| float esphome::gamma_correct | ( | float | value, |
| float | gamma ) |
Definition at line 759 of file helpers.cpp.
| float esphome::gamma_uncorrect | ( | float | value, |
| float | gamma ) |
Definition at line 767 of file helpers.cpp.
| std::string esphome::get_mac_address | ( | ) |
Get the device MAC address as a string, in lowercase hex notation.
Definition at line 854 of file helpers.cpp.
| void esphome::get_mac_address_into_buffer | ( | std::span< char, MAC_ADDRESS_BUFFER_SIZE > | buf | ) |
Get the device MAC address into the given buffer, in lowercase hex notation.
Assumes buffer length is MAC_ADDRESS_BUFFER_SIZE (12 digits for hexadecimal representation followed by null terminator).
Definition at line 867 of file helpers.cpp.
| std::string esphome::get_mac_address_pretty | ( | ) |
Get the device MAC address as a string, in colon-separated uppercase hex notation.
Definition at line 862 of file helpers.cpp.
| const char * esphome::get_mac_address_pretty_into_buffer | ( | std::span< char, MAC_ADDRESS_PRETTY_BUFFER_SIZE > | buf | ) |
Get the device MAC address into the given buffer, in colon-separated uppercase hex notation.
Buffer must be exactly MAC_ADDRESS_PRETTY_BUFFER_SIZE bytes (17 for "XX:XX:XX:XX:XX:XX" + null terminator). Returns pointer to the buffer for convenience.
Definition at line 873 of file helpers.cpp.
| void esphome::get_mac_address_raw | ( | uint8_t * | mac | ) |
Get the device MAC address as raw bytes, written into the provided byte array (6 bytes).
Definition at line 74 of file helpers.cpp.
| bool esphome::has_custom_mac_address | ( | ) |
Check if a custom MAC address is set (ESP32 & variants)
Definition at line 110 of file helpers.cpp.
| void esphome::hsv_to_rgb | ( | int | hue, |
| float | saturation, | ||
| float | value, | ||
| float & | red, | ||
| float & | green, | ||
| float & | blue ) |
Convert hue (0-360), saturation (0-1) and value (0-1) to red, green and blue (all 0-1).
Definition at line 799 of file helpers.cpp.
| T & esphome::id | ( | T * | value | ) |
| T esphome::id | ( | T | value | ) |
| esphome::if | ( | data | ) |
Definition at line 30 of file helpers.cpp.
| bool esphome::increment_time_value | ( | T & | current, |
| uint16_t | begin, | ||
| uint16_t | end ) |
|
inline |
Initialize a std::array from an initializer_list.
Uses memcpy for trivially copyable types (optimal codegen), falls back to element-wise copy for non-trivially copyable types (e.g. TemplatableValue). N is always set by code generation — the caller is responsible for ensuring src.size() == N. The debug assert is a safety net for development, not a runtime check.
|
inline |
|
inlinedelete |
| void esphome::log_entity_device_class | ( | const char * | tag, |
| const char * | prefix, | ||
| const EntityBase & | obj ) |
Definition at line 228 of file entity_base.cpp.
|
inline |
Definition at line 219 of file entity_base.cpp.
| void esphome::log_entity_unit_of_measurement | ( | const char * | tag, |
| const char * | prefix, | ||
| const EntityBase & | obj ) |
Definition at line 236 of file entity_base.cpp.
| void esphome::log_pin | ( | const char * | tag, |
| const __FlashStringHelper * | prefix, | ||
| GPIOPin * | pin ) |
| void esphome::log_pin | ( | const char * | tag, |
| const char * | prefix, | ||
| GPIOPin * | pin ) |
|
inline |
| void esphome::log_update_interval | ( | const char * | tag, |
| PollingComponent * | component ) |
Definition at line 444 of file component.cpp.
| bool esphome::mac_address_is_valid | ( | const uint8_t * | mac | ) |
Check if the MAC address is not all zeros or all ones.
Definition at line 884 of file helpers.cpp.
| std::string esphome::make_name_with_suffix | ( | const char * | name, |
| size_t | name_len, | ||
| char | sep, | ||
| const char * | suffix_ptr, | ||
| size_t | suffix_len ) |
Optimized string concatenation: name + separator + suffix (const char* overload) Uses a fixed stack buffer to avoid heap allocations.
| name | The base name string |
| name_len | Length of the name |
| sep | Single character separator |
| suffix_ptr | Pointer to the suffix characters |
| suffix_len | Length of the suffix |
Definition at line 320 of file helpers.cpp.
| std::string esphome::make_name_with_suffix | ( | const std::string & | name, |
| char | sep, | ||
| const char * | suffix_ptr, | ||
| size_t | suffix_len ) |
Concatenate a name with a separator and suffix using an efficient stack-based approach.
This avoids multiple heap allocations during string construction. Maximum name length supported is 120 characters for friendly names.
| name | The base name string |
| sep | The separator character (e.g., '-', ' ', or '.') |
| suffix_ptr | Pointer to the suffix characters |
| suffix_len | Length of the suffix |
Definition at line 327 of file helpers.cpp.
| size_t esphome::make_name_with_suffix_to | ( | char * | buffer, |
| size_t | buffer_size, | ||
| const char * | name, | ||
| size_t | name_len, | ||
| char | sep, | ||
| const char * | suffix_ptr, | ||
| size_t | suffix_len ) |
Zero-allocation version: format name + separator + suffix directly into buffer.
| buffer | Output buffer (must have space for result + null terminator) |
| buffer_size | Size of the output buffer |
| name | The base name string |
| name_len | Length of the name |
| sep | Single character separator |
| suffix_ptr | Pointer to the suffix characters |
| suffix_len | Length of the suffix |
Definition at line 300 of file helpers.cpp.
|
inlineconstexpr |
Convert a 64-bit microsecond count to milliseconds without calling __udivdi3 (software 64-bit divide, ~1200 ns on Xtensa @ 240 MHz).
Returns uint32_t by default (for millis()), or uint64_t when requested (for millis_64()). The only difference is whether hi * Q is truncated to 32 bits or widened to 64.
On 32-bit targets, GCC does not optimize 64-bit constant division into a multiply-by-reciprocal. Since 1000 = 8 * 125, we first right-shift by 3 (free divide-by-8), then use the Euclidean division identity to decompose the remaining 64-bit divide-by-125 into a single 32-bit division:
floor(us / 1000) = floor(floor(us / 8) / 125) [exact for integers] 2^32 = Q * 125 + R (34359738 * 125 + 46) (hi * 2^32 + lo) / 125 = hi * Q + (hi * R + lo) / 125
GCC optimizes the remaining 32-bit "/ 125U" into a multiply-by-reciprocal (mulhu + shift), so no division instruction is emitted.
Safe for us up to ~3.2e18 (~101,700 years of microseconds).
See: https://en.wikipedia.org/wiki/Euclidean_division See: https://ridiculousfish.com/blog/posts/labor-of-division-episode-iii.html
| bool esphome::mqtt_is_connected | ( | ) |
|
inline |
Definition at line 178 of file string_ref.h.
|
inline |
Definition at line 162 of file string_ref.h.
|
inline |
Definition at line 158 of file string_ref.h.
|
inline |
Definition at line 176 of file string_ref.h.
|
inline |
Definition at line 160 of file string_ref.h.
|
inline |
Definition at line 156 of file string_ref.h.
Definition at line 154 of file string_ref.h.
|
inline |
Definition at line 190 of file string_ref.h.
|
inline |
Definition at line 208 of file string_ref.h.
|
inline |
Definition at line 196 of file string_ref.h.
|
inline |
Definition at line 202 of file string_ref.h.
|
inline |
Definition at line 185 of file string_ref.h.
Definition at line 181 of file string_ref.h.
|
inline |
Definition at line 174 of file string_ref.h.
|
inline |
Definition at line 152 of file string_ref.h.
|
inline |
Definition at line 146 of file string_ref.h.
|
inline |
Definition at line 165 of file string_ref.h.
|
inline |
Definition at line 148 of file string_ref.h.
|
inline |
Definition at line 142 of file string_ref.h.
Definition at line 138 of file string_ref.h.
| optional< T > esphome::parse_hex | ( | const char * | str | ) |
| optional< T > esphome::parse_hex | ( | const char * | str, |
| size_t | len ) |
| size_t esphome::parse_hex | ( | const char * | str, |
| size_t | len, | ||
| uint8_t * | data, | ||
| size_t | count ) |
Parse bytes from a hex-encoded string into a byte array.
When len is less than 2*count, the result is written to the back of data (i.e. this function treats str as if it were padded with zeros at the front).
| str | String to read from. |
| len | Length of str (excluding optional null-terminator), is a limit on the number of characters parsed. |
| data | Byte array to write to. |
| count | Length of data. |
str. Definition at line 333 of file helpers.cpp.
|
inline |
|
inline |
| optional< T > esphome::parse_hex | ( | const std::string & | str | ) |
|
inline |
|
inline |
| optional< T > esphome::parse_number | ( | const char * | str | ) |
| optional< T > esphome::parse_number | ( | const std::string & | str | ) |
| ParseOnOffState esphome::parse_on_off | ( | const char * | str, |
| const char * | on, | ||
| const char * | off ) |
Parse a string that contains either on, off or toggle.
Definition at line 510 of file helpers.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
| bool esphome::random_bytes | ( | uint8_t * | data, |
| size_t | len ) |
Generate len random bytes using the platform's secure RNG (hardware RNG or OS CSPRNG).
Thread-safe. Suitable for cryptographic use.
Definition at line 20 of file helpers.cpp.
| float esphome::random_float | ( | ) |
Return a random float between 0 and 1.
Not thread-safe. Must only be called from the main loop. Not suitable for cryptographic use; use random_bytes() instead.
Definition at line 198 of file helpers.cpp.
| uint32_t esphome::random_uint32 | ( | ) |
Return a random 32-bit unsigned integer.
Not thread-safe. Must only be called from the main loop. Not suitable for cryptographic use; use random_bytes() instead.
Definition at line 12 of file helpers.cpp.
| T esphome::remap | ( | U | value, |
| U | min, | ||
| U | max, | ||
| T | min_out, | ||
| T | max_out ) |
| bool esphome::remote_is_connected | ( | ) |
| void esphome::retry_handler | ( | const std::shared_ptr< RetryArgs > & | args | ) |
Definition at line 304 of file scheduler.cpp.
|
inline |
|
inline |
| void esphome::rgb_to_hsv | ( | float | red, |
| float | green, | ||
| float | blue, | ||
| int & | hue, | ||
| float & | saturation, | ||
| float & | value ) |
Convert red, green and blue (all 0-1) values to hue (0-360), saturation (0-1) and value (0-1).
Definition at line 776 of file helpers.cpp.
| void esphome::set_mac_address | ( | uint8_t * | mac | ) |
Set the MAC address to use from the provided byte array (6 bytes).
Definition at line 108 of file helpers.cpp.
| int8_t esphome::step_to_accuracy_decimals | ( | float | step | ) |
Derive accuracy in decimals from an increment step.
Definition at line 570 of file helpers.cpp.
|
inline |
Definition at line 245 of file string_ref.h.
|
inline |
Definition at line 242 of file string_ref.h.
|
inline |
Definition at line 236 of file string_ref.h.
|
inline |
Definition at line 239 of file string_ref.h.
| std::string esphome::str_ctype_transform | ( | const std::string & | str | ) |
Definition at line 234 of file helpers.cpp.
| bool esphome::str_endswith | ( | const std::string & | str, |
| const std::string & | end ) |
Check whether a string ends with a value.
Definition at line 210 of file helpers.cpp.
|
inline |
| bool esphome::str_endswith_ignore_case | ( | const char * | str, |
| size_t | str_len, | ||
| const char * | suffix, | ||
| size_t | suffix_len ) |
Case-insensitive check if string ends with suffix (no heap allocation).
Definition at line 218 of file helpers.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
| bool esphome::str_equals_case_insensitive | ( | const std::string & | a, |
| const std::string & | b ) |
Compare strings for equality in case-insensitive manner.
Definition at line 202 of file helpers.cpp.
Compare StringRefs for equality in case-insensitive manner.
Definition at line 205 of file helpers.cpp.
| std::string esphome::str_lower_case | ( | const std::string & | str | ) |
Convert the string to lower case.
Definition at line 240 of file helpers.cpp.
| std::string esphome::str_sanitize | ( | const std::string & | str | ) |
Sanitizes the input string by removing all characters but alphanumerics, dashes and underscores.
Definition at line 261 of file helpers.cpp.
| char * esphome::str_sanitize_to | ( | char * | buffer, |
| size_t | buffer_size, | ||
| const char * | str ) |
Sanitize a string to buffer, keeping only alphanumerics, dashes, and underscores.
| buffer | Output buffer to write to. |
| buffer_size | Size of the output buffer. |
| str | Input string to sanitize. |
Buffer size needed: strlen(str) + 1.
Definition at line 249 of file helpers.cpp.
|
inline |
| std::string esphome::str_snake_case | ( | const std::string & | str | ) |
Convert the string to snake case (lowercase with underscores).
Definition at line 242 of file helpers.cpp.
| std::string esphome::str_snprintf | ( | const char * | fmt, |
| size_t | len, | ||
| ... ) |
Definition at line 267 of file helpers.cpp.
| std::string esphome::str_sprintf | ( | const char * | fmt, |
| ... ) |
Definition at line 281 of file helpers.cpp.
| bool esphome::str_startswith | ( | const std::string & | str, |
| const std::string & | start ) |
Check whether a string starts with a value.
Definition at line 209 of file helpers.cpp.
| std::string esphome::str_truncate | ( | const std::string & | str, |
| size_t | length ) |
Truncate a string to a specific length.
Definition at line 224 of file helpers.cpp.
| std::string esphome::str_until | ( | const char * | str, |
| char | ch ) |
Extract the part of the string until either the first occurrence of the specified character, or the end (requires str to be null-terminated).
Definition at line 227 of file helpers.cpp.
| std::string esphome::str_until | ( | const std::string & | str, |
| char | ch ) |
Extract the part of the string until either the first occurrence of the specified character, or the end.
Definition at line 231 of file helpers.cpp.
| std::string esphome::str_upper_case | ( | const std::string & | str | ) |
Convert the string to upper case.
Definition at line 241 of file helpers.cpp.
|
constexpr |
|
constexpr |
|
inline |
| char * esphome::uint32_to_str_unchecked | ( | char * | buf, |
| uint32_t | val ) |
Write unsigned 32-bit integer to buffer (internal, no size check).
Buffer must have at least 10 bytes free. Returns pointer past last char written.
Definition at line 383 of file helpers.cpp.
| esphome::va_end | ( | args | ) |
| size_t esphome::value_accuracy_to_buf | ( | std::span< char, VALUE_ACCURACY_MAX_LEN > | buf, |
| float | value, | ||
| int8_t | accuracy_decimals ) |
Format value with accuracy to buffer, returns chars written (excluding null)
Definition at line 546 of file helpers.cpp.
| std::string esphome::value_accuracy_to_string | ( | float | value, |
| int8_t | accuracy_decimals ) |
Definition at line 540 of file helpers.cpp.
| size_t esphome::value_accuracy_with_uom_to_buf | ( | std::span< char, VALUE_ACCURACY_MAX_LEN > | buf, |
| float | value, | ||
| int8_t | accuracy_decimals, | ||
| StringRef | unit_of_measurement ) |
Format value with accuracy and UOM to buffer, returns chars written (excluding null)
Definition at line 556 of file helpers.cpp.
|
inline |
|
inline |
| void esphome::wake_loop_isrsafe | ( | BaseType_t * | px_higher_priority_task_woken | ) |
|
inline |
Non-ISR: always inline.
Zephyr is currently the only platform without a wake mechanism.
Host: wakes select() via UDP loopback socket. Defined in wake.cpp.
wake_loop_threadsafe() is a no-op and wakeable_delay() falls back to delay(). TODO: implement proper Zephyr wake using k_poll / k_sem or similar.
|
extern |
Global storage of Application pointer - only one Application can exist.
|
inlineconstexpr |
Definition at line 96 of file component.h.
| esphome::capacity = new_cap |
Definition at line 25 of file helpers.cpp.
|
inlineconstexpr |
Definition at line 91 of file component.h.
|
inlineconstexpr |
Definition at line 80 of file component.h.
|
inlineconstexpr |
Definition at line 83 of file component.h.
|
inlineconstexpr |
Definition at line 82 of file component.h.
|
inlineconstexpr |
Definition at line 84 of file component.h.
|
inlineconstexpr |
Definition at line 79 of file component.h.
|
inlineconstexpr |
Definition at line 81 of file component.h.
| uint16_t uint16_t size_t esphome::elem_size |
Definition at line 26 of file helpers.cpp.
|
constexpr |
|
constexpr |
| ESPPreferences * esphome::global_preferences |
Definition at line 193 of file preferences.cpp.
| runtime_stats::RuntimeStatsCollector * esphome::global_runtime_stats |
Definition at line 150 of file runtime_stats.cpp.
|
inlineconstexpr |
| uint16_t esphome::new_cap = size + 1 |
Definition at line 28 of file helpers.cpp.
Definition at line 29 of file helpers.cpp.
|
inlineconstexpr |
Definition at line 60 of file component.h.
| size_t esphome::size |
Definition at line 25 of file helpers.cpp.
|
inlineconstexpr |
Definition at line 89 of file component.h.
|
inlineconstexpr |
Definition at line 86 of file component.h.
|
inlineconstexpr |
Definition at line 87 of file component.h.
|
inlineconstexpr |
Definition at line 88 of file component.h.
|
inlineconstexpr |
Definition at line 100 of file component.h.