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