ESPHome  2024.3.1
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 
8 #include "esphome/core/macros.h"
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_VARIANT "ESP32"
15 
16 // Feature flags
17 #define USE_API
18 #define USE_API_NOISE
19 #define USE_API_PLAINTEXT
20 #define USE_ALARM_CONTROL_PANEL
21 #define USE_BINARY_SENSOR
22 #define USE_BUTTON
23 #define USE_CLIMATE
24 #define USE_COVER
25 #define USE_DEEP_SLEEP
26 #define USE_FAN
27 #define USE_GRAPH
28 #define USE_HOMEASSISTANT_TIME
29 #define USE_JSON
30 #define USE_LIGHT
31 #define USE_LOCK
32 #define USE_LOGGER
33 #define USE_MDNS
34 #define USE_MEDIA_PLAYER
35 #define USE_MQTT
36 #define USE_NUMBER
37 #define USE_DATETIME
38 #define USE_DATETIME_DATE
39 #define USE_OTA
40 #define USE_OTA_PASSWORD
41 #define USE_OTA_STATE_CALLBACK
42 #define USE_OTA_VERSION 1
43 #define USE_OUTPUT
44 #define USE_POWER_SUPPLY
45 #define USE_QR_CODE
46 #define USE_SELECT
47 #define USE_SENSOR
48 #define USE_STATUS_LED
49 #define USE_SWITCH
50 #define USE_TEXT
51 #define USE_TEXT_SENSOR
52 #define USE_TIME
53 #define USE_TOUCHSCREEN
54 #define USE_UART_DEBUGGER
55 #define USE_WIFI
56 #define USE_WIFI_AP
57 #define USE_GRAPHICAL_DISPLAY_MENU
58 
59 // Arduino-specific feature flags
60 #ifdef USE_ARDUINO
61 #define USE_CAPTIVE_PORTAL
62 #define USE_NEXTION_TFT_UPLOAD
63 #define USE_PROMETHEUS
64 #define USE_WEBSERVER
65 #define USE_WEBSERVER_PORT 80 // NOLINT
66 #define USE_WIFI_WPA2_EAP
67 #endif
68 
69 // IDF-specific feature flags
70 #ifdef USE_ESP_IDF
71 #define USE_MQTT_IDF_ENQUEUE
72 #endif
73 
74 // ESP32-specific feature flags
75 #ifdef USE_ESP32
76 #define USE_ESP32_BLE_CLIENT
77 #define USE_ESP32_BLE_SERVER
78 #define USE_ESP32_CAMERA
79 #define USE_IMPROV
80 #define USE_SOCKET_IMPL_BSD_SOCKETS
81 #define USE_WIFI_11KV_SUPPORT
82 #define USE_BLUETOOTH_PROXY
83 #define USE_VOICE_ASSISTANT
84 #define USE_MICROPHONE
85 #define USE_SPEAKER
86 #define USE_SPI
87 
88 #ifdef USE_ARDUINO
89 #define USE_ARDUINO_VERSION_CODE VERSION_CODE(2, 0, 5)
90 #define USE_ETHERNET
91 #endif
92 
93 #ifdef USE_ESP_IDF
94 #define USE_ESP_IDF_VERSION_CODE VERSION_CODE(4, 4, 2)
95 #endif
96 #endif
97 
98 // ESP8266-specific feature flags
99 #ifdef USE_ESP8266
100 #define USE_ADC_SENSOR_VCC
101 #define USE_ARDUINO_VERSION_CODE VERSION_CODE(3, 0, 2)
102 #define USE_ESP8266_PREFERENCES_FLASH
103 #define USE_HTTP_REQUEST_ESP8266_HTTPS
104 #define USE_SOCKET_IMPL_LWIP_TCP
105 
106 #define USE_SPI
107 
108 // Dummy firmware payload for shelly_dimmer
109 #define USE_SHD_FIRMWARE_MAJOR_VERSION 56
110 #define USE_SHD_FIRMWARE_MINOR_VERSION 5
111 #define USE_SHD_FIRMWARE_DATA \
112  {}
113 
114 #endif
115 
116 #ifdef USE_RP2040
117 #define USE_ARDUINO_VERSION_CODE VERSION_CODE(3, 3, 0)
118 #define USE_SOCKET_IMPL_LWIP_TCP
119 #define USE_SPI
120 #endif
121 
122 #ifdef USE_LIBRETINY
123 #define USE_SOCKET_IMPL_LWIP_SOCKETS
124 #endif
125 
126 #ifdef USE_HOST
127 #define USE_SOCKET_IMPL_BSD_SOCKETS
128 #endif
129 
130 // Disabled feature flags
131 // #define USE_BSEC // Requires a library with proprietary license.
132 
133 #define USE_DASHBOARD_IMPORT