esphome 2025.12.0b2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3896) hide show
  1. esphome/__init__.py +0 -0
  2. esphome/__main__.py +1517 -0
  3. esphome/address_cache.py +142 -0
  4. esphome/analyze_memory/__init__.py +335 -0
  5. esphome/analyze_memory/__main__.py +6 -0
  6. esphome/analyze_memory/cli.py +435 -0
  7. esphome/analyze_memory/const.py +1052 -0
  8. esphome/analyze_memory/demangle.py +182 -0
  9. esphome/analyze_memory/helpers.py +121 -0
  10. esphome/analyze_memory/ram_strings.py +493 -0
  11. esphome/analyze_memory/toolchain.py +57 -0
  12. esphome/automation.py +589 -0
  13. esphome/build_gen/__init__.py +0 -0
  14. esphome/build_gen/platformio.py +100 -0
  15. esphome/codegen.py +97 -0
  16. esphome/components/__init__.py +0 -0
  17. esphome/components/a01nyub/__init__.py +1 -0
  18. esphome/components/a01nyub/a01nyub.cpp +44 -0
  19. esphome/components/a01nyub/a01nyub.h +27 -0
  20. esphome/components/a01nyub/sensor.py +41 -0
  21. esphome/components/a02yyuw/__init__.py +1 -0
  22. esphome/components/a02yyuw/a02yyuw.cpp +43 -0
  23. esphome/components/a02yyuw/a02yyuw.h +27 -0
  24. esphome/components/a02yyuw/sensor.py +41 -0
  25. esphome/components/a4988/__init__.py +0 -0
  26. esphome/components/a4988/a4988.cpp +55 -0
  27. esphome/components/a4988/a4988.h +29 -0
  28. esphome/components/a4988/stepper.py +32 -0
  29. esphome/components/absolute_humidity/__init__.py +1 -0
  30. esphome/components/absolute_humidity/absolute_humidity.cpp +180 -0
  31. esphome/components/absolute_humidity/absolute_humidity.h +76 -0
  32. esphome/components/absolute_humidity/sensor.py +56 -0
  33. esphome/components/ac_dimmer/__init__.py +0 -0
  34. esphome/components/ac_dimmer/ac_dimmer.cpp +236 -0
  35. esphome/components/ac_dimmer/ac_dimmer.h +70 -0
  36. esphome/components/ac_dimmer/output.py +52 -0
  37. esphome/components/adalight/__init__.py +27 -0
  38. esphome/components/adalight/adalight_light_effect.cpp +142 -0
  39. esphome/components/adalight/adalight_light_effect.h +39 -0
  40. esphome/components/adc/__init__.py +281 -0
  41. esphome/components/adc/adc_sensor.h +170 -0
  42. esphome/components/adc/adc_sensor_common.cpp +85 -0
  43. esphome/components/adc/adc_sensor_esp32.cpp +368 -0
  44. esphome/components/adc/adc_sensor_esp8266.cpp +61 -0
  45. esphome/components/adc/adc_sensor_libretiny.cpp +54 -0
  46. esphome/components/adc/adc_sensor_rp2040.cpp +97 -0
  47. esphome/components/adc/adc_sensor_zephyr.cpp +207 -0
  48. esphome/components/adc/sensor.py +196 -0
  49. esphome/components/adc128s102/__init__.py +23 -0
  50. esphome/components/adc128s102/adc128s102.cpp +32 -0
  51. esphome/components/adc128s102/adc128s102.h +23 -0
  52. esphome/components/adc128s102/sensor/__init__.py +38 -0
  53. esphome/components/adc128s102/sensor/adc128s102_sensor.cpp +24 -0
  54. esphome/components/adc128s102/sensor/adc128s102_sensor.h +29 -0
  55. esphome/components/addressable_light/__init__.py +0 -0
  56. esphome/components/addressable_light/addressable_light_display.cpp +67 -0
  57. esphome/components/addressable_light/addressable_light_display.h +63 -0
  58. esphome/components/addressable_light/display.py +62 -0
  59. esphome/components/ade7880/__init__.py +1 -0
  60. esphome/components/ade7880/ade7880.cpp +315 -0
  61. esphome/components/ade7880/ade7880.h +129 -0
  62. esphome/components/ade7880/ade7880_i2c.cpp +101 -0
  63. esphome/components/ade7880/ade7880_registers.h +243 -0
  64. esphome/components/ade7880/sensor.py +316 -0
  65. esphome/components/ade7953/__init__.py +1 -0
  66. esphome/components/ade7953/sensor.py +5 -0
  67. esphome/components/ade7953_base/__init__.py +203 -0
  68. esphome/components/ade7953_base/ade7953_base.cpp +156 -0
  69. esphome/components/ade7953_base/ade7953_base.h +131 -0
  70. esphome/components/ade7953_i2c/__init__.py +1 -0
  71. esphome/components/ade7953_i2c/ade7953_i2c.cpp +80 -0
  72. esphome/components/ade7953_i2c/ade7953_i2c.h +28 -0
  73. esphome/components/ade7953_i2c/sensor.py +26 -0
  74. esphome/components/ade7953_spi/__init__.py +1 -0
  75. esphome/components/ade7953_spi/ade7953_spi.cpp +81 -0
  76. esphome/components/ade7953_spi/ade7953_spi.h +32 -0
  77. esphome/components/ade7953_spi/sensor.py +26 -0
  78. esphome/components/ads1115/__init__.py +32 -0
  79. esphome/components/ads1115/ads1115.cpp +223 -0
  80. esphome/components/ads1115/ads1115.h +64 -0
  81. esphome/components/ads1115/sensor/__init__.py +98 -0
  82. esphome/components/ads1115/sensor/ads1115_sensor.cpp +31 -0
  83. esphome/components/ads1115/sensor/ads1115_sensor.h +37 -0
  84. esphome/components/ads1118/__init__.py +25 -0
  85. esphome/components/ads1118/ads1118.cpp +126 -0
  86. esphome/components/ads1118/ads1118.h +45 -0
  87. esphome/components/ads1118/sensor/__init__.py +98 -0
  88. esphome/components/ads1118/sensor/ads1118_sensor.cpp +29 -0
  89. esphome/components/ads1118/sensor/ads1118_sensor.h +36 -0
  90. esphome/components/ags10/__init__.py +1 -0
  91. esphome/components/ags10/ags10.cpp +196 -0
  92. esphome/components/ags10/ags10.h +140 -0
  93. esphome/components/ags10/sensor.py +132 -0
  94. esphome/components/aht10/__init__.py +0 -0
  95. esphome/components/aht10/aht10.cpp +166 -0
  96. esphome/components/aht10/aht10.h +36 -0
  97. esphome/components/aht10/sensor.py +65 -0
  98. esphome/components/aic3204/__init__.py +0 -0
  99. esphome/components/aic3204/aic3204.cpp +171 -0
  100. esphome/components/aic3204/aic3204.h +87 -0
  101. esphome/components/aic3204/audio_dac.py +52 -0
  102. esphome/components/aic3204/automation.h +23 -0
  103. esphome/components/airthings_ble/__init__.py +23 -0
  104. esphome/components/airthings_ble/airthings_listener.cpp +34 -0
  105. esphome/components/airthings_ble/airthings_listener.h +19 -0
  106. esphome/components/airthings_wave_base/__init__.py +102 -0
  107. esphome/components/airthings_wave_base/airthings_wave_base.cpp +211 -0
  108. esphome/components/airthings_wave_base/airthings_wave_base.h +90 -0
  109. esphome/components/airthings_wave_mini/__init__.py +1 -0
  110. esphome/components/airthings_wave_mini/airthings_wave_mini.cpp +55 -0
  111. esphome/components/airthings_wave_mini/airthings_wave_mini.h +40 -0
  112. esphome/components/airthings_wave_mini/sensor.py +25 -0
  113. esphome/components/airthings_wave_plus/__init__.py +1 -0
  114. esphome/components/airthings_wave_plus/airthings_wave_plus.cpp +104 -0
  115. esphome/components/airthings_wave_plus/airthings_wave_plus.h +64 -0
  116. esphome/components/airthings_wave_plus/sensor.py +102 -0
  117. esphome/components/alarm_control_panel/__init__.py +344 -0
  118. esphome/components/alarm_control_panel/alarm_control_panel.cpp +161 -0
  119. esphome/components/alarm_control_panel/alarm_control_panel.h +200 -0
  120. esphome/components/alarm_control_panel/alarm_control_panel_call.cpp +103 -0
  121. esphome/components/alarm_control_panel/alarm_control_panel_call.h +40 -0
  122. esphome/components/alarm_control_panel/alarm_control_panel_state.cpp +34 -0
  123. esphome/components/alarm_control_panel/alarm_control_panel_state.h +29 -0
  124. esphome/components/alarm_control_panel/automation.h +191 -0
  125. esphome/components/alpha3/__init__.py +1 -0
  126. esphome/components/alpha3/alpha3.cpp +191 -0
  127. esphome/components/alpha3/alpha3.h +72 -0
  128. esphome/components/alpha3/sensor.py +85 -0
  129. esphome/components/am2315c/__init__.py +1 -0
  130. esphome/components/am2315c/am2315c.cpp +182 -0
  131. esphome/components/am2315c/am2315c.h +50 -0
  132. esphome/components/am2315c/sensor.py +54 -0
  133. esphome/components/am2320/__init__.py +0 -0
  134. esphome/components/am2320/am2320.cpp +91 -0
  135. esphome/components/am2320/am2320.h +29 -0
  136. esphome/components/am2320/sensor.py +56 -0
  137. esphome/components/am43/__init__.py +1 -0
  138. esphome/components/am43/am43_base.cpp +144 -0
  139. esphome/components/am43/am43_base.h +78 -0
  140. esphome/components/am43/cover/__init__.py +35 -0
  141. esphome/components/am43/cover/am43_cover.cpp +159 -0
  142. esphome/components/am43/cover/am43_cover.h +44 -0
  143. esphome/components/am43/sensor/__init__.py +53 -0
  144. esphome/components/am43/sensor/am43_sensor.cpp +117 -0
  145. esphome/components/am43/sensor/am43_sensor.h +44 -0
  146. esphome/components/analog_threshold/__init__.py +1 -0
  147. esphome/components/analog_threshold/analog_threshold_binary_sensor.cpp +47 -0
  148. esphome/components/analog_threshold/analog_threshold_binary_sensor.h +27 -0
  149. esphome/components/analog_threshold/binary_sensor.py +49 -0
  150. esphome/components/animation/__init__.py +108 -0
  151. esphome/components/animation/animation.cpp +70 -0
  152. esphome/components/animation/animation.h +68 -0
  153. esphome/components/anova/__init__.py +0 -0
  154. esphome/components/anova/anova.cpp +161 -0
  155. esphome/components/anova/anova.h +51 -0
  156. esphome/components/anova/anova_base.cpp +134 -0
  157. esphome/components/anova/anova_base.h +79 -0
  158. esphome/components/anova/climate.py +35 -0
  159. esphome/components/apds9306/__init__.py +4 -0
  160. esphome/components/apds9306/apds9306.cpp +151 -0
  161. esphome/components/apds9306/apds9306.h +66 -0
  162. esphome/components/apds9306/sensor.py +95 -0
  163. esphome/components/apds9960/__init__.py +69 -0
  164. esphome/components/apds9960/apds9960.cpp +407 -0
  165. esphome/components/apds9960/apds9960.h +76 -0
  166. esphome/components/apds9960/binary_sensor.py +26 -0
  167. esphome/components/apds9960/sensor.py +34 -0
  168. esphome/components/api/__init__.py +802 -0
  169. esphome/components/api/api_connection.cpp +1983 -0
  170. esphome/components/api/api_connection.h +739 -0
  171. esphome/components/api/api_frame_helper.cpp +266 -0
  172. esphome/components/api/api_frame_helper.h +215 -0
  173. esphome/components/api/api_frame_helper_noise.cpp +604 -0
  174. esphome/components/api/api_frame_helper_noise.h +63 -0
  175. esphome/components/api/api_frame_helper_plaintext.cpp +292 -0
  176. esphome/components/api/api_frame_helper_plaintext.h +50 -0
  177. esphome/components/api/api_noise_context.h +30 -0
  178. esphome/components/api/api_pb2.cpp +3250 -0
  179. esphome/components/api/api_pb2.h +3072 -0
  180. esphome/components/api/api_pb2_dump.cpp +2243 -0
  181. esphome/components/api/api_pb2_includes.h +34 -0
  182. esphome/components/api/api_pb2_service.cpp +857 -0
  183. esphome/components/api/api_pb2_service.h +486 -0
  184. esphome/components/api/api_server.cpp +702 -0
  185. esphome/components/api/api_server.h +312 -0
  186. esphome/components/api/client.py +82 -0
  187. esphome/components/api/custom_api_device.h +296 -0
  188. esphome/components/api/homeassistant_service.h +243 -0
  189. esphome/components/api/list_entities.cpp +96 -0
  190. esphome/components/api/list_entities.h +99 -0
  191. esphome/components/api/proto.cpp +150 -0
  192. esphome/components/api/proto.h +892 -0
  193. esphome/components/api/subscribe_state.cpp +72 -0
  194. esphome/components/api/subscribe_state.h +92 -0
  195. esphome/components/api/user_services.cpp +91 -0
  196. esphome/components/api/user_services.h +307 -0
  197. esphome/components/as3935/__init__.py +59 -0
  198. esphome/components/as3935/as3935.cpp +324 -0
  199. esphome/components/as3935/as3935.h +132 -0
  200. esphome/components/as3935/binary_sensor.py +19 -0
  201. esphome/components/as3935/sensor.py +41 -0
  202. esphome/components/as3935_i2c/__init__.py +26 -0
  203. esphome/components/as3935_i2c/as3935_i2c.cpp +44 -0
  204. esphome/components/as3935_i2c/as3935_i2c.h +19 -0
  205. esphome/components/as3935_spi/__init__.py +26 -0
  206. esphome/components/as3935_spi/as3935_spi.cpp +46 -0
  207. esphome/components/as3935_spi/as3935_spi.h +25 -0
  208. esphome/components/as5600/__init__.py +227 -0
  209. esphome/components/as5600/as5600.cpp +138 -0
  210. esphome/components/as5600/as5600.h +104 -0
  211. esphome/components/as5600/sensor/__init__.py +119 -0
  212. esphome/components/as5600/sensor/as5600_sensor.cpp +98 -0
  213. esphome/components/as5600/sensor/as5600_sensor.h +43 -0
  214. esphome/components/as7341/__init__.py +0 -0
  215. esphome/components/as7341/as7341.cpp +272 -0
  216. esphome/components/as7341/as7341.h +144 -0
  217. esphome/components/as7341/sensor.py +111 -0
  218. esphome/components/async_tcp/__init__.py +37 -0
  219. esphome/components/at581x/__init__.py +219 -0
  220. esphome/components/at581x/at581x.cpp +198 -0
  221. esphome/components/at581x/at581x.h +62 -0
  222. esphome/components/at581x/automation.h +71 -0
  223. esphome/components/at581x/switch/__init__.py +29 -0
  224. esphome/components/at581x/switch/rf_switch.cpp +12 -0
  225. esphome/components/at581x/switch/rf_switch.h +15 -0
  226. esphome/components/atc_mithermometer/__init__.py +0 -0
  227. esphome/components/atc_mithermometer/atc_mithermometer.cpp +133 -0
  228. esphome/components/atc_mithermometer/atc_mithermometer.h +50 -0
  229. esphome/components/atc_mithermometer/sensor.py +100 -0
  230. esphome/components/atm90e26/__init__.py +1 -0
  231. esphome/components/atm90e26/atm90e26.cpp +234 -0
  232. esphome/components/atm90e26/atm90e26.h +72 -0
  233. esphome/components/atm90e26/atm90e26_reg.h +70 -0
  234. esphome/components/atm90e26/sensor.py +159 -0
  235. esphome/components/atm90e32/__init__.py +8 -0
  236. esphome/components/atm90e32/atm90e32.cpp +1233 -0
  237. esphome/components/atm90e32/atm90e32.h +275 -0
  238. esphome/components/atm90e32/atm90e32_reg.h +272 -0
  239. esphome/components/atm90e32/button/__init__.py +95 -0
  240. esphome/components/atm90e32/button/atm90e32_button.cpp +79 -0
  241. esphome/components/atm90e32/button/atm90e32_button.h +59 -0
  242. esphome/components/atm90e32/number/__init__.py +130 -0
  243. esphome/components/atm90e32/number/atm90e32_number.h +16 -0
  244. esphome/components/atm90e32/sensor.py +252 -0
  245. esphome/components/atm90e32/text_sensor/__init__.py +48 -0
  246. esphome/components/audio/__init__.py +168 -0
  247. esphome/components/audio/audio.cpp +67 -0
  248. esphome/components/audio/audio.h +187 -0
  249. esphome/components/audio/audio_decoder.cpp +393 -0
  250. esphome/components/audio/audio_decoder.h +135 -0
  251. esphome/components/audio/audio_reader.cpp +328 -0
  252. esphome/components/audio/audio_reader.h +85 -0
  253. esphome/components/audio/audio_resampler.cpp +163 -0
  254. esphome/components/audio/audio_resampler.h +102 -0
  255. esphome/components/audio/audio_transfer_buffer.cpp +175 -0
  256. esphome/components/audio/audio_transfer_buffer.h +144 -0
  257. esphome/components/audio_adc/__init__.py +41 -0
  258. esphome/components/audio_adc/audio_adc.h +17 -0
  259. esphome/components/audio_adc/automation.h +23 -0
  260. esphome/components/audio_dac/__init__.py +57 -0
  261. esphome/components/audio_dac/audio_dac.h +23 -0
  262. esphome/components/audio_dac/automation.h +43 -0
  263. esphome/components/axs15231/__init__.py +6 -0
  264. esphome/components/axs15231/touchscreen/__init__.py +36 -0
  265. esphome/components/axs15231/touchscreen/axs15231_touchscreen.cpp +68 -0
  266. esphome/components/axs15231/touchscreen/axs15231_touchscreen.h +27 -0
  267. esphome/components/b_parasite/__init__.py +0 -0
  268. esphome/components/b_parasite/b_parasite.cpp +108 -0
  269. esphome/components/b_parasite/b_parasite.h +41 -0
  270. esphome/components/b_parasite/sensor.py +92 -0
  271. esphome/components/ballu/__init__.py +0 -0
  272. esphome/components/ballu/ballu.cpp +239 -0
  273. esphome/components/ballu/ballu.h +31 -0
  274. esphome/components/ballu/climate.py +14 -0
  275. esphome/components/bang_bang/__init__.py +1 -0
  276. esphome/components/bang_bang/bang_bang_climate.cpp +232 -0
  277. esphome/components/bang_bang/bang_bang_climate.h +92 -0
  278. esphome/components/bang_bang/climate.py +81 -0
  279. esphome/components/bedjet/__init__.py +48 -0
  280. esphome/components/bedjet/bedjet_child.h +23 -0
  281. esphome/components/bedjet/bedjet_codec.cpp +169 -0
  282. esphome/components/bedjet/bedjet_codec.h +194 -0
  283. esphome/components/bedjet/bedjet_const.h +105 -0
  284. esphome/components/bedjet/bedjet_hub.cpp +553 -0
  285. esphome/components/bedjet/bedjet_hub.h +178 -0
  286. esphome/components/bedjet/climate/__init__.py +67 -0
  287. esphome/components/bedjet/climate/bedjet_climate.cpp +351 -0
  288. esphome/components/bedjet/climate/bedjet_climate.h +85 -0
  289. esphome/components/bedjet/fan/__init__.py +22 -0
  290. esphome/components/bedjet/fan/bedjet_fan.cpp +113 -0
  291. esphome/components/bedjet/fan/bedjet_fan.h +40 -0
  292. esphome/components/bedjet/sensor/__init__.py +52 -0
  293. esphome/components/bedjet/sensor/bedjet_sensor.cpp +34 -0
  294. esphome/components/bedjet/sensor/bedjet_sensor.h +32 -0
  295. esphome/components/beken_spi_led_strip/__init__.py +0 -0
  296. esphome/components/beken_spi_led_strip/led_strip.cpp +388 -0
  297. esphome/components/beken_spi_led_strip/led_strip.h +85 -0
  298. esphome/components/beken_spi_led_strip/light.py +134 -0
  299. esphome/components/bh1750/__init__.py +0 -0
  300. esphome/components/bh1750/bh1750.cpp +168 -0
  301. esphome/components/bh1750/bh1750.h +33 -0
  302. esphome/components/bh1750/sensor.py +41 -0
  303. esphome/components/bh1900nux/__init__.py +0 -0
  304. esphome/components/bh1900nux/bh1900nux.cpp +54 -0
  305. esphome/components/bh1900nux/bh1900nux.h +18 -0
  306. esphome/components/bh1900nux/sensor.py +34 -0
  307. esphome/components/binary/__init__.py +3 -0
  308. esphome/components/binary/fan/__init__.py +36 -0
  309. esphome/components/binary/fan/binary_fan.cpp +40 -0
  310. esphome/components/binary/fan/binary_fan.h +31 -0
  311. esphome/components/binary/light/__init__.py +23 -0
  312. esphome/components/binary/light/binary_light_output.h +33 -0
  313. esphome/components/binary_sensor/__init__.py +679 -0
  314. esphome/components/binary_sensor/automation.cpp +120 -0
  315. esphome/components/binary_sensor/automation.h +174 -0
  316. esphome/components/binary_sensor/binary_sensor.cpp +71 -0
  317. esphome/components/binary_sensor/binary_sensor.h +73 -0
  318. esphome/components/binary_sensor/filter.cpp +133 -0
  319. esphome/components/binary_sensor/filter.h +140 -0
  320. esphome/components/binary_sensor_map/__init__.py +0 -0
  321. esphome/components/binary_sensor_map/binary_sensor_map.cpp +142 -0
  322. esphome/components/binary_sensor_map/binary_sensor_map.h +100 -0
  323. esphome/components/binary_sensor_map/sensor.py +105 -0
  324. esphome/components/bk72xx/__init__.py +52 -0
  325. esphome/components/bk72xx/boards.py +1264 -0
  326. esphome/components/bl0906/__init__.py +1 -0
  327. esphome/components/bl0906/bl0906.cpp +238 -0
  328. esphome/components/bl0906/bl0906.h +96 -0
  329. esphome/components/bl0906/const.py +4 -0
  330. esphome/components/bl0906/constants.h +122 -0
  331. esphome/components/bl0906/sensor.py +185 -0
  332. esphome/components/bl0939/__init__.py +1 -0
  333. esphome/components/bl0939/bl0939.cpp +146 -0
  334. esphome/components/bl0939/bl0939.h +107 -0
  335. esphome/components/bl0939/sensor.py +119 -0
  336. esphome/components/bl0940/__init__.py +6 -0
  337. esphome/components/bl0940/bl0940.cpp +275 -0
  338. esphome/components/bl0940/bl0940.h +154 -0
  339. esphome/components/bl0940/button/__init__.py +27 -0
  340. esphome/components/bl0940/button/calibration_reset_button.cpp +20 -0
  341. esphome/components/bl0940/button/calibration_reset_button.h +19 -0
  342. esphome/components/bl0940/number/__init__.py +94 -0
  343. esphome/components/bl0940/number/calibration_number.cpp +29 -0
  344. esphome/components/bl0940/number/calibration_number.h +26 -0
  345. esphome/components/bl0940/sensor.py +250 -0
  346. esphome/components/bl0942/__init__.py +1 -0
  347. esphome/components/bl0942/bl0942.cpp +218 -0
  348. esphome/components/bl0942/bl0942.h +152 -0
  349. esphome/components/bl0942/sensor.py +128 -0
  350. esphome/components/ble_client/__init__.py +316 -0
  351. esphome/components/ble_client/automation.cpp +11 -0
  352. esphome/components/ble_client/automation.h +395 -0
  353. esphome/components/ble_client/ble_client.cpp +86 -0
  354. esphome/components/ble_client/ble_client.h +79 -0
  355. esphome/components/ble_client/output/__init__.py +68 -0
  356. esphome/components/ble_client/output/ble_binary_output.cpp +78 -0
  357. esphome/components/ble_client/output/ble_binary_output.h +40 -0
  358. esphome/components/ble_client/sensor/__init__.py +161 -0
  359. esphome/components/ble_client/sensor/automation.h +39 -0
  360. esphome/components/ble_client/sensor/ble_rssi_sensor.cpp +81 -0
  361. esphome/components/ble_client/sensor/ble_rssi_sensor.h +32 -0
  362. esphome/components/ble_client/sensor/ble_sensor.cpp +150 -0
  363. esphome/components/ble_client/sensor/ble_sensor.h +51 -0
  364. esphome/components/ble_client/switch/__init__.py +22 -0
  365. esphome/components/ble_client/switch/ble_switch.cpp +34 -0
  366. esphome/components/ble_client/switch/ble_switch.h +27 -0
  367. esphome/components/ble_client/text_sensor/__init__.py +106 -0
  368. esphome/components/ble_client/text_sensor/automation.h +37 -0
  369. esphome/components/ble_client/text_sensor/ble_text_sensor.cpp +141 -0
  370. esphome/components/ble_client/text_sensor/ble_text_sensor.h +43 -0
  371. esphome/components/ble_nus/__init__.py +29 -0
  372. esphome/components/ble_nus/ble_nus.cpp +161 -0
  373. esphome/components/ble_nus/ble_nus.h +48 -0
  374. esphome/components/ble_presence/__init__.py +0 -0
  375. esphome/components/ble_presence/binary_sensor.py +93 -0
  376. esphome/components/ble_presence/ble_presence_device.cpp +16 -0
  377. esphome/components/ble_presence/ble_presence_device.h +142 -0
  378. esphome/components/ble_rssi/__init__.py +0 -0
  379. esphome/components/ble_rssi/ble_rssi_sensor.cpp +16 -0
  380. esphome/components/ble_rssi/ble_rssi_sensor.h +125 -0
  381. esphome/components/ble_rssi/sensor.py +89 -0
  382. esphome/components/ble_scanner/__init__.py +0 -0
  383. esphome/components/ble_scanner/ble_scanner.cpp +16 -0
  384. esphome/components/ble_scanner/ble_scanner.h +37 -0
  385. esphome/components/ble_scanner/text_sensor.py +25 -0
  386. esphome/components/bluetooth_proxy/__init__.py +110 -0
  387. esphome/components/bluetooth_proxy/bluetooth_connection.cpp +579 -0
  388. esphome/components/bluetooth_proxy/bluetooth_connection.h +56 -0
  389. esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +455 -0
  390. esphome/components/bluetooth_proxy/bluetooth_proxy.h +183 -0
  391. esphome/components/bm8563/__init__.py +1 -0
  392. esphome/components/bm8563/bm8563.cpp +198 -0
  393. esphome/components/bm8563/bm8563.h +57 -0
  394. esphome/components/bm8563/time.py +80 -0
  395. esphome/components/bme280_base/__init__.py +108 -0
  396. esphome/components/bme280_base/bme280_base.cpp +357 -0
  397. esphome/components/bme280_base/bme280_base.h +114 -0
  398. esphome/components/bme280_i2c/__init__.py +0 -0
  399. esphome/components/bme280_i2c/bme280_i2c.cpp +30 -0
  400. esphome/components/bme280_i2c/bme280_i2c.h +20 -0
  401. esphome/components/bme280_i2c/sensor.py +22 -0
  402. esphome/components/bme280_spi/__init__.py +0 -0
  403. esphome/components/bme280_spi/bme280_spi.cpp +65 -0
  404. esphome/components/bme280_spi/bme280_spi.h +20 -0
  405. esphome/components/bme280_spi/sensor.py +24 -0
  406. esphome/components/bme680/__init__.py +0 -0
  407. esphome/components/bme680/bme680.cpp +514 -0
  408. esphome/components/bme680/bme680.h +139 -0
  409. esphome/components/bme680/sensor.py +159 -0
  410. esphome/components/bme680_bsec/__init__.py +96 -0
  411. esphome/components/bme680_bsec/bme680_bsec.cpp +565 -0
  412. esphome/components/bme680_bsec/bme680_bsec.h +137 -0
  413. esphome/components/bme680_bsec/sensor.py +124 -0
  414. esphome/components/bme680_bsec/text_sensor.py +33 -0
  415. esphome/components/bme68x_bsec2/__init__.py +197 -0
  416. esphome/components/bme68x_bsec2/bme68x_bsec2.cpp +531 -0
  417. esphome/components/bme68x_bsec2/bme68x_bsec2.h +161 -0
  418. esphome/components/bme68x_bsec2/sensor.py +130 -0
  419. esphome/components/bme68x_bsec2/text_sensor.py +33 -0
  420. esphome/components/bme68x_bsec2_i2c/__init__.py +28 -0
  421. esphome/components/bme68x_bsec2_i2c/bme68x_bsec2_i2c.cpp +54 -0
  422. esphome/components/bme68x_bsec2_i2c/bme68x_bsec2_i2c.h +28 -0
  423. esphome/components/bmi160/__init__.py +1 -0
  424. esphome/components/bmi160/bmi160.cpp +269 -0
  425. esphome/components/bmi160/bmi160.h +44 -0
  426. esphome/components/bmi160/sensor.py +102 -0
  427. esphome/components/bmp085/__init__.py +0 -0
  428. esphome/components/bmp085/bmp085.cpp +137 -0
  429. esphome/components/bmp085/bmp085.h +45 -0
  430. esphome/components/bmp085/sensor.py +56 -0
  431. esphome/components/bmp280/__init__.py +0 -0
  432. esphome/components/bmp280/sensor.py +5 -0
  433. esphome/components/bmp280_base/__init__.py +88 -0
  434. esphome/components/bmp280_base/bmp280_base.cpp +273 -0
  435. esphome/components/bmp280_base/bmp280_base.h +98 -0
  436. esphome/components/bmp280_i2c/__init__.py +0 -0
  437. esphome/components/bmp280_i2c/bmp280_i2c.cpp +14 -0
  438. esphome/components/bmp280_i2c/bmp280_i2c.h +24 -0
  439. esphome/components/bmp280_i2c/sensor.py +23 -0
  440. esphome/components/bmp280_spi/__init__.py +0 -0
  441. esphome/components/bmp280_spi/bmp280_spi.cpp +65 -0
  442. esphome/components/bmp280_spi/bmp280_spi.h +20 -0
  443. esphome/components/bmp280_spi/sensor.py +23 -0
  444. esphome/components/bmp3xx/__init__.py +0 -0
  445. esphome/components/bmp3xx/sensor.py +7 -0
  446. esphome/components/bmp3xx_base/__init__.py +95 -0
  447. esphome/components/bmp3xx_base/bmp3xx_base.cpp +388 -0
  448. esphome/components/bmp3xx_base/bmp3xx_base.h +242 -0
  449. esphome/components/bmp3xx_i2c/__init__.py +0 -0
  450. esphome/components/bmp3xx_i2c/bmp3xx_i2c.cpp +29 -0
  451. esphome/components/bmp3xx_i2c/bmp3xx_i2c.h +17 -0
  452. esphome/components/bmp3xx_i2c/sensor.py +23 -0
  453. esphome/components/bmp3xx_spi/__init__.py +0 -0
  454. esphome/components/bmp3xx_spi/bmp3xx_spi.cpp +57 -0
  455. esphome/components/bmp3xx_spi/bmp3xx_spi.h +19 -0
  456. esphome/components/bmp3xx_spi/sensor.py +23 -0
  457. esphome/components/bmp581/__init__.py +0 -0
  458. esphome/components/bmp581/bmp581.cpp +600 -0
  459. esphome/components/bmp581/bmp581.h +220 -0
  460. esphome/components/bmp581/sensor.py +164 -0
  461. esphome/components/bp1658cj/__init__.py +40 -0
  462. esphome/components/bp1658cj/bp1658cj.cpp +132 -0
  463. esphome/components/bp1658cj/bp1658cj.h +64 -0
  464. esphome/components/bp1658cj/output.py +28 -0
  465. esphome/components/bp5758d/__init__.py +29 -0
  466. esphome/components/bp5758d/bp5758d.cpp +168 -0
  467. esphome/components/bp5758d/bp5758d.h +64 -0
  468. esphome/components/bp5758d/output.py +30 -0
  469. esphome/components/button/__init__.py +134 -0
  470. esphome/components/button/automation.h +26 -0
  471. esphome/components/button/button.cpp +28 -0
  472. esphome/components/button/button.h +47 -0
  473. esphome/components/bytebuffer/__init__.py +5 -0
  474. esphome/components/bytebuffer/bytebuffer.h +421 -0
  475. esphome/components/camera/__init__.py +1 -0
  476. esphome/components/camera/buffer.h +18 -0
  477. esphome/components/camera/buffer_impl.cpp +20 -0
  478. esphome/components/camera/buffer_impl.h +26 -0
  479. esphome/components/camera/camera.cpp +22 -0
  480. esphome/components/camera/camera.h +138 -0
  481. esphome/components/camera/encoder.h +69 -0
  482. esphome/components/camera_encoder/__init__.py +60 -0
  483. esphome/components/camera_encoder/encoder_buffer_impl.cpp +23 -0
  484. esphome/components/camera_encoder/encoder_buffer_impl.h +25 -0
  485. esphome/components/camera_encoder/esp32_camera_jpeg_encoder.cpp +84 -0
  486. esphome/components/camera_encoder/esp32_camera_jpeg_encoder.h +41 -0
  487. esphome/components/canbus/__init__.py +183 -0
  488. esphome/components/canbus/canbus.cpp +106 -0
  489. esphome/components/canbus/canbus.h +184 -0
  490. esphome/components/cap1188/__init__.py +45 -0
  491. esphome/components/cap1188/binary_sensor.py +24 -0
  492. esphome/components/cap1188/cap1188.cpp +104 -0
  493. esphome/components/cap1188/cap1188.h +71 -0
  494. esphome/components/captive_portal/__init__.py +115 -0
  495. esphome/components/captive_portal/captive_index.h +89 -0
  496. esphome/components/captive_portal/captive_portal.cpp +130 -0
  497. esphome/components/captive_portal/captive_portal.h +80 -0
  498. esphome/components/captive_portal/dns_server_esp32_idf.cpp +205 -0
  499. esphome/components/captive_portal/dns_server_esp32_idf.h +27 -0
  500. esphome/components/cc1101/__init__.py +220 -0
  501. esphome/components/cc1101/cc1101.cpp +549 -0
  502. esphome/components/cc1101/cc1101.h +110 -0
  503. esphome/components/cc1101/cc1101defs.h +644 -0
  504. esphome/components/cc1101/cc1101pa.h +174 -0
  505. esphome/components/ccs811/__init__.py +0 -0
  506. esphome/components/ccs811/ccs811.cpp +190 -0
  507. esphome/components/ccs811/ccs811.h +55 -0
  508. esphome/components/ccs811/sensor.py +87 -0
  509. esphome/components/cd74hc4067/__init__.py +51 -0
  510. esphome/components/cd74hc4067/cd74hc4067.cpp +85 -0
  511. esphome/components/cd74hc4067/cd74hc4067.h +65 -0
  512. esphome/components/cd74hc4067/sensor.py +56 -0
  513. esphome/components/ch422g/__init__.py +76 -0
  514. esphome/components/ch422g/ch422g.cpp +138 -0
  515. esphome/components/ch422g/ch422g.h +70 -0
  516. esphome/components/chsc6x/__init__.py +2 -0
  517. esphome/components/chsc6x/chsc6x_touchscreen.cpp +46 -0
  518. esphome/components/chsc6x/chsc6x_touchscreen.h +34 -0
  519. esphome/components/chsc6x/touchscreen.py +33 -0
  520. esphome/components/climate/__init__.py +517 -0
  521. esphome/components/climate/automation.h +60 -0
  522. esphome/components/climate/climate.cpp +764 -0
  523. esphome/components/climate/climate.h +347 -0
  524. esphome/components/climate/climate_mode.cpp +109 -0
  525. esphome/components/climate/climate_mode.h +134 -0
  526. esphome/components/climate/climate_traits.cpp +13 -0
  527. esphome/components/climate/climate_traits.h +294 -0
  528. esphome/components/climate_ir/__init__.py +78 -0
  529. esphome/components/climate_ir/climate_ir.cpp +99 -0
  530. esphome/components/climate_ir/climate_ir.h +75 -0
  531. esphome/components/climate_ir_lg/__init__.py +0 -0
  532. esphome/components/climate_ir_lg/climate.py +44 -0
  533. esphome/components/climate_ir_lg/climate_ir_lg.cpp +222 -0
  534. esphome/components/climate_ir_lg/climate_ir_lg.h +57 -0
  535. esphome/components/cm1106/__init__.py +1 -0
  536. esphome/components/cm1106/cm1106.cpp +111 -0
  537. esphome/components/cm1106/cm1106.h +40 -0
  538. esphome/components/cm1106/sensor.py +72 -0
  539. esphome/components/color/__init__.py +109 -0
  540. esphome/components/color_temperature/__init__.py +0 -0
  541. esphome/components/color_temperature/ct_light_output.h +38 -0
  542. esphome/components/color_temperature/light.py +42 -0
  543. esphome/components/combination/__init__.py +0 -0
  544. esphome/components/combination/combination.cpp +262 -0
  545. esphome/components/combination/combination.h +141 -0
  546. esphome/components/combination/sensor.py +176 -0
  547. esphome/components/const/__init__.py +17 -0
  548. esphome/components/coolix/__init__.py +0 -0
  549. esphome/components/coolix/climate.py +14 -0
  550. esphome/components/coolix/coolix.cpp +163 -0
  551. esphome/components/coolix/coolix.h +45 -0
  552. esphome/components/copy/__init__.py +5 -0
  553. esphome/components/copy/binary_sensor/__init__.py +41 -0
  554. esphome/components/copy/binary_sensor/copy_binary_sensor.cpp +18 -0
  555. esphome/components/copy/binary_sensor/copy_binary_sensor.h +20 -0
  556. esphome/components/copy/button/__init__.py +41 -0
  557. esphome/components/copy/button/copy_button.cpp +14 -0
  558. esphome/components/copy/button/copy_button.h +21 -0
  559. esphome/components/copy/cover/__init__.py +39 -0
  560. esphome/components/copy/cover/copy_cover.cpp +51 -0
  561. esphome/components/copy/cover/copy_cover.h +24 -0
  562. esphome/components/copy/fan/__init__.py +33 -0
  563. esphome/components/copy/fan/copy_fan.cpp +58 -0
  564. esphome/components/copy/fan/copy_fan.h +25 -0
  565. esphome/components/copy/lock/__init__.py +33 -0
  566. esphome/components/copy/lock/copy_lock.cpp +29 -0
  567. esphome/components/copy/lock/copy_lock.h +22 -0
  568. esphome/components/copy/number/__init__.py +41 -0
  569. esphome/components/copy/number/copy_number.cpp +29 -0
  570. esphome/components/copy/number/copy_number.h +22 -0
  571. esphome/components/copy/select/__init__.py +34 -0
  572. esphome/components/copy/select/copy_select.cpp +27 -0
  573. esphome/components/copy/select/copy_select.h +22 -0
  574. esphome/components/copy/sensor/__init__.py +45 -0
  575. esphome/components/copy/sensor/copy_sensor.cpp +18 -0
  576. esphome/components/copy/sensor/copy_sensor.h +20 -0
  577. esphome/components/copy/switch/__init__.py +39 -0
  578. esphome/components/copy/switch/copy_switch.cpp +26 -0
  579. esphome/components/copy/switch/copy_switch.h +22 -0
  580. esphome/components/copy/text/__init__.py +34 -0
  581. esphome/components/copy/text/copy_text.cpp +25 -0
  582. esphome/components/copy/text/copy_text.h +22 -0
  583. esphome/components/copy/text_sensor/__init__.py +33 -0
  584. esphome/components/copy/text_sensor/copy_text_sensor.cpp +18 -0
  585. esphome/components/copy/text_sensor/copy_text_sensor.h +20 -0
  586. esphome/components/cover/__init__.py +263 -0
  587. esphome/components/cover/automation.h +133 -0
  588. esphome/components/cover/cover.cpp +214 -0
  589. esphome/components/cover/cover.h +160 -0
  590. esphome/components/cover/cover_traits.h +28 -0
  591. esphome/components/cs5460a/__init__.py +0 -0
  592. esphome/components/cs5460a/cs5460a.cpp +343 -0
  593. esphome/components/cs5460a/cs5460a.h +124 -0
  594. esphome/components/cs5460a/sensor.py +138 -0
  595. esphome/components/cse7761/__init__.py +0 -0
  596. esphome/components/cse7761/cse7761.cpp +243 -0
  597. esphome/components/cse7761/cse7761.h +52 -0
  598. esphome/components/cse7761/sensor.py +90 -0
  599. esphome/components/cse7766/__init__.py +0 -0
  600. esphome/components/cse7766/cse7766.cpp +239 -0
  601. esphome/components/cse7766/cse7766.h +52 -0
  602. esphome/components/cse7766/sensor.py +111 -0
  603. esphome/components/cst226/__init__.py +6 -0
  604. esphome/components/cst226/binary_sensor/__init__.py +28 -0
  605. esphome/components/cst226/binary_sensor/cs226_button.h +22 -0
  606. esphome/components/cst226/binary_sensor/cstt6_button.cpp +19 -0
  607. esphome/components/cst226/touchscreen/__init__.py +37 -0
  608. esphome/components/cst226/touchscreen/cst226_touchscreen.cpp +114 -0
  609. esphome/components/cst226/touchscreen/cst226_touchscreen.h +44 -0
  610. esphome/components/cst816/__init__.py +6 -0
  611. esphome/components/cst816/binary_sensor/__init__.py +5 -0
  612. esphome/components/cst816/touchscreen/__init__.py +37 -0
  613. esphome/components/cst816/touchscreen/cst816_touchscreen.cpp +125 -0
  614. esphome/components/cst816/touchscreen/cst816_touchscreen.h +61 -0
  615. esphome/components/ct_clamp/__init__.py +0 -0
  616. esphome/components/ct_clamp/ct_clamp_sensor.cpp +74 -0
  617. esphome/components/ct_clamp/ct_clamp_sensor.h +54 -0
  618. esphome/components/ct_clamp/sensor.py +45 -0
  619. esphome/components/current_based/__init__.py +1 -0
  620. esphome/components/current_based/cover.py +128 -0
  621. esphome/components/current_based/current_based_cover.cpp +273 -0
  622. esphome/components/current_based/current_based_cover.h +97 -0
  623. esphome/components/custom/__init__.py +0 -0
  624. esphome/components/custom/binary_sensor/__init__.py +5 -0
  625. esphome/components/custom/climate/__init__.py +5 -0
  626. esphome/components/custom/cover/__init__.py +5 -0
  627. esphome/components/custom/light/__init__.py +5 -0
  628. esphome/components/custom/output/__init__.py +5 -0
  629. esphome/components/custom/sensor/__init__.py +5 -0
  630. esphome/components/custom/switch/__init__.py +5 -0
  631. esphome/components/custom/text_sensor/__init__.py +5 -0
  632. esphome/components/custom_component/__init__.py +7 -0
  633. esphome/components/cwww/__init__.py +0 -0
  634. esphome/components/cwww/cwww_light_output.h +40 -0
  635. esphome/components/cwww/light.py +48 -0
  636. esphome/components/dac7678/__init__.py +32 -0
  637. esphome/components/dac7678/dac7678_output.cpp +84 -0
  638. esphome/components/dac7678/dac7678_output.h +55 -0
  639. esphome/components/dac7678/output.py +28 -0
  640. esphome/components/daikin/__init__.py +0 -0
  641. esphome/components/daikin/climate.py +13 -0
  642. esphome/components/daikin/daikin.cpp +255 -0
  643. esphome/components/daikin/daikin.h +64 -0
  644. esphome/components/daikin_arc/__init__.py +1 -0
  645. esphome/components/daikin_arc/climate.py +13 -0
  646. esphome/components/daikin_arc/daikin_arc.cpp +492 -0
  647. esphome/components/daikin_arc/daikin_arc.h +76 -0
  648. esphome/components/daikin_brc/__init__.py +1 -0
  649. esphome/components/daikin_brc/climate.py +21 -0
  650. esphome/components/daikin_brc/daikin_brc.cpp +273 -0
  651. esphome/components/daikin_brc/daikin_brc.h +82 -0
  652. esphome/components/dallas/__init__.py +7 -0
  653. esphome/components/dallas/sensor.py +5 -0
  654. esphome/components/dallas_temp/__init__.py +1 -0
  655. esphome/components/dallas_temp/dallas_temp.cpp +160 -0
  656. esphome/components/dallas_temp/dallas_temp.h +31 -0
  657. esphome/components/dallas_temp/sensor.py +43 -0
  658. esphome/components/daly_bms/__init__.py +33 -0
  659. esphome/components/daly_bms/binary_sensor.py +39 -0
  660. esphome/components/daly_bms/daly_bms.cpp +327 -0
  661. esphome/components/daly_bms/daly_bms.h +93 -0
  662. esphome/components/daly_bms/sensor.py +236 -0
  663. esphome/components/daly_bms/text_sensor.py +35 -0
  664. esphome/components/dashboard_import/__init__.py +167 -0
  665. esphome/components/dashboard_import/dashboard_import.cpp +12 -0
  666. esphome/components/dashboard_import/dashboard_import.h +10 -0
  667. esphome/components/datetime/__init__.py +273 -0
  668. esphome/components/datetime/date_entity.cpp +133 -0
  669. esphome/components/datetime/date_entity.h +115 -0
  670. esphome/components/datetime/datetime_base.h +39 -0
  671. esphome/components/datetime/datetime_entity.cpp +254 -0
  672. esphome/components/datetime/datetime_entity.h +150 -0
  673. esphome/components/datetime/time_entity.cpp +156 -0
  674. esphome/components/datetime/time_entity.h +129 -0
  675. esphome/components/debug/__init__.py +81 -0
  676. esphome/components/debug/debug_component.cpp +98 -0
  677. esphome/components/debug/debug_component.h +92 -0
  678. esphome/components/debug/debug_esp32.cpp +241 -0
  679. esphome/components/debug/debug_esp8266.cpp +94 -0
  680. esphome/components/debug/debug_host.cpp +18 -0
  681. esphome/components/debug/debug_libretiny.cpp +44 -0
  682. esphome/components/debug/debug_rp2040.cpp +23 -0
  683. esphome/components/debug/debug_zephyr.cpp +378 -0
  684. esphome/components/debug/sensor.py +102 -0
  685. esphome/components/debug/text_sensor.py +40 -0
  686. esphome/components/deep_sleep/__init__.py +367 -0
  687. esphome/components/deep_sleep/deep_sleep_component.cpp +81 -0
  688. esphome/components/deep_sleep/deep_sleep_component.h +219 -0
  689. esphome/components/deep_sleep/deep_sleep_esp32.cpp +172 -0
  690. esphome/components/deep_sleep/deep_sleep_esp8266.cpp +23 -0
  691. esphome/components/delonghi/__init__.py +1 -0
  692. esphome/components/delonghi/climate.py +13 -0
  693. esphome/components/delonghi/delonghi.cpp +186 -0
  694. esphome/components/delonghi/delonghi.h +64 -0
  695. esphome/components/demo/__init__.py +629 -0
  696. esphome/components/demo/demo_alarm_control_panel.h +65 -0
  697. esphome/components/demo/demo_binary_sensor.h +22 -0
  698. esphome/components/demo/demo_button.h +15 -0
  699. esphome/components/demo/demo_climate.h +152 -0
  700. esphome/components/demo/demo_cover.h +87 -0
  701. esphome/components/demo/demo_date.h +34 -0
  702. esphome/components/demo/demo_datetime.h +40 -0
  703. esphome/components/demo/demo_fan.h +66 -0
  704. esphome/components/demo/demo_light.h +68 -0
  705. esphome/components/demo/demo_lock.h +17 -0
  706. esphome/components/demo/demo_number.h +39 -0
  707. esphome/components/demo/demo_select.h +15 -0
  708. esphome/components/demo/demo_sensor.h +29 -0
  709. esphome/components/demo/demo_switch.h +22 -0
  710. esphome/components/demo/demo_text.h +18 -0
  711. esphome/components/demo/demo_text_sensor.h +25 -0
  712. esphome/components/demo/demo_time.h +34 -0
  713. esphome/components/demo/demo_valve.h +54 -0
  714. esphome/components/dfplayer/__init__.py +373 -0
  715. esphome/components/dfplayer/dfplayer.cpp +276 -0
  716. esphome/components/dfplayer/dfplayer.h +182 -0
  717. esphome/components/dfrobot_sen0395/__init__.py +204 -0
  718. esphome/components/dfrobot_sen0395/automation.h +89 -0
  719. esphome/components/dfrobot_sen0395/binary_sensor.py +23 -0
  720. esphome/components/dfrobot_sen0395/commands.cpp +321 -0
  721. esphome/components/dfrobot_sen0395/commands.h +156 -0
  722. esphome/components/dfrobot_sen0395/dfrobot_sen0395.cpp +143 -0
  723. esphome/components/dfrobot_sen0395/dfrobot_sen0395.h +125 -0
  724. esphome/components/dfrobot_sen0395/switch/__init__.py +63 -0
  725. esphome/components/dfrobot_sen0395/switch/dfrobot_sen0395_switch.cpp +48 -0
  726. esphome/components/dfrobot_sen0395/switch/dfrobot_sen0395_switch.h +34 -0
  727. esphome/components/dht/__init__.py +1 -0
  728. esphome/components/dht/dht.cpp +237 -0
  729. esphome/components/dht/dht.h +65 -0
  730. esphome/components/dht/sensor.py +70 -0
  731. esphome/components/dht12/__init__.py +0 -0
  732. esphome/components/dht12/dht12.cpp +69 -0
  733. esphome/components/dht12/dht12.h +28 -0
  734. esphome/components/dht12/sensor.py +54 -0
  735. esphome/components/display/__init__.py +224 -0
  736. esphome/components/display/display.cpp +929 -0
  737. esphome/components/display/display.h +875 -0
  738. esphome/components/display/display_buffer.cpp +72 -0
  739. esphome/components/display/display_buffer.h +34 -0
  740. esphome/components/display/display_color_utils.h +159 -0
  741. esphome/components/display/rect.cpp +94 -0
  742. esphome/components/display/rect.h +36 -0
  743. esphome/components/display_menu_base/__init__.py +428 -0
  744. esphome/components/display_menu_base/automation.h +133 -0
  745. esphome/components/display_menu_base/display_menu_base.cpp +329 -0
  746. esphome/components/display_menu_base/display_menu_base.h +82 -0
  747. esphome/components/display_menu_base/menu_item.cpp +202 -0
  748. esphome/components/display_menu_base/menu_item.h +191 -0
  749. esphome/components/dps310/__init__.py +0 -0
  750. esphome/components/dps310/dps310.cpp +189 -0
  751. esphome/components/dps310/dps310.h +65 -0
  752. esphome/components/dps310/sensor.py +62 -0
  753. esphome/components/ds1307/__init__.py +0 -0
  754. esphome/components/ds1307/ds1307.cpp +108 -0
  755. esphome/components/ds1307/ds1307.h +70 -0
  756. esphome/components/ds1307/time.py +57 -0
  757. esphome/components/ds2484/__init__.py +1 -0
  758. esphome/components/ds2484/ds2484.cpp +208 -0
  759. esphome/components/ds2484/ds2484.h +43 -0
  760. esphome/components/ds2484/one_wire.py +37 -0
  761. esphome/components/dsmr/__init__.py +89 -0
  762. esphome/components/dsmr/dsmr.cpp +335 -0
  763. esphome/components/dsmr/dsmr.h +146 -0
  764. esphome/components/dsmr/sensor.py +291 -0
  765. esphome/components/dsmr/text_sensor.py +52 -0
  766. esphome/components/duty_cycle/__init__.py +0 -0
  767. esphome/components/duty_cycle/duty_cycle_sensor.cpp +62 -0
  768. esphome/components/duty_cycle/duty_cycle_sensor.h +37 -0
  769. esphome/components/duty_cycle/sensor.py +30 -0
  770. esphome/components/duty_time/__init__.py +1 -0
  771. esphome/components/duty_time/duty_time_sensor.cpp +107 -0
  772. esphome/components/duty_time/duty_time_sensor.h +75 -0
  773. esphome/components/duty_time/sensor.py +127 -0
  774. esphome/components/e131/__init__.py +58 -0
  775. esphome/components/e131/e131.cpp +127 -0
  776. esphome/components/e131/e131.h +55 -0
  777. esphome/components/e131/e131_addressable_light_effect.cpp +94 -0
  778. esphome/components/e131/e131_addressable_light_effect.h +45 -0
  779. esphome/components/e131/e131_packet.cpp +147 -0
  780. esphome/components/ee895/__init__.py +0 -0
  781. esphome/components/ee895/ee895.cpp +114 -0
  782. esphome/components/ee895/ee895.h +34 -0
  783. esphome/components/ee895/sensor.py +69 -0
  784. esphome/components/ektf2232/__init__.py +0 -0
  785. esphome/components/ektf2232/touchscreen/__init__.py +44 -0
  786. esphome/components/ektf2232/touchscreen/ektf2232.cpp +134 -0
  787. esphome/components/ektf2232/touchscreen/ektf2232.h +35 -0
  788. esphome/components/emc2101/__init__.py +83 -0
  789. esphome/components/emc2101/emc2101.cpp +169 -0
  790. esphome/components/emc2101/emc2101.h +115 -0
  791. esphome/components/emc2101/output/__init__.py +22 -0
  792. esphome/components/emc2101/output/emc2101_output.cpp +9 -0
  793. esphome/components/emc2101/output/emc2101_output.h +22 -0
  794. esphome/components/emc2101/sensor/__init__.py +75 -0
  795. esphome/components/emc2101/sensor/emc2101_sensor.cpp +43 -0
  796. esphome/components/emc2101/sensor/emc2101_sensor.h +39 -0
  797. esphome/components/emmeti/__init__.py +0 -0
  798. esphome/components/emmeti/climate.py +14 -0
  799. esphome/components/emmeti/emmeti.cpp +316 -0
  800. esphome/components/emmeti/emmeti.h +109 -0
  801. esphome/components/endstop/__init__.py +0 -0
  802. esphome/components/endstop/cover.py +60 -0
  803. esphome/components/endstop/endstop_cover.cpp +193 -0
  804. esphome/components/endstop/endstop_cover.h +58 -0
  805. esphome/components/ens160/__init__.py +0 -0
  806. esphome/components/ens160/sensor.py +7 -0
  807. esphome/components/ens160_base/__init__.py +81 -0
  808. esphome/components/ens160_base/ens160_base.cpp +318 -0
  809. esphome/components/ens160_base/ens160_base.h +63 -0
  810. esphome/components/ens160_i2c/__init__.py +0 -0
  811. esphome/components/ens160_i2c/ens160_i2c.cpp +32 -0
  812. esphome/components/ens160_i2c/ens160_i2c.h +19 -0
  813. esphome/components/ens160_i2c/sensor.py +23 -0
  814. esphome/components/ens160_spi/__init__.py +0 -0
  815. esphome/components/ens160_spi/ens160_spi.cpp +59 -0
  816. esphome/components/ens160_spi/ens160_spi.h +22 -0
  817. esphome/components/ens160_spi/sensor.py +23 -0
  818. esphome/components/ens210/__init__.py +0 -0
  819. esphome/components/ens210/ens210.cpp +229 -0
  820. esphome/components/ens210/ens210.h +39 -0
  821. esphome/components/ens210/sensor.py +58 -0
  822. esphome/components/epaper_spi/__init__.py +1 -0
  823. esphome/components/epaper_spi/display.py +233 -0
  824. esphome/components/epaper_spi/epaper_spi.cpp +346 -0
  825. esphome/components/epaper_spi/epaper_spi.h +181 -0
  826. esphome/components/epaper_spi/epaper_spi_spectra_e6.cpp +159 -0
  827. esphome/components/epaper_spi/epaper_spi_spectra_e6.h +28 -0
  828. esphome/components/epaper_spi/epaper_spi_ssd1677.cpp +86 -0
  829. esphome/components/epaper_spi/epaper_spi_ssd1677.h +25 -0
  830. esphome/components/epaper_spi/models/__init__.py +65 -0
  831. esphome/components/epaper_spi/models/spectra_e6.py +55 -0
  832. esphome/components/epaper_spi/models/ssd1677.py +42 -0
  833. esphome/components/es7210/__init__.py +0 -0
  834. esphome/components/es7210/audio_adc.py +51 -0
  835. esphome/components/es7210/es7210.cpp +228 -0
  836. esphome/components/es7210/es7210.h +61 -0
  837. esphome/components/es7210/es7210_const.h +129 -0
  838. esphome/components/es7243e/__init__.py +0 -0
  839. esphome/components/es7243e/audio_adc.py +34 -0
  840. esphome/components/es7243e/es7243e.cpp +123 -0
  841. esphome/components/es7243e/es7243e.h +36 -0
  842. esphome/components/es7243e/es7243e_const.h +54 -0
  843. esphome/components/es8156/__init__.py +0 -0
  844. esphome/components/es8156/audio_dac.py +27 -0
  845. esphome/components/es8156/es8156.cpp +85 -0
  846. esphome/components/es8156/es8156.h +50 -0
  847. esphome/components/es8156/es8156_const.h +68 -0
  848. esphome/components/es8311/__init__.py +0 -0
  849. esphome/components/es8311/audio_dac.py +67 -0
  850. esphome/components/es8311/es8311.cpp +227 -0
  851. esphome/components/es8311/es8311.h +134 -0
  852. esphome/components/es8311/es8311_const.h +195 -0
  853. esphome/components/es8388/__init__.py +0 -0
  854. esphome/components/es8388/audio_dac.py +26 -0
  855. esphome/components/es8388/es8388.cpp +287 -0
  856. esphome/components/es8388/es8388.h +80 -0
  857. esphome/components/es8388/es8388_const.h +83 -0
  858. esphome/components/es8388/select/__init__.py +47 -0
  859. esphome/components/es8388/select/adc_input_mic_select.cpp +12 -0
  860. esphome/components/es8388/select/adc_input_mic_select.h +15 -0
  861. esphome/components/es8388/select/dac_output_select.cpp +12 -0
  862. esphome/components/es8388/select/dac_output_select.h +15 -0
  863. esphome/components/esp32/__init__.py +1323 -0
  864. esphome/components/esp32/boards.py +2536 -0
  865. esphome/components/esp32/const.py +51 -0
  866. esphome/components/esp32/core.cpp +114 -0
  867. esphome/components/esp32/gpio.cpp +209 -0
  868. esphome/components/esp32/gpio.h +57 -0
  869. esphome/components/esp32/gpio.py +239 -0
  870. esphome/components/esp32/gpio_esp32.py +70 -0
  871. esphome/components/esp32/gpio_esp32_c2.py +32 -0
  872. esphome/components/esp32/gpio_esp32_c3.py +45 -0
  873. esphome/components/esp32/gpio_esp32_c5.py +58 -0
  874. esphome/components/esp32/gpio_esp32_c6.py +58 -0
  875. esphome/components/esp32/gpio_esp32_c61.py +46 -0
  876. esphome/components/esp32/gpio_esp32_h2.py +47 -0
  877. esphome/components/esp32/gpio_esp32_p4.py +52 -0
  878. esphome/components/esp32/gpio_esp32_s2.py +74 -0
  879. esphome/components/esp32/gpio_esp32_s3.py +64 -0
  880. esphome/components/esp32/helpers.cpp +109 -0
  881. esphome/components/esp32/iram_fix.py.script +71 -0
  882. esphome/components/esp32/post_build.py.script +128 -0
  883. esphome/components/esp32/pre_build.py.script +9 -0
  884. esphome/components/esp32/preferences.cpp +209 -0
  885. esphome/components/esp32/preferences.h +12 -0
  886. esphome/components/esp32_ble/__init__.py +553 -0
  887. esphome/components/esp32_ble/ble.cpp +673 -0
  888. esphome/components/esp32_ble/ble.h +230 -0
  889. esphome/components/esp32_ble/ble_advertising.cpp +170 -0
  890. esphome/components/esp32_ble/ble_advertising.h +69 -0
  891. esphome/components/esp32_ble/ble_event.h +467 -0
  892. esphome/components/esp32_ble/ble_scan_result.h +22 -0
  893. esphome/components/esp32_ble/ble_uuid.cpp +190 -0
  894. esphome/components/esp32_ble/ble_uuid.h +48 -0
  895. esphome/components/esp32_ble_beacon/__init__.py +90 -0
  896. esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp +127 -0
  897. esphome/components/esp32_ble_beacon/esp32_ble_beacon.h +71 -0
  898. esphome/components/esp32_ble_client/__init__.py +11 -0
  899. esphome/components/esp32_ble_client/ble_characteristic.cpp +99 -0
  900. esphome/components/esp32_ble_client/ble_characteristic.h +41 -0
  901. esphome/components/esp32_ble_client/ble_client_base.cpp +683 -0
  902. esphome/components/esp32_ble_client/ble_client_base.h +148 -0
  903. esphome/components/esp32_ble_client/ble_descriptor.h +27 -0
  904. esphome/components/esp32_ble_client/ble_service.cpp +77 -0
  905. esphome/components/esp32_ble_client/ble_service.h +38 -0
  906. esphome/components/esp32_ble_server/__init__.py +649 -0
  907. esphome/components/esp32_ble_server/ble_2902.cpp +20 -0
  908. esphome/components/esp32_ble_server/ble_2902.h +18 -0
  909. esphome/components/esp32_ble_server/ble_characteristic.cpp +328 -0
  910. esphome/components/esp32_ble_server/ble_characteristic.h +120 -0
  911. esphome/components/esp32_ble_server/ble_descriptor.cpp +93 -0
  912. esphome/components/esp32_ble_server/ble_descriptor.h +69 -0
  913. esphome/components/esp32_ble_server/ble_server.cpp +239 -0
  914. esphome/components/esp32_ble_server/ble_server.h +116 -0
  915. esphome/components/esp32_ble_server/ble_server_automations.cpp +93 -0
  916. esphome/components/esp32_ble_server/ble_server_automations.h +130 -0
  917. esphome/components/esp32_ble_server/ble_service.cpp +179 -0
  918. esphome/components/esp32_ble_server/ble_service.h +86 -0
  919. esphome/components/esp32_ble_tracker/__init__.py +451 -0
  920. esphome/components/esp32_ble_tracker/automation.h +115 -0
  921. esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +868 -0
  922. esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +389 -0
  923. esphome/components/esp32_camera/__init__.py +368 -0
  924. esphome/components/esp32_camera/esp32_camera.cpp +443 -0
  925. esphome/components/esp32_camera/esp32_camera.h +247 -0
  926. esphome/components/esp32_camera_web_server/__init__.py +44 -0
  927. esphome/components/esp32_camera_web_server/camera_web_server.cpp +248 -0
  928. esphome/components/esp32_camera_web_server/camera_web_server.h +54 -0
  929. esphome/components/esp32_can/__init__.py +0 -0
  930. esphome/components/esp32_can/canbus.py +130 -0
  931. esphome/components/esp32_can/esp32_can.cpp +177 -0
  932. esphome/components/esp32_can/esp32_can.h +40 -0
  933. esphome/components/esp32_dac/__init__.py +0 -0
  934. esphome/components/esp32_dac/esp32_dac.cpp +47 -0
  935. esphome/components/esp32_dac/esp32_dac.h +36 -0
  936. esphome/components/esp32_dac/output.py +46 -0
  937. esphome/components/esp32_hall/__init__.py +0 -0
  938. esphome/components/esp32_hall/sensor.py +5 -0
  939. esphome/components/esp32_hosted/__init__.py +107 -0
  940. esphome/components/esp32_hosted/esp32_hosted.py.script +12 -0
  941. esphome/components/esp32_hosted/update/__init__.py +78 -0
  942. esphome/components/esp32_hosted/update/esp32_hosted_update.cpp +169 -0
  943. esphome/components/esp32_hosted/update/esp32_hosted_update.h +32 -0
  944. esphome/components/esp32_improv/__init__.py +158 -0
  945. esphome/components/esp32_improv/automation.h +72 -0
  946. esphome/components/esp32_improv/esp32_improv_component.cpp +482 -0
  947. esphome/components/esp32_improv/esp32_improv_component.h +130 -0
  948. esphome/components/esp32_rmt/__init__.py +22 -0
  949. esphome/components/esp32_rmt_led_strip/__init__.py +0 -0
  950. esphome/components/esp32_rmt_led_strip/led_strip.cpp +309 -0
  951. esphome/components/esp32_rmt_led_strip/led_strip.h +106 -0
  952. esphome/components/esp32_rmt_led_strip/light.py +170 -0
  953. esphome/components/esp32_touch/__init__.py +325 -0
  954. esphome/components/esp32_touch/binary_sensor.py +36 -0
  955. esphome/components/esp32_touch/esp32_touch.h +271 -0
  956. esphome/components/esp32_touch/esp32_touch_common.cpp +164 -0
  957. esphome/components/esp32_touch/esp32_touch_v1.cpp +244 -0
  958. esphome/components/esp32_touch/esp32_touch_v2.cpp +401 -0
  959. esphome/components/esp8266/__init__.py +280 -0
  960. esphome/components/esp8266/boards.py +362 -0
  961. esphome/components/esp8266/const.py +11 -0
  962. esphome/components/esp8266/core.cpp +73 -0
  963. esphome/components/esp8266/core.h +12 -0
  964. esphome/components/esp8266/gpio.cpp +183 -0
  965. esphome/components/esp8266/gpio.h +37 -0
  966. esphome/components/esp8266/gpio.py +212 -0
  967. esphome/components/esp8266/helpers.cpp +35 -0
  968. esphome/components/esp8266/post_build.py.script +23 -0
  969. esphome/components/esp8266/preferences.cpp +293 -0
  970. esphome/components/esp8266/preferences.h +12 -0
  971. esphome/components/esp8266/testing_mode.py.script +166 -0
  972. esphome/components/esp8266_pwm/__init__.py +0 -0
  973. esphome/components/esp8266_pwm/esp8266_pwm.cpp +57 -0
  974. esphome/components/esp8266_pwm/esp8266_pwm.h +54 -0
  975. esphome/components/esp8266_pwm/output.py +63 -0
  976. esphome/components/esp_ldo/__init__.py +93 -0
  977. esphome/components/esp_ldo/esp_ldo.cpp +43 -0
  978. esphome/components/esp_ldo/esp_ldo.h +46 -0
  979. esphome/components/esphome/ota/__init__.py +166 -0
  980. esphome/components/esphome/ota/ota_esphome.cpp +802 -0
  981. esphome/components/esphome/ota/ota_esphome.h +103 -0
  982. esphome/components/espnow/__init__.py +314 -0
  983. esphome/components/espnow/automation.h +175 -0
  984. esphome/components/espnow/espnow_component.cpp +486 -0
  985. esphome/components/espnow/espnow_component.h +183 -0
  986. esphome/components/espnow/espnow_err.h +19 -0
  987. esphome/components/espnow/espnow_packet.h +166 -0
  988. esphome/components/espnow/packet_transport/__init__.py +39 -0
  989. esphome/components/espnow/packet_transport/espnow_transport.cpp +97 -0
  990. esphome/components/espnow/packet_transport/espnow_transport.h +44 -0
  991. esphome/components/ethernet/__init__.py +470 -0
  992. esphome/components/ethernet/esp_eth_phy_jl1101.c +344 -0
  993. esphome/components/ethernet/ethernet_component.cpp +813 -0
  994. esphome/components/ethernet/ethernet_component.h +180 -0
  995. esphome/components/ethernet_info/__init__.py +1 -0
  996. esphome/components/ethernet_info/ethernet_info_text_sensor.cpp +18 -0
  997. esphome/components/ethernet_info/ethernet_info_text_sensor.h +70 -0
  998. esphome/components/ethernet_info/text_sensor.py +64 -0
  999. esphome/components/event/__init__.py +143 -0
  1000. esphome/components/event/automation.h +25 -0
  1001. esphome/components/event/event.cpp +53 -0
  1002. esphome/components/event/event.h +63 -0
  1003. esphome/components/exposure_notifications/__init__.py +39 -0
  1004. esphome/components/exposure_notifications/exposure_notifications.cpp +49 -0
  1005. esphome/components/exposure_notifications/exposure_notifications.h +29 -0
  1006. esphome/components/external_components/__init__.py +118 -0
  1007. esphome/components/ezo/__init__.py +0 -0
  1008. esphome/components/ezo/automation.h +53 -0
  1009. esphome/components/ezo/ezo.cpp +235 -0
  1010. esphome/components/ezo/ezo.h +110 -0
  1011. esphome/components/ezo/sensor.py +114 -0
  1012. esphome/components/ezo_pmp/__init__.py +296 -0
  1013. esphome/components/ezo_pmp/binary_sensor.py +42 -0
  1014. esphome/components/ezo_pmp/ezo_pmp.cpp +543 -0
  1015. esphome/components/ezo_pmp/ezo_pmp.h +251 -0
  1016. esphome/components/ezo_pmp/sensor.py +103 -0
  1017. esphome/components/ezo_pmp/text_sensor.py +35 -0
  1018. esphome/components/factory_reset/__init__.py +97 -0
  1019. esphome/components/factory_reset/button/__init__.py +28 -0
  1020. esphome/components/factory_reset/button/factory_reset_button.cpp +38 -0
  1021. esphome/components/factory_reset/button/factory_reset_button.h +23 -0
  1022. esphome/components/factory_reset/factory_reset.cpp +76 -0
  1023. esphome/components/factory_reset/factory_reset.h +43 -0
  1024. esphome/components/factory_reset/switch/__init__.py +22 -0
  1025. esphome/components/factory_reset/switch/factory_reset_switch.cpp +43 -0
  1026. esphome/components/factory_reset/switch/factory_reset_switch.h +22 -0
  1027. esphome/components/fan/__init__.py +398 -0
  1028. esphome/components/fan/automation.h +231 -0
  1029. esphome/components/fan/fan.cpp +276 -0
  1030. esphome/components/fan/fan.h +165 -0
  1031. esphome/components/fan/fan_traits.h +69 -0
  1032. esphome/components/fastled_base/__init__.py +45 -0
  1033. esphome/components/fastled_base/fastled_light.cpp +44 -0
  1034. esphome/components/fastled_base/fastled_light.h +243 -0
  1035. esphome/components/fastled_clockless/__init__.py +0 -0
  1036. esphome/components/fastled_clockless/light.py +85 -0
  1037. esphome/components/fastled_spi/__init__.py +0 -0
  1038. esphome/components/fastled_spi/light.py +75 -0
  1039. esphome/components/feedback/__init__.py +1 -0
  1040. esphome/components/feedback/cover.py +162 -0
  1041. esphome/components/feedback/feedback_cover.cpp +447 -0
  1042. esphome/components/feedback/feedback_cover.h +89 -0
  1043. esphome/components/fingerprint_grow/__init__.py +372 -0
  1044. esphome/components/fingerprint_grow/binary_sensor.py +21 -0
  1045. esphome/components/fingerprint_grow/fingerprint_grow.cpp +576 -0
  1046. esphome/components/fingerprint_grow/fingerprint_grow.h +336 -0
  1047. esphome/components/fingerprint_grow/sensor.py +74 -0
  1048. esphome/components/font/__init__.py +625 -0
  1049. esphome/components/font/font.cpp +288 -0
  1050. esphome/components/font/font.h +102 -0
  1051. esphome/components/fs3000/__init__.py +0 -0
  1052. esphome/components/fs3000/fs3000.cpp +105 -0
  1053. esphome/components/fs3000/fs3000.h +34 -0
  1054. esphome/components/fs3000/sensor.py +46 -0
  1055. esphome/components/ft5x06/__init__.py +6 -0
  1056. esphome/components/ft5x06/touchscreen/__init__.py +32 -0
  1057. esphome/components/ft5x06/touchscreen/ft5x06_touchscreen.cpp +103 -0
  1058. esphome/components/ft5x06/touchscreen/ft5x06_touchscreen.h +56 -0
  1059. esphome/components/ft63x6/__init__.py +1 -0
  1060. esphome/components/ft63x6/ft63x6.cpp +137 -0
  1061. esphome/components/ft63x6/ft63x6.h +51 -0
  1062. esphome/components/ft63x6/touchscreen.py +44 -0
  1063. esphome/components/fujitsu_general/__init__.py +0 -0
  1064. esphome/components/fujitsu_general/climate.py +15 -0
  1065. esphome/components/fujitsu_general/fujitsu_general.cpp +404 -0
  1066. esphome/components/fujitsu_general/fujitsu_general.h +82 -0
  1067. esphome/components/gcja5/__init__.py +1 -0
  1068. esphome/components/gcja5/gcja5.cpp +109 -0
  1069. esphome/components/gcja5/gcja5.h +56 -0
  1070. esphome/components/gcja5/sensor.py +118 -0
  1071. esphome/components/gdk101/__init__.py +32 -0
  1072. esphome/components/gdk101/binary_sensor.py +30 -0
  1073. esphome/components/gdk101/gdk101.cpp +191 -0
  1074. esphome/components/gdk101/gdk101.h +57 -0
  1075. esphome/components/gdk101/sensor.py +79 -0
  1076. esphome/components/gdk101/text_sensor.py +23 -0
  1077. esphome/components/gl_r01_i2c/__init__.py +0 -0
  1078. esphome/components/gl_r01_i2c/gl_r01_i2c.cpp +67 -0
  1079. esphome/components/gl_r01_i2c/gl_r01_i2c.h +22 -0
  1080. esphome/components/gl_r01_i2c/sensor.py +36 -0
  1081. esphome/components/globals/__init__.py +88 -0
  1082. esphome/components/globals/globals_component.h +148 -0
  1083. esphome/components/gp2y1010au0f/__init__.py +0 -0
  1084. esphome/components/gp2y1010au0f/gp2y1010au0f.cpp +69 -0
  1085. esphome/components/gp2y1010au0f/gp2y1010au0f.h +52 -0
  1086. esphome/components/gp2y1010au0f/sensor.py +61 -0
  1087. esphome/components/gp8403/__init__.py +46 -0
  1088. esphome/components/gp8403/gp8403.cpp +55 -0
  1089. esphome/components/gp8403/gp8403.h +35 -0
  1090. esphome/components/gp8403/output/__init__.py +30 -0
  1091. esphome/components/gp8403/output/gp8403_output.cpp +20 -0
  1092. esphome/components/gp8403/output/gp8403_output.h +23 -0
  1093. esphome/components/gpio/__init__.py +4 -0
  1094. esphome/components/gpio/binary_sensor/__init__.py +102 -0
  1095. esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp +101 -0
  1096. esphome/components/gpio/binary_sensor/gpio_binary_sensor.h +68 -0
  1097. esphome/components/gpio/one_wire/__init__.py +26 -0
  1098. esphome/components/gpio/one_wire/gpio_one_wire.cpp +206 -0
  1099. esphome/components/gpio/one_wire/gpio_one_wire.h +42 -0
  1100. esphome/components/gpio/output/__init__.py +25 -0
  1101. esphome/components/gpio/output/gpio_binary_output.cpp +16 -0
  1102. esphome/components/gpio/output/gpio_binary_output.h +29 -0
  1103. esphome/components/gpio/switch/__init__.py +40 -0
  1104. esphome/components/gpio/switch/gpio_switch.cpp +73 -0
  1105. esphome/components/gpio/switch/gpio_switch.h +33 -0
  1106. esphome/components/gpio_expander/__init__.py +0 -0
  1107. esphome/components/gpio_expander/cached_gpio.h +82 -0
  1108. esphome/components/gps/__init__.py +130 -0
  1109. esphome/components/gps/gps.cpp +95 -0
  1110. esphome/components/gps/gps.h +71 -0
  1111. esphome/components/gps/time/__init__.py +28 -0
  1112. esphome/components/gps/time/gps_time.cpp +32 -0
  1113. esphome/components/gps/time/gps_time.h +25 -0
  1114. esphome/components/graph/__init__.py +219 -0
  1115. esphome/components/graph/graph.cpp +397 -0
  1116. esphome/components/graph/graph.h +187 -0
  1117. esphome/components/graphical_display_menu/__init__.py +100 -0
  1118. esphome/components/graphical_display_menu/graphical_display_menu.cpp +250 -0
  1119. esphome/components/graphical_display_menu/graphical_display_menu.h +84 -0
  1120. esphome/components/gree/__init__.py +3 -0
  1121. esphome/components/gree/climate.py +33 -0
  1122. esphome/components/gree/gree.cpp +252 -0
  1123. esphome/components/gree/gree.h +109 -0
  1124. esphome/components/gree/switch/__init__.py +74 -0
  1125. esphome/components/gree/switch/gree_switch.cpp +24 -0
  1126. esphome/components/gree/switch/gree_switch.h +24 -0
  1127. esphome/components/grove_gas_mc_v2/__init__.py +0 -0
  1128. esphome/components/grove_gas_mc_v2/grove_gas_mc_v2.cpp +86 -0
  1129. esphome/components/grove_gas_mc_v2/grove_gas_mc_v2.h +37 -0
  1130. esphome/components/grove_gas_mc_v2/sensor.py +77 -0
  1131. esphome/components/grove_tb6612fng/__init__.py +176 -0
  1132. esphome/components/grove_tb6612fng/grove_tb6612fng.cpp +170 -0
  1133. esphome/components/grove_tb6612fng/grove_tb6612fng.h +215 -0
  1134. esphome/components/growatt_solar/__init__.py +0 -0
  1135. esphome/components/growatt_solar/growatt_solar.cpp +145 -0
  1136. esphome/components/growatt_solar/growatt_solar.h +87 -0
  1137. esphome/components/growatt_solar/sensor.py +212 -0
  1138. esphome/components/gt911/__init__.py +6 -0
  1139. esphome/components/gt911/binary_sensor/__init__.py +31 -0
  1140. esphome/components/gt911/binary_sensor/gt911_button.cpp +27 -0
  1141. esphome/components/gt911/binary_sensor/gt911_button.h +28 -0
  1142. esphome/components/gt911/touchscreen/__init__.py +33 -0
  1143. esphome/components/gt911/touchscreen/gt911_touchscreen.cpp +146 -0
  1144. esphome/components/gt911/touchscreen/gt911_touchscreen.h +59 -0
  1145. esphome/components/haier/__init__.py +0 -0
  1146. esphome/components/haier/automation.h +130 -0
  1147. esphome/components/haier/binary_sensor/__init__.py +65 -0
  1148. esphome/components/haier/button/__init__.py +38 -0
  1149. esphome/components/haier/button/self_cleaning.cpp +9 -0
  1150. esphome/components/haier/button/self_cleaning.h +18 -0
  1151. esphome/components/haier/button/steri_cleaning.cpp +9 -0
  1152. esphome/components/haier/button/steri_cleaning.h +18 -0
  1153. esphome/components/haier/climate.py +521 -0
  1154. esphome/components/haier/haier_base.cpp +427 -0
  1155. esphome/components/haier/haier_base.h +186 -0
  1156. esphome/components/haier/hon_climate.cpp +1384 -0
  1157. esphome/components/haier/hon_climate.h +214 -0
  1158. esphome/components/haier/hon_packet.h +260 -0
  1159. esphome/components/haier/logger_handler.cpp +33 -0
  1160. esphome/components/haier/logger_handler.h +14 -0
  1161. esphome/components/haier/sensor/__init__.py +150 -0
  1162. esphome/components/haier/smartair2_climate.cpp +553 -0
  1163. esphome/components/haier/smartair2_climate.h +40 -0
  1164. esphome/components/haier/smartair2_packet.h +88 -0
  1165. esphome/components/haier/switch/__init__.py +88 -0
  1166. esphome/components/haier/switch/beeper.cpp +14 -0
  1167. esphome/components/haier/switch/beeper.h +18 -0
  1168. esphome/components/haier/switch/display.cpp +14 -0
  1169. esphome/components/haier/switch/display.h +18 -0
  1170. esphome/components/haier/switch/health_mode.cpp +14 -0
  1171. esphome/components/haier/switch/health_mode.h +18 -0
  1172. esphome/components/haier/switch/quiet_mode.cpp +14 -0
  1173. esphome/components/haier/switch/quiet_mode.h +18 -0
  1174. esphome/components/haier/text_sensor/__init__.py +49 -0
  1175. esphome/components/havells_solar/__init__.py +0 -0
  1176. esphome/components/havells_solar/havells_solar.cpp +168 -0
  1177. esphome/components/havells_solar/havells_solar.h +117 -0
  1178. esphome/components/havells_solar/havells_solar_registers.h +49 -0
  1179. esphome/components/havells_solar/sensor.py +291 -0
  1180. esphome/components/hbridge/__init__.py +3 -0
  1181. esphome/components/hbridge/fan/__init__.py +78 -0
  1182. esphome/components/hbridge/fan/hbridge_fan.cpp +94 -0
  1183. esphome/components/hbridge/fan/hbridge_fan.h +58 -0
  1184. esphome/components/hbridge/light/__init__.py +31 -0
  1185. esphome/components/hbridge/light/hbridge_light_output.h +58 -0
  1186. esphome/components/hbridge/switch/__init__.py +44 -0
  1187. esphome/components/hbridge/switch/hbridge_switch.cpp +93 -0
  1188. esphome/components/hbridge/switch/hbridge_switch.h +50 -0
  1189. esphome/components/hc8/__init__.py +1 -0
  1190. esphome/components/hc8/hc8.cpp +99 -0
  1191. esphome/components/hc8/hc8.h +37 -0
  1192. esphome/components/hc8/sensor.py +79 -0
  1193. esphome/components/hdc1080/__init__.py +0 -0
  1194. esphome/components/hdc1080/hdc1080.cpp +82 -0
  1195. esphome/components/hdc1080/hdc1080.h +27 -0
  1196. esphome/components/hdc1080/sensor.py +56 -0
  1197. esphome/components/hdc2010/__init__.py +1 -0
  1198. esphome/components/hdc2010/hdc2010.cpp +111 -0
  1199. esphome/components/hdc2010/hdc2010.h +32 -0
  1200. esphome/components/hdc2010/sensor.py +56 -0
  1201. esphome/components/he60r/__init__.py +1 -0
  1202. esphome/components/he60r/cover.py +42 -0
  1203. esphome/components/he60r/he60r.cpp +265 -0
  1204. esphome/components/he60r/he60r.h +45 -0
  1205. esphome/components/heatpumpir/__init__.py +0 -0
  1206. esphome/components/heatpumpir/climate.py +131 -0
  1207. esphome/components/heatpumpir/heatpumpir.cpp +213 -0
  1208. esphome/components/heatpumpir/heatpumpir.h +132 -0
  1209. esphome/components/heatpumpir/ir_sender_esphome.cpp +32 -0
  1210. esphome/components/heatpumpir/ir_sender_esphome.h +25 -0
  1211. esphome/components/hitachi_ac344/__init__.py +0 -0
  1212. esphome/components/hitachi_ac344/climate.py +13 -0
  1213. esphome/components/hitachi_ac344/hitachi_ac344.cpp +370 -0
  1214. esphome/components/hitachi_ac344/hitachi_ac344.h +121 -0
  1215. esphome/components/hitachi_ac424/__init__.py +1 -0
  1216. esphome/components/hitachi_ac424/climate.py +13 -0
  1217. esphome/components/hitachi_ac424/hitachi_ac424.cpp +371 -0
  1218. esphome/components/hitachi_ac424/hitachi_ac424.h +123 -0
  1219. esphome/components/hlk_fm22x/__init__.py +247 -0
  1220. esphome/components/hlk_fm22x/binary_sensor.py +21 -0
  1221. esphome/components/hlk_fm22x/hlk_fm22x.cpp +325 -0
  1222. esphome/components/hlk_fm22x/hlk_fm22x.h +224 -0
  1223. esphome/components/hlk_fm22x/sensor.py +47 -0
  1224. esphome/components/hlk_fm22x/text_sensor.py +42 -0
  1225. esphome/components/hlw8012/__init__.py +0 -0
  1226. esphome/components/hlw8012/hlw8012.cpp +109 -0
  1227. esphome/components/hlw8012/hlw8012.h +77 -0
  1228. esphome/components/hlw8012/sensor.py +124 -0
  1229. esphome/components/hlw8032/__init__.py +1 -0
  1230. esphome/components/hlw8032/hlw8032.cpp +194 -0
  1231. esphome/components/hlw8032/hlw8032.h +44 -0
  1232. esphome/components/hlw8032/sensor.py +93 -0
  1233. esphome/components/hm3301/__init__.py +0 -0
  1234. esphome/components/hm3301/abstract_aqi_calculator.h +14 -0
  1235. esphome/components/hm3301/aqi_calculator.h +50 -0
  1236. esphome/components/hm3301/aqi_calculator_factory.h +29 -0
  1237. esphome/components/hm3301/caqi_calculator.h +52 -0
  1238. esphome/components/hm3301/hm3301.cpp +100 -0
  1239. esphome/components/hm3301/hm3301.h +52 -0
  1240. esphome/components/hm3301/sensor.py +111 -0
  1241. esphome/components/hmac_md5/__init__.py +2 -0
  1242. esphome/components/hmac_md5/hmac_md5.cpp +58 -0
  1243. esphome/components/hmac_md5/hmac_md5.h +49 -0
  1244. esphome/components/hmc5883l/__init__.py +0 -0
  1245. esphome/components/hmc5883l/hmc5883l.cpp +145 -0
  1246. esphome/components/hmc5883l/hmc5883l.h +70 -0
  1247. esphome/components/hmc5883l/sensor.py +142 -0
  1248. esphome/components/homeassistant/__init__.py +41 -0
  1249. esphome/components/homeassistant/binary_sensor/__init__.py +24 -0
  1250. esphome/components/homeassistant/binary_sensor/homeassistant_binary_sensor.cpp +47 -0
  1251. esphome/components/homeassistant/binary_sensor/homeassistant_binary_sensor.h +24 -0
  1252. esphome/components/homeassistant/number/__init__.py +34 -0
  1253. esphome/components/homeassistant/number/homeassistant_number.cpp +103 -0
  1254. esphome/components/homeassistant/number/homeassistant_number.h +31 -0
  1255. esphome/components/homeassistant/sensor/__init__.py +24 -0
  1256. esphome/components/homeassistant/sensor/homeassistant_sensor.cpp +38 -0
  1257. esphome/components/homeassistant/sensor/homeassistant_sensor.h +23 -0
  1258. esphome/components/homeassistant/switch/__init__.py +44 -0
  1259. esphome/components/homeassistant/switch/homeassistant_switch.cpp +63 -0
  1260. esphome/components/homeassistant/switch/homeassistant_switch.h +22 -0
  1261. esphome/components/homeassistant/text_sensor/__init__.py +24 -0
  1262. esphome/components/homeassistant/text_sensor/homeassistant_text_sensor.cpp +30 -0
  1263. esphome/components/homeassistant/text_sensor/homeassistant_text_sensor.h +23 -0
  1264. esphome/components/homeassistant/time/__init__.py +23 -0
  1265. esphome/components/homeassistant/time/homeassistant_time.cpp +22 -0
  1266. esphome/components/homeassistant/time/homeassistant_time.h +22 -0
  1267. esphome/components/honeywell_hih_i2c/__init__.py +3 -0
  1268. esphome/components/honeywell_hih_i2c/honeywell_hih.cpp +97 -0
  1269. esphome/components/honeywell_hih_i2c/honeywell_hih.h +34 -0
  1270. esphome/components/honeywell_hih_i2c/sensor.py +56 -0
  1271. esphome/components/honeywellabp/__init__.py +1 -0
  1272. esphome/components/honeywellabp/honeywellabp.cpp +101 -0
  1273. esphome/components/honeywellabp/honeywellabp.h +45 -0
  1274. esphome/components/honeywellabp/sensor.py +68 -0
  1275. esphome/components/honeywellabp2_i2c/__init__.py +3 -0
  1276. esphome/components/honeywellabp2_i2c/honeywellabp2.cpp +111 -0
  1277. esphome/components/honeywellabp2_i2c/honeywellabp2.h +59 -0
  1278. esphome/components/honeywellabp2_i2c/sensor.py +74 -0
  1279. esphome/components/host/__init__.py +50 -0
  1280. esphome/components/host/const.py +5 -0
  1281. esphome/components/host/core.cpp +77 -0
  1282. esphome/components/host/gpio.cpp +59 -0
  1283. esphome/components/host/gpio.h +38 -0
  1284. esphome/components/host/gpio.py +65 -0
  1285. esphome/components/host/helpers.cpp +57 -0
  1286. esphome/components/host/preferences.cpp +87 -0
  1287. esphome/components/host/preferences.h +67 -0
  1288. esphome/components/host/time/__init__.py +20 -0
  1289. esphome/components/host/time/host_time.h +15 -0
  1290. esphome/components/hrxl_maxsonar_wr/__init__.py +0 -0
  1291. esphome/components/hrxl_maxsonar_wr/hrxl_maxsonar_wr.cpp +77 -0
  1292. esphome/components/hrxl_maxsonar_wr/hrxl_maxsonar_wr.h +25 -0
  1293. esphome/components/hrxl_maxsonar_wr/sensor.py +29 -0
  1294. esphome/components/hte501/__init__.py +0 -0
  1295. esphome/components/hte501/hte501.cpp +71 -0
  1296. esphome/components/hte501/hte501.h +29 -0
  1297. esphome/components/hte501/sensor.py +58 -0
  1298. esphome/components/http_request/__init__.py +339 -0
  1299. esphome/components/http_request/http_request.cpp +46 -0
  1300. esphome/components/http_request/http_request.h +306 -0
  1301. esphome/components/http_request/http_request_arduino.cpp +183 -0
  1302. esphome/components/http_request/http_request_arduino.h +42 -0
  1303. esphome/components/http_request/http_request_host.cpp +145 -0
  1304. esphome/components/http_request/http_request_host.h +33 -0
  1305. esphome/components/http_request/http_request_idf.cpp +251 -0
  1306. esphome/components/http_request/http_request_idf.h +54 -0
  1307. esphome/components/http_request/httplib.h +9695 -0
  1308. esphome/components/http_request/ota/__init__.py +97 -0
  1309. esphome/components/http_request/ota/automation.h +42 -0
  1310. esphome/components/http_request/ota/ota_http_request.cpp +268 -0
  1311. esphome/components/http_request/ota/ota_http_request.h +61 -0
  1312. esphome/components/http_request/update/__init__.py +43 -0
  1313. esphome/components/http_request/update/http_request_update.cpp +205 -0
  1314. esphome/components/http_request/update/http_request_update.h +44 -0
  1315. esphome/components/htu21d/__init__.py +0 -0
  1316. esphome/components/htu21d/htu21d.cpp +149 -0
  1317. esphome/components/htu21d/htu21d.h +63 -0
  1318. esphome/components/htu21d/sensor.py +121 -0
  1319. esphome/components/htu31d/__init__.py +1 -0
  1320. esphome/components/htu31d/htu31d.cpp +269 -0
  1321. esphome/components/htu31d/htu31d.h +33 -0
  1322. esphome/components/htu31d/sensor.py +56 -0
  1323. esphome/components/hub75/__init__.py +6 -0
  1324. esphome/components/hub75/boards/__init__.py +80 -0
  1325. esphome/components/hub75/boards/adafruit.py +23 -0
  1326. esphome/components/hub75/boards/apollo.py +41 -0
  1327. esphome/components/hub75/boards/huidu.py +22 -0
  1328. esphome/components/hub75/boards/trinity.py +24 -0
  1329. esphome/components/hub75/display.py +578 -0
  1330. esphome/components/hub75/hub75.cpp +192 -0
  1331. esphome/components/hub75/hub75_component.h +55 -0
  1332. esphome/components/hx711/__init__.py +0 -0
  1333. esphome/components/hx711/hx711.cpp +82 -0
  1334. esphome/components/hx711/hx711.h +38 -0
  1335. esphome/components/hx711/sensor.py +45 -0
  1336. esphome/components/hydreon_rgxx/__init__.py +12 -0
  1337. esphome/components/hydreon_rgxx/binary_sensor.py +49 -0
  1338. esphome/components/hydreon_rgxx/hydreon_rgxx.cpp +290 -0
  1339. esphome/components/hydreon_rgxx/hydreon_rgxx.h +98 -0
  1340. esphome/components/hydreon_rgxx/sensor.py +156 -0
  1341. esphome/components/hyt271/__init__.py +1 -0
  1342. esphome/components/hyt271/hyt271.cpp +52 -0
  1343. esphome/components/hyt271/hyt271.h +27 -0
  1344. esphome/components/hyt271/sensor.py +56 -0
  1345. esphome/components/i2c/__init__.py +336 -0
  1346. esphome/components/i2c/i2c.cpp +122 -0
  1347. esphome/components/i2c/i2c.h +307 -0
  1348. esphome/components/i2c/i2c_bus.h +147 -0
  1349. esphome/components/i2c/i2c_bus_arduino.cpp +264 -0
  1350. esphome/components/i2c/i2c_bus_arduino.h +51 -0
  1351. esphome/components/i2c/i2c_bus_esp_idf.cpp +311 -0
  1352. esphome/components/i2c/i2c_bus_esp_idf.h +62 -0
  1353. esphome/components/i2c/i2c_bus_zephyr.cpp +134 -0
  1354. esphome/components/i2c/i2c_bus_zephyr.h +38 -0
  1355. esphome/components/i2c_device/__init__.py +26 -0
  1356. esphome/components/i2c_device/i2c_device.cpp +17 -0
  1357. esphome/components/i2c_device/i2c_device.h +17 -0
  1358. esphome/components/i2s_audio/__init__.py +284 -0
  1359. esphome/components/i2s_audio/i2s_audio.cpp +27 -0
  1360. esphome/components/i2s_audio/i2s_audio.h +115 -0
  1361. esphome/components/i2s_audio/media_player/__init__.py +120 -0
  1362. esphome/components/i2s_audio/media_player/i2s_audio_media_player.cpp +257 -0
  1363. esphome/components/i2s_audio/media_player/i2s_audio_media_player.h +87 -0
  1364. esphome/components/i2s_audio/microphone/__init__.py +146 -0
  1365. esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp +547 -0
  1366. esphome/components/i2s_audio/microphone/i2s_audio_microphone.h +92 -0
  1367. esphome/components/i2s_audio/speaker/__init__.py +199 -0
  1368. esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +728 -0
  1369. esphome/components/i2s_audio/speaker/i2s_audio_speaker.h +143 -0
  1370. esphome/components/iaqcore/__init__.py +0 -0
  1371. esphome/components/iaqcore/iaqcore.cpp +99 -0
  1372. esphome/components/iaqcore/iaqcore.h +27 -0
  1373. esphome/components/iaqcore/sensor.py +57 -0
  1374. esphome/components/ili9341/__init__.py +0 -0
  1375. esphome/components/ili9341/display.py +5 -0
  1376. esphome/components/ili9xxx/__init__.py +0 -0
  1377. esphome/components/ili9xxx/display.py +313 -0
  1378. esphome/components/ili9xxx/ili9xxx_defines.h +100 -0
  1379. esphome/components/ili9xxx/ili9xxx_display.cpp +463 -0
  1380. esphome/components/ili9xxx/ili9xxx_display.h +287 -0
  1381. esphome/components/ili9xxx/ili9xxx_init.h +482 -0
  1382. esphome/components/image/__init__.py +760 -0
  1383. esphome/components/image/image.cpp +251 -0
  1384. esphome/components/image/image.h +65 -0
  1385. esphome/components/improv_base/__init__.py +45 -0
  1386. esphome/components/improv_base/improv_base.cpp +51 -0
  1387. esphome/components/improv_base/improv_base.h +23 -0
  1388. esphome/components/improv_serial/__init__.py +45 -0
  1389. esphome/components/improv_serial/improv_serial_component.cpp +315 -0
  1390. esphome/components/improv_serial/improv_serial_component.h +104 -0
  1391. esphome/components/ina219/__init__.py +0 -0
  1392. esphome/components/ina219/ina219.cpp +202 -0
  1393. esphome/components/ina219/ina219.h +40 -0
  1394. esphome/components/ina219/sensor.py +96 -0
  1395. esphome/components/ina226/__init__.py +1 -0
  1396. esphome/components/ina226/ina226.cpp +167 -0
  1397. esphome/components/ina226/ina226.h +78 -0
  1398. esphome/components/ina226/sensor.py +147 -0
  1399. esphome/components/ina260/__init__.py +0 -0
  1400. esphome/components/ina260/ina260.cpp +126 -0
  1401. esphome/components/ina260/ina260.h +37 -0
  1402. esphome/components/ina260/sensor.py +71 -0
  1403. esphome/components/ina2xx_base/__init__.py +257 -0
  1404. esphome/components/ina2xx_base/ina2xx_base.cpp +611 -0
  1405. esphome/components/ina2xx_base/ina2xx_base.h +255 -0
  1406. esphome/components/ina2xx_i2c/__init__.py +0 -0
  1407. esphome/components/ina2xx_i2c/ina2xx_i2c.cpp +39 -0
  1408. esphome/components/ina2xx_i2c/ina2xx_i2c.h +21 -0
  1409. esphome/components/ina2xx_i2c/sensor.py +34 -0
  1410. esphome/components/ina2xx_spi/__init__.py +0 -0
  1411. esphome/components/ina2xx_spi/ina2xx_spi.cpp +38 -0
  1412. esphome/components/ina2xx_spi/ina2xx_spi.h +22 -0
  1413. esphome/components/ina2xx_spi/sensor.py +33 -0
  1414. esphome/components/ina3221/__init__.py +0 -0
  1415. esphome/components/ina3221/ina3221.cpp +133 -0
  1416. esphome/components/ina3221/ina3221.h +40 -0
  1417. esphome/components/ina3221/sensor.py +99 -0
  1418. esphome/components/inkbird_ibsth1_mini/__init__.py +0 -0
  1419. esphome/components/inkbird_ibsth1_mini/inkbird_ibsth1_mini.cpp +110 -0
  1420. esphome/components/inkbird_ibsth1_mini/inkbird_ibsth1_mini.h +35 -0
  1421. esphome/components/inkbird_ibsth1_mini/sensor.py +83 -0
  1422. esphome/components/inkplate/__init__.py +1 -0
  1423. esphome/components/inkplate/const.py +105 -0
  1424. esphome/components/inkplate/display.py +246 -0
  1425. esphome/components/inkplate/inkplate.cpp +805 -0
  1426. esphome/components/inkplate/inkplate.h +214 -0
  1427. esphome/components/inkplate6/__init__.py +0 -0
  1428. esphome/components/inkplate6/display.py +5 -0
  1429. esphome/components/integration/__init__.py +1 -0
  1430. esphome/components/integration/integration_sensor.cpp +51 -0
  1431. esphome/components/integration/integration_sensor.h +85 -0
  1432. esphome/components/integration/sensor.py +115 -0
  1433. esphome/components/internal_temperature/__init__.py +1 -0
  1434. esphome/components/internal_temperature/internal_temperature.cpp +109 -0
  1435. esphome/components/internal_temperature/internal_temperature.h +18 -0
  1436. esphome/components/internal_temperature/sensor.py +34 -0
  1437. esphome/components/interval/__init__.py +32 -0
  1438. esphome/components/interval/interval.h +28 -0
  1439. esphome/components/jsn_sr04t/__init__.py +1 -0
  1440. esphome/components/jsn_sr04t/jsn_sr04t.cpp +64 -0
  1441. esphome/components/jsn_sr04t/jsn_sr04t.h +34 -0
  1442. esphome/components/jsn_sr04t/sensor.py +57 -0
  1443. esphome/components/json/__init__.py +17 -0
  1444. esphome/components/json/json_util.cpp +75 -0
  1445. esphome/components/json/json_util.h +86 -0
  1446. esphome/components/kalman_combinator/__init__.py +0 -0
  1447. esphome/components/kalman_combinator/sensor.py +6 -0
  1448. esphome/components/kamstrup_kmp/__init__.py +0 -0
  1449. esphome/components/kamstrup_kmp/kamstrup_kmp.cpp +301 -0
  1450. esphome/components/kamstrup_kmp/kamstrup_kmp.h +131 -0
  1451. esphome/components/kamstrup_kmp/sensor.py +132 -0
  1452. esphome/components/key_collector/__init__.py +131 -0
  1453. esphome/components/key_collector/key_collector.cpp +107 -0
  1454. esphome/components/key_collector/key_collector.h +63 -0
  1455. esphome/components/key_provider/__init__.py +6 -0
  1456. esphome/components/key_provider/key_provider.cpp +13 -0
  1457. esphome/components/key_provider/key_provider.h +21 -0
  1458. esphome/components/kmeteriso/__init__.py +0 -0
  1459. esphome/components/kmeteriso/kmeteriso.cpp +80 -0
  1460. esphome/components/kmeteriso/kmeteriso.h +34 -0
  1461. esphome/components/kmeteriso/sensor.py +55 -0
  1462. esphome/components/kuntze/__init__.py +0 -0
  1463. esphome/components/kuntze/kuntze.cpp +94 -0
  1464. esphome/components/kuntze/kuntze.h +42 -0
  1465. esphome/components/kuntze/sensor.py +123 -0
  1466. esphome/components/lc709203f/__init__.py +1 -0
  1467. esphome/components/lc709203f/lc709203f.cpp +284 -0
  1468. esphome/components/lc709203f/lc709203f.h +54 -0
  1469. esphome/components/lc709203f/sensor.py +93 -0
  1470. esphome/components/lcd_base/__init__.py +59 -0
  1471. esphome/components/lcd_base/lcd_display.cpp +177 -0
  1472. esphome/components/lcd_base/lcd_display.h +66 -0
  1473. esphome/components/lcd_gpio/__init__.py +0 -0
  1474. esphome/components/lcd_gpio/display.py +62 -0
  1475. esphome/components/lcd_gpio/gpio_lcd_display.cpp +67 -0
  1476. esphome/components/lcd_gpio/gpio_lcd_display.h +55 -0
  1477. esphome/components/lcd_menu/__init__.py +69 -0
  1478. esphome/components/lcd_menu/lcd_menu.cpp +76 -0
  1479. esphome/components/lcd_menu/lcd_menu.h +45 -0
  1480. esphome/components/lcd_pcf8574/__init__.py +0 -0
  1481. esphome/components/lcd_pcf8574/display.py +32 -0
  1482. esphome/components/lcd_pcf8574/pcf8574_display.cpp +60 -0
  1483. esphome/components/lcd_pcf8574/pcf8574_display.h +36 -0
  1484. esphome/components/ld2410/__init__.py +107 -0
  1485. esphome/components/ld2410/automation.h +20 -0
  1486. esphome/components/ld2410/binary_sensor.py +60 -0
  1487. esphome/components/ld2410/button/__init__.py +58 -0
  1488. esphome/components/ld2410/button/factory_reset_button.cpp +7 -0
  1489. esphome/components/ld2410/button/factory_reset_button.h +16 -0
  1490. esphome/components/ld2410/button/query_button.cpp +7 -0
  1491. esphome/components/ld2410/button/query_button.h +16 -0
  1492. esphome/components/ld2410/button/restart_button.cpp +7 -0
  1493. esphome/components/ld2410/button/restart_button.h +16 -0
  1494. esphome/components/ld2410/ld2410.cpp +784 -0
  1495. esphome/components/ld2410/ld2410.h +135 -0
  1496. esphome/components/ld2410/number/__init__.py +129 -0
  1497. esphome/components/ld2410/number/gate_threshold_number.cpp +12 -0
  1498. esphome/components/ld2410/number/gate_threshold_number.h +17 -0
  1499. esphome/components/ld2410/number/light_threshold_number.cpp +10 -0
  1500. esphome/components/ld2410/number/light_threshold_number.h +16 -0
  1501. esphome/components/ld2410/number/max_distance_timeout_number.cpp +10 -0
  1502. esphome/components/ld2410/number/max_distance_timeout_number.h +16 -0
  1503. esphome/components/ld2410/select/__init__.py +82 -0
  1504. esphome/components/ld2410/select/baud_rate_select.cpp +10 -0
  1505. esphome/components/ld2410/select/baud_rate_select.h +16 -0
  1506. esphome/components/ld2410/select/distance_resolution_select.cpp +10 -0
  1507. esphome/components/ld2410/select/distance_resolution_select.h +16 -0
  1508. esphome/components/ld2410/select/light_out_control_select.cpp +10 -0
  1509. esphome/components/ld2410/select/light_out_control_select.h +16 -0
  1510. esphome/components/ld2410/sensor.py +183 -0
  1511. esphome/components/ld2410/switch/__init__.py +45 -0
  1512. esphome/components/ld2410/switch/bluetooth_switch.cpp +10 -0
  1513. esphome/components/ld2410/switch/bluetooth_switch.h +16 -0
  1514. esphome/components/ld2410/switch/engineering_mode_switch.cpp +10 -0
  1515. esphome/components/ld2410/switch/engineering_mode_switch.h +16 -0
  1516. esphome/components/ld2410/text_sensor.py +34 -0
  1517. esphome/components/ld2412/__init__.py +46 -0
  1518. esphome/components/ld2412/binary_sensor.py +70 -0
  1519. esphome/components/ld2412/button/__init__.py +74 -0
  1520. esphome/components/ld2412/button/factory_reset_button.cpp +7 -0
  1521. esphome/components/ld2412/button/factory_reset_button.h +16 -0
  1522. esphome/components/ld2412/button/query_button.cpp +7 -0
  1523. esphome/components/ld2412/button/query_button.h +16 -0
  1524. esphome/components/ld2412/button/restart_button.cpp +7 -0
  1525. esphome/components/ld2412/button/restart_button.h +16 -0
  1526. esphome/components/ld2412/button/start_dynamic_background_correction_button.cpp +9 -0
  1527. esphome/components/ld2412/button/start_dynamic_background_correction_button.h +16 -0
  1528. esphome/components/ld2412/ld2412.cpp +857 -0
  1529. esphome/components/ld2412/ld2412.h +139 -0
  1530. esphome/components/ld2412/number/__init__.py +126 -0
  1531. esphome/components/ld2412/number/gate_threshold_number.cpp +12 -0
  1532. esphome/components/ld2412/number/gate_threshold_number.h +17 -0
  1533. esphome/components/ld2412/number/light_threshold_number.cpp +10 -0
  1534. esphome/components/ld2412/number/light_threshold_number.h +16 -0
  1535. esphome/components/ld2412/number/max_distance_timeout_number.cpp +10 -0
  1536. esphome/components/ld2412/number/max_distance_timeout_number.h +16 -0
  1537. esphome/components/ld2412/select/__init__.py +82 -0
  1538. esphome/components/ld2412/select/baud_rate_select.cpp +10 -0
  1539. esphome/components/ld2412/select/baud_rate_select.h +16 -0
  1540. esphome/components/ld2412/select/distance_resolution_select.cpp +10 -0
  1541. esphome/components/ld2412/select/distance_resolution_select.h +16 -0
  1542. esphome/components/ld2412/select/light_out_control_select.cpp +10 -0
  1543. esphome/components/ld2412/select/light_out_control_select.h +16 -0
  1544. esphome/components/ld2412/sensor.py +184 -0
  1545. esphome/components/ld2412/switch/__init__.py +45 -0
  1546. esphome/components/ld2412/switch/bluetooth_switch.cpp +10 -0
  1547. esphome/components/ld2412/switch/bluetooth_switch.h +16 -0
  1548. esphome/components/ld2412/switch/engineering_mode_switch.cpp +10 -0
  1549. esphome/components/ld2412/switch/engineering_mode_switch.h +16 -0
  1550. esphome/components/ld2412/text_sensor.py +34 -0
  1551. esphome/components/ld2420/__init__.py +39 -0
  1552. esphome/components/ld2420/binary_sensor/__init__.py +33 -0
  1553. esphome/components/ld2420/binary_sensor/ld2420_binary_sensor.cpp +14 -0
  1554. esphome/components/ld2420/binary_sensor/ld2420_binary_sensor.h +23 -0
  1555. esphome/components/ld2420/button/__init__.py +70 -0
  1556. esphome/components/ld2420/button/reconfig_buttons.cpp +14 -0
  1557. esphome/components/ld2420/button/reconfig_buttons.h +40 -0
  1558. esphome/components/ld2420/ld2420.cpp +900 -0
  1559. esphome/components/ld2420/ld2420.h +195 -0
  1560. esphome/components/ld2420/number/__init__.py +184 -0
  1561. esphome/components/ld2420/number/gate_config_number.cpp +71 -0
  1562. esphome/components/ld2420/number/gate_config_number.h +76 -0
  1563. esphome/components/ld2420/select/__init__.py +34 -0
  1564. esphome/components/ld2420/select/operating_mode_select.cpp +14 -0
  1565. esphome/components/ld2420/select/operating_mode_select.h +16 -0
  1566. esphome/components/ld2420/sensor/__init__.py +40 -0
  1567. esphome/components/ld2420/sensor/ld2420_sensor.cpp +14 -0
  1568. esphome/components/ld2420/sensor/ld2420_sensor.h +32 -0
  1569. esphome/components/ld2420/text_sensor/__init__.py +34 -0
  1570. esphome/components/ld2420/text_sensor/ld2420_text_sensor.cpp +14 -0
  1571. esphome/components/ld2420/text_sensor/ld2420_text_sensor.h +22 -0
  1572. esphome/components/ld2450/__init__.py +47 -0
  1573. esphome/components/ld2450/binary_sensor.py +50 -0
  1574. esphome/components/ld2450/button/__init__.py +45 -0
  1575. esphome/components/ld2450/button/factory_reset_button.cpp +7 -0
  1576. esphome/components/ld2450/button/factory_reset_button.h +16 -0
  1577. esphome/components/ld2450/button/restart_button.cpp +7 -0
  1578. esphome/components/ld2450/button/restart_button.h +16 -0
  1579. esphome/components/ld2450/ld2450.cpp +941 -0
  1580. esphome/components/ld2450/ld2450.h +195 -0
  1581. esphome/components/ld2450/number/__init__.py +121 -0
  1582. esphome/components/ld2450/number/presence_timeout_number.cpp +10 -0
  1583. esphome/components/ld2450/number/presence_timeout_number.h +16 -0
  1584. esphome/components/ld2450/number/zone_coordinate_number.cpp +12 -0
  1585. esphome/components/ld2450/number/zone_coordinate_number.h +17 -0
  1586. esphome/components/ld2450/select/__init__.py +56 -0
  1587. esphome/components/ld2450/select/baud_rate_select.cpp +10 -0
  1588. esphome/components/ld2450/select/baud_rate_select.h +16 -0
  1589. esphome/components/ld2450/select/zone_type_select.cpp +10 -0
  1590. esphome/components/ld2450/select/zone_type_select.h +16 -0
  1591. esphome/components/ld2450/sensor.py +270 -0
  1592. esphome/components/ld2450/switch/__init__.py +45 -0
  1593. esphome/components/ld2450/switch/bluetooth_switch.cpp +10 -0
  1594. esphome/components/ld2450/switch/bluetooth_switch.h +16 -0
  1595. esphome/components/ld2450/switch/multi_target_switch.cpp +10 -0
  1596. esphome/components/ld2450/switch/multi_target_switch.h +16 -0
  1597. esphome/components/ld2450/text_sensor.py +63 -0
  1598. esphome/components/ld24xx/__init__.py +1 -0
  1599. esphome/components/ld24xx/ld24xx.h +85 -0
  1600. esphome/components/ledc/__init__.py +1 -0
  1601. esphome/components/ledc/ledc_output.cpp +209 -0
  1602. esphome/components/ledc/ledc_output.h +62 -0
  1603. esphome/components/ledc/output.py +84 -0
  1604. esphome/components/libretiny/__init__.py +349 -0
  1605. esphome/components/libretiny/const.py +95 -0
  1606. esphome/components/libretiny/core.cpp +40 -0
  1607. esphome/components/libretiny/core.h +11 -0
  1608. esphome/components/libretiny/generate_components.py +330 -0
  1609. esphome/components/libretiny/gpio.py +207 -0
  1610. esphome/components/libretiny/gpio_arduino.cpp +105 -0
  1611. esphome/components/libretiny/gpio_arduino.h +37 -0
  1612. esphome/components/libretiny/helpers.cpp +39 -0
  1613. esphome/components/libretiny/lt_component.cpp +31 -0
  1614. esphome/components/libretiny/lt_component.h +36 -0
  1615. esphome/components/libretiny/preferences.cpp +196 -0
  1616. esphome/components/libretiny/preferences.h +13 -0
  1617. esphome/components/libretiny/text_sensor.py +31 -0
  1618. esphome/components/libretiny_pwm/__init__.py +1 -0
  1619. esphome/components/libretiny_pwm/libretiny_pwm.cpp +53 -0
  1620. esphome/components/libretiny_pwm/libretiny_pwm.h +55 -0
  1621. esphome/components/libretiny_pwm/output.py +45 -0
  1622. esphome/components/light/__init__.py +288 -0
  1623. esphome/components/light/addressable_light.cpp +114 -0
  1624. esphome/components/light/addressable_light.h +118 -0
  1625. esphome/components/light/addressable_light_effect.h +373 -0
  1626. esphome/components/light/addressable_light_wrapper.h +125 -0
  1627. esphome/components/light/automation.cpp +13 -0
  1628. esphome/components/light/automation.h +226 -0
  1629. esphome/components/light/automation.py +281 -0
  1630. esphome/components/light/base_light_effects.h +237 -0
  1631. esphome/components/light/color_mode.h +212 -0
  1632. esphome/components/light/effects.py +577 -0
  1633. esphome/components/light/esp_color_correction.cpp +25 -0
  1634. esphome/components/light/esp_color_correction.h +75 -0
  1635. esphome/components/light/esp_color_view.h +108 -0
  1636. esphome/components/light/esp_hsv_color.cpp +72 -0
  1637. esphome/components/light/esp_hsv_color.h +34 -0
  1638. esphome/components/light/esp_range_view.cpp +94 -0
  1639. esphome/components/light/esp_range_view.h +78 -0
  1640. esphome/components/light/light_call.cpp +652 -0
  1641. esphome/components/light/light_call.h +260 -0
  1642. esphome/components/light/light_color_values.h +312 -0
  1643. esphome/components/light/light_effect.cpp +34 -0
  1644. esphome/components/light/light_effect.h +57 -0
  1645. esphome/components/light/light_json_schema.cpp +174 -0
  1646. esphome/components/light/light_json_schema.h +26 -0
  1647. esphome/components/light/light_output.cpp +10 -0
  1648. esphome/components/light/light_output.h +31 -0
  1649. esphome/components/light/light_state.cpp +343 -0
  1650. esphome/components/light/light_state.h +333 -0
  1651. esphome/components/light/light_traits.h +47 -0
  1652. esphome/components/light/light_transformer.h +61 -0
  1653. esphome/components/light/transformers.h +120 -0
  1654. esphome/components/light/types.py +87 -0
  1655. esphome/components/lightwaverf/LwRx.cpp +427 -0
  1656. esphome/components/lightwaverf/LwRx.h +142 -0
  1657. esphome/components/lightwaverf/LwTx.cpp +208 -0
  1658. esphome/components/lightwaverf/LwTx.h +94 -0
  1659. esphome/components/lightwaverf/__init__.py +81 -0
  1660. esphome/components/lightwaverf/lightwaverf.cpp +65 -0
  1661. esphome/components/lightwaverf/lightwaverf.h +70 -0
  1662. esphome/components/lilygo_t5_47/__init__.py +3 -0
  1663. esphome/components/lilygo_t5_47/touchscreen/__init__.py +38 -0
  1664. esphome/components/lilygo_t5_47/touchscreen/lilygo_t5_47_touchscreen.cpp +104 -0
  1665. esphome/components/lilygo_t5_47/touchscreen/lilygo_t5_47_touchscreen.h +31 -0
  1666. esphome/components/lm75b/__init__.py +0 -0
  1667. esphome/components/lm75b/lm75b.cpp +39 -0
  1668. esphome/components/lm75b/lm75b.h +19 -0
  1669. esphome/components/lm75b/sensor.py +34 -0
  1670. esphome/components/ln882x/__init__.py +52 -0
  1671. esphome/components/ln882x/boards.py +285 -0
  1672. esphome/components/lock/__init__.py +155 -0
  1673. esphome/components/lock/automation.h +66 -0
  1674. esphome/components/lock/lock.cpp +109 -0
  1675. esphome/components/lock/lock.h +182 -0
  1676. esphome/components/logger/__init__.py +534 -0
  1677. esphome/components/logger/logger.cpp +299 -0
  1678. esphome/components/logger/logger.h +565 -0
  1679. esphome/components/logger/logger_esp32.cpp +167 -0
  1680. esphome/components/logger/logger_esp8266.cpp +54 -0
  1681. esphome/components/logger/logger_host.cpp +22 -0
  1682. esphome/components/logger/logger_libretiny.cpp +70 -0
  1683. esphome/components/logger/logger_rp2040.cpp +48 -0
  1684. esphome/components/logger/logger_zephyr.cpp +96 -0
  1685. esphome/components/logger/select/__init__.py +37 -0
  1686. esphome/components/logger/select/logger_level_select.cpp +19 -0
  1687. esphome/components/logger/select/logger_level_select.h +25 -0
  1688. esphome/components/logger/task_log_buffer.cpp +136 -0
  1689. esphome/components/logger/task_log_buffer.h +67 -0
  1690. esphome/components/lps22/__init__.py +0 -0
  1691. esphome/components/lps22/lps22.cpp +75 -0
  1692. esphome/components/lps22/lps22.h +27 -0
  1693. esphome/components/lps22/sensor.py +58 -0
  1694. esphome/components/ltr390/__init__.py +0 -0
  1695. esphome/components/ltr390/ltr390.cpp +206 -0
  1696. esphome/components/ltr390/ltr390.h +89 -0
  1697. esphome/components/ltr390/sensor.py +141 -0
  1698. esphome/components/ltr501/__init__.py +1 -0
  1699. esphome/components/ltr501/ltr501.cpp +547 -0
  1700. esphome/components/ltr501/ltr501.h +183 -0
  1701. esphome/components/ltr501/ltr_definitions_501.h +260 -0
  1702. esphome/components/ltr501/sensor.py +274 -0
  1703. esphome/components/ltr_als_ps/__init__.py +1 -0
  1704. esphome/components/ltr_als_ps/ltr_als_ps.cpp +526 -0
  1705. esphome/components/ltr_als_ps/ltr_als_ps.h +183 -0
  1706. esphome/components/ltr_als_ps/ltr_definitions.h +275 -0
  1707. esphome/components/ltr_als_ps/sensor.py +271 -0
  1708. esphome/components/lvgl/__init__.py +454 -0
  1709. esphome/components/lvgl/automation.py +416 -0
  1710. esphome/components/lvgl/binary_sensor/__init__.py +37 -0
  1711. esphome/components/lvgl/defines.py +596 -0
  1712. esphome/components/lvgl/encoders.py +81 -0
  1713. esphome/components/lvgl/gradient.py +61 -0
  1714. esphome/components/lvgl/helpers.py +76 -0
  1715. esphome/components/lvgl/keypads.py +77 -0
  1716. esphome/components/lvgl/layout.py +389 -0
  1717. esphome/components/lvgl/light/__init__.py +31 -0
  1718. esphome/components/lvgl/light/lvgl_light.h +48 -0
  1719. esphome/components/lvgl/lv_validation.py +538 -0
  1720. esphome/components/lvgl/lvcode.py +360 -0
  1721. esphome/components/lvgl/lvgl_esphome.cpp +616 -0
  1722. esphome/components/lvgl/lvgl_esphome.h +412 -0
  1723. esphome/components/lvgl/lvgl_hal.h +21 -0
  1724. esphome/components/lvgl/lvgl_proxy.h +17 -0
  1725. esphome/components/lvgl/number/__init__.py +66 -0
  1726. esphome/components/lvgl/number/lvgl_number.h +52 -0
  1727. esphome/components/lvgl/schemas.py +489 -0
  1728. esphome/components/lvgl/select/__init__.py +30 -0
  1729. esphome/components/lvgl/select/lvgl_select.h +75 -0
  1730. esphome/components/lvgl/sensor/__init__.py +41 -0
  1731. esphome/components/lvgl/styles.py +97 -0
  1732. esphome/components/lvgl/switch/__init__.py +58 -0
  1733. esphome/components/lvgl/switch/lvgl_switch.h +25 -0
  1734. esphome/components/lvgl/text/__init__.py +50 -0
  1735. esphome/components/lvgl/text/lvgl_text.h +36 -0
  1736. esphome/components/lvgl/text_sensor/__init__.py +43 -0
  1737. esphome/components/lvgl/touchscreens.py +44 -0
  1738. esphome/components/lvgl/trigger.py +111 -0
  1739. esphome/components/lvgl/types.py +245 -0
  1740. esphome/components/lvgl/widgets/__init__.py +470 -0
  1741. esphome/components/lvgl/widgets/animimg.py +112 -0
  1742. esphome/components/lvgl/widgets/arc.py +114 -0
  1743. esphome/components/lvgl/widgets/button.py +52 -0
  1744. esphome/components/lvgl/widgets/buttonmatrix.py +279 -0
  1745. esphome/components/lvgl/widgets/canvas.py +422 -0
  1746. esphome/components/lvgl/widgets/checkbox.py +31 -0
  1747. esphome/components/lvgl/widgets/container.py +39 -0
  1748. esphome/components/lvgl/widgets/dropdown.py +93 -0
  1749. esphome/components/lvgl/widgets/img.py +86 -0
  1750. esphome/components/lvgl/widgets/keyboard.py +56 -0
  1751. esphome/components/lvgl/widgets/label.py +41 -0
  1752. esphome/components/lvgl/widgets/led.py +29 -0
  1753. esphome/components/lvgl/widgets/line.py +50 -0
  1754. esphome/components/lvgl/widgets/lv_bar.py +76 -0
  1755. esphome/components/lvgl/widgets/meter.py +324 -0
  1756. esphome/components/lvgl/widgets/msgbox.py +148 -0
  1757. esphome/components/lvgl/widgets/obj.py +19 -0
  1758. esphome/components/lvgl/widgets/page.py +193 -0
  1759. esphome/components/lvgl/widgets/qrcode.py +51 -0
  1760. esphome/components/lvgl/widgets/roller.py +84 -0
  1761. esphome/components/lvgl/widgets/slider.py +63 -0
  1762. esphome/components/lvgl/widgets/spinbox.py +176 -0
  1763. esphome/components/lvgl/widgets/spinner.py +43 -0
  1764. esphome/components/lvgl/widgets/switch.py +20 -0
  1765. esphome/components/lvgl/widgets/tabview.py +121 -0
  1766. esphome/components/lvgl/widgets/textarea.py +65 -0
  1767. esphome/components/lvgl/widgets/tileview.py +131 -0
  1768. esphome/components/m5stack_8angle/__init__.py +32 -0
  1769. esphome/components/m5stack_8angle/binary_sensor/__init__.py +29 -0
  1770. esphome/components/m5stack_8angle/binary_sensor/m5stack_8angle_binary_sensor.cpp +17 -0
  1771. esphome/components/m5stack_8angle/binary_sensor/m5stack_8angle_binary_sensor.h +19 -0
  1772. esphome/components/m5stack_8angle/light/__init__.py +29 -0
  1773. esphome/components/m5stack_8angle/light/m5stack_8angle_light.cpp +45 -0
  1774. esphome/components/m5stack_8angle/light/m5stack_8angle_light.h +37 -0
  1775. esphome/components/m5stack_8angle/m5stack_8angle.cpp +73 -0
  1776. esphome/components/m5stack_8angle/m5stack_8angle.h +34 -0
  1777. esphome/components/m5stack_8angle/sensor/__init__.py +64 -0
  1778. esphome/components/m5stack_8angle/sensor/m5stack_8angle_sensor.cpp +24 -0
  1779. esphome/components/m5stack_8angle/sensor/m5stack_8angle_sensor.h +27 -0
  1780. esphome/components/mapping/__init__.py +142 -0
  1781. esphome/components/mapping/mapping.h +69 -0
  1782. esphome/components/matrix_keypad/__init__.py +88 -0
  1783. esphome/components/matrix_keypad/binary_sensor/__init__.py +50 -0
  1784. esphome/components/matrix_keypad/binary_sensor/matrix_keypad_binary_sensor.h +51 -0
  1785. esphome/components/matrix_keypad/matrix_keypad.cpp +116 -0
  1786. esphome/components/matrix_keypad/matrix_keypad.h +53 -0
  1787. esphome/components/max17043/__init__.py +1 -0
  1788. esphome/components/max17043/automation.h +20 -0
  1789. esphome/components/max17043/max17043.cpp +96 -0
  1790. esphome/components/max17043/max17043.h +29 -0
  1791. esphome/components/max17043/sensor.py +77 -0
  1792. esphome/components/max31855/__init__.py +0 -0
  1793. esphome/components/max31855/max31855.cpp +106 -0
  1794. esphome/components/max31855/max31855.h +31 -0
  1795. esphome/components/max31855/sensor.py +44 -0
  1796. esphome/components/max31856/__init__.py +0 -0
  1797. esphome/components/max31856/max31856.cpp +203 -0
  1798. esphome/components/max31856/max31856.h +103 -0
  1799. esphome/components/max31856/sensor.py +66 -0
  1800. esphome/components/max31865/__init__.py +0 -0
  1801. esphome/components/max31865/max31865.cpp +233 -0
  1802. esphome/components/max31865/max31865.h +58 -0
  1803. esphome/components/max31865/sensor.py +62 -0
  1804. esphome/components/max44009/__init__.py +0 -0
  1805. esphome/components/max44009/max44009.cpp +143 -0
  1806. esphome/components/max44009/max44009.h +37 -0
  1807. esphome/components/max44009/sensor.py +53 -0
  1808. esphome/components/max6675/__init__.py +0 -0
  1809. esphome/components/max6675/max6675.cpp +49 -0
  1810. esphome/components/max6675/max6675.h +26 -0
  1811. esphome/components/max6675/sensor.py +31 -0
  1812. esphome/components/max6956/__init__.py +142 -0
  1813. esphome/components/max6956/automation.h +40 -0
  1814. esphome/components/max6956/max6956.cpp +171 -0
  1815. esphome/components/max6956/max6956.h +96 -0
  1816. esphome/components/max6956/output/__init__.py +29 -0
  1817. esphome/components/max6956/output/max6956_led_output.cpp +26 -0
  1818. esphome/components/max6956/output/max6956_led_output.h +28 -0
  1819. esphome/components/max7219/__init__.py +0 -0
  1820. esphome/components/max7219/display.py +43 -0
  1821. esphome/components/max7219/max7219.cpp +244 -0
  1822. esphome/components/max7219/max7219.h +65 -0
  1823. esphome/components/max7219digit/__init__.py +0 -0
  1824. esphome/components/max7219digit/automation.h +52 -0
  1825. esphome/components/max7219digit/display.py +193 -0
  1826. esphome/components/max7219digit/max7219digit.cpp +353 -0
  1827. esphome/components/max7219digit/max7219digit.h +124 -0
  1828. esphome/components/max7219digit/max7219font.h +270 -0
  1829. esphome/components/max9611/__init__.py +1 -0
  1830. esphome/components/max9611/max9611.cpp +95 -0
  1831. esphome/components/max9611/max9611.h +61 -0
  1832. esphome/components/max9611/sensor.py +92 -0
  1833. esphome/components/mcp23008/__init__.py +28 -0
  1834. esphome/components/mcp23008/mcp23008.cpp +42 -0
  1835. esphome/components/mcp23008/mcp23008.h +24 -0
  1836. esphome/components/mcp23016/__init__.py +73 -0
  1837. esphome/components/mcp23016/mcp23016.cpp +109 -0
  1838. esphome/components/mcp23016/mcp23016.h +80 -0
  1839. esphome/components/mcp23017/__init__.py +28 -0
  1840. esphome/components/mcp23017/mcp23017.cpp +43 -0
  1841. esphome/components/mcp23017/mcp23017.h +24 -0
  1842. esphome/components/mcp23s08/__init__.py +32 -0
  1843. esphome/components/mcp23s08/mcp23s08.cpp +58 -0
  1844. esphome/components/mcp23s08/mcp23s08.h +30 -0
  1845. esphome/components/mcp23s17/__init__.py +32 -0
  1846. esphome/components/mcp23s17/mcp23s17.cpp +68 -0
  1847. esphome/components/mcp23s17/mcp23s17.h +29 -0
  1848. esphome/components/mcp23x08_base/__init__.py +10 -0
  1849. esphome/components/mcp23x08_base/mcp23x08_base.cpp +86 -0
  1850. esphome/components/mcp23x08_base/mcp23x08_base.h +44 -0
  1851. esphome/components/mcp23x17_base/__init__.py +10 -0
  1852. esphome/components/mcp23x17_base/mcp23x17_base.cpp +102 -0
  1853. esphome/components/mcp23x17_base/mcp23x17_base.h +57 -0
  1854. esphome/components/mcp23xxx_base/__init__.py +92 -0
  1855. esphome/components/mcp23xxx_base/mcp23xxx_base.cpp +27 -0
  1856. esphome/components/mcp23xxx_base/mcp23xxx_base.h +58 -0
  1857. esphome/components/mcp2515/__init__.py +0 -0
  1858. esphome/components/mcp2515/canbus.py +50 -0
  1859. esphome/components/mcp2515/mcp2515.cpp +710 -0
  1860. esphome/components/mcp2515/mcp2515.h +112 -0
  1861. esphome/components/mcp2515/mcp2515_defs.h +375 -0
  1862. esphome/components/mcp3008/__init__.py +25 -0
  1863. esphome/components/mcp3008/mcp3008.cpp +40 -0
  1864. esphome/components/mcp3008/mcp3008.h +22 -0
  1865. esphome/components/mcp3008/sensor/__init__.py +53 -0
  1866. esphome/components/mcp3008/sensor/mcp3008_sensor.cpp +29 -0
  1867. esphome/components/mcp3008/sensor/mcp3008_sensor.h +31 -0
  1868. esphome/components/mcp3204/__init__.py +26 -0
  1869. esphome/components/mcp3204/mcp3204.cpp +37 -0
  1870. esphome/components/mcp3204/mcp3204.h +28 -0
  1871. esphome/components/mcp3204/sensor/__init__.py +39 -0
  1872. esphome/components/mcp3204/sensor/mcp3204_sensor.cpp +22 -0
  1873. esphome/components/mcp3204/sensor/mcp3204_sensor.h +31 -0
  1874. esphome/components/mcp3221/__init__.py +1 -0
  1875. esphome/components/mcp3221/mcp3221_sensor.cpp +31 -0
  1876. esphome/components/mcp3221/mcp3221_sensor.h +28 -0
  1877. esphome/components/mcp3221/sensor.py +49 -0
  1878. esphome/components/mcp4461/__init__.py +42 -0
  1879. esphome/components/mcp4461/mcp4461.cpp +631 -0
  1880. esphome/components/mcp4461/mcp4461.h +172 -0
  1881. esphome/components/mcp4461/output/__init__.py +61 -0
  1882. esphome/components/mcp4461/output/mcp4461_output.cpp +73 -0
  1883. esphome/components/mcp4461/output/mcp4461_output.h +49 -0
  1884. esphome/components/mcp4725/__init__.py +0 -0
  1885. esphome/components/mcp4725/mcp4725.cpp +34 -0
  1886. esphome/components/mcp4725/mcp4725.h +23 -0
  1887. esphome/components/mcp4725/output.py +26 -0
  1888. esphome/components/mcp4728/__init__.py +30 -0
  1889. esphome/components/mcp4728/mcp4728.cpp +113 -0
  1890. esphome/components/mcp4728/mcp4728.h +67 -0
  1891. esphome/components/mcp4728/output/__init__.py +63 -0
  1892. esphome/components/mcp4728/output/mcp4728_output.cpp +17 -0
  1893. esphome/components/mcp4728/output/mcp4728_output.h +32 -0
  1894. esphome/components/mcp47a1/__init__.py +0 -0
  1895. esphome/components/mcp47a1/mcp47a1.cpp +21 -0
  1896. esphome/components/mcp47a1/mcp47a1.h +17 -0
  1897. esphome/components/mcp47a1/output.py +27 -0
  1898. esphome/components/mcp9600/__init__.py +0 -0
  1899. esphome/components/mcp9600/mcp9600.cpp +113 -0
  1900. esphome/components/mcp9600/mcp9600.h +49 -0
  1901. esphome/components/mcp9600/sensor.py +81 -0
  1902. esphome/components/mcp9808/__init__.py +0 -0
  1903. esphome/components/mcp9808/mcp9808.cpp +79 -0
  1904. esphome/components/mcp9808/mcp9808.h +20 -0
  1905. esphome/components/mcp9808/sensor.py +34 -0
  1906. esphome/components/md5/__init__.py +7 -0
  1907. esphome/components/md5/md5.cpp +44 -0
  1908. esphome/components/md5/md5.h +55 -0
  1909. esphome/components/mdns/__init__.py +240 -0
  1910. esphome/components/mdns/mdns_component.cpp +194 -0
  1911. esphome/components/mdns/mdns_component.h +118 -0
  1912. esphome/components/mdns/mdns_esp32.cpp +54 -0
  1913. esphome/components/mdns/mdns_esp8266.cpp +50 -0
  1914. esphome/components/mdns/mdns_host.cpp +28 -0
  1915. esphome/components/mdns/mdns_libretiny.cpp +44 -0
  1916. esphome/components/mdns/mdns_rp2040.cpp +49 -0
  1917. esphome/components/media_player/__init__.py +305 -0
  1918. esphome/components/media_player/automation.h +109 -0
  1919. esphome/components/media_player/media_player.cpp +160 -0
  1920. esphome/components/media_player/media_player.h +164 -0
  1921. esphome/components/mhz19/__init__.py +0 -0
  1922. esphome/components/mhz19/mhz19.cpp +119 -0
  1923. esphome/components/mhz19/mhz19.h +70 -0
  1924. esphome/components/mhz19/sensor.py +100 -0
  1925. esphome/components/micro_wake_word/__init__.py +567 -0
  1926. esphome/components/micro_wake_word/automation.h +54 -0
  1927. esphome/components/micro_wake_word/micro_wake_word.cpp +473 -0
  1928. esphome/components/micro_wake_word/micro_wake_word.h +129 -0
  1929. esphome/components/micro_wake_word/preprocessor_settings.h +37 -0
  1930. esphome/components/micro_wake_word/streaming_model.cpp +316 -0
  1931. esphome/components/micro_wake_word/streaming_model.h +156 -0
  1932. esphome/components/micronova/__init__.py +81 -0
  1933. esphome/components/micronova/button/__init__.py +42 -0
  1934. esphome/components/micronova/button/micronova_button.cpp +10 -0
  1935. esphome/components/micronova/button/micronova_button.h +24 -0
  1936. esphome/components/micronova/micronova.cpp +156 -0
  1937. esphome/components/micronova/micronova.h +101 -0
  1938. esphome/components/micronova/number/__init__.py +80 -0
  1939. esphome/components/micronova/number/micronova_number.cpp +29 -0
  1940. esphome/components/micronova/number/micronova_number.h +28 -0
  1941. esphome/components/micronova/sensor/__init__.py +148 -0
  1942. esphome/components/micronova/sensor/micronova_sensor.cpp +23 -0
  1943. esphome/components/micronova/sensor/micronova_sensor.h +33 -0
  1944. esphome/components/micronova/switch/__init__.py +54 -0
  1945. esphome/components/micronova/switch/micronova_switch.cpp +38 -0
  1946. esphome/components/micronova/switch/micronova_switch.h +33 -0
  1947. esphome/components/micronova/text_sensor/__init__.py +41 -0
  1948. esphome/components/micronova/text_sensor/micronova_text_sensor.cpp +14 -0
  1949. esphome/components/micronova/text_sensor/micronova_text_sensor.h +33 -0
  1950. esphome/components/microphone/__init__.py +219 -0
  1951. esphome/components/microphone/automation.h +44 -0
  1952. esphome/components/microphone/microphone.cpp +19 -0
  1953. esphome/components/microphone/microphone.h +45 -0
  1954. esphome/components/microphone/microphone_source.cpp +95 -0
  1955. esphome/components/microphone/microphone_source.h +80 -0
  1956. esphome/components/mics_4514/__init__.py +0 -0
  1957. esphome/components/mics_4514/mics_4514.cpp +130 -0
  1958. esphome/components/mics_4514/mics_4514.h +34 -0
  1959. esphome/components/mics_4514/sensor.py +67 -0
  1960. esphome/components/midea/__init__.py +0 -0
  1961. esphome/components/midea/ac_adapter.cpp +179 -0
  1962. esphome/components/midea/ac_adapter.h +51 -0
  1963. esphome/components/midea/ac_automations.h +70 -0
  1964. esphome/components/midea/air_conditioner.cpp +179 -0
  1965. esphome/components/midea/air_conditioner.h +69 -0
  1966. esphome/components/midea/appliance_base.h +102 -0
  1967. esphome/components/midea/climate.py +293 -0
  1968. esphome/components/midea/ir_transmitter.h +91 -0
  1969. esphome/components/midea_ac/__init__.py +0 -0
  1970. esphome/components/midea_ac/climate.py +3 -0
  1971. esphome/components/midea_ir/__init__.py +0 -0
  1972. esphome/components/midea_ir/climate.py +22 -0
  1973. esphome/components/midea_ir/midea_data.h +92 -0
  1974. esphome/components/midea_ir/midea_ir.cpp +202 -0
  1975. esphome/components/midea_ir/midea_ir.h +47 -0
  1976. esphome/components/mipi/__init__.py +492 -0
  1977. esphome/components/mipi_dsi/__init__.py +5 -0
  1978. esphome/components/mipi_dsi/display.py +233 -0
  1979. esphome/components/mipi_dsi/mipi_dsi.cpp +385 -0
  1980. esphome/components/mipi_dsi/mipi_dsi.h +120 -0
  1981. esphome/components/mipi_dsi/models/__init__.py +0 -0
  1982. esphome/components/mipi_dsi/models/guition.py +104 -0
  1983. esphome/components/mipi_dsi/models/m5stack.py +57 -0
  1984. esphome/components/mipi_dsi/models/waveshare.py +96 -0
  1985. esphome/components/mipi_rgb/__init__.py +2 -0
  1986. esphome/components/mipi_rgb/display.py +320 -0
  1987. esphome/components/mipi_rgb/mipi_rgb.cpp +382 -0
  1988. esphome/components/mipi_rgb/mipi_rgb.h +127 -0
  1989. esphome/components/mipi_rgb/models/guition.py +25 -0
  1990. esphome/components/mipi_rgb/models/lilygo.py +226 -0
  1991. esphome/components/mipi_rgb/models/rpi.py +9 -0
  1992. esphome/components/mipi_rgb/models/st7701s.py +215 -0
  1993. esphome/components/mipi_rgb/models/waveshare.py +146 -0
  1994. esphome/components/mipi_spi/__init__.py +6 -0
  1995. esphome/components/mipi_spi/display.py +448 -0
  1996. esphome/components/mipi_spi/mipi_spi.cpp +6 -0
  1997. esphome/components/mipi_spi/mipi_spi.h +625 -0
  1998. esphome/components/mipi_spi/models/__init__.py +0 -0
  1999. esphome/components/mipi_spi/models/adafruit.py +30 -0
  2000. esphome/components/mipi_spi/models/amoled.py +110 -0
  2001. esphome/components/mipi_spi/models/cyd.py +10 -0
  2002. esphome/components/mipi_spi/models/ili.py +762 -0
  2003. esphome/components/mipi_spi/models/jc.py +592 -0
  2004. esphome/components/mipi_spi/models/lanbon.py +15 -0
  2005. esphome/components/mipi_spi/models/lilygo.py +60 -0
  2006. esphome/components/mipi_spi/models/waveshare.py +164 -0
  2007. esphome/components/mitsubishi/__init__.py +0 -0
  2008. esphome/components/mitsubishi/climate.py +68 -0
  2009. esphome/components/mitsubishi/mitsubishi.cpp +398 -0
  2010. esphome/components/mitsubishi/mitsubishi.h +83 -0
  2011. esphome/components/mixer/__init__.py +0 -0
  2012. esphome/components/mixer/speaker/__init__.py +171 -0
  2013. esphome/components/mixer/speaker/automation.h +19 -0
  2014. esphome/components/mixer/speaker/mixer_speaker.cpp +624 -0
  2015. esphome/components/mixer/speaker/mixer_speaker.h +207 -0
  2016. esphome/components/mlx90393/__init__.py +1 -0
  2017. esphome/components/mlx90393/sensor.py +162 -0
  2018. esphome/components/mlx90393/sensor_mlx90393.cpp +276 -0
  2019. esphome/components/mlx90393/sensor_mlx90393.h +81 -0
  2020. esphome/components/mlx90614/__init__.py +0 -0
  2021. esphome/components/mlx90614/mlx90614.cpp +107 -0
  2022. esphome/components/mlx90614/mlx90614.h +33 -0
  2023. esphome/components/mlx90614/sensor.py +63 -0
  2024. esphome/components/mmc5603/__init__.py +1 -0
  2025. esphome/components/mmc5603/mmc5603.cpp +161 -0
  2026. esphome/components/mmc5603/mmc5603.h +43 -0
  2027. esphome/components/mmc5603/sensor.py +90 -0
  2028. esphome/components/mmc5983/__init__.py +1 -0
  2029. esphome/components/mmc5983/mmc5983.cpp +139 -0
  2030. esphome/components/mmc5983/mmc5983.h +28 -0
  2031. esphome/components/mmc5983/sensor.py +55 -0
  2032. esphome/components/modbus/__init__.py +100 -0
  2033. esphome/components/modbus/modbus.cpp +284 -0
  2034. esphome/components/modbus/modbus.h +89 -0
  2035. esphome/components/modbus/modbus_definitions.h +86 -0
  2036. esphome/components/modbus_controller/__init__.py +398 -0
  2037. esphome/components/modbus_controller/automation.h +35 -0
  2038. esphome/components/modbus_controller/binary_sensor/__init__.py +60 -0
  2039. esphome/components/modbus_controller/binary_sensor/modbus_binarysensor.cpp +38 -0
  2040. esphome/components/modbus_controller/binary_sensor/modbus_binarysensor.h +44 -0
  2041. esphome/components/modbus_controller/const.py +24 -0
  2042. esphome/components/modbus_controller/modbus_controller.cpp +830 -0
  2043. esphome/components/modbus_controller/modbus_controller.h +599 -0
  2044. esphome/components/modbus_controller/number/__init__.py +125 -0
  2045. esphome/components/modbus_controller/number/modbus_number.cpp +86 -0
  2046. esphome/components/modbus_controller/number/modbus_number.h +50 -0
  2047. esphome/components/modbus_controller/output/__init__.py +105 -0
  2048. esphome/components/modbus_controller/output/modbus_output.cpp +115 -0
  2049. esphome/components/modbus_controller/output/modbus_output.h +76 -0
  2050. esphome/components/modbus_controller/select/__init__.py +143 -0
  2051. esphome/components/modbus_controller/select/modbus_select.cpp +90 -0
  2052. esphome/components/modbus_controller/select/modbus_select.h +53 -0
  2053. esphome/components/modbus_controller/sensor/__init__.py +68 -0
  2054. esphome/components/modbus_controller/sensor/modbus_sensor.cpp +31 -0
  2055. esphome/components/modbus_controller/sensor/modbus_sensor.h +37 -0
  2056. esphome/components/modbus_controller/switch/__init__.py +81 -0
  2057. esphome/components/modbus_controller/switch/modbus_switch.cpp +108 -0
  2058. esphome/components/modbus_controller/switch/modbus_switch.h +53 -0
  2059. esphome/components/modbus_controller/text_sensor/__init__.py +84 -0
  2060. esphome/components/modbus_controller/text_sensor/modbus_textsensor.cpp +52 -0
  2061. esphome/components/modbus_controller/text_sensor/modbus_textsensor.h +43 -0
  2062. esphome/components/monochromatic/__init__.py +0 -0
  2063. esphome/components/monochromatic/light.py +24 -0
  2064. esphome/components/monochromatic/monochromatic_light_output.h +29 -0
  2065. esphome/components/mopeka_ble/__init__.py +30 -0
  2066. esphome/components/mopeka_ble/mopeka_ble.cpp +91 -0
  2067. esphome/components/mopeka_ble/mopeka_ble.h +27 -0
  2068. esphome/components/mopeka_pro_check/__init__.py +1 -0
  2069. esphome/components/mopeka_pro_check/mopeka_pro_check.cpp +159 -0
  2070. esphome/components/mopeka_pro_check/mopeka_pro_check.h +71 -0
  2071. esphome/components/mopeka_pro_check/sensor.py +174 -0
  2072. esphome/components/mopeka_std_check/__init__.py +1 -0
  2073. esphome/components/mopeka_std_check/mopeka_std_check.cpp +227 -0
  2074. esphome/components/mopeka_std_check/mopeka_std_check.h +80 -0
  2075. esphome/components/mopeka_std_check/sensor.py +138 -0
  2076. esphome/components/mpl3115a2/__init__.py +0 -0
  2077. esphome/components/mpl3115a2/mpl3115a2.cpp +98 -0
  2078. esphome/components/mpl3115a2/mpl3115a2.h +106 -0
  2079. esphome/components/mpl3115a2/sensor.py +75 -0
  2080. esphome/components/mpr121/__init__.py +128 -0
  2081. esphome/components/mpr121/binary_sensor/__init__.py +38 -0
  2082. esphome/components/mpr121/binary_sensor/mpr121_binary_sensor.cpp +20 -0
  2083. esphome/components/mpr121/binary_sensor/mpr121_binary_sensor.h +26 -0
  2084. esphome/components/mpr121/mpr121.cpp +163 -0
  2085. esphome/components/mpr121/mpr121.h +129 -0
  2086. esphome/components/mpu6050/__init__.py +0 -0
  2087. esphome/components/mpu6050/mpu6050.cpp +146 -0
  2088. esphome/components/mpu6050/mpu6050.h +39 -0
  2089. esphome/components/mpu6050/sensor.py +84 -0
  2090. esphome/components/mpu6886/__init__.py +1 -0
  2091. esphome/components/mpu6886/mpu6886.cpp +152 -0
  2092. esphome/components/mpu6886/mpu6886.h +39 -0
  2093. esphome/components/mpu6886/sensor.py +85 -0
  2094. esphome/components/mqtt/__init__.py +627 -0
  2095. esphome/components/mqtt/custom_mqtt_device.cpp +35 -0
  2096. esphome/components/mqtt/custom_mqtt_device.h +220 -0
  2097. esphome/components/mqtt/mqtt_alarm_control_panel.cpp +130 -0
  2098. esphome/components/mqtt/mqtt_alarm_control_panel.h +39 -0
  2099. esphome/components/mqtt/mqtt_backend.h +72 -0
  2100. esphome/components/mqtt/mqtt_backend_esp32.cpp +284 -0
  2101. esphome/components/mqtt/mqtt_backend_esp32.h +280 -0
  2102. esphome/components/mqtt/mqtt_backend_esp8266.h +74 -0
  2103. esphome/components/mqtt/mqtt_backend_libretiny.h +74 -0
  2104. esphome/components/mqtt/mqtt_binary_sensor.cpp +64 -0
  2105. esphome/components/mqtt/mqtt_binary_sensor.h +43 -0
  2106. esphome/components/mqtt/mqtt_button.cpp +50 -0
  2107. esphome/components/mqtt/mqtt_button.h +40 -0
  2108. esphome/components/mqtt/mqtt_client.cpp +753 -0
  2109. esphome/components/mqtt/mqtt_client.h +468 -0
  2110. esphome/components/mqtt/mqtt_climate.cpp +467 -0
  2111. esphome/components/mqtt/mqtt_climate.h +56 -0
  2112. esphome/components/mqtt/mqtt_component.cpp +304 -0
  2113. esphome/components/mqtt/mqtt_component.h +211 -0
  2114. esphome/components/mqtt/mqtt_const.h +547 -0
  2115. esphome/components/mqtt/mqtt_cover.cpp +126 -0
  2116. esphome/components/mqtt/mqtt_cover.h +43 -0
  2117. esphome/components/mqtt/mqtt_date.cpp +69 -0
  2118. esphome/components/mqtt/mqtt_date.h +45 -0
  2119. esphome/components/mqtt/mqtt_datetime.cpp +85 -0
  2120. esphome/components/mqtt/mqtt_datetime.h +45 -0
  2121. esphome/components/mqtt/mqtt_event.cpp +61 -0
  2122. esphome/components/mqtt/mqtt_event.h +39 -0
  2123. esphome/components/mqtt/mqtt_fan.cpp +189 -0
  2124. esphome/components/mqtt/mqtt_fan.h +54 -0
  2125. esphome/components/mqtt/mqtt_light.cpp +100 -0
  2126. esphome/components/mqtt/mqtt_light.h +44 -0
  2127. esphome/components/mqtt/mqtt_lock.cpp +65 -0
  2128. esphome/components/mqtt/mqtt_lock.h +41 -0
  2129. esphome/components/mqtt/mqtt_number.cpp +87 -0
  2130. esphome/components/mqtt/mqtt_number.h +46 -0
  2131. esphome/components/mqtt/mqtt_select.cpp +61 -0
  2132. esphome/components/mqtt/mqtt_select.h +46 -0
  2133. esphome/components/mqtt/mqtt_sensor.cpp +93 -0
  2134. esphome/components/mqtt/mqtt_sensor.h +58 -0
  2135. esphome/components/mqtt/mqtt_switch.cpp +64 -0
  2136. esphome/components/mqtt/mqtt_switch.h +41 -0
  2137. esphome/components/mqtt/mqtt_text.cpp +64 -0
  2138. esphome/components/mqtt/mqtt_text.h +46 -0
  2139. esphome/components/mqtt/mqtt_text_sensor.cpp +50 -0
  2140. esphome/components/mqtt/mqtt_text_sensor.h +39 -0
  2141. esphome/components/mqtt/mqtt_time.cpp +69 -0
  2142. esphome/components/mqtt/mqtt_time.h +45 -0
  2143. esphome/components/mqtt/mqtt_update.cpp +63 -0
  2144. esphome/components/mqtt/mqtt_update.h +41 -0
  2145. esphome/components/mqtt/mqtt_valve.cpp +96 -0
  2146. esphome/components/mqtt/mqtt_valve.h +41 -0
  2147. esphome/components/mqtt_subscribe/__init__.py +3 -0
  2148. esphome/components/mqtt_subscribe/sensor/__init__.py +38 -0
  2149. esphome/components/mqtt_subscribe/sensor/mqtt_subscribe_sensor.cpp +38 -0
  2150. esphome/components/mqtt_subscribe/sensor/mqtt_subscribe_sensor.h +33 -0
  2151. esphome/components/mqtt_subscribe/text_sensor/__init__.py +36 -0
  2152. esphome/components/mqtt_subscribe/text_sensor/mqtt_subscribe_text_sensor.cpp +28 -0
  2153. esphome/components/mqtt_subscribe/text_sensor/mqtt_subscribe_text_sensor.h +32 -0
  2154. esphome/components/ms5611/__init__.py +0 -0
  2155. esphome/components/ms5611/ms5611.cpp +130 -0
  2156. esphome/components/ms5611/ms5611.h +31 -0
  2157. esphome/components/ms5611/sensor.py +58 -0
  2158. esphome/components/ms8607/__init__.py +1 -0
  2159. esphome/components/ms8607/ms8607.cpp +443 -0
  2160. esphome/components/ms8607/ms8607.h +108 -0
  2161. esphome/components/ms8607/sensor.py +83 -0
  2162. esphome/components/msa3xx/__init__.py +189 -0
  2163. esphome/components/msa3xx/binary_sensor.py +40 -0
  2164. esphome/components/msa3xx/msa3xx.cpp +419 -0
  2165. esphome/components/msa3xx/msa3xx.h +311 -0
  2166. esphome/components/msa3xx/sensor.py +42 -0
  2167. esphome/components/msa3xx/text_sensor.py +38 -0
  2168. esphome/components/my9231/__init__.py +41 -0
  2169. esphome/components/my9231/my9231.cpp +127 -0
  2170. esphome/components/my9231/my9231.h +64 -0
  2171. esphome/components/my9231/output.py +28 -0
  2172. esphome/components/nau7802/__init__.py +0 -0
  2173. esphome/components/nau7802/nau7802.cpp +320 -0
  2174. esphome/components/nau7802/nau7802.h +119 -0
  2175. esphome/components/nau7802/sensor.py +134 -0
  2176. esphome/components/neopixelbus/__init__.py +0 -0
  2177. esphome/components/neopixelbus/_methods.py +423 -0
  2178. esphome/components/neopixelbus/const.py +42 -0
  2179. esphome/components/neopixelbus/light.py +232 -0
  2180. esphome/components/neopixelbus/neopixelbus_light.h +146 -0
  2181. esphome/components/network/__init__.py +227 -0
  2182. esphome/components/network/ip_address.h +153 -0
  2183. esphome/components/network/util.cpp +114 -0
  2184. esphome/components/network/util.h +20 -0
  2185. esphome/components/nextion/__init__.py +26 -0
  2186. esphome/components/nextion/automation.h +139 -0
  2187. esphome/components/nextion/base_component.py +130 -0
  2188. esphome/components/nextion/binary_sensor/__init__.py +87 -0
  2189. esphome/components/nextion/binary_sensor/nextion_binarysensor.cpp +68 -0
  2190. esphome/components/nextion/binary_sensor/nextion_binarysensor.h +42 -0
  2191. esphome/components/nextion/display.py +224 -0
  2192. esphome/components/nextion/nextion.cpp +1299 -0
  2193. esphome/components/nextion/nextion.h +1499 -0
  2194. esphome/components/nextion/nextion_base.h +65 -0
  2195. esphome/components/nextion/nextion_commands.cpp +353 -0
  2196. esphome/components/nextion/nextion_component.cpp +114 -0
  2197. esphome/components/nextion/nextion_component.h +84 -0
  2198. esphome/components/nextion/nextion_component_base.h +106 -0
  2199. esphome/components/nextion/nextion_upload.cpp +39 -0
  2200. esphome/components/nextion/nextion_upload_arduino.cpp +360 -0
  2201. esphome/components/nextion/nextion_upload_idf.cpp +340 -0
  2202. esphome/components/nextion/sensor/__init__.py +127 -0
  2203. esphome/components/nextion/sensor/nextion_sensor.cpp +116 -0
  2204. esphome/components/nextion/sensor/nextion_sensor.h +49 -0
  2205. esphome/components/nextion/switch/__init__.py +69 -0
  2206. esphome/components/nextion/switch/nextion_switch.cpp +52 -0
  2207. esphome/components/nextion/switch/nextion_switch.h +34 -0
  2208. esphome/components/nextion/text_sensor/__init__.py +65 -0
  2209. esphome/components/nextion/text_sensor/nextion_textsensor.cpp +49 -0
  2210. esphome/components/nextion/text_sensor/nextion_textsensor.h +32 -0
  2211. esphome/components/nfc/__init__.py +13 -0
  2212. esphome/components/nfc/automation.cpp +9 -0
  2213. esphome/components/nfc/automation.h +17 -0
  2214. esphome/components/nfc/binary_sensor/__init__.py +72 -0
  2215. esphome/components/nfc/binary_sensor/nfc_binary_sensor.cpp +114 -0
  2216. esphome/components/nfc/binary_sensor/nfc_binary_sensor.h +38 -0
  2217. esphome/components/nfc/nci_core.h +144 -0
  2218. esphome/components/nfc/nci_message.cpp +166 -0
  2219. esphome/components/nfc/nci_message.h +50 -0
  2220. esphome/components/nfc/ndef_message.cpp +110 -0
  2221. esphome/components/nfc/ndef_message.h +42 -0
  2222. esphome/components/nfc/ndef_record.cpp +65 -0
  2223. esphome/components/nfc/ndef_record.h +57 -0
  2224. esphome/components/nfc/ndef_record_text.cpp +40 -0
  2225. esphome/components/nfc/ndef_record_text.h +43 -0
  2226. esphome/components/nfc/ndef_record_uri.cpp +48 -0
  2227. esphome/components/nfc/ndef_record_uri.h +78 -0
  2228. esphome/components/nfc/nfc.cpp +89 -0
  2229. esphome/components/nfc/nfc.h +84 -0
  2230. esphome/components/nfc/nfc_helpers.cpp +47 -0
  2231. esphome/components/nfc/nfc_helpers.h +17 -0
  2232. esphome/components/nfc/nfc_tag.cpp +9 -0
  2233. esphome/components/nfc/nfc_tag.h +57 -0
  2234. esphome/components/noblex/__init__.py +1 -0
  2235. esphome/components/noblex/climate.py +13 -0
  2236. esphome/components/noblex/noblex.cpp +309 -0
  2237. esphome/components/noblex/noblex.h +47 -0
  2238. esphome/components/npi19/__init__.py +0 -0
  2239. esphome/components/npi19/npi19.cpp +107 -0
  2240. esphome/components/npi19/npi19.h +30 -0
  2241. esphome/components/npi19/sensor.py +52 -0
  2242. esphome/components/nrf52/__init__.py +320 -0
  2243. esphome/components/nrf52/ble_logger.py +60 -0
  2244. esphome/components/nrf52/boards.py +42 -0
  2245. esphome/components/nrf52/const.py +19 -0
  2246. esphome/components/nrf52/dfu.cpp +51 -0
  2247. esphome/components/nrf52/dfu.h +24 -0
  2248. esphome/components/nrf52/gpio.py +82 -0
  2249. esphome/components/nrf52/uicr.cpp +121 -0
  2250. esphome/components/ntc/__init__.py +0 -0
  2251. esphome/components/ntc/ntc.cpp +31 -0
  2252. esphome/components/ntc/ntc.h +29 -0
  2253. esphome/components/ntc/sensor.py +144 -0
  2254. esphome/components/number/__init__.py +434 -0
  2255. esphome/components/number/automation.cpp +54 -0
  2256. esphome/components/number/automation.h +93 -0
  2257. esphome/components/number/number.cpp +45 -0
  2258. esphome/components/number/number.h +55 -0
  2259. esphome/components/number/number_call.cpp +127 -0
  2260. esphome/components/number/number_call.h +46 -0
  2261. esphome/components/number/number_traits.cpp +8 -0
  2262. esphome/components/number/number_traits.h +37 -0
  2263. esphome/components/one_wire/__init__.py +42 -0
  2264. esphome/components/one_wire/one_wire.cpp +48 -0
  2265. esphome/components/one_wire/one_wire.h +47 -0
  2266. esphome/components/one_wire/one_wire_bus.cpp +92 -0
  2267. esphome/components/one_wire/one_wire_bus.h +67 -0
  2268. esphome/components/online_image/__init__.py +240 -0
  2269. esphome/components/online_image/bmp_image.cpp +139 -0
  2270. esphome/components/online_image/bmp_image.h +42 -0
  2271. esphome/components/online_image/image_decoder.cpp +73 -0
  2272. esphome/components/online_image/image_decoder.h +121 -0
  2273. esphome/components/online_image/jpeg_image.cpp +94 -0
  2274. esphome/components/online_image/jpeg_image.h +34 -0
  2275. esphome/components/online_image/online_image.cpp +369 -0
  2276. esphome/components/online_image/online_image.h +245 -0
  2277. esphome/components/online_image/png_image.cpp +105 -0
  2278. esphome/components/online_image/png_image.h +40 -0
  2279. esphome/components/opentherm/__init__.py +149 -0
  2280. esphome/components/opentherm/automation.h +25 -0
  2281. esphome/components/opentherm/binary_sensor/__init__.py +31 -0
  2282. esphome/components/opentherm/const.py +12 -0
  2283. esphome/components/opentherm/generate.py +175 -0
  2284. esphome/components/opentherm/hub.cpp +423 -0
  2285. esphome/components/opentherm/hub.h +179 -0
  2286. esphome/components/opentherm/input.h +18 -0
  2287. esphome/components/opentherm/input.py +52 -0
  2288. esphome/components/opentherm/number/__init__.py +66 -0
  2289. esphome/components/opentherm/number/opentherm_number.cpp +42 -0
  2290. esphome/components/opentherm/number/opentherm_number.h +31 -0
  2291. esphome/components/opentherm/opentherm.cpp +601 -0
  2292. esphome/components/opentherm/opentherm.h +399 -0
  2293. esphome/components/opentherm/opentherm_macros.h +162 -0
  2294. esphome/components/opentherm/output/__init__.py +48 -0
  2295. esphome/components/opentherm/output/opentherm_output.cpp +18 -0
  2296. esphome/components/opentherm/output/opentherm_output.h +33 -0
  2297. esphome/components/opentherm/schema.py +891 -0
  2298. esphome/components/opentherm/sensor/__init__.py +50 -0
  2299. esphome/components/opentherm/switch/__init__.py +42 -0
  2300. esphome/components/opentherm/switch/opentherm_switch.cpp +28 -0
  2301. esphome/components/opentherm/switch/opentherm_switch.h +20 -0
  2302. esphome/components/opentherm/validate.py +36 -0
  2303. esphome/components/openthread/__init__.py +192 -0
  2304. esphome/components/openthread/const.py +12 -0
  2305. esphome/components/openthread/openthread.cpp +281 -0
  2306. esphome/components/openthread/openthread.h +96 -0
  2307. esphome/components/openthread/openthread_esp.cpp +214 -0
  2308. esphome/components/openthread_info/__init__.py +0 -0
  2309. esphome/components/openthread_info/openthread_info_text_sensor.cpp +24 -0
  2310. esphome/components/openthread_info/openthread_info_text_sensor.h +218 -0
  2311. esphome/components/openthread_info/text_sensor.py +105 -0
  2312. esphome/components/opt3001/__init__.py +0 -0
  2313. esphome/components/opt3001/opt3001.cpp +122 -0
  2314. esphome/components/opt3001/opt3001.h +27 -0
  2315. esphome/components/opt3001/sensor.py +31 -0
  2316. esphome/components/ota/__init__.py +139 -0
  2317. esphome/components/ota/automation.h +78 -0
  2318. esphome/components/ota/ota_backend.cpp +20 -0
  2319. esphome/components/ota/ota_backend.h +123 -0
  2320. esphome/components/ota/ota_backend_arduino_esp8266.cpp +89 -0
  2321. esphome/components/ota/ota_backend_arduino_esp8266.h +33 -0
  2322. esphome/components/ota/ota_backend_arduino_libretiny.cpp +72 -0
  2323. esphome/components/ota/ota_backend_arduino_libretiny.h +26 -0
  2324. esphome/components/ota/ota_backend_arduino_rp2040.cpp +82 -0
  2325. esphome/components/ota/ota_backend_arduino_rp2040.h +29 -0
  2326. esphome/components/ota/ota_backend_esp_idf.cpp +110 -0
  2327. esphome/components/ota/ota_backend_esp_idf.h +32 -0
  2328. esphome/components/output/__init__.py +147 -0
  2329. esphome/components/output/automation.cpp +10 -0
  2330. esphome/components/output/automation.h +68 -0
  2331. esphome/components/output/binary_output.h +73 -0
  2332. esphome/components/output/button/__init__.py +30 -0
  2333. esphome/components/output/button/output_button.cpp +21 -0
  2334. esphome/components/output/button/output_button.h +25 -0
  2335. esphome/components/output/float_output.cpp +46 -0
  2336. esphome/components/output/float_output.h +89 -0
  2337. esphome/components/output/lock/__init__.py +26 -0
  2338. esphome/components/output/lock/output_lock.cpp +22 -0
  2339. esphome/components/output/lock/output_lock.h +24 -0
  2340. esphome/components/output/switch/__init__.py +29 -0
  2341. esphome/components/output/switch/output_switch.cpp +29 -0
  2342. esphome/components/output/switch/output_switch.h +25 -0
  2343. esphome/components/packages/__init__.py +337 -0
  2344. esphome/components/packet_transport/__init__.py +199 -0
  2345. esphome/components/packet_transport/binary_sensor.py +76 -0
  2346. esphome/components/packet_transport/packet_transport.cpp +571 -0
  2347. esphome/components/packet_transport/packet_transport.h +160 -0
  2348. esphome/components/packet_transport/sensor.py +19 -0
  2349. esphome/components/partition/__init__.py +0 -0
  2350. esphome/components/partition/light.py +121 -0
  2351. esphome/components/partition/light_partition.cpp +10 -0
  2352. esphome/components/partition/light_partition.h +97 -0
  2353. esphome/components/pca6416a/__init__.py +79 -0
  2354. esphome/components/pca6416a/pca6416a.cpp +190 -0
  2355. esphome/components/pca6416a/pca6416a.h +72 -0
  2356. esphome/components/pca9554/__init__.py +87 -0
  2357. esphome/components/pca9554/pca9554.cpp +139 -0
  2358. esphome/components/pca9554/pca9554.h +79 -0
  2359. esphome/components/pca9685/__init__.py +62 -0
  2360. esphome/components/pca9685/output.py +27 -0
  2361. esphome/components/pca9685/pca9685_output.cpp +168 -0
  2362. esphome/components/pca9685/pca9685_output.h +80 -0
  2363. esphome/components/pcd8544/__init__.py +0 -0
  2364. esphome/components/pcd8544/display.py +60 -0
  2365. esphome/components/pcd8544/pcd_8544.cpp +126 -0
  2366. esphome/components/pcd8544/pcd_8544.h +78 -0
  2367. esphome/components/pcf85063/__init__.py +0 -0
  2368. esphome/components/pcf85063/pcf85063.cpp +108 -0
  2369. esphome/components/pcf85063/pcf85063.h +96 -0
  2370. esphome/components/pcf85063/time.py +59 -0
  2371. esphome/components/pcf8563/__init__.py +0 -0
  2372. esphome/components/pcf8563/pcf8563.cpp +108 -0
  2373. esphome/components/pcf8563/pcf8563.h +124 -0
  2374. esphome/components/pcf8563/time.py +62 -0
  2375. esphome/components/pcf8574/__init__.py +76 -0
  2376. esphome/components/pcf8574/pcf8574.cpp +114 -0
  2377. esphome/components/pcf8574/pcf8574.h +74 -0
  2378. esphome/components/pi4ioe5v6408/__init__.py +84 -0
  2379. esphome/components/pi4ioe5v6408/pi4ioe5v6408.cpp +170 -0
  2380. esphome/components/pi4ioe5v6408/pi4ioe5v6408.h +70 -0
  2381. esphome/components/pid/__init__.py +1 -0
  2382. esphome/components/pid/climate.py +192 -0
  2383. esphome/components/pid/pid_autotuner.cpp +361 -0
  2384. esphome/components/pid/pid_autotuner.h +115 -0
  2385. esphome/components/pid/pid_climate.cpp +188 -0
  2386. esphome/components/pid/pid_climate.h +160 -0
  2387. esphome/components/pid/pid_controller.cpp +129 -0
  2388. esphome/components/pid/pid_controller.h +71 -0
  2389. esphome/components/pid/pid_simulator.h +77 -0
  2390. esphome/components/pid/sensor/__init__.py +49 -0
  2391. esphome/components/pid/sensor/pid_climate_sensor.cpp +59 -0
  2392. esphome/components/pid/sensor/pid_climate_sensor.h +37 -0
  2393. esphome/components/pipsolar/__init__.py +32 -0
  2394. esphome/components/pipsolar/binary_sensor/__init__.py +141 -0
  2395. esphome/components/pipsolar/output/__init__.py +107 -0
  2396. esphome/components/pipsolar/output/pipsolar_output.cpp +22 -0
  2397. esphome/components/pipsolar/output/pipsolar_output.h +42 -0
  2398. esphome/components/pipsolar/pipsolar.cpp +786 -0
  2399. esphome/components/pipsolar/pipsolar.h +250 -0
  2400. esphome/components/pipsolar/sensor/__init__.py +324 -0
  2401. esphome/components/pipsolar/switch/__init__.py +51 -0
  2402. esphome/components/pipsolar/switch/pipsolar_switch.cpp +24 -0
  2403. esphome/components/pipsolar/switch/pipsolar_switch.h +25 -0
  2404. esphome/components/pipsolar/text_sensor/__init__.py +41 -0
  2405. esphome/components/pm1006/__init__.py +0 -0
  2406. esphome/components/pm1006/pm1006.cpp +99 -0
  2407. esphome/components/pm1006/pm1006.h +39 -0
  2408. esphome/components/pm1006/sensor.py +67 -0
  2409. esphome/components/pm2005/__init__.py +1 -0
  2410. esphome/components/pm2005/pm2005.cpp +121 -0
  2411. esphome/components/pm2005/pm2005.h +46 -0
  2412. esphome/components/pm2005/sensor.py +86 -0
  2413. esphome/components/pmsa003i/__init__.py +0 -0
  2414. esphome/components/pmsa003i/pmsa003i.cpp +135 -0
  2415. esphome/components/pmsa003i/pmsa003i.h +67 -0
  2416. esphome/components/pmsa003i/sensor.py +127 -0
  2417. esphome/components/pmsx003/__init__.py +0 -0
  2418. esphome/components/pmsx003/pmsx003.cpp +318 -0
  2419. esphome/components/pmsx003/pmsx003.h +121 -0
  2420. esphome/components/pmsx003/sensor.py +281 -0
  2421. esphome/components/pmwcs3/__init__.py +1 -0
  2422. esphome/components/pmwcs3/pmwcs3.cpp +112 -0
  2423. esphome/components/pmwcs3/pmwcs3.h +69 -0
  2424. esphome/components/pmwcs3/sensor.py +139 -0
  2425. esphome/components/pn532/__init__.py +96 -0
  2426. esphome/components/pn532/binary_sensor.py +48 -0
  2427. esphome/components/pn532/pn532.cpp +463 -0
  2428. esphome/components/pn532/pn532.h +150 -0
  2429. esphome/components/pn532/pn532_mifare_classic.cpp +262 -0
  2430. esphome/components/pn532/pn532_mifare_ultralight.cpp +192 -0
  2431. esphome/components/pn532_i2c/__init__.py +26 -0
  2432. esphome/components/pn532_i2c/pn532_i2c.cpp +129 -0
  2433. esphome/components/pn532_i2c/pn532_i2c.h +25 -0
  2434. esphome/components/pn532_spi/__init__.py +26 -0
  2435. esphome/components/pn532_spi/pn532_spi.cpp +136 -0
  2436. esphome/components/pn532_spi/pn532_spi.h +28 -0
  2437. esphome/components/pn7150/__init__.py +215 -0
  2438. esphome/components/pn7150/automation.h +82 -0
  2439. esphome/components/pn7150/pn7150.cpp +1143 -0
  2440. esphome/components/pn7150/pn7150.h +295 -0
  2441. esphome/components/pn7150/pn7150_mifare_classic.cpp +322 -0
  2442. esphome/components/pn7150/pn7150_mifare_ultralight.cpp +186 -0
  2443. esphome/components/pn7150_i2c/__init__.py +25 -0
  2444. esphome/components/pn7150_i2c/pn7150_i2c.cpp +49 -0
  2445. esphome/components/pn7150_i2c/pn7150_i2c.h +22 -0
  2446. esphome/components/pn7160/__init__.py +227 -0
  2447. esphome/components/pn7160/automation.h +82 -0
  2448. esphome/components/pn7160/pn7160.cpp +1167 -0
  2449. esphome/components/pn7160/pn7160.h +314 -0
  2450. esphome/components/pn7160/pn7160_mifare_classic.cpp +322 -0
  2451. esphome/components/pn7160/pn7160_mifare_ultralight.cpp +186 -0
  2452. esphome/components/pn7160_i2c/__init__.py +25 -0
  2453. esphome/components/pn7160_i2c/pn7160_i2c.cpp +49 -0
  2454. esphome/components/pn7160_i2c/pn7160_i2c.h +22 -0
  2455. esphome/components/pn7160_spi/__init__.py +26 -0
  2456. esphome/components/pn7160_spi/pn7160_spi.cpp +54 -0
  2457. esphome/components/pn7160_spi/pn7160_spi.h +30 -0
  2458. esphome/components/power_supply/__init__.py +42 -0
  2459. esphome/components/power_supply/power_supply.cpp +58 -0
  2460. esphome/components/power_supply/power_supply.h +67 -0
  2461. esphome/components/preferences/__init__.py +22 -0
  2462. esphome/components/preferences/syncer.h +32 -0
  2463. esphome/components/prometheus/__init__.py +52 -0
  2464. esphome/components/prometheus/prometheus_handler.cpp +1093 -0
  2465. esphome/components/prometheus/prometheus_handler.h +221 -0
  2466. esphome/components/psram/__init__.py +210 -0
  2467. esphome/components/psram/psram.cpp +31 -0
  2468. esphome/components/psram/psram.h +17 -0
  2469. esphome/components/pulse_counter/__init__.py +0 -0
  2470. esphome/components/pulse_counter/automation.h +24 -0
  2471. esphome/components/pulse_counter/pulse_counter_sensor.cpp +201 -0
  2472. esphome/components/pulse_counter/pulse_counter_sensor.h +90 -0
  2473. esphome/components/pulse_counter/sensor.py +159 -0
  2474. esphome/components/pulse_meter/__init__.py +0 -0
  2475. esphome/components/pulse_meter/automation.h +24 -0
  2476. esphome/components/pulse_meter/pulse_meter_sensor.cpp +189 -0
  2477. esphome/components/pulse_meter/pulse_meter_sensor.h +83 -0
  2478. esphome/components/pulse_meter/sensor.py +114 -0
  2479. esphome/components/pulse_width/__init__.py +0 -0
  2480. esphome/components/pulse_width/pulse_width.cpp +31 -0
  2481. esphome/components/pulse_width/pulse_width.h +43 -0
  2482. esphome/components/pulse_width/sensor.py +35 -0
  2483. esphome/components/pvvx_mithermometer/__init__.py +0 -0
  2484. esphome/components/pvvx_mithermometer/display/__init__.py +55 -0
  2485. esphome/components/pvvx_mithermometer/display/pvvx_display.cpp +189 -0
  2486. esphome/components/pvvx_mithermometer/display/pvvx_display.h +136 -0
  2487. esphome/components/pvvx_mithermometer/pvvx_mithermometer.cpp +141 -0
  2488. esphome/components/pvvx_mithermometer/pvvx_mithermometer.h +50 -0
  2489. esphome/components/pvvx_mithermometer/sensor.py +100 -0
  2490. esphome/components/pylontech/__init__.py +47 -0
  2491. esphome/components/pylontech/pylontech.cpp +103 -0
  2492. esphome/components/pylontech/pylontech.h +53 -0
  2493. esphome/components/pylontech/sensor/__init__.py +92 -0
  2494. esphome/components/pylontech/sensor/pylontech_sensor.cpp +62 -0
  2495. esphome/components/pylontech/sensor/pylontech_sensor.h +32 -0
  2496. esphome/components/pylontech/text_sensor/__init__.py +36 -0
  2497. esphome/components/pylontech/text_sensor/pylontech_text_sensor.cpp +42 -0
  2498. esphome/components/pylontech/text_sensor/pylontech_text_sensor.h +26 -0
  2499. esphome/components/pzem004t/__init__.py +0 -0
  2500. esphome/components/pzem004t/pzem004t.cpp +127 -0
  2501. esphome/components/pzem004t/pzem004t.h +46 -0
  2502. esphome/components/pzem004t/sensor.py +82 -0
  2503. esphome/components/pzemac/__init__.py +0 -0
  2504. esphome/components/pzemac/pzemac.cpp +87 -0
  2505. esphome/components/pzemac/pzemac.h +53 -0
  2506. esphome/components/pzemac/sensor.py +125 -0
  2507. esphome/components/pzemdc/__init__.py +0 -0
  2508. esphome/components/pzemdc/pzemdc.cpp +75 -0
  2509. esphome/components/pzemdc/pzemdc.h +46 -0
  2510. esphome/components/pzemdc/sensor.py +101 -0
  2511. esphome/components/qmc5883l/__init__.py +0 -0
  2512. esphome/components/qmc5883l/qmc5883l.cpp +189 -0
  2513. esphome/components/qmc5883l/qmc5883l.h +66 -0
  2514. esphome/components/qmc5883l/sensor.py +164 -0
  2515. esphome/components/qmp6988/__init__.py +1 -0
  2516. esphome/components/qmp6988/qmp6988.cpp +350 -0
  2517. esphome/components/qmp6988/qmp6988.h +110 -0
  2518. esphome/components/qmp6988/sensor.py +101 -0
  2519. esphome/components/qr_code/__init__.py +44 -0
  2520. esphome/components/qr_code/qr_code.cpp +69 -0
  2521. esphome/components/qr_code/qr_code.h +36 -0
  2522. esphome/components/qspi_amoled/display.py +3 -0
  2523. esphome/components/qspi_dbi/__init__.py +3 -0
  2524. esphome/components/qspi_dbi/display.py +212 -0
  2525. esphome/components/qspi_dbi/models.py +309 -0
  2526. esphome/components/qspi_dbi/qspi_dbi.cpp +221 -0
  2527. esphome/components/qspi_dbi/qspi_dbi.h +173 -0
  2528. esphome/components/qwiic_pir/__init__.py +0 -0
  2529. esphome/components/qwiic_pir/binary_sensor.py +63 -0
  2530. esphome/components/qwiic_pir/qwiic_pir.cpp +133 -0
  2531. esphome/components/qwiic_pir/qwiic_pir.h +69 -0
  2532. esphome/components/radon_eye_ble/__init__.py +23 -0
  2533. esphome/components/radon_eye_ble/radon_eye_listener.cpp +32 -0
  2534. esphome/components/radon_eye_ble/radon_eye_listener.h +19 -0
  2535. esphome/components/radon_eye_rd200/__init__.py +1 -0
  2536. esphome/components/radon_eye_rd200/radon_eye_rd200.cpp +179 -0
  2537. esphome/components/radon_eye_rd200/radon_eye_rd200.h +59 -0
  2538. esphome/components/radon_eye_rd200/sensor.py +54 -0
  2539. esphome/components/rc522/__init__.py +56 -0
  2540. esphome/components/rc522/binary_sensor.py +48 -0
  2541. esphome/components/rc522/rc522.cpp +483 -0
  2542. esphome/components/rc522/rc522.h +279 -0
  2543. esphome/components/rc522_i2c/__init__.py +26 -0
  2544. esphome/components/rc522_i2c/rc522_i2c.cpp +70 -0
  2545. esphome/components/rc522_i2c/rc522_i2c.h +42 -0
  2546. esphome/components/rc522_spi/__init__.py +30 -0
  2547. esphome/components/rc522_spi/binary_sensor.py +9 -0
  2548. esphome/components/rc522_spi/rc522_spi.cpp +139 -0
  2549. esphome/components/rc522_spi/rc522_spi.h +54 -0
  2550. esphome/components/rdm6300/__init__.py +41 -0
  2551. esphome/components/rdm6300/binary_sensor.py +28 -0
  2552. esphome/components/rdm6300/rdm6300.cpp +69 -0
  2553. esphome/components/rdm6300/rdm6300.h +56 -0
  2554. esphome/components/remote_base/__init__.py +2199 -0
  2555. esphome/components/remote_base/abbwelcome_protocol.cpp +123 -0
  2556. esphome/components/remote_base/abbwelcome_protocol.h +256 -0
  2557. esphome/components/remote_base/aeha_protocol.cpp +102 -0
  2558. esphome/components/remote_base/aeha_protocol.h +46 -0
  2559. esphome/components/remote_base/beo4_protocol.cpp +153 -0
  2560. esphome/components/remote_base/beo4_protocol.h +43 -0
  2561. esphome/components/remote_base/byronsx_protocol.cpp +139 -0
  2562. esphome/components/remote_base/byronsx_protocol.h +46 -0
  2563. esphome/components/remote_base/canalsat_protocol.cpp +108 -0
  2564. esphome/components/remote_base/canalsat_protocol.h +78 -0
  2565. esphome/components/remote_base/coolix_protocol.cpp +113 -0
  2566. esphome/components/remote_base/coolix_protocol.h +41 -0
  2567. esphome/components/remote_base/dish_protocol.cpp +94 -0
  2568. esphome/components/remote_base/dish_protocol.h +38 -0
  2569. esphome/components/remote_base/dooya_protocol.cpp +120 -0
  2570. esphome/components/remote_base/dooya_protocol.h +49 -0
  2571. esphome/components/remote_base/drayton_protocol.cpp +240 -0
  2572. esphome/components/remote_base/drayton_protocol.h +46 -0
  2573. esphome/components/remote_base/dyson_protocol.cpp +71 -0
  2574. esphome/components/remote_base/dyson_protocol.h +46 -0
  2575. esphome/components/remote_base/gobox_protocol.cpp +131 -0
  2576. esphome/components/remote_base/gobox_protocol.h +54 -0
  2577. esphome/components/remote_base/haier_protocol.cpp +84 -0
  2578. esphome/components/remote_base/haier_protocol.h +39 -0
  2579. esphome/components/remote_base/jvc_protocol.cpp +52 -0
  2580. esphome/components/remote_base/jvc_protocol.h +37 -0
  2581. esphome/components/remote_base/keeloq_protocol.cpp +194 -0
  2582. esphome/components/remote_base/keeloq_protocol.h +53 -0
  2583. esphome/components/remote_base/lg_protocol.cpp +58 -0
  2584. esphome/components/remote_base/lg_protocol.h +41 -0
  2585. esphome/components/remote_base/magiquest_protocol.cpp +83 -0
  2586. esphome/components/remote_base/magiquest_protocol.h +52 -0
  2587. esphome/components/remote_base/midea_protocol.cpp +76 -0
  2588. esphome/components/remote_base/midea_protocol.h +83 -0
  2589. esphome/components/remote_base/mirage_protocol.cpp +84 -0
  2590. esphome/components/remote_base/mirage_protocol.h +39 -0
  2591. esphome/components/remote_base/nec_protocol.cpp +102 -0
  2592. esphome/components/remote_base/nec_protocol.h +41 -0
  2593. esphome/components/remote_base/nexa_protocol.cpp +240 -0
  2594. esphome/components/remote_base/nexa_protocol.h +54 -0
  2595. esphome/components/remote_base/panasonic_protocol.cpp +74 -0
  2596. esphome/components/remote_base/panasonic_protocol.h +41 -0
  2597. esphome/components/remote_base/pioneer_protocol.cpp +156 -0
  2598. esphome/components/remote_base/pioneer_protocol.h +38 -0
  2599. esphome/components/remote_base/pronto_protocol.cpp +244 -0
  2600. esphome/components/remote_base/pronto_protocol.h +55 -0
  2601. esphome/components/remote_base/raw_protocol.cpp +47 -0
  2602. esphome/components/remote_base/raw_protocol.h +86 -0
  2603. esphome/components/remote_base/rc5_protocol.cpp +90 -0
  2604. esphome/components/remote_base/rc5_protocol.h +39 -0
  2605. esphome/components/remote_base/rc6_protocol.cpp +181 -0
  2606. esphome/components/remote_base/rc6_protocol.h +46 -0
  2607. esphome/components/remote_base/rc_switch_protocol.cpp +271 -0
  2608. esphome/components/remote_base/rc_switch_protocol.h +221 -0
  2609. esphome/components/remote_base/remote_base.cpp +171 -0
  2610. esphome/components/remote_base/remote_base.h +308 -0
  2611. esphome/components/remote_base/roomba_protocol.cpp +56 -0
  2612. esphome/components/remote_base/roomba_protocol.h +35 -0
  2613. esphome/components/remote_base/samsung36_protocol.cpp +103 -0
  2614. esphome/components/remote_base/samsung36_protocol.h +41 -0
  2615. esphome/components/remote_base/samsung_protocol.cpp +65 -0
  2616. esphome/components/remote_base/samsung_protocol.h +39 -0
  2617. esphome/components/remote_base/sony_protocol.cpp +69 -0
  2618. esphome/components/remote_base/sony_protocol.h +41 -0
  2619. esphome/components/remote_base/symphony_protocol.cpp +120 -0
  2620. esphome/components/remote_base/symphony_protocol.h +44 -0
  2621. esphome/components/remote_base/toshiba_ac_protocol.cpp +115 -0
  2622. esphome/components/remote_base/toshiba_ac_protocol.h +39 -0
  2623. esphome/components/remote_base/toto_protocol.cpp +100 -0
  2624. esphome/components/remote_base/toto_protocol.h +45 -0
  2625. esphome/components/remote_receiver/__init__.py +220 -0
  2626. esphome/components/remote_receiver/binary_sensor.py +10 -0
  2627. esphome/components/remote_receiver/remote_receiver.cpp +142 -0
  2628. esphome/components/remote_receiver/remote_receiver.h +106 -0
  2629. esphome/components/remote_receiver/remote_receiver_esp32.cpp +252 -0
  2630. esphome/components/remote_transmitter/__init__.py +162 -0
  2631. esphome/components/remote_transmitter/automation.h +18 -0
  2632. esphome/components/remote_transmitter/remote_transmitter.cpp +114 -0
  2633. esphome/components/remote_transmitter/remote_transmitter.h +104 -0
  2634. esphome/components/remote_transmitter/remote_transmitter_esp32.cpp +364 -0
  2635. esphome/components/resampler/__init__.py +0 -0
  2636. esphome/components/resampler/speaker/__init__.py +102 -0
  2637. esphome/components/resampler/speaker/resampler_speaker.cpp +320 -0
  2638. esphome/components/resampler/speaker/resampler_speaker.h +109 -0
  2639. esphome/components/resistance/__init__.py +0 -0
  2640. esphome/components/resistance/resistance_sensor.cpp +47 -0
  2641. esphome/components/resistance/resistance_sensor.h +37 -0
  2642. esphome/components/resistance/sensor.py +52 -0
  2643. esphome/components/restart/__init__.py +1 -0
  2644. esphome/components/restart/button/__init__.py +25 -0
  2645. esphome/components/restart/button/restart_button.cpp +20 -0
  2646. esphome/components/restart/button/restart_button.h +18 -0
  2647. esphome/components/restart/switch/__init__.py +19 -0
  2648. esphome/components/restart/switch/restart_switch.cpp +25 -0
  2649. esphome/components/restart/switch/restart_switch.h +18 -0
  2650. esphome/components/rf_bridge/__init__.py +238 -0
  2651. esphome/components/rf_bridge/rf_bridge.cpp +236 -0
  2652. esphome/components/rf_bridge/rf_bridge.h +196 -0
  2653. esphome/components/rgb/__init__.py +0 -0
  2654. esphome/components/rgb/light.py +28 -0
  2655. esphome/components/rgb/rgb_light_output.h +36 -0
  2656. esphome/components/rgbct/__init__.py +0 -0
  2657. esphome/components/rgbct/light.py +59 -0
  2658. esphome/components/rgbct/rgbct_light_output.h +59 -0
  2659. esphome/components/rgbw/__init__.py +0 -0
  2660. esphome/components/rgbw/light.py +40 -0
  2661. esphome/components/rgbw/rgbw_light_output.h +44 -0
  2662. esphome/components/rgbww/__init__.py +0 -0
  2663. esphome/components/rgbww/light.py +69 -0
  2664. esphome/components/rgbww/rgbww_light_output.h +55 -0
  2665. esphome/components/rotary_encoder/__init__.py +0 -0
  2666. esphome/components/rotary_encoder/rotary_encoder.cpp +247 -0
  2667. esphome/components/rotary_encoder/rotary_encoder.h +138 -0
  2668. esphome/components/rotary_encoder/sensor.py +148 -0
  2669. esphome/components/rp2040/__init__.py +255 -0
  2670. esphome/components/rp2040/boards.py +28 -0
  2671. esphome/components/rp2040/build_pio.py.script +47 -0
  2672. esphome/components/rp2040/const.py +7 -0
  2673. esphome/components/rp2040/core.cpp +40 -0
  2674. esphome/components/rp2040/core.h +14 -0
  2675. esphome/components/rp2040/gpio.cpp +120 -0
  2676. esphome/components/rp2040/gpio.h +39 -0
  2677. esphome/components/rp2040/gpio.py +102 -0
  2678. esphome/components/rp2040/helpers.cpp +59 -0
  2679. esphome/components/rp2040/post_build.py.script +23 -0
  2680. esphome/components/rp2040/preferences.cpp +160 -0
  2681. esphome/components/rp2040/preferences.h +14 -0
  2682. esphome/components/rp2040_pio/__init__.py +39 -0
  2683. esphome/components/rp2040_pio_led_strip/__init__.py +1 -0
  2684. esphome/components/rp2040_pio_led_strip/led_strip.cpp +216 -0
  2685. esphome/components/rp2040_pio_led_strip/led_strip.h +133 -0
  2686. esphome/components/rp2040_pio_led_strip/light.py +280 -0
  2687. esphome/components/rp2040_pwm/__init__.py +0 -0
  2688. esphome/components/rp2040_pwm/output.py +51 -0
  2689. esphome/components/rp2040_pwm/rp2040_pwm.cpp +64 -0
  2690. esphome/components/rp2040_pwm/rp2040_pwm.h +59 -0
  2691. esphome/components/rpi_dpi_rgb/__init__.py +1 -0
  2692. esphome/components/rpi_dpi_rgb/display.py +198 -0
  2693. esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp +159 -0
  2694. esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.h +97 -0
  2695. esphome/components/rtl87xx/__init__.py +61 -0
  2696. esphome/components/rtl87xx/boards.py +1404 -0
  2697. esphome/components/rtttl/__init__.py +156 -0
  2698. esphome/components/rtttl/rtttl.cpp +412 -0
  2699. esphome/components/rtttl/rtttl.h +149 -0
  2700. esphome/components/runtime_stats/__init__.py +34 -0
  2701. esphome/components/runtime_stats/runtime_stats.cpp +89 -0
  2702. esphome/components/runtime_stats/runtime_stats.h +126 -0
  2703. esphome/components/ruuvi_ble/__init__.py +22 -0
  2704. esphome/components/ruuvi_ble/ruuvi_ble.cpp +144 -0
  2705. esphome/components/ruuvi_ble/ruuvi_ble.h +37 -0
  2706. esphome/components/ruuvitag/__init__.py +0 -0
  2707. esphome/components/ruuvitag/ruuvitag.cpp +29 -0
  2708. esphome/components/ruuvitag/ruuvitag.h +83 -0
  2709. esphome/components/ruuvitag/sensor.py +163 -0
  2710. esphome/components/rx8130/__init__.py +0 -0
  2711. esphome/components/rx8130/rx8130.cpp +128 -0
  2712. esphome/components/rx8130/rx8130.h +35 -0
  2713. esphome/components/rx8130/time.py +56 -0
  2714. esphome/components/safe_mode/__init__.py +74 -0
  2715. esphome/components/safe_mode/automation.h +17 -0
  2716. esphome/components/safe_mode/button/__init__.py +34 -0
  2717. esphome/components/safe_mode/button/safe_mode_button.cpp +27 -0
  2718. esphome/components/safe_mode/button/safe_mode_button.h +21 -0
  2719. esphome/components/safe_mode/safe_mode.cpp +136 -0
  2720. esphome/components/safe_mode/safe_mode.h +53 -0
  2721. esphome/components/safe_mode/switch/__init__.py +29 -0
  2722. esphome/components/safe_mode/switch/safe_mode_switch.cpp +32 -0
  2723. esphome/components/safe_mode/switch/safe_mode_switch.h +21 -0
  2724. esphome/components/scd30/__init__.py +0 -0
  2725. esphome/components/scd30/automation.h +23 -0
  2726. esphome/components/scd30/scd30.cpp +234 -0
  2727. esphome/components/scd30/scd30.h +52 -0
  2728. esphome/components/scd30/sensor.py +139 -0
  2729. esphome/components/scd4x/__init__.py +0 -0
  2730. esphome/components/scd4x/automation.h +28 -0
  2731. esphome/components/scd4x/scd4x.cpp +327 -0
  2732. esphome/components/scd4x/scd4x.h +63 -0
  2733. esphome/components/scd4x/sensor.py +166 -0
  2734. esphome/components/script/__init__.py +239 -0
  2735. esphome/components/script/script.cpp +20 -0
  2736. esphome/components/script/script.h +342 -0
  2737. esphome/components/sdl/__init__.py +1 -0
  2738. esphome/components/sdl/binary_sensor.py +285 -0
  2739. esphome/components/sdl/display.py +114 -0
  2740. esphome/components/sdl/sdl_esphome.cpp +130 -0
  2741. esphome/components/sdl/sdl_esphome.h +72 -0
  2742. esphome/components/sdl/touchscreen/__init__.py +22 -0
  2743. esphome/components/sdl/touchscreen/sdl_touchscreen.h +26 -0
  2744. esphome/components/sdm_meter/__init__.py +0 -0
  2745. esphome/components/sdm_meter/sdm_meter.cpp +114 -0
  2746. esphome/components/sdm_meter/sdm_meter.h +83 -0
  2747. esphome/components/sdm_meter/sdm_meter_registers.h +114 -0
  2748. esphome/components/sdm_meter/sensor.py +176 -0
  2749. esphome/components/sdp3x/__init__.py +0 -0
  2750. esphome/components/sdp3x/sdp3x.cpp +120 -0
  2751. esphome/components/sdp3x/sdp3x.h +30 -0
  2752. esphome/components/sdp3x/sensor.py +52 -0
  2753. esphome/components/sds011/__init__.py +0 -0
  2754. esphome/components/sds011/sds011.cpp +190 -0
  2755. esphome/components/sds011/sds011.h +52 -0
  2756. esphome/components/sds011/sensor.py +81 -0
  2757. esphome/components/seeed_mr24hpc1/__init__.py +51 -0
  2758. esphome/components/seeed_mr24hpc1/binary_sensor.py +20 -0
  2759. esphome/components/seeed_mr24hpc1/button/__init__.py +43 -0
  2760. esphome/components/seeed_mr24hpc1/button/custom_mode_end_button.cpp +9 -0
  2761. esphome/components/seeed_mr24hpc1/button/custom_mode_end_button.h +18 -0
  2762. esphome/components/seeed_mr24hpc1/button/restart_button.cpp +9 -0
  2763. esphome/components/seeed_mr24hpc1/button/restart_button.h +18 -0
  2764. esphome/components/seeed_mr24hpc1/number/__init__.py +130 -0
  2765. esphome/components/seeed_mr24hpc1/number/custom_mode_number.cpp +12 -0
  2766. esphome/components/seeed_mr24hpc1/number/custom_mode_number.h +18 -0
  2767. esphome/components/seeed_mr24hpc1/number/custom_unman_time_number.cpp +9 -0
  2768. esphome/components/seeed_mr24hpc1/number/custom_unman_time_number.h +18 -0
  2769. esphome/components/seeed_mr24hpc1/number/existence_threshold_number.cpp +9 -0
  2770. esphome/components/seeed_mr24hpc1/number/existence_threshold_number.h +18 -0
  2771. esphome/components/seeed_mr24hpc1/number/motion_threshold_number.cpp +9 -0
  2772. esphome/components/seeed_mr24hpc1/number/motion_threshold_number.h +18 -0
  2773. esphome/components/seeed_mr24hpc1/number/motion_trigger_time_number.cpp +9 -0
  2774. esphome/components/seeed_mr24hpc1/number/motion_trigger_time_number.h +18 -0
  2775. esphome/components/seeed_mr24hpc1/number/motiontorest_time_number.cpp +9 -0
  2776. esphome/components/seeed_mr24hpc1/number/motiontorest_time_number.h +18 -0
  2777. esphome/components/seeed_mr24hpc1/number/sensitivity_number.cpp +9 -0
  2778. esphome/components/seeed_mr24hpc1/number/sensitivity_number.h +18 -0
  2779. esphome/components/seeed_mr24hpc1/seeed_mr24hpc1.cpp +889 -0
  2780. esphome/components/seeed_mr24hpc1/seeed_mr24hpc1.h +217 -0
  2781. esphome/components/seeed_mr24hpc1/seeed_mr24hpc1_constants.h +173 -0
  2782. esphome/components/seeed_mr24hpc1/select/__init__.py +102 -0
  2783. esphome/components/seeed_mr24hpc1/select/existence_boundary_select.cpp +12 -0
  2784. esphome/components/seeed_mr24hpc1/select/existence_boundary_select.h +18 -0
  2785. esphome/components/seeed_mr24hpc1/select/motion_boundary_select.cpp +12 -0
  2786. esphome/components/seeed_mr24hpc1/select/motion_boundary_select.h +18 -0
  2787. esphome/components/seeed_mr24hpc1/select/scene_mode_select.cpp +12 -0
  2788. esphome/components/seeed_mr24hpc1/select/scene_mode_select.h +18 -0
  2789. esphome/components/seeed_mr24hpc1/select/unman_time_select.cpp +12 -0
  2790. esphome/components/seeed_mr24hpc1/select/unman_time_select.h +18 -0
  2791. esphome/components/seeed_mr24hpc1/sensor.py +83 -0
  2792. esphome/components/seeed_mr24hpc1/switch/__init__.py +30 -0
  2793. esphome/components/seeed_mr24hpc1/switch/underlyFuc_switch.cpp +12 -0
  2794. esphome/components/seeed_mr24hpc1/switch/underlyFuc_switch.h +18 -0
  2795. esphome/components/seeed_mr24hpc1/text_sensor.py +75 -0
  2796. esphome/components/seeed_mr60bha2/__init__.py +41 -0
  2797. esphome/components/seeed_mr60bha2/binary_sensor.py +23 -0
  2798. esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp +198 -0
  2799. esphome/components/seeed_mr60bha2/seeed_mr60bha2.h +50 -0
  2800. esphome/components/seeed_mr60bha2/sensor.py +65 -0
  2801. esphome/components/seeed_mr60fda2/__init__.py +41 -0
  2802. esphome/components/seeed_mr60fda2/binary_sensor.py +33 -0
  2803. esphome/components/seeed_mr60fda2/button/__init__.py +45 -0
  2804. esphome/components/seeed_mr60fda2/button/get_radar_parameters_button.cpp +9 -0
  2805. esphome/components/seeed_mr60fda2/button/get_radar_parameters_button.h +18 -0
  2806. esphome/components/seeed_mr60fda2/button/reset_radar_button.cpp +9 -0
  2807. esphome/components/seeed_mr60fda2/button/reset_radar_button.h +18 -0
  2808. esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp +366 -0
  2809. esphome/components/seeed_mr60fda2/seeed_mr60fda2.h +101 -0
  2810. esphome/components/seeed_mr60fda2/select/__init__.py +58 -0
  2811. esphome/components/seeed_mr60fda2/select/height_threshold_select.cpp +12 -0
  2812. esphome/components/seeed_mr60fda2/select/height_threshold_select.h +18 -0
  2813. esphome/components/seeed_mr60fda2/select/install_height_select.cpp +12 -0
  2814. esphome/components/seeed_mr60fda2/select/install_height_select.h +18 -0
  2815. esphome/components/seeed_mr60fda2/select/sensitivity_select.cpp +12 -0
  2816. esphome/components/seeed_mr60fda2/select/sensitivity_select.h +18 -0
  2817. esphome/components/selec_meter/__init__.py +0 -0
  2818. esphome/components/selec_meter/selec_meter.cpp +111 -0
  2819. esphome/components/selec_meter/selec_meter.h +47 -0
  2820. esphome/components/selec_meter/selec_meter_registers.h +32 -0
  2821. esphome/components/selec_meter/sensor.py +165 -0
  2822. esphome/components/select/__init__.py +241 -0
  2823. esphome/components/select/automation.h +65 -0
  2824. esphome/components/select/select.cpp +86 -0
  2825. esphome/components/select/select.h +117 -0
  2826. esphome/components/select/select_call.cpp +123 -0
  2827. esphome/components/select/select_call.h +49 -0
  2828. esphome/components/select/select_traits.cpp +16 -0
  2829. esphome/components/select/select_traits.h +18 -0
  2830. esphome/components/sen0321/__init__.py +1 -0
  2831. esphome/components/sen0321/sen0321.cpp +35 -0
  2832. esphome/components/sen0321/sen0321.h +35 -0
  2833. esphome/components/sen0321/sensor.py +34 -0
  2834. esphome/components/sen21231/__init__.py +0 -0
  2835. esphome/components/sen21231/sen21231.cpp +32 -0
  2836. esphome/components/sen21231/sen21231.h +77 -0
  2837. esphome/components/sen21231/sensor.py +24 -0
  2838. esphome/components/sen5x/__init__.py +0 -0
  2839. esphome/components/sen5x/automation.h +21 -0
  2840. esphome/components/sen5x/sen5x.cpp +447 -0
  2841. esphome/components/sen5x/sen5x.h +139 -0
  2842. esphome/components/sen5x/sensor.py +273 -0
  2843. esphome/components/senseair/__init__.py +0 -0
  2844. esphome/components/senseair/senseair.cpp +154 -0
  2845. esphome/components/senseair/senseair.h +92 -0
  2846. esphome/components/senseair/sensor.py +93 -0
  2847. esphome/components/sensirion_common/__init__.py +8 -0
  2848. esphome/components/sensirion_common/i2c_sensirion.cpp +101 -0
  2849. esphome/components/sensirion_common/i2c_sensirion.h +142 -0
  2850. esphome/components/sensor/__init__.py +1199 -0
  2851. esphome/components/sensor/automation.cpp +10 -0
  2852. esphome/components/sensor/automation.h +111 -0
  2853. esphome/components/sensor/filter.cpp +578 -0
  2854. esphome/components/sensor/filter.h +636 -0
  2855. esphome/components/sensor/sensor.cpp +144 -0
  2856. esphome/components/sensor/sensor.h +147 -0
  2857. esphome/components/servo/__init__.py +85 -0
  2858. esphome/components/servo/servo.cpp +110 -0
  2859. esphome/components/servo/servo.h +77 -0
  2860. esphome/components/sfa30/__init__.py +1 -0
  2861. esphome/components/sfa30/sensor.py +77 -0
  2862. esphome/components/sfa30/sfa30.cpp +95 -0
  2863. esphome/components/sfa30/sfa30.h +33 -0
  2864. esphome/components/sgp30/__init__.py +0 -0
  2865. esphome/components/sgp30/sensor.py +116 -0
  2866. esphome/components/sgp30/sgp30.cpp +304 -0
  2867. esphome/components/sgp30/sgp30.h +71 -0
  2868. esphome/components/sgp40/__init__.py +0 -0
  2869. esphome/components/sgp40/sensor.py +8 -0
  2870. esphome/components/sgp4x/__init__.py +0 -0
  2871. esphome/components/sgp4x/sensor.py +145 -0
  2872. esphome/components/sgp4x/sgp4x.cpp +296 -0
  2873. esphome/components/sgp4x/sgp4x.h +143 -0
  2874. esphome/components/sha256/__init__.py +22 -0
  2875. esphome/components/sha256/sha256.cpp +116 -0
  2876. esphome/components/sha256/sha256.h +60 -0
  2877. esphome/components/shelly_dimmer/__init__.py +1 -0
  2878. esphome/components/shelly_dimmer/dev_table.h +159 -0
  2879. esphome/components/shelly_dimmer/light.py +221 -0
  2880. esphome/components/shelly_dimmer/shelly_dimmer.cpp +529 -0
  2881. esphome/components/shelly_dimmer/shelly_dimmer.h +123 -0
  2882. esphome/components/shelly_dimmer/stm32flash.cpp +1065 -0
  2883. esphome/components/shelly_dimmer/stm32flash.h +131 -0
  2884. esphome/components/sht3xd/__init__.py +0 -0
  2885. esphome/components/sht3xd/sensor.py +64 -0
  2886. esphome/components/sht3xd/sht3xd.cpp +105 -0
  2887. esphome/components/sht3xd/sht3xd.h +39 -0
  2888. esphome/components/sht4x/__init__.py +0 -0
  2889. esphome/components/sht4x/sensor.py +103 -0
  2890. esphome/components/sht4x/sht4x.cpp +126 -0
  2891. esphome/components/sht4x/sht4x.h +48 -0
  2892. esphome/components/shtcx/__init__.py +0 -0
  2893. esphome/components/shtcx/sensor.py +59 -0
  2894. esphome/components/shtcx/shtcx.cpp +121 -0
  2895. esphome/components/shtcx/shtcx.h +34 -0
  2896. esphome/components/shutdown/__init__.py +1 -0
  2897. esphome/components/shutdown/button/__init__.py +17 -0
  2898. esphome/components/shutdown/button/shutdown_button.cpp +33 -0
  2899. esphome/components/shutdown/button/shutdown_button.h +18 -0
  2900. esphome/components/shutdown/switch/__init__.py +19 -0
  2901. esphome/components/shutdown/switch/shutdown_switch.cpp +38 -0
  2902. esphome/components/shutdown/switch/shutdown_switch.h +18 -0
  2903. esphome/components/sigma_delta_output/__init__.py +1 -0
  2904. esphome/components/sigma_delta_output/output.py +61 -0
  2905. esphome/components/sigma_delta_output/sigma_delta_output.cpp +57 -0
  2906. esphome/components/sigma_delta_output/sigma_delta_output.h +47 -0
  2907. esphome/components/sim800l/__init__.py +203 -0
  2908. esphome/components/sim800l/binary_sensor.py +26 -0
  2909. esphome/components/sim800l/sensor.py +34 -0
  2910. esphome/components/sim800l/sim800l.cpp +493 -0
  2911. esphome/components/sim800l/sim800l.h +223 -0
  2912. esphome/components/slow_pwm/__init__.py +0 -0
  2913. esphome/components/slow_pwm/output.py +71 -0
  2914. esphome/components/slow_pwm/slow_pwm_output.cpp +80 -0
  2915. esphome/components/slow_pwm/slow_pwm_output.h +61 -0
  2916. esphome/components/sm10bit_base/__init__.py +40 -0
  2917. esphome/components/sm10bit_base/sm10bit_base.cpp +131 -0
  2918. esphome/components/sm10bit_base/sm10bit_base.h +63 -0
  2919. esphome/components/sm16716/__init__.py +38 -0
  2920. esphome/components/sm16716/output.py +28 -0
  2921. esphome/components/sm16716/sm16716.cpp +51 -0
  2922. esphome/components/sm16716/sm16716.h +72 -0
  2923. esphome/components/sm2135/__init__.py +67 -0
  2924. esphome/components/sm2135/output.py +29 -0
  2925. esphome/components/sm2135/sm2135.cpp +151 -0
  2926. esphome/components/sm2135/sm2135.h +90 -0
  2927. esphome/components/sm2235/__init__.py +22 -0
  2928. esphome/components/sm2235/output.py +29 -0
  2929. esphome/components/sm2235/sm2235.cpp +28 -0
  2930. esphome/components/sm2235/sm2235.h +19 -0
  2931. esphome/components/sm2335/__init__.py +22 -0
  2932. esphome/components/sm2335/output.py +29 -0
  2933. esphome/components/sm2335/sm2335.cpp +28 -0
  2934. esphome/components/sm2335/sm2335.h +19 -0
  2935. esphome/components/sm300d2/__init__.py +0 -0
  2936. esphome/components/sm300d2/sensor.py +117 -0
  2937. esphome/components/sm300d2/sm300d2.cpp +108 -0
  2938. esphome/components/sm300d2/sm300d2.h +36 -0
  2939. esphome/components/sml/__init__.py +68 -0
  2940. esphome/components/sml/automation.h +19 -0
  2941. esphome/components/sml/constants.h +27 -0
  2942. esphome/components/sml/sensor/__init__.py +30 -0
  2943. esphome/components/sml/sensor/sml_sensor.cpp +41 -0
  2944. esphome/components/sml/sensor/sml_sensor.h +16 -0
  2945. esphome/components/sml/sml.cpp +148 -0
  2946. esphome/components/sml/sml.h +48 -0
  2947. esphome/components/sml/sml_parser.cpp +153 -0
  2948. esphome/components/sml/sml_parser.h +84 -0
  2949. esphome/components/sml/text_sensor/__init__.py +41 -0
  2950. esphome/components/sml/text_sensor/sml_text_sensor.cpp +54 -0
  2951. esphome/components/sml/text_sensor/sml_text_sensor.h +21 -0
  2952. esphome/components/smt100/__init__.py +1 -0
  2953. esphome/components/smt100/sensor.py +97 -0
  2954. esphome/components/smt100/smt100.cpp +84 -0
  2955. esphome/components/smt100/smt100.h +43 -0
  2956. esphome/components/sn74hc165/__init__.py +95 -0
  2957. esphome/components/sn74hc165/sn74hc165.cpp +70 -0
  2958. esphome/components/sn74hc165/sn74hc165.h +64 -0
  2959. esphome/components/sn74hc595/__init__.py +121 -0
  2960. esphome/components/sn74hc595/sn74hc595.cpp +99 -0
  2961. esphome/components/sn74hc595/sn74hc595.h +97 -0
  2962. esphome/components/sntp/__init__.py +0 -0
  2963. esphome/components/sntp/sntp_component.cpp +106 -0
  2964. esphome/components/sntp/sntp_component.h +46 -0
  2965. esphome/components/sntp/time.py +126 -0
  2966. esphome/components/socket/__init__.py +113 -0
  2967. esphome/components/socket/bsd_sockets_impl.cpp +188 -0
  2968. esphome/components/socket/headers.h +185 -0
  2969. esphome/components/socket/lwip_raw_tcp_impl.cpp +717 -0
  2970. esphome/components/socket/lwip_sockets_impl.cpp +163 -0
  2971. esphome/components/socket/socket.cpp +118 -0
  2972. esphome/components/socket/socket.h +96 -0
  2973. esphome/components/sonoff_d1/__init__.py +1 -0
  2974. esphome/components/sonoff_d1/light.py +39 -0
  2975. esphome/components/sonoff_d1/sonoff_d1.cpp +312 -0
  2976. esphome/components/sonoff_d1/sonoff_d1.h +85 -0
  2977. esphome/components/sound_level/__init__.py +0 -0
  2978. esphome/components/sound_level/sensor.py +97 -0
  2979. esphome/components/sound_level/sound_level.cpp +196 -0
  2980. esphome/components/sound_level/sound_level.h +73 -0
  2981. esphome/components/speaker/__init__.py +147 -0
  2982. esphome/components/speaker/automation.h +88 -0
  2983. esphome/components/speaker/media_player/__init__.py +452 -0
  2984. esphome/components/speaker/media_player/audio_pipeline.cpp +577 -0
  2985. esphome/components/speaker/media_player/audio_pipeline.h +160 -0
  2986. esphome/components/speaker/media_player/automation.h +26 -0
  2987. esphome/components/speaker/media_player/speaker_media_player.cpp +555 -0
  2988. esphome/components/speaker/media_player/speaker_media_player.h +151 -0
  2989. esphome/components/speaker/speaker.h +127 -0
  2990. esphome/components/speed/__init__.py +3 -0
  2991. esphome/components/speed/fan/__init__.py +52 -0
  2992. esphome/components/speed/fan/speed_fan.cpp +48 -0
  2993. esphome/components/speed/fan/speed_fan.h +35 -0
  2994. esphome/components/spi/__init__.py +459 -0
  2995. esphome/components/spi/spi.cpp +123 -0
  2996. esphome/components/spi/spi.h +513 -0
  2997. esphome/components/spi/spi_arduino.cpp +106 -0
  2998. esphome/components/spi/spi_esp_idf.cpp +271 -0
  2999. esphome/components/spi_device/__init__.py +36 -0
  3000. esphome/components/spi_device/spi_device.cpp +27 -0
  3001. esphome/components/spi_device/spi_device.h +22 -0
  3002. esphome/components/spi_led_strip/__init__.py +2 -0
  3003. esphome/components/spi_led_strip/light.py +23 -0
  3004. esphome/components/spi_led_strip/spi_led_strip.cpp +67 -0
  3005. esphome/components/spi_led_strip/spi_led_strip.h +40 -0
  3006. esphome/components/split_buffer/__init__.py +5 -0
  3007. esphome/components/split_buffer/split_buffer.cpp +144 -0
  3008. esphome/components/split_buffer/split_buffer.h +46 -0
  3009. esphome/components/sprinkler/__init__.py +835 -0
  3010. esphome/components/sprinkler/automation.h +185 -0
  3011. esphome/components/sprinkler/sprinkler.cpp +1741 -0
  3012. esphome/components/sprinkler/sprinkler.h +611 -0
  3013. esphome/components/sps30/__init__.py +0 -0
  3014. esphome/components/sps30/automation.h +26 -0
  3015. esphome/components/sps30/sensor.py +194 -0
  3016. esphome/components/sps30/sps30.cpp +293 -0
  3017. esphome/components/sps30/sps30.h +71 -0
  3018. esphome/components/ssd1306_base/__init__.py +103 -0
  3019. esphome/components/ssd1306_base/ssd1306_base.cpp +382 -0
  3020. esphome/components/ssd1306_base/ssd1306_base.h +88 -0
  3021. esphome/components/ssd1306_i2c/__init__.py +0 -0
  3022. esphome/components/ssd1306_i2c/display.py +29 -0
  3023. esphome/components/ssd1306_i2c/ssd1306_i2c.cpp +80 -0
  3024. esphome/components/ssd1306_i2c/ssd1306_i2c.h +23 -0
  3025. esphome/components/ssd1306_spi/__init__.py +0 -0
  3026. esphome/components/ssd1306_spi/display.py +38 -0
  3027. esphome/components/ssd1306_spi/ssd1306_spi.cpp +67 -0
  3028. esphome/components/ssd1306_spi/ssd1306_spi.h +29 -0
  3029. esphome/components/ssd1322_base/__init__.py +50 -0
  3030. esphome/components/ssd1322_base/ssd1322_base.cpp +204 -0
  3031. esphome/components/ssd1322_base/ssd1322_base.h +55 -0
  3032. esphome/components/ssd1322_spi/__init__.py +0 -0
  3033. esphome/components/ssd1322_spi/display.py +38 -0
  3034. esphome/components/ssd1322_spi/ssd1322_spi.cpp +70 -0
  3035. esphome/components/ssd1322_spi/ssd1322_spi.h +30 -0
  3036. esphome/components/ssd1325_base/__init__.py +54 -0
  3037. esphome/components/ssd1325_base/ssd1325_base.cpp +245 -0
  3038. esphome/components/ssd1325_base/ssd1325_base.h +60 -0
  3039. esphome/components/ssd1325_spi/__init__.py +0 -0
  3040. esphome/components/ssd1325_spi/display.py +38 -0
  3041. esphome/components/ssd1325_spi/ssd1325_spi.cpp +58 -0
  3042. esphome/components/ssd1325_spi/ssd1325_spi.h +29 -0
  3043. esphome/components/ssd1327_base/__init__.py +41 -0
  3044. esphome/components/ssd1327_base/ssd1327_base.cpp +180 -0
  3045. esphome/components/ssd1327_base/ssd1327_base.h +54 -0
  3046. esphome/components/ssd1327_i2c/__init__.py +0 -0
  3047. esphome/components/ssd1327_i2c/display.py +29 -0
  3048. esphome/components/ssd1327_i2c/ssd1327_i2c.cpp +43 -0
  3049. esphome/components/ssd1327_i2c/ssd1327_i2c.h +23 -0
  3050. esphome/components/ssd1327_spi/__init__.py +0 -0
  3051. esphome/components/ssd1327_spi/display.py +38 -0
  3052. esphome/components/ssd1327_spi/ssd1327_spi.cpp +57 -0
  3053. esphome/components/ssd1327_spi/ssd1327_spi.h +29 -0
  3054. esphome/components/ssd1331_base/__init__.py +32 -0
  3055. esphome/components/ssd1331_base/ssd1331_base.cpp +154 -0
  3056. esphome/components/ssd1331_base/ssd1331_base.h +47 -0
  3057. esphome/components/ssd1331_spi/__init__.py +0 -0
  3058. esphome/components/ssd1331_spi/display.py +38 -0
  3059. esphome/components/ssd1331_spi/ssd1331_spi.cpp +56 -0
  3060. esphome/components/ssd1331_spi/ssd1331_spi.h +29 -0
  3061. esphome/components/ssd1351_base/__init__.py +42 -0
  3062. esphome/components/ssd1351_base/ssd1351_base.cpp +196 -0
  3063. esphome/components/ssd1351_base/ssd1351_base.h +56 -0
  3064. esphome/components/ssd1351_spi/__init__.py +0 -0
  3065. esphome/components/ssd1351_spi/display.py +38 -0
  3066. esphome/components/ssd1351_spi/ssd1351_spi.cpp +70 -0
  3067. esphome/components/ssd1351_spi/ssd1351_spi.h +30 -0
  3068. esphome/components/st7567_base/__init__.py +55 -0
  3069. esphome/components/st7567_base/st7567_base.cpp +152 -0
  3070. esphome/components/st7567_base/st7567_base.h +100 -0
  3071. esphome/components/st7567_i2c/__init__.py +1 -0
  3072. esphome/components/st7567_i2c/display.py +29 -0
  3073. esphome/components/st7567_i2c/st7567_i2c.cpp +62 -0
  3074. esphome/components/st7567_i2c/st7567_i2c.h +23 -0
  3075. esphome/components/st7567_spi/__init__.py +1 -0
  3076. esphome/components/st7567_spi/display.py +38 -0
  3077. esphome/components/st7567_spi/st7567_spi.cpp +65 -0
  3078. esphome/components/st7567_spi/st7567_spi.h +29 -0
  3079. esphome/components/st7701s/__init__.py +1 -0
  3080. esphome/components/st7701s/display.py +251 -0
  3081. esphome/components/st7701s/init_sequences.py +363 -0
  3082. esphome/components/st7701s/st7701s.cpp +193 -0
  3083. esphome/components/st7701s/st7701s.h +118 -0
  3084. esphome/components/st7735/__init__.py +3 -0
  3085. esphome/components/st7735/display.py +105 -0
  3086. esphome/components/st7735/st7735.cpp +489 -0
  3087. esphome/components/st7735/st7735.h +90 -0
  3088. esphome/components/st7789v/__init__.py +3 -0
  3089. esphome/components/st7789v/display.py +209 -0
  3090. esphome/components/st7789v/st7789v.cpp +312 -0
  3091. esphome/components/st7789v/st7789v.h +172 -0
  3092. esphome/components/st7920/__init__.py +0 -0
  3093. esphome/components/st7920/display.py +41 -0
  3094. esphome/components/st7920/st7920.cpp +146 -0
  3095. esphome/components/st7920/st7920.h +51 -0
  3096. esphome/components/statsd/__init__.py +65 -0
  3097. esphome/components/statsd/statsd.cpp +162 -0
  3098. esphome/components/statsd/statsd.h +87 -0
  3099. esphome/components/status/__init__.py +0 -0
  3100. esphome/components/status/binary_sensor.py +22 -0
  3101. esphome/components/status/status_binary_sensor.cpp +37 -0
  3102. esphome/components/status/status_binary_sensor.h +20 -0
  3103. esphome/components/status_led/__init__.py +25 -0
  3104. esphome/components/status_led/light/__init__.py +36 -0
  3105. esphome/components/status_led/light/status_led_light.cpp +75 -0
  3106. esphome/components/status_led/light/status_led_light.h +44 -0
  3107. esphome/components/status_led/status_led.cpp +34 -0
  3108. esphome/components/status_led/status_led.h +26 -0
  3109. esphome/components/stepper/__init__.py +183 -0
  3110. esphome/components/stepper/stepper.cpp +51 -0
  3111. esphome/components/stepper/stepper.h +112 -0
  3112. esphome/components/sts3x/__init__.py +0 -0
  3113. esphome/components/sts3x/sensor.py +35 -0
  3114. esphome/components/sts3x/sts3x.cpp +70 -0
  3115. esphome/components/sts3x/sts3x.h +22 -0
  3116. esphome/components/stts22h/__init__.py +1 -0
  3117. esphome/components/stts22h/sensor.py +33 -0
  3118. esphome/components/stts22h/stts22h.cpp +101 -0
  3119. esphome/components/stts22h/stts22h.h +21 -0
  3120. esphome/components/substitutions/__init__.py +239 -0
  3121. esphome/components/substitutions/jinja.py +255 -0
  3122. esphome/components/sun/__init__.py +180 -0
  3123. esphome/components/sun/sensor/__init__.py +40 -0
  3124. esphome/components/sun/sensor/sun_sensor.cpp +12 -0
  3125. esphome/components/sun/sensor/sun_sensor.h +41 -0
  3126. esphome/components/sun/sun.cpp +321 -0
  3127. esphome/components/sun/sun.h +133 -0
  3128. esphome/components/sun/text_sensor/__init__.py +59 -0
  3129. esphome/components/sun/text_sensor/sun_text_sensor.cpp +12 -0
  3130. esphome/components/sun/text_sensor/sun_text_sensor.h +44 -0
  3131. esphome/components/sun_gtil2/__init__.py +26 -0
  3132. esphome/components/sun_gtil2/sensor.py +88 -0
  3133. esphome/components/sun_gtil2/sun_gtil2.cpp +135 -0
  3134. esphome/components/sun_gtil2/sun_gtil2.h +58 -0
  3135. esphome/components/sun_gtil2/text_sensor.py +32 -0
  3136. esphome/components/switch/__init__.py +230 -0
  3137. esphome/components/switch/automation.cpp +10 -0
  3138. esphome/components/switch/automation.h +108 -0
  3139. esphome/components/switch/binary_sensor/__init__.py +31 -0
  3140. esphome/components/switch/binary_sensor/switch_binary_sensor.cpp +17 -0
  3141. esphome/components/switch/binary_sensor/switch_binary_sensor.h +21 -0
  3142. esphome/components/switch/switch.cpp +115 -0
  3143. esphome/components/switch/switch.h +150 -0
  3144. esphome/components/sx126x/__init__.py +336 -0
  3145. esphome/components/sx126x/automation.h +68 -0
  3146. esphome/components/sx126x/packet_transport/__init__.py +26 -0
  3147. esphome/components/sx126x/packet_transport/sx126x_transport.cpp +26 -0
  3148. esphome/components/sx126x/packet_transport/sx126x_transport.h +25 -0
  3149. esphome/components/sx126x/sx126x.cpp +538 -0
  3150. esphome/components/sx126x/sx126x.h +148 -0
  3151. esphome/components/sx126x/sx126x_reg.h +165 -0
  3152. esphome/components/sx127x/__init__.py +329 -0
  3153. esphome/components/sx127x/automation.h +68 -0
  3154. esphome/components/sx127x/packet_transport/__init__.py +26 -0
  3155. esphome/components/sx127x/packet_transport/sx127x_transport.cpp +26 -0
  3156. esphome/components/sx127x/packet_transport/sx127x_transport.h +25 -0
  3157. esphome/components/sx127x/sx127x.cpp +496 -0
  3158. esphome/components/sx127x/sx127x.h +128 -0
  3159. esphome/components/sx127x/sx127x_reg.h +295 -0
  3160. esphome/components/sx1509/__init__.py +154 -0
  3161. esphome/components/sx1509/binary_sensor/__init__.py +26 -0
  3162. esphome/components/sx1509/binary_sensor/sx1509_binary_keypad_sensor.h +19 -0
  3163. esphome/components/sx1509/output/__init__.py +29 -0
  3164. esphome/components/sx1509/output/sx1509_float_output.cpp +31 -0
  3165. esphome/components/sx1509/output/sx1509_float_output.h +27 -0
  3166. esphome/components/sx1509/sx1509.cpp +317 -0
  3167. esphome/components/sx1509/sx1509.h +101 -0
  3168. esphome/components/sx1509/sx1509_gpio_pin.cpp +22 -0
  3169. esphome/components/sx1509/sx1509_gpio_pin.h +33 -0
  3170. esphome/components/sx1509/sx1509_registers.h +110 -0
  3171. esphome/components/syslog/__init__.py +41 -0
  3172. esphome/components/syslog/esphome_syslog.cpp +50 -0
  3173. esphome/components/syslog/esphome_syslog.h +29 -0
  3174. esphome/components/t6615/__init__.py +0 -0
  3175. esphome/components/t6615/sensor.py +46 -0
  3176. esphome/components/t6615/t6615.cpp +97 -0
  3177. esphome/components/t6615/t6615.h +44 -0
  3178. esphome/components/tc74/__init__.py +1 -0
  3179. esphome/components/tc74/sensor.py +32 -0
  3180. esphome/components/tc74/tc74.cpp +67 -0
  3181. esphome/components/tc74/tc74.h +28 -0
  3182. esphome/components/tca9548a/__init__.py +43 -0
  3183. esphome/components/tca9548a/tca9548a.cpp +48 -0
  3184. esphome/components/tca9548a/tca9548a.h +39 -0
  3185. esphome/components/tca9555/__init__.py +72 -0
  3186. esphome/components/tca9555/tca9555.cpp +144 -0
  3187. esphome/components/tca9555/tca9555.h +66 -0
  3188. esphome/components/tcl112/__init__.py +0 -0
  3189. esphome/components/tcl112/climate.py +14 -0
  3190. esphome/components/tcl112/tcl112.cpp +244 -0
  3191. esphome/components/tcl112/tcl112.h +28 -0
  3192. esphome/components/tcs34725/__init__.py +0 -0
  3193. esphome/components/tcs34725/sensor.py +132 -0
  3194. esphome/components/tcs34725/tcs34725.cpp +353 -0
  3195. esphome/components/tcs34725/tcs34725.h +90 -0
  3196. esphome/components/tee501/__init__.py +0 -0
  3197. esphome/components/tee501/sensor.py +36 -0
  3198. esphome/components/tee501/tee501.cpp +66 -0
  3199. esphome/components/tee501/tee501.h +23 -0
  3200. esphome/components/teleinfo/__init__.py +40 -0
  3201. esphome/components/teleinfo/sensor/__init__.py +22 -0
  3202. esphome/components/teleinfo/sensor/teleinfo_sensor.cpp +14 -0
  3203. esphome/components/teleinfo/sensor/teleinfo_sensor.h +16 -0
  3204. esphome/components/teleinfo/teleinfo.cpp +209 -0
  3205. esphome/components/teleinfo/teleinfo.h +54 -0
  3206. esphome/components/teleinfo/text_sensor/__init__.py +21 -0
  3207. esphome/components/teleinfo/text_sensor/teleinfo_text_sensor.cpp +11 -0
  3208. esphome/components/teleinfo/text_sensor/teleinfo_text_sensor.h +13 -0
  3209. esphome/components/tem3200/__init__.py +0 -0
  3210. esphome/components/tem3200/sensor.py +54 -0
  3211. esphome/components/tem3200/tem3200.cpp +148 -0
  3212. esphome/components/tem3200/tem3200.h +30 -0
  3213. esphome/components/template/__init__.py +3 -0
  3214. esphome/components/template/alarm_control_panel/__init__.py +163 -0
  3215. esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp +288 -0
  3216. esphome/components/template/alarm_control_panel/template_alarm_control_panel.h +171 -0
  3217. esphome/components/template/binary_sensor/__init__.py +68 -0
  3218. esphome/components/template/binary_sensor/template_binary_sensor.cpp +25 -0
  3219. esphome/components/template/binary_sensor/template_binary_sensor.h +23 -0
  3220. esphome/components/template/button/__init__.py +11 -0
  3221. esphome/components/template/button/template_button.h +13 -0
  3222. esphome/components/template/cover/__init__.py +146 -0
  3223. esphome/components/template/cover/template_cover.cpp +135 -0
  3224. esphome/components/template/cover/template_cover.h +65 -0
  3225. esphome/components/template/datetime/__init__.py +150 -0
  3226. esphome/components/template/datetime/template_date.cpp +108 -0
  3227. esphome/components/template/datetime/template_date.h +45 -0
  3228. esphome/components/template/datetime/template_datetime.cpp +147 -0
  3229. esphome/components/template/datetime/template_datetime.h +45 -0
  3230. esphome/components/template/datetime/template_time.cpp +108 -0
  3231. esphome/components/template/datetime/template_time.h +45 -0
  3232. esphome/components/template/event/__init__.py +21 -0
  3233. esphome/components/template/event/template_event.h +10 -0
  3234. esphome/components/template/fan/__init__.py +41 -0
  3235. esphome/components/template/fan/template_fan.cpp +36 -0
  3236. esphome/components/template/fan/template_fan.h +29 -0
  3237. esphome/components/template/lock/__init__.py +99 -0
  3238. esphome/components/template/lock/automation.h +16 -0
  3239. esphome/components/template/lock/template_lock.cpp +58 -0
  3240. esphome/components/template/lock/template_lock.h +38 -0
  3241. esphome/components/template/number/__init__.py +94 -0
  3242. esphome/components/template/number/template_number.cpp +53 -0
  3243. esphome/components/template/number/template_number.h +36 -0
  3244. esphome/components/template/output/__init__.py +48 -0
  3245. esphome/components/template/output/template_output.h +29 -0
  3246. esphome/components/template/select/__init__.py +92 -0
  3247. esphome/components/template/select/template_select.cpp +65 -0
  3248. esphome/components/template/select/template_select.h +36 -0
  3249. esphome/components/template/sensor/__init__.py +53 -0
  3250. esphome/components/template/sensor/template_sensor.cpp +26 -0
  3251. esphome/components/template/sensor/template_sensor.h +23 -0
  3252. esphome/components/template/switch/__init__.py +93 -0
  3253. esphome/components/template/switch/template_switch.cpp +59 -0
  3254. esphome/components/template/switch/template_switch.h +39 -0
  3255. esphome/components/template/text/__init__.py +94 -0
  3256. esphome/components/template/text/template_text.cpp +53 -0
  3257. esphome/components/template/text/template_text.h +86 -0
  3258. esphome/components/template/text_sensor/__init__.py +52 -0
  3259. esphome/components/template/text_sensor/template_text_sensor.cpp +22 -0
  3260. esphome/components/template/text_sensor/template_text_sensor.h +24 -0
  3261. esphome/components/template/valve/__init__.py +130 -0
  3262. esphome/components/template/valve/automation.h +22 -0
  3263. esphome/components/template/valve/template_valve.cpp +129 -0
  3264. esphome/components/template/valve/template_valve.h +59 -0
  3265. esphome/components/text/__init__.py +173 -0
  3266. esphome/components/text/automation.h +33 -0
  3267. esphome/components/text/text.cpp +31 -0
  3268. esphome/components/text/text.h +51 -0
  3269. esphome/components/text/text_call.cpp +56 -0
  3270. esphome/components/text/text_call.h +25 -0
  3271. esphome/components/text/text_traits.h +41 -0
  3272. esphome/components/text_sensor/__init__.py +260 -0
  3273. esphome/components/text_sensor/automation.h +50 -0
  3274. esphome/components/text_sensor/filter.cpp +104 -0
  3275. esphome/components/text_sensor/filter.h +161 -0
  3276. esphome/components/text_sensor/text_sensor.cpp +105 -0
  3277. esphome/components/text_sensor/text_sensor.h +76 -0
  3278. esphome/components/thermopro_ble/__init__.py +0 -0
  3279. esphome/components/thermopro_ble/sensor.py +97 -0
  3280. esphome/components/thermopro_ble/thermopro_ble.cpp +204 -0
  3281. esphome/components/thermopro_ble/thermopro_ble.h +49 -0
  3282. esphome/components/thermostat/__init__.py +0 -0
  3283. esphome/components/thermostat/climate.py +1044 -0
  3284. esphome/components/thermostat/thermostat_climate.cpp +1657 -0
  3285. esphome/components/thermostat/thermostat_climate.h +558 -0
  3286. esphome/components/time/__init__.py +362 -0
  3287. esphome/components/time/automation.cpp +96 -0
  3288. esphome/components/time/automation.h +52 -0
  3289. esphome/components/time/real_time_clock.cpp +82 -0
  3290. esphome/components/time/real_time_clock.h +79 -0
  3291. esphome/components/time_based/__init__.py +0 -0
  3292. esphome/components/time_based/cover.py +58 -0
  3293. esphome/components/time_based/time_based_cover.cpp +186 -0
  3294. esphome/components/time_based/time_based_cover.h +55 -0
  3295. esphome/components/tinyusb/__init__.py +61 -0
  3296. esphome/components/tinyusb/tinyusb_component.cpp +44 -0
  3297. esphome/components/tinyusb/tinyusb_component.h +72 -0
  3298. esphome/components/tlc59208f/__init__.py +26 -0
  3299. esphome/components/tlc59208f/output.py +27 -0
  3300. esphome/components/tlc59208f/tlc59208f_output.cpp +157 -0
  3301. esphome/components/tlc59208f/tlc59208f_output.h +69 -0
  3302. esphome/components/tlc5947/__init__.py +49 -0
  3303. esphome/components/tlc5947/output/__init__.py +28 -0
  3304. esphome/components/tlc5947/output/tlc5947_output.cpp +12 -0
  3305. esphome/components/tlc5947/output/tlc5947_output.h +22 -0
  3306. esphome/components/tlc5947/tlc5947.cpp +71 -0
  3307. esphome/components/tlc5947/tlc5947.h +46 -0
  3308. esphome/components/tlc5971/__init__.py +34 -0
  3309. esphome/components/tlc5971/output/__init__.py +28 -0
  3310. esphome/components/tlc5971/output/tlc5971_output.cpp +12 -0
  3311. esphome/components/tlc5971/output/tlc5971_output.h +22 -0
  3312. esphome/components/tlc5971/tlc5971.cpp +102 -0
  3313. esphome/components/tlc5971/tlc5971.h +43 -0
  3314. esphome/components/tm1621/__init__.py +1 -0
  3315. esphome/components/tm1621/display.py +46 -0
  3316. esphome/components/tm1621/tm1621.cpp +281 -0
  3317. esphome/components/tm1621/tm1621.h +75 -0
  3318. esphome/components/tm1637/__init__.py +0 -0
  3319. esphome/components/tm1637/binary_sensor.py +25 -0
  3320. esphome/components/tm1637/display.py +52 -0
  3321. esphome/components/tm1637/tm1637.cpp +382 -0
  3322. esphome/components/tm1637/tm1637.h +103 -0
  3323. esphome/components/tm1638/__init__.py +0 -0
  3324. esphome/components/tm1638/binary_sensor/__init__.py +22 -0
  3325. esphome/components/tm1638/binary_sensor/tm1638_key.cpp +13 -0
  3326. esphome/components/tm1638/binary_sensor/tm1638_key.h +19 -0
  3327. esphome/components/tm1638/display.py +54 -0
  3328. esphome/components/tm1638/output/__init__.py +26 -0
  3329. esphome/components/tm1638/output/tm1638_output_led.cpp +17 -0
  3330. esphome/components/tm1638/output/tm1638_output_led.h +25 -0
  3331. esphome/components/tm1638/sevenseg.h +107 -0
  3332. esphome/components/tm1638/switch/__init__.py +28 -0
  3333. esphome/components/tm1638/switch/tm1638_switch_led.cpp +20 -0
  3334. esphome/components/tm1638/switch/tm1638_switch_led.h +23 -0
  3335. esphome/components/tm1638/tm1638.cpp +286 -0
  3336. esphome/components/tm1638/tm1638.h +79 -0
  3337. esphome/components/tm1651/__init__.py +136 -0
  3338. esphome/components/tm1651/tm1651.cpp +260 -0
  3339. esphome/components/tm1651/tm1651.h +101 -0
  3340. esphome/components/tmp102/__init__.py +9 -0
  3341. esphome/components/tmp102/sensor.py +44 -0
  3342. esphome/components/tmp102/tmp102.cpp +52 -0
  3343. esphome/components/tmp102/tmp102.h +19 -0
  3344. esphome/components/tmp1075/__init__.py +1 -0
  3345. esphome/components/tmp1075/sensor.py +92 -0
  3346. esphome/components/tmp1075/tmp1075.cpp +128 -0
  3347. esphome/components/tmp1075/tmp1075.h +89 -0
  3348. esphome/components/tmp117/__init__.py +0 -0
  3349. esphome/components/tmp117/sensor.py +80 -0
  3350. esphome/components/tmp117/tmp117.cpp +74 -0
  3351. esphome/components/tmp117/tmp117.h +27 -0
  3352. esphome/components/tof10120/__init__.py +0 -0
  3353. esphome/components/tof10120/sensor.py +34 -0
  3354. esphome/components/tof10120/tof10120_sensor.cpp +60 -0
  3355. esphome/components/tof10120/tof10120_sensor.h +18 -0
  3356. esphome/components/tormatic/__init__.py +1 -0
  3357. esphome/components/tormatic/cover.py +42 -0
  3358. esphome/components/tormatic/tormatic_cover.cpp +357 -0
  3359. esphome/components/tormatic/tormatic_cover.h +59 -0
  3360. esphome/components/tormatic/tormatic_protocol.h +211 -0
  3361. esphome/components/toshiba/__init__.py +0 -0
  3362. esphome/components/toshiba/climate.py +29 -0
  3363. esphome/components/toshiba/toshiba.cpp +1368 -0
  3364. esphome/components/toshiba/toshiba.h +86 -0
  3365. esphome/components/total_daily_energy/__init__.py +0 -0
  3366. esphome/components/total_daily_energy/sensor.py +92 -0
  3367. esphome/components/total_daily_energy/total_daily_energy.cpp +75 -0
  3368. esphome/components/total_daily_energy/total_daily_energy.h +45 -0
  3369. esphome/components/touchscreen/__init__.py +158 -0
  3370. esphome/components/touchscreen/binary_sensor/__init__.py +86 -0
  3371. esphome/components/touchscreen/binary_sensor/touchscreen_binary_sensor.cpp +34 -0
  3372. esphome/components/touchscreen/binary_sensor/touchscreen_binary_sensor.h +48 -0
  3373. esphome/components/touchscreen/touchscreen.cpp +166 -0
  3374. esphome/components/touchscreen/touchscreen.h +119 -0
  3375. esphome/components/tsl2561/__init__.py +0 -0
  3376. esphome/components/tsl2561/sensor.py +69 -0
  3377. esphome/components/tsl2561/tsl2561.cpp +165 -0
  3378. esphome/components/tsl2561/tsl2561.h +87 -0
  3379. esphome/components/tsl2591/__init__.py +1 -0
  3380. esphome/components/tsl2591/sensor.py +172 -0
  3381. esphome/components/tsl2591/tsl2591.cpp +479 -0
  3382. esphome/components/tsl2591/tsl2591.h +276 -0
  3383. esphome/components/tt21100/__init__.py +5 -0
  3384. esphome/components/tt21100/binary_sensor/__init__.py +31 -0
  3385. esphome/components/tt21100/binary_sensor/tt21100_button.cpp +27 -0
  3386. esphome/components/tt21100/binary_sensor/tt21100_button.h +28 -0
  3387. esphome/components/tt21100/touchscreen/__init__.py +40 -0
  3388. esphome/components/tt21100/touchscreen/tt21100.cpp +143 -0
  3389. esphome/components/tt21100/touchscreen/tt21100.h +43 -0
  3390. esphome/components/ttp229_bsf/__init__.py +30 -0
  3391. esphome/components/ttp229_bsf/binary_sensor.py +24 -0
  3392. esphome/components/ttp229_bsf/ttp229_bsf.cpp +22 -0
  3393. esphome/components/ttp229_bsf/ttp229_bsf.h +55 -0
  3394. esphome/components/ttp229_lsf/__init__.py +31 -0
  3395. esphome/components/ttp229_lsf/binary_sensor.py +24 -0
  3396. esphome/components/ttp229_lsf/ttp229_lsf.cpp +44 -0
  3397. esphome/components/ttp229_lsf/ttp229_lsf.h +37 -0
  3398. esphome/components/tuya/__init__.py +131 -0
  3399. esphome/components/tuya/automation.cpp +67 -0
  3400. esphome/components/tuya/automation.h +55 -0
  3401. esphome/components/tuya/binary_sensor/__init__.py +34 -0
  3402. esphome/components/tuya/binary_sensor/tuya_binary_sensor.cpp +22 -0
  3403. esphome/components/tuya/binary_sensor/tuya_binary_sensor.h +24 -0
  3404. esphome/components/tuya/climate/__init__.py +273 -0
  3405. esphome/components/tuya/climate/tuya_climate.cpp +495 -0
  3406. esphome/components/tuya/climate/tuya_climate.h +129 -0
  3407. esphome/components/tuya/cover/__init__.py +75 -0
  3408. esphome/components/tuya/cover/tuya_cover.cpp +140 -0
  3409. esphome/components/tuya/cover/tuya_cover.h +50 -0
  3410. esphome/components/tuya/fan/__init__.py +47 -0
  3411. esphome/components/tuya/fan/tuya_fan.cpp +107 -0
  3412. esphome/components/tuya/fan/tuya_fan.h +36 -0
  3413. esphome/components/tuya/light/__init__.py +123 -0
  3414. esphome/components/tuya/light/tuya_light.cpp +226 -0
  3415. esphome/components/tuya/light/tuya_light.h +71 -0
  3416. esphome/components/tuya/number/__init__.py +98 -0
  3417. esphome/components/tuya/number/tuya_number.cpp +95 -0
  3418. esphome/components/tuya/number/tuya_number.h +38 -0
  3419. esphome/components/tuya/select/__init__.py +61 -0
  3420. esphome/components/tuya/select/tuya_select.cpp +51 -0
  3421. esphome/components/tuya/select/tuya_select.h +36 -0
  3422. esphome/components/tuya/sensor/__init__.py +33 -0
  3423. esphome/components/tuya/sensor/tuya_sensor.cpp +34 -0
  3424. esphome/components/tuya/sensor/tuya_sensor.h +24 -0
  3425. esphome/components/tuya/switch/__init__.py +32 -0
  3426. esphome/components/tuya/switch/tuya_switch.cpp +28 -0
  3427. esphome/components/tuya/switch/tuya_switch.h +26 -0
  3428. esphome/components/tuya/text_sensor/__init__.py +33 -0
  3429. esphome/components/tuya/text_sensor/tuya_text_sensor.cpp +41 -0
  3430. esphome/components/tuya/text_sensor/tuya_text_sensor.h +24 -0
  3431. esphome/components/tuya/tuya.cpp +739 -0
  3432. esphome/components/tuya/tuya.h +166 -0
  3433. esphome/components/tx20/__init__.py +0 -0
  3434. esphome/components/tx20/sensor.py +54 -0
  3435. esphome/components/tx20/tx20.cpp +196 -0
  3436. esphome/components/tx20/tx20.h +52 -0
  3437. esphome/components/uart/__init__.py +546 -0
  3438. esphome/components/uart/automation.h +43 -0
  3439. esphome/components/uart/button/__init__.py +36 -0
  3440. esphome/components/uart/button/uart_button.cpp +15 -0
  3441. esphome/components/uart/button/uart_button.h +23 -0
  3442. esphome/components/uart/packet_transport/__init__.py +20 -0
  3443. esphome/components/uart/packet_transport/uart_transport.cpp +87 -0
  3444. esphome/components/uart/packet_transport/uart_transport.h +39 -0
  3445. esphome/components/uart/switch/__init__.py +59 -0
  3446. esphome/components/uart/switch/uart_switch.cpp +60 -0
  3447. esphome/components/uart/switch/uart_switch.h +35 -0
  3448. esphome/components/uart/uart.cpp +45 -0
  3449. esphome/components/uart/uart.h +76 -0
  3450. esphome/components/uart/uart_component.cpp +30 -0
  3451. esphome/components/uart/uart_component.h +201 -0
  3452. esphome/components/uart/uart_component_esp8266.cpp +334 -0
  3453. esphome/components/uart/uart_component_esp8266.h +91 -0
  3454. esphome/components/uart/uart_component_esp_idf.cpp +409 -0
  3455. esphome/components/uart/uart_component_esp_idf.h +66 -0
  3456. esphome/components/uart/uart_component_host.cpp +299 -0
  3457. esphome/components/uart/uart_component_host.h +35 -0
  3458. esphome/components/uart/uart_component_libretiny.cpp +190 -0
  3459. esphome/components/uart/uart_component_libretiny.h +40 -0
  3460. esphome/components/uart/uart_component_rp2040.cpp +196 -0
  3461. esphome/components/uart/uart_component_rp2040.h +43 -0
  3462. esphome/components/uart/uart_debugger.cpp +200 -0
  3463. esphome/components/uart/uart_debugger.h +99 -0
  3464. esphome/components/udp/__init__.py +165 -0
  3465. esphome/components/udp/automation.h +45 -0
  3466. esphome/components/udp/binary_sensor.py +5 -0
  3467. esphome/components/udp/packet_transport/__init__.py +29 -0
  3468. esphome/components/udp/packet_transport/udp_transport.cpp +36 -0
  3469. esphome/components/udp/packet_transport/udp_transport.h +28 -0
  3470. esphome/components/udp/sensor.py +5 -0
  3471. esphome/components/udp/udp_component.cpp +164 -0
  3472. esphome/components/udp/udp_component.h +59 -0
  3473. esphome/components/ufire_ec/__init__.py +1 -0
  3474. esphome/components/ufire_ec/sensor.py +125 -0
  3475. esphome/components/ufire_ec/ufire_ec.cpp +118 -0
  3476. esphome/components/ufire_ec/ufire_ec.h +87 -0
  3477. esphome/components/ufire_ise/__init__.py +1 -0
  3478. esphome/components/ufire_ise/sensor.py +126 -0
  3479. esphome/components/ufire_ise/ufire_ise.cpp +151 -0
  3480. esphome/components/ufire_ise/ufire_ise.h +95 -0
  3481. esphome/components/uln2003/__init__.py +0 -0
  3482. esphome/components/uln2003/stepper.py +56 -0
  3483. esphome/components/uln2003/uln2003.cpp +92 -0
  3484. esphome/components/uln2003/uln2003.h +44 -0
  3485. esphome/components/ultrasonic/__init__.py +1 -0
  3486. esphome/components/ultrasonic/sensor.py +53 -0
  3487. esphome/components/ultrasonic/ultrasonic_sensor.cpp +64 -0
  3488. esphome/components/ultrasonic/ultrasonic_sensor.h +46 -0
  3489. esphome/components/update/__init__.py +160 -0
  3490. esphome/components/update/automation.h +23 -0
  3491. esphome/components/update/update_entity.cpp +42 -0
  3492. esphome/components/update/update_entity.h +58 -0
  3493. esphome/components/uponor_smatrix/__init__.py +81 -0
  3494. esphome/components/uponor_smatrix/climate/__init__.py +28 -0
  3495. esphome/components/uponor_smatrix/climate/uponor_smatrix_climate.cpp +101 -0
  3496. esphome/components/uponor_smatrix/climate/uponor_smatrix_climate.h +28 -0
  3497. esphome/components/uponor_smatrix/sensor/__init__.py +80 -0
  3498. esphome/components/uponor_smatrix/sensor/uponor_smatrix_sensor.cpp +44 -0
  3499. esphome/components/uponor_smatrix/sensor/uponor_smatrix_sensor.h +24 -0
  3500. esphome/components/uponor_smatrix/uponor_smatrix.cpp +217 -0
  3501. esphome/components/uponor_smatrix/uponor_smatrix.h +127 -0
  3502. esphome/components/uptime/__init__.py +0 -0
  3503. esphome/components/uptime/sensor/__init__.py +61 -0
  3504. esphome/components/uptime/sensor/uptime_seconds_sensor.cpp +37 -0
  3505. esphome/components/uptime/sensor/uptime_seconds_sensor.h +21 -0
  3506. esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp +39 -0
  3507. esphome/components/uptime/sensor/uptime_timestamp_sensor.h +30 -0
  3508. esphome/components/uptime/text_sensor/__init__.py +59 -0
  3509. esphome/components/uptime/text_sensor/uptime_text_sensor.cpp +68 -0
  3510. esphome/components/uptime/text_sensor/uptime_text_sensor.h +44 -0
  3511. esphome/components/usb_cdc_acm/__init__.py +76 -0
  3512. esphome/components/usb_cdc_acm/usb_cdc_acm.cpp +495 -0
  3513. esphome/components/usb_cdc_acm/usb_cdc_acm.h +135 -0
  3514. esphome/components/usb_host/__init__.py +83 -0
  3515. esphome/components/usb_host/usb_host.h +191 -0
  3516. esphome/components/usb_host/usb_host_client.cpp +534 -0
  3517. esphome/components/usb_host/usb_host_component.cpp +34 -0
  3518. esphome/components/usb_uart/__init__.py +138 -0
  3519. esphome/components/usb_uart/ch34x.cpp +81 -0
  3520. esphome/components/usb_uart/cp210x.cpp +126 -0
  3521. esphome/components/usb_uart/usb_uart.cpp +395 -0
  3522. esphome/components/usb_uart/usb_uart.h +176 -0
  3523. esphome/components/valve/__init__.py +233 -0
  3524. esphome/components/valve/automation.h +111 -0
  3525. esphome/components/valve/valve.cpp +185 -0
  3526. esphome/components/valve/valve.h +153 -0
  3527. esphome/components/valve/valve_traits.h +27 -0
  3528. esphome/components/vbus/__init__.py +33 -0
  3529. esphome/components/vbus/binary_sensor/__init__.py +349 -0
  3530. esphome/components/vbus/binary_sensor/vbus_binary_sensor.cpp +165 -0
  3531. esphome/components/vbus/binary_sensor/vbus_binary_sensor.h +136 -0
  3532. esphome/components/vbus/sensor/__init__.py +691 -0
  3533. esphome/components/vbus/sensor/vbus_sensor.cpp +250 -0
  3534. esphome/components/vbus/sensor/vbus_sensor.h +182 -0
  3535. esphome/components/vbus/vbus.cpp +125 -0
  3536. esphome/components/vbus/vbus.h +51 -0
  3537. esphome/components/veml3235/__init__.py +0 -0
  3538. esphome/components/veml3235/sensor.py +84 -0
  3539. esphome/components/veml3235/veml3235.cpp +229 -0
  3540. esphome/components/veml3235/veml3235.h +108 -0
  3541. esphome/components/veml7700/__init__.py +1 -0
  3542. esphome/components/veml7700/sensor.py +190 -0
  3543. esphome/components/veml7700/veml7700.cpp +438 -0
  3544. esphome/components/veml7700/veml7700.h +200 -0
  3545. esphome/components/version/__init__.py +1 -0
  3546. esphome/components/version/text_sensor.py +29 -0
  3547. esphome/components/version/version_text_sensor.cpp +24 -0
  3548. esphome/components/version/version_text_sensor.h +21 -0
  3549. esphome/components/vl53l0x/LICENSE.txt +80 -0
  3550. esphome/components/vl53l0x/__init__.py +0 -0
  3551. esphome/components/vl53l0x/sensor.py +87 -0
  3552. esphome/components/vl53l0x/vl53l0x_sensor.cpp +534 -0
  3553. esphome/components/vl53l0x/vl53l0x_sensor.h +75 -0
  3554. esphome/components/voice_assistant/__init__.py +435 -0
  3555. esphome/components/voice_assistant/voice_assistant.cpp +999 -0
  3556. esphome/components/voice_assistant/voice_assistant.h +363 -0
  3557. esphome/components/voltage_sampler/__init__.py +4 -0
  3558. esphome/components/voltage_sampler/voltage_sampler.h +16 -0
  3559. esphome/components/wake_on_lan/__init__.py +1 -0
  3560. esphome/components/wake_on_lan/button.py +37 -0
  3561. esphome/components/wake_on_lan/wake_on_lan.cpp +89 -0
  3562. esphome/components/wake_on_lan/wake_on_lan.h +36 -0
  3563. esphome/components/watchdog/__init__.py +1 -0
  3564. esphome/components/watchdog/watchdog.cpp +71 -0
  3565. esphome/components/watchdog/watchdog.h +24 -0
  3566. esphome/components/waveshare_epaper/__init__.py +1 -0
  3567. esphome/components/waveshare_epaper/display.py +261 -0
  3568. esphome/components/waveshare_epaper/waveshare_213v3.cpp +192 -0
  3569. esphome/components/waveshare_epaper/waveshare_epaper.cpp +4754 -0
  3570. esphome/components/waveshare_epaper/waveshare_epaper.h +1103 -0
  3571. esphome/components/web_server/__init__.py +348 -0
  3572. esphome/components/web_server/list_entities.cpp +155 -0
  3573. esphome/components/web_server/list_entities.h +101 -0
  3574. esphome/components/web_server/ota/__init__.py +89 -0
  3575. esphome/components/web_server/ota/ota_web_server.cpp +246 -0
  3576. esphome/components/web_server/ota/ota_web_server.h +26 -0
  3577. esphome/components/web_server/server_index_v2.h +651 -0
  3578. esphome/components/web_server/server_index_v3.h +4055 -0
  3579. esphome/components/web_server/web_server.cpp +2088 -0
  3580. esphome/components/web_server/web_server.h +604 -0
  3581. esphome/components/web_server/web_server_v1.cpp +219 -0
  3582. esphome/components/web_server_base/__init__.py +49 -0
  3583. esphome/components/web_server_base/web_server_base.cpp +35 -0
  3584. esphome/components/web_server_base/web_server_base.h +142 -0
  3585. esphome/components/web_server_idf/__init__.py +14 -0
  3586. esphome/components/web_server_idf/multipart.cpp +254 -0
  3587. esphome/components/web_server_idf/multipart.h +86 -0
  3588. esphome/components/web_server_idf/utils.cpp +125 -0
  3589. esphome/components/web_server_idf/utils.h +27 -0
  3590. esphome/components/web_server_idf/web_server_idf.cpp +895 -0
  3591. esphome/components/web_server_idf/web_server_idf.h +353 -0
  3592. esphome/components/weikai/__init__.py +110 -0
  3593. esphome/components/weikai/weikai.cpp +565 -0
  3594. esphome/components/weikai/weikai.h +445 -0
  3595. esphome/components/weikai/wk_reg_def.h +304 -0
  3596. esphome/components/weikai_i2c/__init__.py +1 -0
  3597. esphome/components/weikai_i2c/weikai_i2c.cpp +181 -0
  3598. esphome/components/weikai_i2c/weikai_i2c.h +61 -0
  3599. esphome/components/weikai_spi/__init__.py +1 -0
  3600. esphome/components/weikai_spi/weikai_spi.cpp +194 -0
  3601. esphome/components/weikai_spi/weikai_spi.h +54 -0
  3602. esphome/components/whirlpool/__init__.py +0 -0
  3603. esphome/components/whirlpool/climate.py +27 -0
  3604. esphome/components/whirlpool/whirlpool.cpp +296 -0
  3605. esphome/components/whirlpool/whirlpool.h +65 -0
  3606. esphome/components/whynter/__init__.py +1 -0
  3607. esphome/components/whynter/climate.py +21 -0
  3608. esphome/components/whynter/whynter.cpp +181 -0
  3609. esphome/components/whynter/whynter.h +53 -0
  3610. esphome/components/wiegand/__init__.py +77 -0
  3611. esphome/components/wiegand/wiegand.cpp +127 -0
  3612. esphome/components/wiegand/wiegand.h +54 -0
  3613. esphome/components/wifi/__init__.py +711 -0
  3614. esphome/components/wifi/automation.h +116 -0
  3615. esphome/components/wifi/wifi_component.cpp +1830 -0
  3616. esphome/components/wifi/wifi_component.h +666 -0
  3617. esphome/components/wifi/wifi_component_esp8266.cpp +920 -0
  3618. esphome/components/wifi/wifi_component_esp_idf.cpp +1124 -0
  3619. esphome/components/wifi/wifi_component_libretiny.cpp +551 -0
  3620. esphome/components/wifi/wifi_component_pico_w.cpp +301 -0
  3621. esphome/components/wifi/wpa2_eap.py +152 -0
  3622. esphome/components/wifi_info/__init__.py +0 -0
  3623. esphome/components/wifi_info/text_sensor.py +109 -0
  3624. esphome/components/wifi_info/wifi_info_text_sensor.cpp +172 -0
  3625. esphome/components/wifi_info/wifi_info_text_sensor.h +89 -0
  3626. esphome/components/wifi_signal/__init__.py +0 -0
  3627. esphome/components/wifi_signal/sensor.py +30 -0
  3628. esphome/components/wifi_signal/wifi_signal_sensor.cpp +12 -0
  3629. esphome/components/wifi_signal/wifi_signal_sensor.h +31 -0
  3630. esphome/components/wireguard/__init__.py +175 -0
  3631. esphome/components/wireguard/binary_sensor.py +35 -0
  3632. esphome/components/wireguard/sensor.py +26 -0
  3633. esphome/components/wireguard/text_sensor.py +23 -0
  3634. esphome/components/wireguard/wireguard.cpp +300 -0
  3635. esphome/components/wireguard/wireguard.h +174 -0
  3636. esphome/components/wk2132_i2c/__init__.py +30 -0
  3637. esphome/components/wk2132_i2c/wk2132_i2c.cpp +4 -0
  3638. esphome/components/wk2132_spi/__init__.py +30 -0
  3639. esphome/components/wk2168_i2c/__init__.py +59 -0
  3640. esphome/components/wk2168_spi/__init__.py +57 -0
  3641. esphome/components/wk2204_i2c/__init__.py +30 -0
  3642. esphome/components/wk2204_spi/__init__.py +30 -0
  3643. esphome/components/wk2212_i2c/__init__.py +59 -0
  3644. esphome/components/wk2212_spi/__init__.py +57 -0
  3645. esphome/components/wl_134/__init__.py +0 -0
  3646. esphome/components/wl_134/text_sensor.py +28 -0
  3647. esphome/components/wl_134/wl_134.cpp +113 -0
  3648. esphome/components/wl_134/wl_134.h +63 -0
  3649. esphome/components/wled/__init__.py +30 -0
  3650. esphome/components/wled/wled_light_effect.cpp +287 -0
  3651. esphome/components/wled/wled_light_effect.h +47 -0
  3652. esphome/components/wts01/__init__.py +0 -0
  3653. esphome/components/wts01/sensor.py +41 -0
  3654. esphome/components/wts01/wts01.cpp +91 -0
  3655. esphome/components/wts01/wts01.h +27 -0
  3656. esphome/components/x9c/__init__.py +0 -0
  3657. esphome/components/x9c/output.py +55 -0
  3658. esphome/components/x9c/x9c.cpp +77 -0
  3659. esphome/components/x9c/x9c.h +34 -0
  3660. esphome/components/xgzp68xx/__init__.py +1 -0
  3661. esphome/components/xgzp68xx/sensor.py +81 -0
  3662. esphome/components/xgzp68xx/xgzp68xx.cpp +122 -0
  3663. esphome/components/xgzp68xx/xgzp68xx.h +47 -0
  3664. esphome/components/xiaomi_ble/__init__.py +22 -0
  3665. esphome/components/xiaomi_ble/xiaomi_ble.cpp +410 -0
  3666. esphome/components/xiaomi_ble/xiaomi_ble.h +84 -0
  3667. esphome/components/xiaomi_cgd1/__init__.py +0 -0
  3668. esphome/components/xiaomi_cgd1/sensor.py +76 -0
  3669. esphome/components/xiaomi_cgd1/xiaomi_cgd1.cpp +75 -0
  3670. esphome/components/xiaomi_cgd1/xiaomi_cgd1.h +35 -0
  3671. esphome/components/xiaomi_cgdk2/__init__.py +0 -0
  3672. esphome/components/xiaomi_cgdk2/sensor.py +76 -0
  3673. esphome/components/xiaomi_cgdk2/xiaomi_cgdk2.cpp +75 -0
  3674. esphome/components/xiaomi_cgdk2/xiaomi_cgdk2.h +35 -0
  3675. esphome/components/xiaomi_cgg1/__init__.py +0 -0
  3676. esphome/components/xiaomi_cgg1/sensor.py +77 -0
  3677. esphome/components/xiaomi_cgg1/xiaomi_cgg1.cpp +75 -0
  3678. esphome/components/xiaomi_cgg1/xiaomi_cgg1.h +36 -0
  3679. esphome/components/xiaomi_cgpr1/__init__.py +0 -0
  3680. esphome/components/xiaomi_cgpr1/binary_sensor.py +77 -0
  3681. esphome/components/xiaomi_cgpr1/xiaomi_cgpr1.cpp +75 -0
  3682. esphome/components/xiaomi_cgpr1/xiaomi_cgpr1.h +39 -0
  3683. esphome/components/xiaomi_gcls002/__init__.py +0 -0
  3684. esphome/components/xiaomi_gcls002/sensor.py +84 -0
  3685. esphome/components/xiaomi_gcls002/xiaomi_gcls002.cpp +62 -0
  3686. esphome/components/xiaomi_gcls002/xiaomi_gcls002.h +36 -0
  3687. esphome/components/xiaomi_hhccjcy01/__init__.py +0 -0
  3688. esphome/components/xiaomi_hhccjcy01/sensor.py +97 -0
  3689. esphome/components/xiaomi_hhccjcy01/xiaomi_hhccjcy01.cpp +65 -0
  3690. esphome/components/xiaomi_hhccjcy01/xiaomi_hhccjcy01.h +38 -0
  3691. esphome/components/xiaomi_hhccjcy10/__init__.py +1 -0
  3692. esphome/components/xiaomi_hhccjcy10/sensor.py +96 -0
  3693. esphome/components/xiaomi_hhccjcy10/xiaomi_hhccjcy10.cpp +68 -0
  3694. esphome/components/xiaomi_hhccjcy10/xiaomi_hhccjcy10.h +37 -0
  3695. esphome/components/xiaomi_hhccpot002/__init__.py +0 -0
  3696. esphome/components/xiaomi_hhccpot002/sensor.py +60 -0
  3697. esphome/components/xiaomi_hhccpot002/xiaomi_hhccpot002.cpp +56 -0
  3698. esphome/components/xiaomi_hhccpot002/xiaomi_hhccpot002.h +32 -0
  3699. esphome/components/xiaomi_jqjcy01ym/__init__.py +0 -0
  3700. esphome/components/xiaomi_jqjcy01ym/sensor.py +85 -0
  3701. esphome/components/xiaomi_jqjcy01ym/xiaomi_jqjcy01ym.cpp +62 -0
  3702. esphome/components/xiaomi_jqjcy01ym/xiaomi_jqjcy01ym.h +36 -0
  3703. esphome/components/xiaomi_lywsd02/__init__.py +0 -0
  3704. esphome/components/xiaomi_lywsd02/sensor.py +73 -0
  3705. esphome/components/xiaomi_lywsd02/xiaomi_lywsd02.cpp +59 -0
  3706. esphome/components/xiaomi_lywsd02/xiaomi_lywsd02.h +34 -0
  3707. esphome/components/xiaomi_lywsd02mmc/__init__.py +0 -0
  3708. esphome/components/xiaomi_lywsd02mmc/sensor.py +77 -0
  3709. esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.cpp +75 -0
  3710. esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.h +36 -0
  3711. esphome/components/xiaomi_lywsd03mmc/__init__.py +0 -0
  3712. esphome/components/xiaomi_lywsd03mmc/sensor.py +78 -0
  3713. esphome/components/xiaomi_lywsd03mmc/xiaomi_lywsd03mmc.cpp +79 -0
  3714. esphome/components/xiaomi_lywsd03mmc/xiaomi_lywsd03mmc.h +35 -0
  3715. esphome/components/xiaomi_lywsdcgq/__init__.py +0 -0
  3716. esphome/components/xiaomi_lywsdcgq/sensor.py +73 -0
  3717. esphome/components/xiaomi_lywsdcgq/xiaomi_lywsdcgq.cpp +59 -0
  3718. esphome/components/xiaomi_lywsdcgq/xiaomi_lywsdcgq.h +34 -0
  3719. esphome/components/xiaomi_mhoc303/__init__.py +1 -0
  3720. esphome/components/xiaomi_mhoc303/sensor.py +73 -0
  3721. esphome/components/xiaomi_mhoc303/xiaomi_mhoc303.cpp +59 -0
  3722. esphome/components/xiaomi_mhoc303/xiaomi_mhoc303.h +34 -0
  3723. esphome/components/xiaomi_mhoc401/__init__.py +0 -0
  3724. esphome/components/xiaomi_mhoc401/sensor.py +77 -0
  3725. esphome/components/xiaomi_mhoc401/xiaomi_mhoc401.cpp +79 -0
  3726. esphome/components/xiaomi_mhoc401/xiaomi_mhoc401.h +35 -0
  3727. esphome/components/xiaomi_miscale/__init__.py +0 -0
  3728. esphome/components/xiaomi_miscale/sensor.py +62 -0
  3729. esphome/components/xiaomi_miscale/xiaomi_miscale.cpp +169 -0
  3730. esphome/components/xiaomi_miscale/xiaomi_miscale.h +46 -0
  3731. esphome/components/xiaomi_miscale2/__init__.py +0 -0
  3732. esphome/components/xiaomi_miscale2/sensor.py +5 -0
  3733. esphome/components/xiaomi_mjyd02yla/__init__.py +0 -0
  3734. esphome/components/xiaomi_mjyd02yla/binary_sensor.py +89 -0
  3735. esphome/components/xiaomi_mjyd02yla/xiaomi_mjyd02yla.cpp +78 -0
  3736. esphome/components/xiaomi_mjyd02yla/xiaomi_mjyd02yla.h +41 -0
  3737. esphome/components/xiaomi_mue4094rt/__init__.py +0 -0
  3738. esphome/components/xiaomi_mue4094rt/binary_sensor.py +40 -0
  3739. esphome/components/xiaomi_mue4094rt/xiaomi_mue4094rt.cpp +55 -0
  3740. esphome/components/xiaomi_mue4094rt/xiaomi_mue4094rt.h +32 -0
  3741. esphome/components/xiaomi_rtcgq02lm/__init__.py +35 -0
  3742. esphome/components/xiaomi_rtcgq02lm/binary_sensor.py +63 -0
  3743. esphome/components/xiaomi_rtcgq02lm/sensor.py +37 -0
  3744. esphome/components/xiaomi_rtcgq02lm/xiaomi_rtcgq02lm.cpp +91 -0
  3745. esphome/components/xiaomi_rtcgq02lm/xiaomi_rtcgq02lm.h +60 -0
  3746. esphome/components/xiaomi_wx08zm/__init__.py +0 -0
  3747. esphome/components/xiaomi_wx08zm/binary_sensor.py +63 -0
  3748. esphome/components/xiaomi_wx08zm/xiaomi_wx08zm.cpp +60 -0
  3749. esphome/components/xiaomi_wx08zm/xiaomi_wx08zm.h +35 -0
  3750. esphome/components/xiaomi_xmwsdj04mmc/__init__.py +0 -0
  3751. esphome/components/xiaomi_xmwsdj04mmc/sensor.py +77 -0
  3752. esphome/components/xiaomi_xmwsdj04mmc/xiaomi_xmwsdj04mmc.cpp +77 -0
  3753. esphome/components/xiaomi_xmwsdj04mmc/xiaomi_xmwsdj04mmc.h +36 -0
  3754. esphome/components/xl9535/__init__.py +79 -0
  3755. esphome/components/xl9535/xl9535.cpp +120 -0
  3756. esphome/components/xl9535/xl9535.h +56 -0
  3757. esphome/components/xpt2046/__init__.py +5 -0
  3758. esphome/components/xpt2046/touchscreen/__init__.py +43 -0
  3759. esphome/components/xpt2046/touchscreen/xpt2046.cpp +113 -0
  3760. esphome/components/xpt2046/touchscreen/xpt2046.h +41 -0
  3761. esphome/components/xxtea/__init__.py +3 -0
  3762. esphome/components/xxtea/xxtea.cpp +46 -0
  3763. esphome/components/xxtea/xxtea.h +26 -0
  3764. esphome/components/yashima/__init__.py +0 -0
  3765. esphome/components/yashima/climate.py +39 -0
  3766. esphome/components/yashima/yashima.cpp +199 -0
  3767. esphome/components/yashima/yashima.h +40 -0
  3768. esphome/components/zephyr/__init__.py +263 -0
  3769. esphome/components/zephyr/const.py +16 -0
  3770. esphome/components/zephyr/core.cpp +98 -0
  3771. esphome/components/zephyr/gpio.cpp +123 -0
  3772. esphome/components/zephyr/gpio.h +38 -0
  3773. esphome/components/zephyr/pre_build.py.script +4 -0
  3774. esphome/components/zephyr/preferences.cpp +156 -0
  3775. esphome/components/zephyr/preferences.h +13 -0
  3776. esphome/components/zephyr_ble_server/__init__.py +34 -0
  3777. esphome/components/zephyr_ble_server/ble_server.cpp +100 -0
  3778. esphome/components/zephyr_ble_server/ble_server.h +19 -0
  3779. esphome/components/zhlt01/__init__.py +0 -0
  3780. esphome/components/zhlt01/climate.py +14 -0
  3781. esphome/components/zhlt01/zhlt01.cpp +238 -0
  3782. esphome/components/zhlt01/zhlt01.h +167 -0
  3783. esphome/components/zio_ultrasonic/__init__.py +0 -0
  3784. esphome/components/zio_ultrasonic/sensor.py +31 -0
  3785. esphome/components/zio_ultrasonic/zio_ultrasonic.cpp +31 -0
  3786. esphome/components/zio_ultrasonic/zio_ultrasonic.h +20 -0
  3787. esphome/components/zwave_proxy/__init__.py +46 -0
  3788. esphome/components/zwave_proxy/zwave_proxy.cpp +346 -0
  3789. esphome/components/zwave_proxy/zwave_proxy.h +91 -0
  3790. esphome/components/zyaura/__init__.py +0 -0
  3791. esphome/components/zyaura/sensor.py +71 -0
  3792. esphome/components/zyaura/zyaura.cpp +125 -0
  3793. esphome/components/zyaura/zyaura.h +85 -0
  3794. esphome/config.py +1356 -0
  3795. esphome/config_helpers.py +155 -0
  3796. esphome/config_validation.py +2220 -0
  3797. esphome/const.py +1378 -0
  3798. esphome/core/__init__.py +974 -0
  3799. esphome/core/application.cpp +714 -0
  3800. esphome/core/application.h +646 -0
  3801. esphome/core/area.h +19 -0
  3802. esphome/core/automation.h +367 -0
  3803. esphome/core/base_automation.h +554 -0
  3804. esphome/core/color.cpp +23 -0
  3805. esphome/core/color.h +188 -0
  3806. esphome/core/component.cpp +506 -0
  3807. esphome/core/component.h +530 -0
  3808. esphome/core/component_iterator.cpp +197 -0
  3809. esphome/core/component_iterator.h +192 -0
  3810. esphome/core/config.py +639 -0
  3811. esphome/core/controller.h +134 -0
  3812. esphome/core/controller_registry.cpp +114 -0
  3813. esphome/core/controller_registry.h +245 -0
  3814. esphome/core/datatypes.h +61 -0
  3815. esphome/core/defines.h +337 -0
  3816. esphome/core/device.h +20 -0
  3817. esphome/core/doxygen.h +13 -0
  3818. esphome/core/entity_base.cpp +109 -0
  3819. esphome/core/entity_base.h +253 -0
  3820. esphome/core/entity_helpers.py +272 -0
  3821. esphome/core/event_pool.h +81 -0
  3822. esphome/core/finite_set_mask.h +171 -0
  3823. esphome/core/gpio.h +106 -0
  3824. esphome/core/hal.h +53 -0
  3825. esphome/core/hash_base.h +56 -0
  3826. esphome/core/helpers.cpp +711 -0
  3827. esphome/core/helpers.h +1253 -0
  3828. esphome/core/lock_free_queue.h +146 -0
  3829. esphome/core/log.cpp +62 -0
  3830. esphome/core/log.h +204 -0
  3831. esphome/core/log_const_en.h +4 -0
  3832. esphome/core/macros.h +12 -0
  3833. esphome/core/optional.h +220 -0
  3834. esphome/core/preferences.h +70 -0
  3835. esphome/core/progmem.h +16 -0
  3836. esphome/core/ring_buffer.cpp +131 -0
  3837. esphome/core/ring_buffer.h +99 -0
  3838. esphome/core/scheduler.cpp +822 -0
  3839. esphome/core/scheduler.h +508 -0
  3840. esphome/core/string_ref.h +147 -0
  3841. esphome/core/template_lambda.h +51 -0
  3842. esphome/core/time.cpp +224 -0
  3843. esphome/core/time.h +126 -0
  3844. esphome/core/util.cpp +37 -0
  3845. esphome/core/util.h +15 -0
  3846. esphome/core/version.h +12 -0
  3847. esphome/coroutine.py +348 -0
  3848. esphome/cpp_generator.py +1041 -0
  3849. esphome/cpp_helpers.py +126 -0
  3850. esphome/cpp_types.py +46 -0
  3851. esphome/dashboard/__init__.py +0 -0
  3852. esphome/dashboard/const.py +29 -0
  3853. esphome/dashboard/core.py +190 -0
  3854. esphome/dashboard/dashboard.py +152 -0
  3855. esphome/dashboard/dns.py +58 -0
  3856. esphome/dashboard/entries.py +458 -0
  3857. esphome/dashboard/models.py +76 -0
  3858. esphome/dashboard/settings.py +98 -0
  3859. esphome/dashboard/status/__init__.py +0 -0
  3860. esphome/dashboard/status/mdns.py +170 -0
  3861. esphome/dashboard/status/mqtt.py +78 -0
  3862. esphome/dashboard/status/ping.py +151 -0
  3863. esphome/dashboard/util/__init__.py +0 -0
  3864. esphome/dashboard/util/itertools.py +22 -0
  3865. esphome/dashboard/util/password.py +11 -0
  3866. esphome/dashboard/util/subprocess.py +31 -0
  3867. esphome/dashboard/util/text.py +9 -0
  3868. esphome/dashboard/web_server.py +1620 -0
  3869. esphome/enum.py +20 -0
  3870. esphome/espota2.py +445 -0
  3871. esphome/external_files.py +106 -0
  3872. esphome/final_validate.py +58 -0
  3873. esphome/git.py +283 -0
  3874. esphome/helpers.py +559 -0
  3875. esphome/loader.py +233 -0
  3876. esphome/log.py +93 -0
  3877. esphome/mqtt.py +305 -0
  3878. esphome/pins.py +340 -0
  3879. esphome/platformio_api.py +422 -0
  3880. esphome/resolver.py +67 -0
  3881. esphome/schema_extractors.py +92 -0
  3882. esphome/storage_json.py +303 -0
  3883. esphome/types.py +58 -0
  3884. esphome/util.py +380 -0
  3885. esphome/voluptuous_schema.py +234 -0
  3886. esphome/vscode.py +146 -0
  3887. esphome/wizard.py +559 -0
  3888. esphome/writer.py +412 -0
  3889. esphome/yaml_util.py +635 -0
  3890. esphome/zeroconf.py +202 -0
  3891. esphome-2025.12.0b2.dist-info/METADATA +86 -0
  3892. esphome-2025.12.0b2.dist-info/RECORD +3896 -0
  3893. esphome-2025.12.0b2.dist-info/WHEEL +5 -0
  3894. esphome-2025.12.0b2.dist-info/entry_points.txt +2 -0
  3895. esphome-2025.12.0b2.dist-info/licenses/LICENSE +709 -0
  3896. esphome-2025.12.0b2.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1499 @@
1
+ #pragma once
2
+
3
+ #include <deque>
4
+ #include <vector>
5
+
6
+ #include "esphome/core/defines.h"
7
+ #include "esphome/core/time.h"
8
+
9
+ #include "esphome/components/uart/uart.h"
10
+ #include "nextion_base.h"
11
+ #include "nextion_component.h"
12
+ #include "esphome/components/display/display.h"
13
+ #include "esphome/components/display/display_color_utils.h"
14
+
15
+ #ifdef USE_NEXTION_TFT_UPLOAD
16
+ #ifdef USE_ARDUINO
17
+ #ifdef USE_ESP32
18
+ #include <HTTPClient.h>
19
+ #endif // USE_ESP32
20
+ #ifdef USE_ESP8266
21
+ #include <ESP8266HTTPClient.h>
22
+ #include <WiFiClientSecure.h>
23
+ #endif // USE_ESP8266
24
+ #elif defined(USE_ESP_IDF)
25
+ #include <esp_http_client.h>
26
+ #endif // ARDUINO vs USE_ESP_IDF
27
+ #endif // USE_NEXTION_TFT_UPLOAD
28
+
29
+ namespace esphome {
30
+ namespace nextion {
31
+
32
+ class Nextion;
33
+ class NextionComponentBase;
34
+
35
+ using nextion_writer_t = display::DisplayWriter<Nextion>;
36
+
37
+ static const std::string COMMAND_DELIMITER{static_cast<char>(255), static_cast<char>(255), static_cast<char>(255)};
38
+
39
+ #ifdef USE_NEXTION_COMMAND_SPACING
40
+ class NextionCommandPacer {
41
+ public:
42
+ /**
43
+ * @brief Creates command pacer with initial spacing
44
+ * @param initial_spacing Initial time between commands in milliseconds
45
+ */
46
+ explicit NextionCommandPacer(uint8_t initial_spacing = 0) : spacing_ms_(initial_spacing) {}
47
+
48
+ /**
49
+ * @brief Set the minimum time between commands
50
+ * @param spacing_ms Spacing in milliseconds
51
+ */
52
+ void set_spacing(uint8_t spacing_ms) { spacing_ms_ = spacing_ms; }
53
+
54
+ /**
55
+ * @brief Get current command spacing
56
+ * @return Current spacing in milliseconds
57
+ */
58
+ uint8_t get_spacing() const { return spacing_ms_; }
59
+
60
+ /**
61
+ * @brief Check if enough time has passed to send next command
62
+ * @return true if enough time has passed since last command
63
+ */
64
+ bool can_send() const { return (millis() - last_command_time_) >= spacing_ms_; }
65
+
66
+ /**
67
+ * @brief Mark a command as sent, updating the timing
68
+ */
69
+ void mark_sent() { last_command_time_ = millis(); }
70
+
71
+ private:
72
+ uint8_t spacing_ms_;
73
+ uint32_t last_command_time_{0};
74
+ };
75
+ #endif // USE_NEXTION_COMMAND_SPACING
76
+
77
+ class Nextion : public NextionBase, public PollingComponent, public uart::UARTDevice {
78
+ public:
79
+ #ifdef USE_NEXTION_MAX_COMMANDS_PER_LOOP
80
+ /**
81
+ * @brief Set the maximum number of commands to process in each loop iteration
82
+ * @param value Maximum number of commands (default: 20)
83
+ *
84
+ * Limiting the number of commands per loop helps prevent stack overflows
85
+ * when a large number of commands are queued at once, especially during boot.
86
+ */
87
+ inline void set_max_commands_per_loop(uint16_t value) { this->max_commands_per_loop_ = value; }
88
+
89
+ /**
90
+ * @brief Get the current maximum number of commands allowed per loop iteration
91
+ * @return Configured command limit per loop
92
+ */
93
+ inline uint16_t get_max_commands_per_loop() const { return this->max_commands_per_loop_; }
94
+ #endif // USE_NEXTION_MAX_COMMANDS_PER_LOOP
95
+ #ifdef USE_NEXTION_MAX_QUEUE_SIZE
96
+ /**
97
+ * @brief Set the maximum allowed queue size
98
+ * @param size Max number of entries allowed in nextion_queue_
99
+ */
100
+ inline void set_max_queue_size(size_t size) { this->max_queue_size_ = size; }
101
+
102
+ /**
103
+ * @brief Get the maximum allowed queue size
104
+ * @return Current limit (0 = unlimited)
105
+ */
106
+ inline size_t get_max_queue_size() const { return this->max_queue_size_; }
107
+ #endif // USE_NEXTION_MAX_QUEUE_SIZE
108
+
109
+ #ifdef USE_NEXTION_COMMAND_SPACING
110
+ /**
111
+ * @brief Set the command spacing for the display
112
+ * @param spacing_ms Time in milliseconds between commands
113
+ */
114
+ void set_command_spacing(uint32_t spacing_ms) { this->command_pacer_.set_spacing(spacing_ms); }
115
+ #endif // USE_NEXTION_COMMAND_SPACING
116
+
117
+ /**
118
+ * Set the text of a component to a static string.
119
+ * @param component The component name.
120
+ * @param text The static text to set.
121
+ *
122
+ * Example:
123
+ * ```cpp
124
+ * it.set_component_text("textview", "Hello World!");
125
+ * ```
126
+ *
127
+ * This will set the `txt` property of the component `textview` to `Hello World`.
128
+ */
129
+ void set_component_text(const char *component, const char *text);
130
+
131
+ /**
132
+ * Set the text of a component to a formatted string
133
+ * @param component The component name.
134
+ * @param format The printf-style format string.
135
+ * @param ... The arguments to the format.
136
+ *
137
+ * Example:
138
+ * ```cpp
139
+ * it.set_component_text_printf("textview", "The uptime is: %.0f", id(uptime_sensor).state);
140
+ * ```
141
+ *
142
+ * This will change the text on the component named `textview` to `The uptime is:` Then the value of `uptime_sensor`.
143
+ * with zero decimals of accuracy (whole number).
144
+ * For example when `uptime_sensor` = 506, then, `The uptime is: 506` will be displayed.
145
+ */
146
+ void set_component_text_printf(const char *component, const char *format, ...) __attribute__((format(printf, 3, 4)));
147
+
148
+ /**
149
+ * Set the integer value of a component
150
+ * @param component The component name.
151
+ * @param value The value to set.
152
+ *
153
+ * Example:
154
+ * ```cpp
155
+ * it.set_component_value("gauge", 50);
156
+ * ```
157
+ *
158
+ * This will change the property `value` of the component `gauge` to 50.
159
+ */
160
+ void set_component_value(const char *component, int32_t value);
161
+
162
+ /**
163
+ * Set the picture of an image component.
164
+ * @param component The component name.
165
+ * @param value The picture id.
166
+ *
167
+ * Example:
168
+ * ```cpp
169
+ * it.set_component_picture("pic", 4);
170
+ * ```
171
+ *
172
+ * This will change the image of the component `pic` to the image with ID `4`.
173
+ */
174
+ void set_component_picture(const char *component, uint8_t picture_id) { set_component_picc(component, picture_id); };
175
+
176
+ /**
177
+ * Set the background color of a component.
178
+ * @param component The component name.
179
+ * @param color The color (as a uint16_t).
180
+ *
181
+ * Example:
182
+ * ```cpp
183
+ * it.set_component_background_color("button", 63488);
184
+ * ```
185
+ *
186
+ * This will change the background color of the component `button` to red.
187
+ * Use this [color picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to
188
+ * Nextion HMI colors.
189
+ */
190
+ void set_component_background_color(const char *component, uint16_t color);
191
+
192
+ /**
193
+ * Set the background color of a component.
194
+ * @param component The component name.
195
+ * @param color The color (as a string).
196
+ *
197
+ * Example:
198
+ * ```cpp
199
+ * it.set_component_background_color("button", "RED");
200
+ * ```
201
+ *
202
+ * This will change the background color of the component `button` to red.
203
+ * Use [Nextion Instruction Set](https://nextion.tech/instruction-set/#s5) for a list of Nextion HMI colors constants.
204
+ */
205
+ void set_component_background_color(const char *component, const char *color);
206
+
207
+ /**
208
+ * Set the background color of a component.
209
+ * @param component The component name.
210
+ * @param color The color (as Color).
211
+ *
212
+ * Example:
213
+ * ```cpp
214
+ * auto blue = Color(0, 0, 255);
215
+ * it.set_component_background_color("button", blue);
216
+ * ```
217
+ *
218
+ * This will change the background color of the component `button` to blue.
219
+ */
220
+ void set_component_background_color(const char *component, Color color) override;
221
+
222
+ /**
223
+ * Set the pressed background color of a component.
224
+ * @param component The component name.
225
+ * @param color The color (as a uint16_t).
226
+ *
227
+ * Example:
228
+ * ```cpp
229
+ * it.set_component_pressed_background_color("button", 63488);
230
+ * ```
231
+ *
232
+ * This will change the pressed background color of the component `button` to red. This is the background color that
233
+ * is shown when the component is pressed.
234
+ * Use this [color picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to
235
+ * Nextion HMI colors.
236
+ */
237
+ void set_component_pressed_background_color(const char *component, uint16_t color);
238
+
239
+ /**
240
+ * Set the pressed background color of a component.
241
+ * @param component The component name.
242
+ * @param color The color (as a string).
243
+ *
244
+ * Example:
245
+ * ```cpp
246
+ * it.set_component_pressed_background_color("button", "RED");
247
+ * ```
248
+ *
249
+ * This will change the pressed background color of the component `button` to red. This is the background color that
250
+ * is shown when the component is pressed.
251
+ * Use [Nextion Instruction Set](https://nextion.tech/instruction-set/#s5) for a list of Nextion HMI colors constants.
252
+ */
253
+ void set_component_pressed_background_color(const char *component, const char *color);
254
+
255
+ /**
256
+ * Set the pressed background color of a component.
257
+ * @param component The component name.
258
+ * @param color The color (as Color).
259
+ *
260
+ * Example:
261
+ * ```cpp
262
+ * auto red = Color(255, 0, 0);
263
+ * it.set_component_pressed_background_color("button", red);
264
+ * ```
265
+ *
266
+ * This will change the pressed background color of the component `button` to red. This is the background color that
267
+ * is shown when the component is pressed.
268
+ */
269
+ void set_component_pressed_background_color(const char *component, Color color) override;
270
+
271
+ /**
272
+ * Set the foreground color of a component.
273
+ * @param component The component name.
274
+ * @param color The color (as a uint16_t).
275
+ *
276
+ * Example:
277
+ * ```cpp
278
+ * it.set_component_foreground_color("button", 63488);
279
+ * ```
280
+ *
281
+ * This will change the foreground color of the component `button` to red.
282
+ * Use this [color picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to
283
+ * Nextion HMI colors.
284
+ */
285
+ void set_component_foreground_color(const char *component, uint16_t color);
286
+
287
+ /**
288
+ * Set the foreground color of a component.
289
+ * @param component The component name.
290
+ * @param color The color (as a string).
291
+ *
292
+ * Example:
293
+ * ```cpp
294
+ * it.set_component_foreground_color("button", "RED");
295
+ * ```
296
+ *
297
+ * This will change the foreground color of the component `button` to red.
298
+ * Use [Nextion Instruction Set](https://nextion.tech/instruction-set/#s5) for a list of Nextion HMI colors constants.
299
+ */
300
+ void set_component_foreground_color(const char *component, const char *color);
301
+
302
+ /**
303
+ * Set the foreground color of a component.
304
+ * @param component The component name.
305
+ * @param color The color (as Color).
306
+ *
307
+ * Example:
308
+ * ```cpp
309
+ * it.set_component_foreground_color("button", Color::BLACK);
310
+ * ```
311
+ *
312
+ * This will change the foreground color of the component `button` to black.
313
+ */
314
+ void set_component_foreground_color(const char *component, Color color) override;
315
+
316
+ /**
317
+ * Set the pressed foreground color of a component.
318
+ * @param component The component name.
319
+ * @param color The color (as a uint16_t).
320
+ *
321
+ * Example:
322
+ * ```cpp
323
+ * it.set_component_pressed_foreground_color("button", 63488 );
324
+ * ```
325
+ *
326
+ * This will change the pressed foreground color of the component `button` to red. This is the foreground color that
327
+ * is shown when the component is pressed.
328
+ * Use this [color picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to
329
+ * Nextion HMI colors.
330
+ */
331
+ void set_component_pressed_foreground_color(const char *component, uint16_t color);
332
+
333
+ /**
334
+ * Set the pressed foreground color of a component.
335
+ * @param component The component name.
336
+ * @param color The color (as a string).
337
+ *
338
+ * Example:
339
+ * ```cpp
340
+ * it.set_component_pressed_foreground_color("button", "RED");
341
+ * ```
342
+ *
343
+ * This will change the pressed foreground color of the component `button` to red. This is the foreground color that
344
+ * is shown when the component is pressed.
345
+ * Use [Nextion Instruction Set](https://nextion.tech/instruction-set/#s5) for a list of Nextion HMI colors constants.
346
+ */
347
+ void set_component_pressed_foreground_color(const char *component, const char *color);
348
+
349
+ /**
350
+ * Set the pressed foreground color of a component.
351
+ * @param component The component name.
352
+ * @param color The color (as Color).
353
+ *
354
+ * Example:
355
+ * ```cpp
356
+ * auto blue = Color(0, 0, 255);
357
+ * it.set_component_pressed_foreground_color("button", blue);
358
+ * ```
359
+ *
360
+ * This will change the pressed foreground color of the component `button` to blue. This is the foreground color that
361
+ * is shown when the component is pressed.
362
+ */
363
+ void set_component_pressed_foreground_color(const char *component, Color color) override;
364
+
365
+ /**
366
+ * Set the picture id of a component.
367
+ * @param component The component name.
368
+ * @param pic_id The picture ID.
369
+ *
370
+ * Example:
371
+ * ```cpp
372
+ * it.set_component_pic("textview", 1);
373
+ * ```
374
+ *
375
+ * This will change the picture id of the component `textview`.
376
+ */
377
+ void set_component_pic(const char *component, uint16_t pic_id);
378
+
379
+ /**
380
+ * Set the background picture id of component.
381
+ * @param component The component name.
382
+ * @param pic_id The picture ID.
383
+ *
384
+ * Example:
385
+ * ```cpp
386
+ * it.set_component_picc("textview", 1);
387
+ * ```
388
+ *
389
+ * This will change the background picture id of the component `textview`.
390
+ */
391
+ void set_component_picc(const char *component, uint16_t pic_id);
392
+
393
+ /**
394
+ * Set the font color of a component.
395
+ * @param component The component name.
396
+ * @param color The color (as a uint16_t).
397
+ *
398
+ * Example:
399
+ * ```cpp
400
+ * it.set_component_font_color("textview", 63488);
401
+ * ```
402
+ *
403
+ * This will change the font color of the component `textview` to a red color.
404
+ * Use this [color picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to
405
+ * Nextion HMI colors.
406
+ */
407
+ void set_component_font_color(const char *component, uint16_t color);
408
+
409
+ /**
410
+ * Set the font color of a component.
411
+ * @param component The component name.
412
+ * @param color The color (as a string).
413
+ *
414
+ * Example:
415
+ * ```cpp
416
+ * it.set_component_font_color("textview", "RED");
417
+ * ```
418
+ *
419
+ * This will change the font color of the component `textview` to a red color.
420
+ * Use [Nextion Instruction Set](https://nextion.tech/instruction-set/#s5) for a list of Nextion HMI colors constants.
421
+ */
422
+ void set_component_font_color(const char *component, const char *color);
423
+
424
+ /**
425
+ * Set the font color of a component.
426
+ * @param component The component name.
427
+ * @param color The color (as Color).
428
+ *
429
+ * Example:
430
+ * ```cpp
431
+ * it.set_component_font_color("textview", Color::BLACK);
432
+ * ```
433
+ *
434
+ * This will change the font color of the component `textview` to black.
435
+ */
436
+ void set_component_font_color(const char *component, Color color) override;
437
+
438
+ /**
439
+ * Set the pressed font color of a component.
440
+ * @param component The component name.
441
+ * @param color The color (as a uint16_t).
442
+ *
443
+ * Example:
444
+ * ```cpp
445
+ * it.set_component_pressed_font_color("button", 63488);
446
+ * ```
447
+ *
448
+ * This will change the pressed font color of the component `button` to a red.
449
+ * Use this [color picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to
450
+ * Nextion HMI colors.
451
+ */
452
+ void set_component_pressed_font_color(const char *component, uint16_t color);
453
+
454
+ /**
455
+ * Set the pressed font color of a component.
456
+ * @param component The component name.
457
+ * @param color The color (as a string).
458
+ *
459
+ * Example:
460
+ * ```cpp
461
+ * it.set_component_pressed_font_color("button", "RED");
462
+ * ```
463
+ *
464
+ * This will change the pressed font color of the component `button` to a red color.
465
+ * Use [Nextion Instruction Set](https://nextion.tech/instruction-set/#s5) for a list of Nextion HMI colors constants.
466
+ */
467
+ void set_component_pressed_font_color(const char *component, const char *color);
468
+
469
+ /**
470
+ * Set the pressed font color of a component.
471
+ * @param component The component name.
472
+ * @param color The color (as Color).
473
+ *
474
+ * Example:
475
+ * ```cpp
476
+ * it.set_component_pressed_font_color("button", Color::BLACK);
477
+ * ```
478
+ *
479
+ * This will change the pressed font color of the component `button` to black.
480
+ */
481
+ void set_component_pressed_font_color(const char *component, Color color) override;
482
+
483
+ /**
484
+ * Set the coordinates of a component on screen.
485
+ * @param component The component name.
486
+ * @param x The x coordinate.
487
+ * @param y The y coordinate.
488
+ *
489
+ * Example:
490
+ * ```cpp
491
+ * it.set_component_coordinates("pic", 55, 100);
492
+ * ```
493
+ *
494
+ * This will move the position of the component `pic` to the x coordinate `55` and y coordinate `100`.
495
+ */
496
+ void set_component_coordinates(const char *component, uint16_t x, uint16_t y);
497
+
498
+ /**
499
+ * Set the font id for a component.
500
+ * @param component The component name.
501
+ * @param font_id The ID of the font (number).
502
+ *
503
+ * Example:
504
+ * ```cpp
505
+ * it.set_component_font("textview", "3");
506
+ * ```
507
+ *
508
+ * Changes the font of the component named `textveiw`. Font IDs are set in the Nextion Editor.
509
+ */
510
+ void set_component_font(const char *component, uint8_t font_id) override;
511
+
512
+ /**
513
+ * Send the current time to the nextion display.
514
+ * @param time The time instance to send (get this with id(my_time).now() ).
515
+ */
516
+ void set_nextion_rtc_time(ESPTime time);
517
+
518
+ /**
519
+ * Show the page with a given name.
520
+ * @param page The name of the page.
521
+ *
522
+ * Example:
523
+ * ```cpp
524
+ * it.goto_page("main");
525
+ * ```
526
+ *
527
+ * Switches to the page named `main`. Pages are named in the Nextion Editor.
528
+ */
529
+ void goto_page(const char *page);
530
+
531
+ /**
532
+ * Show the page with a given id.
533
+ * @param page The id of the page.
534
+ *
535
+ * Example:
536
+ * ```cpp
537
+ * it.goto_page(2);
538
+ * ```
539
+ *
540
+ * Switches to the page named `main`. Pages are named in the Nextion Editor.
541
+ */
542
+ void goto_page(uint8_t page);
543
+
544
+ /**
545
+ * Set the visibility of a component.
546
+ *
547
+ * @param component The component name.
548
+ * @param show True to show the component, false to hide it.
549
+ *
550
+ * @see show_component()
551
+ * @see hide_component()
552
+ *
553
+ * Example:
554
+ * ```cpp
555
+ * it.set_component_visibility("textview", true); // Equivalent to show_component("textview")
556
+ * it.set_component_visibility("textview", false); // Equivalent to hide_component("textview")
557
+ * ```
558
+ */
559
+ void set_component_visibility(const char *component, bool show) override;
560
+
561
+ /**
562
+ * Hide a component.
563
+ * @param component The component name.
564
+ *
565
+ * Example:
566
+ * ```cpp
567
+ * hide_component("button");
568
+ * ```
569
+ *
570
+ * Hides the component named `button`.
571
+ */
572
+ void hide_component(const char *component) override;
573
+
574
+ /**
575
+ * Show a component.
576
+ * @param component The component name.
577
+ *
578
+ * Example:
579
+ * ```cpp
580
+ * show_component("button");
581
+ * ```
582
+ *
583
+ * Shows the component named `button`.
584
+ */
585
+ void show_component(const char *component) override;
586
+
587
+ /**
588
+ * Enable touch for a component.
589
+ * @param component The component name.
590
+ *
591
+ * Example:
592
+ * ```cpp
593
+ * enable_component_touch("button");
594
+ * ```
595
+ *
596
+ * Enables touch for component named `button`.
597
+ */
598
+ void enable_component_touch(const char *component);
599
+
600
+ /**
601
+ * Disable touch for a component.
602
+ * @param component The component name.
603
+ *
604
+ * Example:
605
+ * ```cpp
606
+ * disable_component_touch("button");
607
+ * ```
608
+ *
609
+ * Disables touch for component named `button`.
610
+ */
611
+ void disable_component_touch(const char *component);
612
+
613
+ /**
614
+ * Add waveform data to a waveform component
615
+ * @param component_id The integer component id.
616
+ * @param channel_number The channel number to write to.
617
+ * @param value The value to write.
618
+ */
619
+ void add_waveform_data(uint8_t component_id, uint8_t channel_number, uint8_t value);
620
+
621
+ void open_waveform_channel(uint8_t component_id, uint8_t channel_number, uint8_t value);
622
+
623
+ /**
624
+ * Display a picture at coordinates.
625
+ * @param picture_id The picture id.
626
+ * @param x1 The x coordinate.
627
+ * @param y1 The y coordniate.
628
+ *
629
+ * Example:
630
+ * ```cpp
631
+ * display_picture(2, 15, 25);
632
+ * ```
633
+ *
634
+ * Displays the picture who has the id `2` at the x coordinates `15` and y coordinates `25`.
635
+ */
636
+ void display_picture(uint16_t picture_id, uint16_t x_start, uint16_t y_start);
637
+
638
+ /**
639
+ * Fill a rectangle with a color.
640
+ * @param x1 The starting x coordinate.
641
+ * @param y1 The starting y coordinate.
642
+ * @param width The width to draw.
643
+ * @param height The height to draw.
644
+ * @param color The color to draw with (number).
645
+ *
646
+ * Example:
647
+ * ```cpp
648
+ * fill_area(50, 50, 100, 100, 63488);
649
+ * ```
650
+ *
651
+ * Fills an area that starts at x coordinate `50` and y coordinate `50` with a height of `100` and width of `100` with
652
+ * the red color.
653
+ * Use this [color picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to
654
+ * Nextion HMI colors.
655
+ */
656
+ void fill_area(uint16_t x1, uint16_t y1, uint16_t width, uint16_t height, uint16_t color);
657
+
658
+ /**
659
+ * Fill a rectangle with a color.
660
+ * @param x1 The starting x coordinate.
661
+ * @param y1 The starting y coordinate.
662
+ * @param width The width to draw.
663
+ * @param height The height to draw.
664
+ * @param color The color to draw with (as a string).
665
+ *
666
+ * Example:
667
+ * ```cpp
668
+ * fill_area(50, 50, 100, 100, "RED");
669
+ * ```
670
+ *
671
+ * Fills an area that starts at x coordinate `50` and y coordinate `50` with a height of `100` and width of `100` with
672
+ * the red color.
673
+ * Use [Nextion Instruction Set](https://nextion.tech/instruction-set/#s5) for a list of Nextion HMI colors constants.
674
+ */
675
+ void fill_area(uint16_t x1, uint16_t y1, uint16_t width, uint16_t height, const char *color);
676
+
677
+ /**
678
+ * Fill a rectangle with a color.
679
+ * @param x1 The starting x coordinate.
680
+ * @param y1 The starting y coordinate.
681
+ * @param width The width to draw.
682
+ * @param height The height to draw.
683
+ * @param color The color to draw with (as Color).
684
+ *
685
+ * Example:
686
+ * ```cpp
687
+ * auto blue = Color(0, 0, 255);
688
+ * fill_area(50, 50, 100, 100, blue);
689
+ * ```
690
+ *
691
+ * Fills an area that starts at x coordinate `50` and y coordinate `50` with a height of `100` and width of `100` with
692
+ * blue color.
693
+ */
694
+ void fill_area(uint16_t x1, uint16_t y1, uint16_t width, uint16_t height, Color color);
695
+
696
+ /**
697
+ * Draw a line on the screen.
698
+ * @param x1 The starting x coordinate.
699
+ * @param y1 The starting y coordinate.
700
+ * @param x2 The ending x coordinate.
701
+ * @param y2 The ending y coordinate.
702
+ * @param color The color to draw with (number).
703
+ *
704
+ * Example:
705
+ * ```cpp
706
+ * it.line(50, 50, 75, 75, 63488);
707
+ * ```
708
+ *
709
+ * Makes a line that starts at x coordinate `50` and y coordinate `50` and ends at x coordinate `75` and y coordinate
710
+ * `75` with the red color.
711
+ * Use this [color picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to
712
+ * Nextion HMI colors.
713
+ */
714
+ void line(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color);
715
+
716
+ /**
717
+ * Draw a line on the screen.
718
+ * @param x1 The starting x coordinate.
719
+ * @param y1 The starting y coordinate.
720
+ * @param x2 The ending x coordinate.
721
+ * @param y2 The ending y coordinate.
722
+ * @param color The color to draw with (as a string).
723
+ *
724
+ * Example:
725
+ * ```cpp
726
+ * it.line(50, 50, 75, 75, "BLUE");
727
+ * ```
728
+ *
729
+ * Makes a line that starts at x coordinate `50` and y coordinate `50` and ends at x coordinate `75` and y coordinate
730
+ * `75` with the blue color.
731
+ * Use [Nextion Instruction Set](https://nextion.tech/instruction-set/#s5) for a list of Nextion HMI colors constants.
732
+ */
733
+ void line(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, const char *color);
734
+
735
+ /**
736
+ * Draw a line on the screen.
737
+ * @param x1 The starting x coordinate.
738
+ * @param y1 The starting y coordinate.
739
+ * @param x2 The ending x coordinate.
740
+ * @param y2 The ending y coordinate.
741
+ * @param color The color to draw with (as Color).
742
+ *
743
+ * Example:
744
+ * ```cpp
745
+ * auto blue = Color(0, 0, 255);
746
+ * it.line(50, 50, 75, 75, blue);
747
+ * ```
748
+ *
749
+ * Makes a line that starts at x coordinate `50` and y coordinate `50` and ends at x coordinate `75` and y coordinate
750
+ * `75` with blue color.
751
+ */
752
+ void line(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, Color color);
753
+
754
+ /**
755
+ * Draw a rectangle outline.
756
+ * @param x1 The starting x coordinate.
757
+ * @param y1 The starting y coordinate.
758
+ * @param width The width of the rectangle.
759
+ * @param height The height of the rectangle.
760
+ * @param color The color to draw with (number).
761
+ *
762
+ * Example:
763
+ * ```cpp
764
+ * it.rectangle(25, 35, 40, 50, 63488);
765
+ * ```
766
+ *
767
+ * Makes a outline of a rectangle that starts at x coordinate `25` and y coordinate `35` and has a width of `40` and a
768
+ * length of `50` with the red color.
769
+ * Use this [color picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to
770
+ * Nextion HMI colors.
771
+ */
772
+ void rectangle(uint16_t x1, uint16_t y1, uint16_t width, uint16_t height, uint16_t color);
773
+
774
+ /**
775
+ * Draw a rectangle outline.
776
+ * @param x1 The starting x coordinate.
777
+ * @param y1 The starting y coordinate.
778
+ * @param width The width of the rectangle.
779
+ * @param height The height of the rectangle.
780
+ * @param color The color to draw with (as a string).
781
+ *
782
+ * Example:
783
+ * ```cpp
784
+ * it.rectangle(25, 35, 40, 50, "BLUE");
785
+ * ```
786
+ *
787
+ * Makes a outline of a rectangle that starts at x coordinate `25` and y coordinate `35` and has a width of `40` and a
788
+ * length of `50` with the blue color.
789
+ * Use [Nextion Instruction Set](https://nextion.tech/instruction-set/#s5) for a list of Nextion HMI colors constants.
790
+ */
791
+ void rectangle(uint16_t x1, uint16_t y1, uint16_t width, uint16_t height, const char *color);
792
+
793
+ /**
794
+ * Draw a rectangle outline.
795
+ * @param x1 The starting x coordinate.
796
+ * @param y1 The starting y coordinate.
797
+ * @param width The width of the rectangle.
798
+ * @param height The height of the rectangle.
799
+ * @param color The color to draw with (as Color).
800
+ *
801
+ * Example:
802
+ * ```cpp
803
+ * auto blue = Color(0, 0, 255);
804
+ * it.rectangle(25, 35, 40, 50, blue);
805
+ * ```
806
+ *
807
+ * Makes a outline of a rectangle that starts at x coordinate `25` and y coordinate `35` and has a width of `40` and a
808
+ * length of `50` with blue color.
809
+ */
810
+ void rectangle(uint16_t x1, uint16_t y1, uint16_t width, uint16_t height, Color color);
811
+
812
+ /**
813
+ * Draw a circle outline
814
+ * @param center_x The center x coordinate.
815
+ * @param center_y The center y coordinate.
816
+ * @param radius The circle radius.
817
+ * @param color The color to draw with (number).
818
+ * Use this [color picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to
819
+ * Nextion HMI colors.
820
+ */
821
+ void circle(uint16_t center_x, uint16_t center_y, uint16_t radius, uint16_t color);
822
+
823
+ /**
824
+ * Draw a circle outline
825
+ * @param center_x The center x coordinate.
826
+ * @param center_y The center y coordinate.
827
+ * @param radius The circle radius.
828
+ * @param color The color to draw with (as a string).
829
+ * Use [Nextion Instruction Set](https://nextion.tech/instruction-set/#s5) for a list of Nextion HMI colors constants.
830
+ */
831
+ void circle(uint16_t center_x, uint16_t center_y, uint16_t radius, const char *color);
832
+
833
+ /**
834
+ * Draw a circle outline
835
+ * @param center_x The center x coordinate.
836
+ * @param center_y The center y coordinate.
837
+ * @param radius The circle radius.
838
+ * @param color The color to draw with (as Color).
839
+ */
840
+ void circle(uint16_t center_x, uint16_t center_y, uint16_t radius, Color color);
841
+
842
+ /**
843
+ * Draw a filled circled.
844
+ * @param center_x The center x coordinate.
845
+ * @param center_y The center y coordinate.
846
+ * @param radius The circle radius.
847
+ * @param color The color to draw with (number).
848
+ *
849
+ * Example:
850
+ * ```cpp
851
+ * it.filled_cricle(25, 25, 10, 63488);
852
+ * ```
853
+ *
854
+ * Makes a filled circle at the x coordinate `25` and y coordinate `25` with a radius of `10` with the red color.
855
+ * Use this [color picker](https://nodtem66.github.io/nextion-hmi-color-convert/index.html) to convert color codes to
856
+ * Nextion HMI colors.
857
+ */
858
+ void filled_circle(uint16_t center_x, uint16_t center_y, uint16_t radius, uint16_t color);
859
+
860
+ /**
861
+ * Draw a filled circled.
862
+ * @param center_x The center x coordinate.
863
+ * @param center_y The center y coordinate.
864
+ * @param radius The circle radius.
865
+ * @param color The color to draw with (as a string).
866
+ *
867
+ * Example:
868
+ * ```cpp
869
+ * it.filled_cricle(25, 25, 10, "BLUE");
870
+ * ```
871
+ *
872
+ * Makes a filled circle at the x coordinate `25` and y coordinate `25` with a radius of `10` with the blue color.
873
+ * Use [Nextion Instruction Set](https://nextion.tech/instruction-set/#s5) for a list of Nextion HMI colors constants.
874
+ */
875
+ void filled_circle(uint16_t center_x, uint16_t center_y, uint16_t radius, const char *color);
876
+
877
+ /**
878
+ * Draw a filled circled.
879
+ * @param center_x The center x coordinate.
880
+ * @param center_y The center y coordinate.
881
+ * @param radius The circle radius.
882
+ * @param color The color to draw with (as Color).
883
+ *
884
+ * Example:
885
+ * ```cpp
886
+ * auto blue = Color(0, 0, 255);
887
+ * it.filled_cricle(25, 25, 10, blue);
888
+ * ```
889
+ *
890
+ * Makes a filled circle at the x coordinate `25` and y coordinate `25` with a radius of `10` with blue color.
891
+ */
892
+ void filled_circle(uint16_t center_x, uint16_t center_y, uint16_t radius, Color color);
893
+
894
+ /**
895
+ * Draws a QR code in the screen
896
+ * @param x1 The top left x coordinate to start the QR code.
897
+ * @param y1 The top left y coordinate to start the QR code.
898
+ * @param content The content of the QR code (as a plain text - Nextion will generate the QR code).
899
+ * @param size The size (in pixels) for the QR code. Defaults to 200px.
900
+ * @param background_color The background color to draw with (as rgb565 integer). Defaults to 65535 (white).
901
+ * @param foreground_color The foreground color to draw with (as rgb565 integer). Defaults to 0 (black).
902
+ * @param logo_pic The picture id for the logo in the center of the QR code. Defaults to -1 (no logo).
903
+ * @param border_width The border width (in pixels) for the QR code. Defaults to 8px.
904
+ *
905
+ * Example:
906
+ * ```cpp
907
+ * it.qrcode(25, 25, "WIFI:S:MySSID;T:WPA;P:MyPassW0rd;;");
908
+ * ```
909
+ *
910
+ * Draws a QR code with a Wi-Fi network credentials starting at the given coordinates (25,25).
911
+ */
912
+ void qrcode(uint16_t x1, uint16_t y1, const char *content, uint16_t size = 200, uint16_t background_color = 65535,
913
+ uint16_t foreground_color = 0, int32_t logo_pic = -1, uint8_t border_width = 8);
914
+
915
+ /**
916
+ * Draws a QR code in the screen
917
+ * @param x1 The top left x coordinate to start the QR code.
918
+ * @param y1 The top left y coordinate to start the QR code.
919
+ * @param content The content of the QR code (as a plain text - Nextion will generate the QR code).
920
+ * @param size The size (in pixels) for the QR code. Defaults to 200px.
921
+ * @param background_color The background color to draw with (as Color). Defaults to 65535 (white).
922
+ * @param foreground_color The foreground color to draw with (as Color). Defaults to 0 (black).
923
+ * @param logo_pic The picture id for the logo in the center of the QR code. Defaults to -1 (no logo).
924
+ * @param border_width The border width (in pixels) for the QR code. Defaults to 8px.
925
+ *
926
+ * Example:
927
+ * ```cpp
928
+ * auto blue = Color(0, 0, 255);
929
+ * auto red = Color(255, 0, 0);
930
+ * it.qrcode(25, 25, "WIFI:S:MySSID;T:WPA;P:MyPassW0rd;;", 150, blue, red);
931
+ * ```
932
+ *
933
+ * Draws a QR code with a Wi-Fi network credentials starting at the given coordinates (25,25) with size of 150px in
934
+ * red on a blue background.
935
+ */
936
+ void qrcode(uint16_t x1, uint16_t y1, const char *content, uint16_t size,
937
+ Color background_color = Color(255, 255, 255), Color foreground_color = Color(0, 0, 0),
938
+ int32_t logo_pic = -1, uint8_t border_width = 8);
939
+
940
+ /** Set the brightness of the backlight.
941
+ *
942
+ * @param brightness The brightness percentage from 0 to 1.0.
943
+ *
944
+ * Example:
945
+ * ```cpp
946
+ * it.set_backlight_brightness(.3);
947
+ * ```
948
+ *
949
+ * Changes the brightness of the display to 30%.
950
+ */
951
+ void set_backlight_brightness(float brightness);
952
+
953
+ /**
954
+ * Sets Nextion mode between sleep and awake
955
+ * @param True or false. Sleep=true to enter sleep mode or sleep=false to exit sleep mode.
956
+ */
957
+ void sleep(bool sleep);
958
+
959
+ /**
960
+ * @brief Sets the Nextion display's protocol reparse mode.
961
+ *
962
+ * This function toggles the Nextion display's protocol reparse mode between active and passive.
963
+ * In active mode, the display actively parses incoming data.
964
+ * In passive mode, it does not parse data unless specifically instructed to do so.
965
+ * This is useful for managing how the Nextion display interprets incoming commands,
966
+ * especially during initialization or in scenarios where precise control over command processing is needed.
967
+ *
968
+ * @param active_mode A boolean value indicating the desired reparse mode.
969
+ * - true to set the display to active protocol reparse mode, where it actively parses incoming commands.
970
+ * - false to set the display to passive protocol reparse mode, where command parsing is done only on explicit
971
+ * instruction.
972
+ *
973
+ * @return bool Returns true if all commands were sent successfully to the Nextion display, indicating that the mode
974
+ * was set as expected. Returns false if any of the commands failed to send, indicating that the desired reparse mode
975
+ * may not be correctly set.
976
+ */
977
+ bool set_protocol_reparse_mode(bool active_mode);
978
+
979
+ // ======== Nextion Intelligent Series ========
980
+
981
+ /**
982
+ * Set the video id of a component.
983
+ * @param component The component name.
984
+ * @param vid_id The video ID.
985
+ *
986
+ * Example:
987
+ * ```cpp
988
+ * it.set_component_vid("textview", 1);
989
+ * ```
990
+ *
991
+ * This will change the video id of the component `textview`.
992
+ *
993
+ * Note: Requires Nextion Intelligent series display.
994
+ */
995
+ void set_component_vid(const char *component, uint8_t vid_id);
996
+
997
+ /**
998
+ * Set the drag availability of a component.
999
+ * @param component The component name.
1000
+ * @param drag False: Drag not available, True: Drag available.
1001
+ *
1002
+ * Example:
1003
+ * ```cpp
1004
+ * it.set_component_drag("textview", true);
1005
+ * ```
1006
+ *
1007
+ * This will enable drag to the component `textview`.
1008
+ *
1009
+ * Note: Requires Nextion Intelligent series display.
1010
+ */
1011
+ void set_component_drag(const char *component, bool drag);
1012
+
1013
+ /**
1014
+ * Set the opaqueness (fading) of a component.
1015
+ * @param component The component name.
1016
+ * @param aph An integer between 0 and 127 related to the opaqueness/fading level.
1017
+ *
1018
+ * Example:
1019
+ * ```cpp
1020
+ * it.set_component_aph("textview", 64);
1021
+ * ```
1022
+ *
1023
+ * This will set the opaqueness level of the component `textview` to 64.
1024
+ *
1025
+ * Note: Requires Nextion Intelligent series display.
1026
+ */
1027
+ void set_component_aph(const char *component, uint8_t aph);
1028
+
1029
+ /**
1030
+ * Set the position of a component.
1031
+ * @param component The component name.
1032
+ * @param x The new X (horizontal) coordinate for the component.
1033
+ * @param y The new Y (vertical) coordinate for the component.
1034
+ *
1035
+ * Example:
1036
+ * ```cpp
1037
+ * it.set_component_aph("textview", 64, 35);
1038
+ * ```
1039
+ *
1040
+ * This will move the component `textview` to the column 64 of row 35 of the display.
1041
+ *
1042
+ * Note: Requires Nextion Intelligent series display.
1043
+ */
1044
+ void set_component_position(const char *component, uint32_t x, uint32_t y);
1045
+
1046
+ // ========== INTERNAL METHODS ==========
1047
+ // (In most use cases you won't need these)
1048
+ void register_touch_component(NextionComponentBase *obj) { this->touch_.push_back(obj); }
1049
+ void register_switch_component(NextionComponentBase *obj) { this->switchtype_.push_back(obj); }
1050
+ void register_binarysensor_component(NextionComponentBase *obj) { this->binarysensortype_.push_back(obj); }
1051
+ void register_sensor_component(NextionComponentBase *obj) { this->sensortype_.push_back(obj); }
1052
+ void register_textsensor_component(NextionComponentBase *obj) { this->textsensortype_.push_back(obj); }
1053
+
1054
+ void setup() override;
1055
+ void set_brightness(float brightness) { this->brightness_ = brightness; }
1056
+ float get_setup_priority() const override;
1057
+ void update() override;
1058
+ void loop() override;
1059
+ void set_writer(const nextion_writer_t &writer);
1060
+
1061
+ // This function has been deprecated
1062
+ void set_wait_for_ack(bool wait_for_ack);
1063
+
1064
+ /**
1065
+ * Manually send a raw command to the display.
1066
+ * @param command The pcommand, like "page 0"
1067
+ * @return Whether the send was successful.
1068
+ */
1069
+ bool send_command(const char *command);
1070
+
1071
+ /**
1072
+ * Manually send a raw formatted command to the display.
1073
+ * @param format The printf-style command format, like "vis %s,0"
1074
+ * @param ... The format arguments
1075
+ * @return Whether the send was successful.
1076
+ */
1077
+ bool send_command_printf(const char *format, ...) __attribute__((format(printf, 2, 3)));
1078
+
1079
+ #ifdef USE_NEXTION_TFT_UPLOAD
1080
+ /**
1081
+ * Set the tft file URL. https seems problematic with Arduino..
1082
+ */
1083
+ void set_tft_url(const std::string &tft_url) { this->tft_url_ = tft_url; }
1084
+
1085
+ /**
1086
+ * @brief Uploads the TFT file to the Nextion display.
1087
+ *
1088
+ * This function initiates the upload of a TFT file to the Nextion display. Users can specify a target baud rate for
1089
+ * the transfer. If the provided baud rate is not supported by Nextion, the function defaults to using the current
1090
+ * baud rate set for the display. If no baud rate is specified (or if 0 is passed), the current baud rate is used.
1091
+ *
1092
+ * Supported baud rates are: 2400, 4800, 9600, 19200, 31250, 38400, 57600, 115200, 230400, 250000, 256000, 512000
1093
+ * and 921600. Selecting a baud rate supported by both the Nextion display and the host hardware is essential for
1094
+ * ensuring a successful upload process.
1095
+ *
1096
+ * @param baud_rate The desired baud rate for the TFT file transfer, specified as an unsigned 32-bit integer.
1097
+ * If the specified baud rate is not supported, or if 0 is passed, the function will use the current baud rate.
1098
+ * The default value is 0, which implies using the current baud rate.
1099
+ * @param exit_reparse If true, the function exits reparse mode before uploading the TFT file. This parameter
1100
+ * defaults to true, ensuring that the display is ready to receive and apply the new TFT file without needing
1101
+ * to manually reset or reconfigure. Exiting reparse mode is recommended for most upload scenarios to ensure
1102
+ * the display properly processes the uploaded file command.
1103
+ * @return bool True: Transfer completed successfuly, False: Transfer failed.
1104
+ */
1105
+ bool upload_tft(uint32_t baud_rate = 0, bool exit_reparse = true);
1106
+
1107
+ #endif // USE_NEXTION_TFT_UPLOAD
1108
+
1109
+ void dump_config() override;
1110
+
1111
+ /**
1112
+ * Softreset the Nextion
1113
+ */
1114
+ void soft_reset();
1115
+
1116
+ /** Add a callback to be notified of sleep state changes.
1117
+ *
1118
+ * @param callback The void() callback.
1119
+ */
1120
+ void add_sleep_state_callback(std::function<void()> &&callback);
1121
+
1122
+ /** Add a callback to be notified of wake state changes.
1123
+ *
1124
+ * @param callback The void() callback.
1125
+ */
1126
+ void add_wake_state_callback(std::function<void()> &&callback);
1127
+
1128
+ /** Add a callback to be notified when the nextion completes its initialize setup.
1129
+ *
1130
+ * @param callback The void() callback.
1131
+ */
1132
+ void add_setup_state_callback(std::function<void()> &&callback);
1133
+
1134
+ /** Add a callback to be notified when the nextion changes pages.
1135
+ *
1136
+ * @param callback The void(std::string) callback.
1137
+ */
1138
+ void add_new_page_callback(std::function<void(uint8_t)> &&callback);
1139
+
1140
+ /** Add a callback to be notified when Nextion has a touch event.
1141
+ *
1142
+ * @param callback The void() callback.
1143
+ */
1144
+ void add_touch_event_callback(std::function<void(uint8_t, uint8_t, bool)> &&callback);
1145
+
1146
+ /** Add a callback to be notified when the nextion reports a buffer overflow.
1147
+ *
1148
+ * @param callback The void() callback.
1149
+ */
1150
+ void add_buffer_overflow_event_callback(std::function<void()> &&callback);
1151
+
1152
+ void update_all_components();
1153
+
1154
+ /**
1155
+ * @brief Set the nextion sensor state object.
1156
+ *
1157
+ * @param[in] queue_type
1158
+ * Index of NextionQueueType.
1159
+ *
1160
+ * @param[in] name
1161
+ * Component/variable name.
1162
+ *
1163
+ * @param[in] state
1164
+ * State to set.
1165
+ */
1166
+ void set_nextion_sensor_state(int queue_type, const std::string &name, float state);
1167
+ void set_nextion_sensor_state(NextionQueueType queue_type, const std::string &name, float state);
1168
+ void set_nextion_text_state(const std::string &name, const std::string &state);
1169
+
1170
+ void add_no_result_to_queue_with_set(NextionComponentBase *component, int32_t state_value) override;
1171
+ void add_no_result_to_queue_with_set(const std::string &variable_name, const std::string &variable_name_to_send,
1172
+ int32_t state_value) override;
1173
+
1174
+ void add_no_result_to_queue_with_set(NextionComponentBase *component, const std::string &state_value) override;
1175
+ void add_no_result_to_queue_with_set(const std::string &variable_name, const std::string &variable_name_to_send,
1176
+ const std::string &state_value) override;
1177
+
1178
+ void add_to_get_queue(NextionComponentBase *component) override;
1179
+
1180
+ void add_addt_command_to_queue(NextionComponentBase *component) override;
1181
+
1182
+ void update_components_by_prefix(const std::string &prefix);
1183
+
1184
+ /**
1185
+ * Set the touch sleep timeout of the display using the `thsp` command.
1186
+ *
1187
+ * Sets internal No-touch-then-sleep timer to specified value in seconds.
1188
+ * Nextion will auto-enter sleep mode if and when this timer expires.
1189
+ *
1190
+ * @param touch_sleep_timeout Timeout in seconds.
1191
+ * Range: 3 to 65535 seconds (minimum 3 seconds, maximum ~18 hours 12 minutes 15 seconds)
1192
+ * Use 0 to disable touch sleep timeout.
1193
+ *
1194
+ * @note Once `thsp` is set, it will persist until reboot or reset. The Nextion device
1195
+ * needs to exit sleep mode to issue `thsp=0` to disable sleep on no touch.
1196
+ *
1197
+ * @note The display will only wake up by a restart or by setting up `thup` (auto wake on touch).
1198
+ * See set_auto_wake_on_touch() to configure wake behavior.
1199
+ *
1200
+ * Example:
1201
+ * ```cpp
1202
+ * // Set 30 second touch timeout
1203
+ * it.set_touch_sleep_timeout(30);
1204
+ *
1205
+ * // Set maximum timeout (~18 hours)
1206
+ * it.set_touch_sleep_timeout(65535);
1207
+ *
1208
+ * // Disable touch sleep timeout
1209
+ * it.set_touch_sleep_timeout(0);
1210
+ * ```
1211
+ *
1212
+ * Related Nextion instruction: `thsp=<value>`
1213
+ *
1214
+ * @see set_auto_wake_on_touch() Configure automatic wake on touch
1215
+ * @see sleep() Manually control sleep state
1216
+ */
1217
+ void set_touch_sleep_timeout(uint16_t touch_sleep_timeout = 0);
1218
+
1219
+ /**
1220
+ * Sets which page Nextion loads when exiting sleep mode. Note this can be set even when Nextion is in sleep mode.
1221
+ * @param wake_up_page The page id, from 0 to the last page in Nextion. Set 255 (not set to any existing page) to
1222
+ * wakes up to current page.
1223
+ *
1224
+ * Example:
1225
+ * ```cpp
1226
+ * it.set_wake_up_page(2);
1227
+ * ```
1228
+ *
1229
+ * The display will wake up to page 2.
1230
+ */
1231
+ void set_wake_up_page(uint8_t wake_up_page = 255);
1232
+
1233
+ #ifdef USE_NEXTION_CONF_START_UP_PAGE
1234
+ /**
1235
+ * Sets which page Nextion loads when connecting to ESPHome.
1236
+ * @param start_up_page The page id, from 0 to the last page in Nextion. Set 255 (not set to any existing page) to
1237
+ * wakes up to current page.
1238
+ *
1239
+ * Example:
1240
+ * ```cpp
1241
+ * it.set_start_up_page(2);
1242
+ * ```
1243
+ *
1244
+ * The display will go to page 2 when it establishes a connection to ESPHome.
1245
+ */
1246
+ void set_start_up_page(uint8_t start_up_page = 255) { this->start_up_page_ = start_up_page; }
1247
+ #endif // USE_NEXTION_CONF_START_UP_PAGE
1248
+
1249
+ /**
1250
+ * Sets if Nextion should auto-wake from sleep when touch press occurs.
1251
+ * @param auto_wake_on_touch True or false. When auto_wake is true and Nextion is in sleep mode,
1252
+ * the first touch will only trigger the auto wake mode and not trigger a Touch Event.
1253
+ *
1254
+ * Example:
1255
+ * ```cpp
1256
+ * it.set_auto_wake_on_touch(true);
1257
+ * ```
1258
+ *
1259
+ * The display will wake up by touch.
1260
+ */
1261
+ void set_auto_wake_on_touch(bool auto_wake_on_touch);
1262
+
1263
+ /**
1264
+ * @brief Retrieves the number of commands pending in the Nextion command queue.
1265
+ *
1266
+ * This function returns the current count of commands that have been queued but not yet processed
1267
+ * for the Nextion display. The Nextion command queue is used to store commands that are sent to
1268
+ * the Nextion display for various operations like updating the display, changing interface elements,
1269
+ * or other interactive features. A larger queue size might indicate a higher processing time or potential
1270
+ * delays in command execution. This function is useful for monitoring the command flow and managing
1271
+ * the execution efficiency of the Nextion display interface.
1272
+ *
1273
+ * @return size_t The number of commands currently in the Nextion queue. This count includes all commands
1274
+ * that have been added to the queue and are awaiting processing.
1275
+ */
1276
+ size_t queue_size() { return this->nextion_queue_.size(); }
1277
+
1278
+ /**
1279
+ * @brief Check if the TFT update process is currently running.
1280
+ *
1281
+ * This method provides a way to determine if the Nextion display is in the
1282
+ * process of updating its TFT firmware. When a TFT update is in progress,
1283
+ * certain operations or commands may be restricted or could interfere with the
1284
+ * update process. By checking the state of the update process, the system can
1285
+ * make informed decisions about performing actions that involve communication
1286
+ * with the Nextion display.
1287
+ *
1288
+ * @return true if the TFT update process is active, indicating that the Nextion
1289
+ * display is currently updating its firmware. This implies that caution
1290
+ * should be taken with commands sent to the display to avoid interrupting
1291
+ * the update process.
1292
+ * @return false if the TFT update process is not active, indicating that the Nextion
1293
+ * display is not currently updating its firmware and is in a normal operational
1294
+ * state, ready to receive and process commands as usual.
1295
+ */
1296
+ bool is_updating() override;
1297
+
1298
+ /**
1299
+ * @brief Check if the Nextion display is successfully connected.
1300
+ *
1301
+ * This method returns whether a successful connection has been established with
1302
+ * the Nextion display. A connection is considered established when:
1303
+ *
1304
+ * - The initial handshake with the display is completed successfully, or
1305
+ * - The handshake is skipped via USE_NEXTION_CONFIG_SKIP_CONNECTION_HANDSHAKE flag
1306
+ *
1307
+ * The connection status is particularly useful when:
1308
+ * - Troubleshooting communication issues
1309
+ * - Ensuring the display is ready before sending commands
1310
+ * - Implementing connection-dependent behaviors
1311
+ *
1312
+ * @return true if the Nextion display is connected and ready to receive commands
1313
+ * @return false if the display is not yet connected or connection was lost
1314
+ */
1315
+ bool is_connected() { return this->connection_state_.is_connected_; }
1316
+
1317
+ protected:
1318
+ #ifdef USE_NEXTION_MAX_COMMANDS_PER_LOOP
1319
+ uint16_t max_commands_per_loop_{1000};
1320
+ #endif // USE_NEXTION_MAX_COMMANDS_PER_LOOP
1321
+ #ifdef USE_NEXTION_MAX_QUEUE_SIZE
1322
+ size_t max_queue_size_{0};
1323
+ #endif // USE_NEXTION_MAX_QUEUE_SIZE
1324
+
1325
+ #ifdef USE_NEXTION_COMMAND_SPACING
1326
+ NextionCommandPacer command_pacer_{0};
1327
+
1328
+ /**
1329
+ * @brief Process any commands in the queue that are pending due to command spacing
1330
+ *
1331
+ * This method checks if the first item in the nextion_queue_ has a pending command
1332
+ * that was previously blocked by command spacing. If spacing now allows and a
1333
+ * pending command exists, it attempts to send the command. Once successfully sent,
1334
+ * the pending command is cleared and the queue item continues normal processing.
1335
+ *
1336
+ * Called from loop() to retry sending commands that were delayed by spacing.
1337
+ */
1338
+ void process_pending_in_queue_();
1339
+ #endif // USE_NEXTION_COMMAND_SPACING
1340
+
1341
+ std::deque<NextionQueue *> nextion_queue_;
1342
+ std::deque<NextionQueue *> waveform_queue_;
1343
+ uint16_t recv_ret_string_(std::string &response, uint32_t timeout, bool recv_flag);
1344
+ void all_components_send_state_(bool force_update = false);
1345
+ uint32_t comok_sent_ = 0;
1346
+ bool remove_from_q_(bool report_empty = true);
1347
+
1348
+ /**
1349
+ * @brief Status flags for Nextion display state management
1350
+ *
1351
+ * Uses bitfields to pack multiple boolean states into a single byte,
1352
+ * saving 5 bytes of RAM compared to individual bool variables.
1353
+ */
1354
+ struct {
1355
+ uint8_t is_connected_ : 1; ///< Connection established with Nextion display
1356
+ uint8_t sent_setup_commands_ : 1; ///< Initial setup commands have been sent
1357
+ uint8_t ignore_is_setup_ : 1; ///< Temporarily ignore setup state for special operations
1358
+ uint8_t nextion_reports_is_setup_ : 1; ///< Nextion has reported successful initialization
1359
+ uint8_t is_updating_ : 1; ///< TFT firmware update is currently in progress
1360
+ uint8_t auto_wake_on_touch_ : 1; ///< Display should wake automatically on touch (default: true)
1361
+ uint8_t reserved_ : 2; ///< Reserved bits for future flag additions
1362
+ } connection_state_{}; ///< Zero-initialized status flags (all start as false)
1363
+
1364
+ void process_nextion_commands_();
1365
+ void process_serial_();
1366
+ uint16_t touch_sleep_timeout_ = 0;
1367
+ uint8_t wake_up_page_ = 255;
1368
+ #ifdef USE_NEXTION_CONF_START_UP_PAGE
1369
+ uint8_t start_up_page_ = 255;
1370
+ #endif // USE_NEXTION_CONF_START_UP_PAGE
1371
+ bool auto_wake_on_touch_ = true;
1372
+
1373
+ /**
1374
+ * Manually send a raw command to the display and don't wait for an acknowledgement packet.
1375
+ * @param command The command to write, for example "vis b0,0".
1376
+ */
1377
+ bool send_command_(const std::string &command);
1378
+ void add_no_result_to_queue_(const std::string &variable_name);
1379
+ bool add_no_result_to_queue_with_ignore_sleep_printf_(const std::string &variable_name, const char *format, ...)
1380
+ __attribute__((format(printf, 3, 4)));
1381
+ void add_no_result_to_queue_with_command_(const std::string &variable_name, const std::string &command);
1382
+
1383
+ #ifdef USE_NEXTION_COMMAND_SPACING
1384
+ /**
1385
+ * @brief Add a command to the Nextion queue with a pending command for retry
1386
+ *
1387
+ * This method creates a queue entry for a command that was blocked by command spacing.
1388
+ * The command string is stored in the queue item's pending_command field so it can
1389
+ * be retried later when spacing allows. This ensures commands are not lost when
1390
+ * sent too quickly.
1391
+ *
1392
+ * If the max_queue_size limit is configured and reached, the command will be dropped.
1393
+ *
1394
+ * @param variable_name Name of the variable or component associated with the command
1395
+ * @param command The actual command string to be sent when spacing allows
1396
+ */
1397
+ void add_no_result_to_queue_with_pending_command_(const std::string &variable_name, const std::string &command);
1398
+ #endif // USE_NEXTION_COMMAND_SPACING
1399
+
1400
+ bool add_no_result_to_queue_with_printf_(const std::string &variable_name, const char *format, ...)
1401
+ __attribute__((format(printf, 3, 4)));
1402
+
1403
+ void add_no_result_to_queue_with_set_internal_(const std::string &variable_name,
1404
+ const std::string &variable_name_to_send, int32_t state_value,
1405
+ bool is_sleep_safe = false);
1406
+
1407
+ void add_no_result_to_queue_with_set_internal_(const std::string &variable_name,
1408
+ const std::string &variable_name_to_send,
1409
+ const std::string &state_value, bool is_sleep_safe = false);
1410
+
1411
+ void check_pending_waveform_();
1412
+
1413
+ #ifdef USE_NEXTION_TFT_UPLOAD
1414
+ #ifdef USE_ESP8266
1415
+ WiFiClient *wifi_client_{nullptr};
1416
+ BearSSL::WiFiClientSecure *wifi_client_secure_{nullptr};
1417
+ WiFiClient *get_wifi_client_();
1418
+ #endif // USE_ESP8266
1419
+ std::string tft_url_;
1420
+ uint32_t content_length_ = 0;
1421
+ int tft_size_ = 0;
1422
+ uint32_t original_baud_rate_ = 0;
1423
+ bool upload_first_chunk_sent_ = false;
1424
+
1425
+ #ifdef USE_ARDUINO
1426
+ /**
1427
+ * will request chunk_size chunks from the web server
1428
+ * and send each to the nextion
1429
+ * @param HTTPClient http_client HTTP client handler.
1430
+ * @param int range_start Position of next byte to transfer.
1431
+ * @return position of last byte transferred, -1 for failure.
1432
+ */
1433
+ int upload_by_chunks_(HTTPClient &http_client, uint32_t &range_start);
1434
+ #elif defined(USE_ESP_IDF)
1435
+ /**
1436
+ * will request 4096 bytes chunks from the web server
1437
+ * and send each to Nextion
1438
+ * @param esp_http_client_handle_t http_client HTTP client handler.
1439
+ * @param int range_start Position of next byte to transfer.
1440
+ * @return position of last byte transferred, -1 for failure.
1441
+ */
1442
+ int upload_by_chunks_(esp_http_client_handle_t http_client, uint32_t &range_start);
1443
+ #endif // USE_ARDUINO vs USE_ESP_IDF
1444
+
1445
+ /**
1446
+ * Ends the upload process, restart Nextion and, if successful,
1447
+ * restarts ESP
1448
+ * @param bool url successful True: Transfer completed successfuly, False: Transfer failed.
1449
+ * @return bool True: Transfer completed successfuly, False: Transfer failed.
1450
+ */
1451
+ bool upload_end_(bool successful);
1452
+
1453
+ /**
1454
+ * Returns the ESP Free Heap memory. This is framework independent.
1455
+ * @return Free Heap in bytes.
1456
+ */
1457
+ uint32_t get_free_heap_();
1458
+
1459
+ #endif // USE_NEXTION_TFT_UPLOAD
1460
+
1461
+ bool check_connect_();
1462
+
1463
+ std::vector<NextionComponentBase *> touch_;
1464
+ std::vector<NextionComponentBase *> switchtype_;
1465
+ std::vector<NextionComponentBase *> sensortype_;
1466
+ std::vector<NextionComponentBase *> textsensortype_;
1467
+ std::vector<NextionComponentBase *> binarysensortype_;
1468
+ CallbackManager<void()> setup_callback_{};
1469
+ CallbackManager<void()> sleep_callback_{};
1470
+ CallbackManager<void()> wake_callback_{};
1471
+ CallbackManager<void(uint8_t)> page_callback_{};
1472
+ CallbackManager<void(uint8_t, uint8_t, bool)> touch_callback_{};
1473
+ CallbackManager<void()> buffer_overflow_callback_{};
1474
+
1475
+ nextion_writer_t writer_;
1476
+ optional<float> brightness_;
1477
+
1478
+ #ifdef USE_NEXTION_CONFIG_DUMP_DEVICE_INFO
1479
+ std::string device_model_;
1480
+ std::string firmware_version_;
1481
+ std::string serial_number_;
1482
+ std::string flash_size_;
1483
+ #endif // USE_NEXTION_CONFIG_DUMP_DEVICE_INFO
1484
+
1485
+ void remove_front_no_sensors_();
1486
+
1487
+ #ifdef NEXTION_PROTOCOL_LOG
1488
+ void print_queue_members_();
1489
+ #endif // NEXTION_PROTOCOL_LOG
1490
+ void reset_(bool reset_nextion = true);
1491
+
1492
+ std::string command_data_;
1493
+ const uint16_t startup_override_ms_ = 8000;
1494
+ const uint16_t max_q_age_ms_ = 8000;
1495
+ uint32_t started_ms_ = 0;
1496
+ };
1497
+
1498
+ } // namespace nextion
1499
+ } // namespace esphome