ESPHome 2025.5.0
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_DEBUG_SCHEDULER
17
18// logger
19#define ESPHOME_LOG_LEVEL ESPHOME_LOG_LEVEL_VERY_VERBOSE
20
21// Feature flags
22#define USE_ALARM_CONTROL_PANEL
23#define USE_BINARY_SENSOR
24#define USE_BUTTON
25#define USE_CLIMATE
26#define USE_COVER
27#define USE_DATETIME
28#define USE_DATETIME_DATE
29#define USE_DATETIME_DATETIME
30#define USE_DATETIME_TIME
31#define USE_DEEP_SLEEP
32#define USE_DISPLAY
33#define USE_ESP32_IMPROV_STATE_CALLBACK
34#define USE_EVENT
35#define USE_FAN
36#define USE_GRAPH
37#define USE_GRAPHICAL_DISPLAY_MENU
38#define USE_HOMEASSISTANT_TIME
39#define USE_HTTP_REQUEST_OTA_WATCHDOG_TIMEOUT 8000 // NOLINT
40#define USE_JSON
41#define USE_LIGHT
42#define USE_LOCK
43#define USE_LOGGER
44#define USE_LVGL
45#define USE_LVGL_ANIMIMG
46#define USE_LVGL_ARC
47#define USE_LVGL_BINARY_SENSOR
48#define USE_LVGL_BUTTON
49#define USE_LVGL_BUTTONMATRIX
50#define USE_LVGL_CANVAS
51#define USE_LVGL_CHART
52#define USE_LVGL_CHECKBOX
53#define USE_LVGL_DROPDOWN
54#define USE_LVGL_FONT
55#define USE_LVGL_IMAGE
56#define USE_LVGL_IMAGEBUTTON
57#define USE_LVGL_KEY_LISTENER
58#define USE_LVGL_KEYBOARD
59#define USE_LVGL_LABEL
60#define USE_LVGL_LINE
61#define USE_LVGL_LIST
62#define USE_LVGL_MENU
63#define USE_LVGL_METER
64#define USE_LVGL_MSGBOX
65#define USE_LVGL_ROLLER
66#define USE_LVGL_ROTARY_ENCODER
67#define USE_LVGL_SLIDER
68#define USE_LVGL_SPAN
69#define USE_LVGL_SPINBOX
70#define USE_LVGL_SPINNER
71#define USE_LVGL_SWITCH
72#define USE_LVGL_TABLE
73#define USE_LVGL_TABVIEW
74#define USE_LVGL_TEXTAREA
75#define USE_LVGL_TILEVIEW
76#define USE_LVGL_TOUCHSCREEN
77#define USE_MDNS
78#define USE_MEDIA_PLAYER
79#define USE_NEXTION_TFT_UPLOAD
80#define USE_NUMBER
81#define USE_OUTPUT
82#define USE_POWER_SUPPLY
83#define USE_QR_CODE
84#define USE_SELECT
85#define USE_SENSOR
86#define USE_STATUS_LED
87#define USE_SWITCH
88#define USE_TEXT
89#define USE_TEXT_SENSOR
90#define USE_TIME
91#define USE_TOUCHSCREEN
92#define USE_UART_DEBUGGER
93#define USE_UPDATE
94#define USE_VALVE
95
96// Feature flags which do not work for zephyr
97#ifndef USE_ZEPHYR
98#define USE_AUDIO_FLAC_SUPPORT
99#define USE_AUDIO_MP3_SUPPORT
100#define USE_API
101#define USE_API_NOISE
102#define USE_API_PLAINTEXT
103#define USE_MD5
104#define USE_MQTT
105#define USE_NETWORK
106#define USE_ONLINE_IMAGE_BMP_SUPPORT
107#define USE_ONLINE_IMAGE_PNG_SUPPORT
108#define USE_ONLINE_IMAGE_JPEG_SUPPORT
109#define USE_OTA
110#define USE_OTA_PASSWORD
111#define USE_OTA_STATE_CALLBACK
112#define USE_OTA_VERSION 2
113#define USE_WIFI
114#define USE_WIFI_AP
115#define USE_WIREGUARD
116#endif
117
118// Arduino-specific feature flags
119#ifdef USE_ARDUINO
120#define USE_PROMETHEUS
121#define USE_WIFI_WPA2_EAP
122#define USE_I2S_LEGACY
123#endif
124
125// IDF-specific feature flags
126#ifdef USE_ESP_IDF
127#define USE_MQTT_IDF_ENQUEUE
128#endif
129
130// ESP32-specific feature flags
131#ifdef USE_ESP32
132#define USE_BLUETOOTH_PROXY
133#define USE_CAPTIVE_PORTAL
134#define USE_ESP32_BLE
135#define USE_ESP32_BLE_CLIENT
136#define USE_ESP32_BLE_SERVER
137#define USE_ESP32_CAMERA
138#define USE_IMPROV
139#define USE_MICROPHONE
140#define USE_PSRAM
141#define USE_SOCKET_IMPL_BSD_SOCKETS
142#define USE_SPEAKER
143#define USE_SPI
144#define USE_VOICE_ASSISTANT
145#define USE_WEBSERVER
146#define USE_WEBSERVER_PORT 80 // NOLINT
147#define USE_WIFI_11KV_SUPPORT
148
149#ifdef USE_ARDUINO
150#define USE_ARDUINO_VERSION_CODE VERSION_CODE(2, 0, 5)
151#define USE_ETHERNET
152#endif
153
154#ifdef USE_ESP_IDF
155#define USE_ESP_IDF_VERSION_CODE VERSION_CODE(5, 1, 6)
156#define USE_MICRO_WAKE_WORD
157#define USE_MICRO_WAKE_WORD_VAD
158#endif
159
160#if defined(USE_ESP32_VARIANT_ESP32S2)
161#define USE_LOGGER_USB_CDC
162#elif defined(USE_ESP32_VARIANT_ESP32S3) || defined(USE_ESP32_VARIANT_ESP32C3) || \
163 defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32H2)
164#define USE_LOGGER_USB_CDC
165#define USE_LOGGER_USB_SERIAL_JTAG
166#endif
167#endif
168
169// ESP8266-specific feature flags
170#ifdef USE_ESP8266
171#define USE_ADC_SENSOR_VCC
172#define USE_ARDUINO_VERSION_CODE VERSION_CODE(3, 1, 2)
173#define USE_CAPTIVE_PORTAL
174#define USE_ESP8266_PREFERENCES_FLASH
175#define USE_HTTP_REQUEST_ESP8266_HTTPS
176#define USE_SOCKET_IMPL_LWIP_TCP
177
178#define USE_SPI
179
180// Dummy firmware payload for shelly_dimmer
181#define USE_SHD_FIRMWARE_MAJOR_VERSION 56
182#define USE_SHD_FIRMWARE_MINOR_VERSION 5
183#define USE_SHD_FIRMWARE_DATA \
184 {}
185
186#define USE_WEBSERVER
187#define USE_WEBSERVER_PORT 80 // NOLINT
188#endif
189
190#ifdef USE_RP2040
191#define USE_ARDUINO_VERSION_CODE VERSION_CODE(3, 3, 0)
192#define USE_LOGGER_USB_CDC
193#define USE_SOCKET_IMPL_LWIP_TCP
194#define USE_SPI
195#endif
196
197#ifdef USE_LIBRETINY
198#define USE_CAPTIVE_PORTAL
199#define USE_SOCKET_IMPL_LWIP_SOCKETS
200#define USE_WEBSERVER
201#define USE_WEBSERVER_PORT 80 // NOLINT
202#endif
203
204#ifdef USE_HOST
205#define USE_SOCKET_IMPL_BSD_SOCKETS
206#endif
207
208// Disabled feature flags
209// #define USE_BSEC // Requires a library with proprietary license
210// #define USE_BSEC2 // Requires a library with proprietary license
211
212#define USE_DASHBOARD_IMPORT