ESPHome 2026.7.4
Loading...
Searching...
No Matches
defines.h
Go to the documentation of this file.
1#pragma once
2
3// This file is not used by the runtime, instead, a version is generated during
4// compilation with only the relevant feature flags for the current build.
5//
6// This file is only used by static analyzers and IDEs.
7
9
10// Informative flags
11#define ESPHOME_BOARD "dummy_board"
12#define ESPHOME_PROJECT_NAME "dummy project"
13#define ESPHOME_PROJECT_VERSION "v2"
14#define ESPHOME_PROJECT_VERSION_30 "v2"
15#define ESPHOME_VARIANT "ESP32"
16#define ESPHOME_NAME_ADD_MAC_SUFFIX
17#define ESPHOME_DEBUG_SCHEDULER
18#define ESPHOME_DEBUG_API
19
20// Threading model for static analysis. Match what the real codegen picks per
21// platform (see esphome/components/<platform>/__init__.py ThreadModel.*):
22// USE_ESP8266 / USE_RP2 / USE_NRF52 → SINGLE
23// USE_BK72XX (ARMv5TE, no LDREX/STREX) → MULTI_NO_ATOMICS
24// everything else (ESP32, host, RTL87XX, LN882X) → MULTI_ATOMICS
25// Without this the clang-tidy envs end up with USE_<single-threaded platform>
26// + MULTI_ATOMICS simultaneously, a combination that can never occur in a
27// real build.
28#if defined(USE_ESP8266) || defined(USE_RP2) || defined(USE_NRF52)
29#define ESPHOME_THREAD_SINGLE
30#elif defined(USE_BK72XX)
31#define ESPHOME_THREAD_MULTI_NO_ATOMICS
32#else
33#define ESPHOME_THREAD_MULTI_ATOMICS
34#endif
35
36// logger
37#define ESPHOME_LOG_LEVEL ESPHOME_LOG_LEVEL_VERY_VERBOSE
38#define ESPHOME_LOGGER_TX_BUFFER_SIZE 512
39#define USE_LOG_LISTENERS
40#define ESPHOME_LOG_MAX_LISTENERS 8
41
42// Feature flags
43#define USE_ALARM_CONTROL_PANEL
44#define USE_AREAS
45#define USE_BINARY_SENSOR
46#define USE_BINARY_SENSOR_FILTER
47#define USE_BUTTON
48#define USE_CAMERA
49#define USE_CLIMATE
50#define USE_CLIMATE_VISUAL_OVERRIDES
51#define USE_CONTROLLER_REGISTRY
52#define USE_COVER
53#define USE_DATETIME
54#define USE_DATETIME_DATE
55#define USE_DATETIME_DATETIME
56#define USE_DATETIME_TIME
57#define USE_DEBUG
58#define USE_DEEP_SLEEP
59#define USE_DEVICES
60#define USE_DISPLAY
61#define USE_ENTITY_DEVICE_CLASS
62#define USE_ENTITY_ICON
63#define USE_ENTITY_UNIT_OF_MEASUREMENT
64#define USE_ESP32_BLE_PSRAM
65#define USE_ESP32_CAMERA_JPEG_CONVERSION
66#define USE_ESP32_HOSTED
67#define USE_ESP32_HOSTED_HTTP_UPDATE
68#define USE_ESP32_IMPROV_STATE_CALLBACK
69#define USE_EVENT
70#define USE_FAN
71#define USE_GPIO_SWITCH_INTERLOCK
72#define USE_GRAPH
73#define USE_GRAPHICAL_DISPLAY_MENU
74#define USE_HOMEASSISTANT_TIME
75#define USE_HOMEASSISTANT_TIMEZONE
76#define USE_HTTP_REQUEST_OTA_WATCHDOG_TIMEOUT 8000 // NOLINT
77#define USE_I2S_AUDIO_SPDIF_MODE
78#define USE_IMAGE
79#define USE_IMPROV_SERIAL
80#define USE_IMPROV_SERIAL_NEXT_URL
81#define USE_INFRARED
82#define USE_IR_RF
83#define USE_JSON
84#define USE_RADIO_FREQUENCY
85#define USE_LIGHT
86#define USE_LIGHT_GAMMA_LUT
87#define USE_LOCK
88#define USE_LOGGER
89#define USE_LOGGER_LEVEL_LISTENERS
90#define USE_LOGGER_RUNTIME_TAG_LEVELS
91#define USE_LVGL
92#define USE_LVGL_ANIMATION
93#define USE_LVGL_ANIMIMG
94#define USE_LVGL_ARC
95#define USE_LVGL_BINARY_SENSOR
96#define USE_LVGL_BUTTON
97#define USE_LVGL_BUTTONMATRIX
98#define USE_LVGL_CANVAS
99#define USE_LVGL_CHART
100#define USE_LVGL_CHECKBOX
101#define USE_LVGL_DROPDOWN
102#define USE_LVGL_FONT
103#define USE_LVGL_GRADIENT
104#define USE_LVGL_IMAGE
105#define USE_LVGL_IMAGEBUTTON
106#define USE_LVGL_KEY_LISTENER
107#define USE_LVGL_KEYBOARD
108#define USE_LVGL_LABEL
109#define USE_LVGL_LINE
110#define USE_LVGL_LIST
111#define USE_LVGL_MENU
112#define USE_LVGL_METER
113#define USE_LVGL_MSGBOX
114#define USE_LVGL_ROLLER
115#define USE_LVGL_ROTARY_ENCODER
116#define USE_LVGL_SCALE
117#define USE_LVGL_SLIDER
118#define USE_LVGL_SPAN
119#define USE_LVGL_SPINBOX
120#define USE_LVGL_SPINNER
121#define USE_LVGL_SWITCH
122#define USE_LVGL_TABLE
123#define USE_LVGL_TABVIEW
124#define USE_LVGL_TEXTAREA
125#define USE_LVGL_TILEVIEW
126#define USE_LVGL_TOUCHSCREEN
127#define USE_MDNS
128#define USE_MDNS_STORE_SERVICES
129#define MDNS_SERVICE_COUNT 3
130#define USE_MDNS_DYNAMIC_TXT
131#define MDNS_DYNAMIC_TXT_COUNT 2
132#define MICRONOVA_LISTENER_COUNT 1
133#define USE_MICRONOVA_WRITER
134#define SERIAL_PROXY_COUNT 2
135#define SNTP_SERVER_COUNT 3
136#define USE_MEDIA_PLAYER
137#define USE_MEDIA_SOURCE
138#define USE_NETWORK
139#define USE_NEXTION_COMMAND_SPACING
140#define USE_NEXTION_CONF_START_UP_PAGE
141#define USE_NEXTION_CONFIG_EXIT_REPARSE_ON_START
142#define USE_NEXTION_CONFIG_SKIP_CONNECTION_HANDSHAKE
143#define USE_NEXTION_MAX_COMMANDS_PER_LOOP
144#define USE_NEXTION_MAX_QUEUE_SIZE
145#define USE_NEXTION_TFT_UPLOAD
146#define USE_NEXTION_TRIGGER_CUSTOM_BINARY_SENSOR
147#define USE_NEXTION_TRIGGER_CUSTOM_SENSOR
148#define USE_NEXTION_TRIGGER_CUSTOM_SWITCH
149#define USE_NEXTION_TRIGGER_CUSTOM_TEXT_SENSOR
150#define USE_NEXTION_WAVEFORM
151#define USE_NUMBER
152#define USE_OTA_STATE_LISTENER
153#define USE_OUTPUT
154#define USE_OUTPUT_FLOAT_POWER_SCALING
155#define USE_POWER_SUPPLY
156#define USE_PREFERENCES_SYNC_EVERY_LOOP
157#define USE_PROVISIONING
158#define USE_QR_CODE
159#define USE_SAFE_MODE_CALLBACK
160#define ESPHOME_SAFE_MODE_CALLBACK_COUNT 1
161#define USE_SELECT
162#define USE_SENSOR
163#define USE_SENSOR_FILTER
164#define USE_SERIAL_PROXY
165#define USE_SETUP_PRIORITY_OVERRIDE
166#define USE_STATUS_LED
167#define USE_STATUS_SENSOR
168#define USE_SWITCH
169#define USE_TEXT
170#define USE_TEXT_SENSOR
171#define USE_TEXT_SENSOR_FILTER
172#define USE_TIME
173#define USE_TOUCHSCREEN
174#define USE_UART_DEBUGGER
175#define USE_UART_WAKE_LOOP_ON_RX
176#define USE_UPDATE
177#define USE_VALVE
178#define USE_WATER_HEATER
179#define USE_WATER_HEATER_VISUAL_OVERRIDES
180#define USE_ZWAVE_PROXY
181
182// Feature flags which do not work for zephyr
183#ifndef USE_ZEPHYR
184#define AUDIO_FILE_MAX_FILES 4
185#define USE_AUDIO_DAC
186#define USE_AUDIO_FLAC_SUPPORT
187#define USE_AUDIO_MP3_SUPPORT
188#define USE_AUDIO_OPUS_SUPPORT
189#define USE_AUDIO_WAV_SUPPORT
190#define USE_API
191#define USE_API_CLIENT_CONNECTED_TRIGGER
192#define USE_API_CLIENT_DISCONNECTED_TRIGGER
193#define USE_API_HOMEASSISTANT_ACTION_RESPONSES
194#define USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON
195#define USE_API_HOMEASSISTANT_SERVICES
196#define USE_API_HOMEASSISTANT_STATES
197#define USE_API_NOISE
198#define USE_API_VARINT64
199#define USE_API_PLAINTEXT
200#define USE_API_USER_DEFINED_ACTIONS
201#define USE_API_CUSTOM_SERVICES
202#define USE_API_USER_DEFINED_ACTION_RESPONSES
203#define USE_API_USER_DEFINED_ACTION_RESPONSES_JSON
204#define API_MAX_SEND_QUEUE 8
205#define MAX_API_CONNECTIONS 6
206#define USE_MD5
207#define USE_SHA256
208#define USE_MQTT
209#define USE_MQTT_COVER_JSON
210#define USE_RTTTL_FINISHED_PLAYBACK_CALLBACK
211#define USE_RUNTIME_IMAGE_BMP
212#define USE_RUNTIME_IMAGE_PNG
213#define USE_RUNTIME_IMAGE_JPEG
214#define USE_RUNTIME_STATS
215#define USE_OTA
216#define USE_OTA_PASSWORD
217#define USE_OTA_VERSION 2
218#define USE_TIME_TIMEZONE
219#define USE_WIFI
220#define USE_WIFI_AP
221#define USE_WIFI_MANUAL_IP
222#define USE_WIREGUARD
223#endif
224
225// Arduino-specific feature flags
226#ifdef USE_ARDUINO
227#define USE_PROMETHEUS
228#define USE_WIFI_WPA2_EAP
229#endif
230
231// Platforms with native 64-bit time sources (no rollover tracking needed)
232#if defined(USE_ESP32) || defined(USE_HOST) || defined(USE_ZEPHYR) || defined(USE_RP2)
233#define USE_NATIVE_64BIT_TIME
234#endif
235
236// ESP32-specific feature flags
237#ifdef USE_ESP32
238#define USE_ESP32_CRASH_HANDLER
239#define USE_MQTT_IDF_ENQUEUE
240#define USE_ESPHOME_TASK_LOG_BUFFER
241#define ESPHOME_TASK_LOG_BUFFER_SIZE 768
242#define USE_OTA_ROLLBACK
243#define USE_OTA_SIGNED_VERIFICATION
244#define USE_OTA_DOWNGRADE_PROTECTION
245#define USE_ESP32_MIN_CHIP_REVISION_SET
246#define USE_ESP32_RTC_PREFERENCES
247#define USE_ESP32_SRAM1_AS_IRAM
248#define USE_ESPNOW
249#define USE_ESPNOW_MAX_PAYLOAD_SIZE 1470
250
251#define USE_BLUETOOTH_PROXY
252#define BLUETOOTH_PROXY_MAX_CONNECTIONS 3
253#define BLUETOOTH_PROXY_ADVERTISEMENT_BATCH_SIZE 16
254#define USE_CAPTIVE_PORTAL
255#define USE_WIFI_SCAN_RESULTS_LOCK
256#define USE_ESP32_BLE
257#define USE_ESP32_BLE_MAX_CONNECTIONS 3
258#define USE_ESP32_BLE_CLIENT
259#define USE_ESP32_BLE_DEVICE
260#define USE_ESP32_BLE_SERVER
261#define USE_ESP32_BLE_UUID
262#define USE_ESP32_BLE_ADVERTISING
263#define USE_ESP32_BLE_SERVER_SET_VALUE_ACTION
264#define USE_ESP32_BLE_SERVER_DESCRIPTOR_SET_VALUE_ACTION
265#define USE_ESP32_BLE_SERVER_NOTIFY_ACTION
266#define USE_ESP32_BLE_SERVER_CHARACTERISTIC_ON_WRITE
267#define USE_ESP32_BLE_SERVER_DESCRIPTOR_ON_WRITE
268#define USE_ESP32_BLE_SERVER_ON_CONNECT
269#define USE_ESP32_BLE_SERVER_ON_DISCONNECT
270#define ESPHOME_ESP32_BLE_TRACKER_LISTENER_COUNT 1
271#define ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT 1
272#define ESPHOME_ESP32_BLE_GAP_EVENT_HANDLER_COUNT 2
273#define ESPHOME_ESP32_BLE_GAP_SCAN_EVENT_HANDLER_COUNT 1
274#define ESPHOME_ESP32_BLE_GATTC_EVENT_HANDLER_COUNT 1
275#define ESPHOME_ESP32_BLE_GATTS_EVENT_HANDLER_COUNT 1
276#define ESPHOME_ESP32_BLE_BLE_STATUS_EVENT_HANDLER_COUNT 2
277#define ESPHOME_ESP32_BLE_EXTENDED_AUTH_PARAMS
278#define ESPHOME_LOOP_TASK_STACK_SIZE 8192
279#define USE_ESP32_CAMERA_JPEG_ENCODER
280#define USE_HTTP_REQUEST_RESPONSE
281#define USE_I2C
282#define USE_IMPROV
283#define USE_ESP32_IMPROV_NEXT_URL
284#define USE_MICROPHONE
285#define USE_PSRAM
286#define USE_SENDSPIN
287#define USE_SENDSPIN_ARTWORK
288#define USE_SENDSPIN_CONTROLLER
289#define USE_SENDSPIN_METADATA
290#define USE_SENDSPIN_PLAYER
291#define USE_SENDSPIN_VISUALIZER
292#define USE_SENDSPIN_PORT 8928 // NOLINT
293#define USE_SOCKET_IMPL_BSD_SOCKETS
294#define USE_LWIP_FAST_SELECT
295
296#define USE_SPEAKER
297#define USE_SPEAKER_MEDIA_PLAYER_ON_OFF
298#define USE_SPI
299#define USE_VOICE_ASSISTANT
300#define USE_WEBSERVER
301#define USE_WEBSERVER_AUTH
302#define USE_WEBSERVER_AUTH_DIGEST
303#define USE_WEBSERVER_OTA
304#define USE_WEBSERVER_PORT 80 // NOLINT
305#define USE_WEBSERVER_GZIP
306#define USE_WEBSERVER_SORTING
307#define USE_WEBSERVER_ALLOWED_ORIGINS
308#define WEB_SERVER_DEFAULT_HEADERS_COUNT 1
309#define USE_CAPTIVE_PORTAL_GZIP
310#define USE_WIFI_11KV_SUPPORT
311#define USE_WIFI_FAST_CONNECT
312#define USE_WIFI_FAST_CONNECT_IN_FLASH
313#define USE_WIFI_PHY_MODE
314#define USE_WIFI_IP_STATE_LISTENERS
315#define USE_WIFI_SCAN_RESULTS_LISTENERS
316#define USE_WIFI_CONNECT_STATE_LISTENERS
317#define USE_WIFI_POWER_SAVE_LISTENERS
318#define USE_WIFI_CONNECT_TRIGGER
319#define USE_WIFI_DISCONNECT_TRIGGER
320#define ESPHOME_WIFI_IP_STATE_LISTENERS 2
321#define ESPHOME_WIFI_SCAN_RESULTS_LISTENERS 2
322#define ESPHOME_WIFI_CONNECT_STATE_LISTENERS 2
323#define ESPHOME_WIFI_POWER_SAVE_LISTENERS 2
324#define USE_WIFI_RUNTIME_POWER_SAVE
325#define USE_WIFI_RUNTIME_ROAMING_SUPPRESSION
326#define USB_HOST_MAX_REQUESTS 16
327#define USB_HOST_MAX_PACKET_SIZE 64
328#define USB_UART_OUTPUT_CHUNK_COUNT 5
329
330#ifdef USE_ARDUINO
331#define USE_ARDUINO_VERSION_CODE VERSION_CODE(3, 3, 7)
332#define USE_ETHERNET
333#define USE_ETHERNET_LAN8720
334#define USE_ETHERNET_RTL8201
335#define USE_ETHERNET_DP83848
336#define USE_ETHERNET_IP101
337#define USE_ETHERNET_JL1101
338#define USE_ETHERNET_KSZ8081
339#define USE_ETHERNET_LAN8670
340#define USE_ETHERNET_GENERIC
341#define USE_ETHERNET_YT8531
342#define USE_ETHERNET_SPI
343#define USE_ETHERNET_SPI_POLLING_SUPPORT
344#define USE_ETHERNET_OPENETH
345#define USE_ETHERNET_W5100
346#define USE_ETHERNET_W5500
347#define USE_ETHERNET_W6100
348#define USE_ETHERNET_W6300
349#define USE_ETHERNET_DM9051
350#define CONFIG_ETH_SPI_ETHERNET_W5500 1
351#define CONFIG_ETH_SPI_ETHERNET_DM9051 1
352#define CONFIG_ETH_USE_ESP32_EMAC 1
353#define USE_ETHERNET_MANUAL_IP
354#define USE_ETHERNET_IP_STATE_LISTENERS
355#define USE_ETHERNET_CONNECT_TRIGGER
356#define USE_ETHERNET_DISCONNECT_TRIGGER
357#define ESPHOME_ETHERNET_IP_STATE_LISTENERS 2
358#endif
359
360#ifdef USE_ESP32
361#define USE_MICRO_WAKE_WORD
362#define USE_MICRO_WAKE_WORD_VAD
363#if defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32H2)
364#define USE_OPENTHREAD
365#define USE_ZIGBEE
366#endif
367#endif
368
369#if defined(USE_ESP32_VARIANT_ESP32S2)
370#define USE_LOGGER_USB_CDC
371#define USE_LOGGER_UART_SELECTION_USB_CDC
372#elif defined(USE_ESP32_VARIANT_ESP32H21)
373#define USE_LOGGER_USB_SERIAL_JTAG
374#elif defined(USE_ESP32_VARIANT_ESP32C3) || defined(USE_ESP32_VARIANT_ESP32C5) || \
375 defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32C61) || defined(USE_ESP32_VARIANT_ESP32H2) || \
376 defined(USE_ESP32_VARIANT_ESP32H21) || defined(USE_ESP32_VARIANT_ESP32H4) || defined(USE_ESP32_VARIANT_ESP32P4) || \
377 defined(USE_ESP32_VARIANT_ESP32S3) || defined(USE_ESP32_VARIANT_ESP32S31)
378#define USE_LOGGER_USB_CDC
379#define USE_LOGGER_UART_SELECTION_USB_CDC
380#define USE_LOGGER_USB_SERIAL_JTAG
381#define USE_LOGGER_UART_SELECTION_USB_SERIAL_JTAG
382#endif
383#endif
384
385// ESP8266-specific feature flags
386#ifdef USE_ESP8266
387#define USE_ADC_SENSOR_VCC
388#define USE_ESP8266_CRASH_HANDLER
389#define USE_ARDUINO_VERSION_CODE VERSION_CODE(3, 1, 2)
390#define USE_CAPTIVE_PORTAL
391#define USE_WIFI_SCAN_RESULTS_LOCK
392#define USE_ESP8266_LOGGER_SERIAL
393#define USE_ESP8266_LOGGER_SERIAL1
394#define USE_ESP8266_PREFERENCES_FLASH
395#define USE_ESP8266_UART_SERIAL
396#define USE_ESP8266_UART_SERIAL1
397#define USE_HTTP_REQUEST_ESP8266_HTTPS
398#define USE_HTTP_REQUEST_RESPONSE
399#define USE_I2C
400#define USE_SOCKET_IMPL_LWIP_TCP
401
402#define USE_SPI
403
404// Dummy firmware payload for shelly_dimmer
405#define USE_SHD_FIRMWARE_MAJOR_VERSION 56
406#define USE_SHD_FIRMWARE_MINOR_VERSION 5
407// clang-format off
408#define USE_SHD_FIRMWARE_DATA \
409 {}
410// clang-format on
411
412#define USE_WEBSERVER
413#define USE_WEBSERVER_AUTH
414#define USE_WEBSERVER_AUTH_DIGEST
415#define USE_WEBSERVER_PORT 80 // NOLINT
416#endif
417
418// USE_RP2 is the canonical platform define for the RP2 chip family. The
419// rp2/__init__.py codegen also defines USE_RP2040 as a back-compat alias
420// for external custom components that may still test for it.
421#ifdef USE_RP2
422#define USE_ARDUINO_VERSION_CODE VERSION_CODE(3, 3, 0)
423#define USE_RP2_CRASH_HANDLER
424#define USE_HTTP_REQUEST_RESPONSE
425#define USE_I2C
426#define USE_LOGGER_USB_CDC
427#define USE_SOCKET_IMPL_LWIP_TCP
428#define USE_RP2040_BLE
429#define USE_RP2040_VARIANT_RP2040
430#define USE_SPI
431#ifndef USE_ETHERNET
432#define USE_ETHERNET
433#endif
434#ifndef USE_ETHERNET_SPI
435#define USE_ETHERNET_SPI
436#endif
437#endif
438
439#ifdef USE_LIBRETINY
440#define USE_CAPTIVE_PORTAL
441#define USE_WIFI_SCAN_RESULTS_LOCK
442#define USE_SOCKET_IMPL_LWIP_SOCKETS
443#define USE_LWIP_FAST_SELECT
444#define USE_WEBSERVER
445#define USE_WEBSERVER_AUTH
446#define USE_WEBSERVER_AUTH_DIGEST
447#define USE_WEBSERVER_PORT 80 // NOLINT
448#define USE_ESPHOME_TASK_LOG_BUFFER
449#define ESPHOME_TASK_LOG_BUFFER_SIZE 768
450#endif
451
452#ifdef USE_HOST
453#define USE_HTTP_REQUEST_RESPONSE
454#define USE_SOCKET_IMPL_BSD_SOCKETS
455#define USE_ESPHOME_TASK_LOG_BUFFER
456#define ESPHOME_TASK_LOG_BUFFER_SIZE 64
457#endif
458
459#ifdef USE_NRF52
460#define ESPHOME_BLE_NUS_TX_RING_BUFFER_SIZE 512
461#define ESPHOME_BLE_NUS_RX_RING_BUFFER_SIZE 512
462#define USE_ESPHOME_TASK_LOG_BUFFER
463#define ESPHOME_TASK_LOG_BUFFER_SIZE 768
464#define USE_LOGGER_EARLY_MESSAGE
465#define USE_LOGGER_UART_SELECTION_USB_CDC
466#define USE_LOGGER_USB_CDC
467#define USE_LOGGER_WAIT_FOR_CDC
468#define USE_NRF52_DFU
469#define USE_NRF52_REG0_VOUT 5
470#define USE_NRF52_UICR_ERASE
471#define USE_OTA_ROLLBACK
472#define USE_SOFTDEVICE_ID 7
473#define USE_SOFTDEVICE_VERSION 1
474#define USE_ZIGBEE
475#define USE_ZIGBEE_WIPE_ON_BOOT
476#define USE_ZIGBEE_WIPE_ON_BOOT_MAGIC 1
477#define ZIGBEE_ENDPOINTS_COUNT 8
478#endif
479
480// Disabled feature flags
481// #define USE_BSEC // Requires a library with proprietary license
482// #define USE_BSEC2 // Requires a library with proprietary license
483
484#define USE_DASHBOARD_IMPORT
485
486// Default counts for static analysis
487#define CONTROLLER_REGISTRY_MAX 2
488#define ESPHOME_AREA_COUNT 10
489#define ESPHOME_COMPONENT_COUNT 50
490#define ESPHOME_DEVICE_COUNT 10
491#define ESPHOME_ENTITY_ALARM_CONTROL_PANEL_COUNT 1
492#define ESPHOME_ENTITY_BINARY_SENSOR_COUNT 1
493#define ESPHOME_ENTITY_BUTTON_COUNT 1
494#define ESPHOME_ENTITY_CLIMATE_COUNT 1
495#define ESPHOME_ENTITY_COVER_COUNT 1
496#define ESPHOME_ENTITY_DATE_COUNT 1
497#define ESPHOME_ENTITY_DATETIME_COUNT 1
498#define ESPHOME_ENTITY_EVENT_COUNT 1
499#define ESPHOME_ENTITY_FAN_COUNT 1
500#define ESPHOME_ENTITY_INFRARED_COUNT 1
501#define ESPHOME_ENTITY_LIGHT_COUNT 1
502#define ESPHOME_ENTITY_LOCK_COUNT 1
503#define ESPHOME_ENTITY_MEDIA_PLAYER_COUNT 1
504#define ESPHOME_ENTITY_NUMBER_COUNT 1
505#define ESPHOME_ENTITY_RADIO_FREQUENCY_COUNT 1
506#define ESPHOME_ENTITY_SELECT_COUNT 1
507#define ESPHOME_ENTITY_SENSOR_COUNT 1
508#define ESPHOME_ENTITY_SWITCH_COUNT 1
509#define ESPHOME_ENTITY_TEXT_COUNT 1
510#define ESPHOME_ENTITY_TEXT_SENSOR_COUNT 1
511#define ESPHOME_ENTITY_TIME_COUNT 1
512#define ESPHOME_ENTITY_UPDATE_COUNT 1
513#define ESPHOME_ENTITY_VALVE_COUNT 1
514#define ESPHOME_ENTITY_WATER_HEATER_COUNT 1
515#define ESPHOME_MAX_USB_CDC_INSTANCES 1