esphome 2025.2.2__py3-none-any.whl → 2025.3.0__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 (148) hide show
  1. esphome/__main__.py +9 -1
  2. esphome/components/api/api_connection.cpp +426 -70
  3. esphome/components/api/api_connection.h +117 -25
  4. esphome/components/api/api_pb2.cpp +33 -0
  5. esphome/components/api/api_pb2.h +4 -0
  6. esphome/components/api/api_server.cpp +2 -2
  7. esphome/components/api/list_entities.cpp +76 -22
  8. esphome/components/api/list_entities.h +1 -0
  9. esphome/components/api/subscribe_state.h +2 -0
  10. esphome/components/audio/__init__.py +1 -1
  11. esphome/components/audio/audio_decoder.cpp +43 -11
  12. esphome/components/audio/audio_reader.cpp +2 -2
  13. esphome/components/audio/audio_resampler.cpp +4 -2
  14. esphome/components/audio/audio_transfer_buffer.cpp +19 -9
  15. esphome/components/audio/audio_transfer_buffer.h +7 -2
  16. esphome/components/bluetooth_proxy/bluetooth_proxy.h +8 -0
  17. esphome/components/bmp085/bmp085.cpp +1 -1
  18. esphome/components/chsc6x/__init__.py +2 -0
  19. esphome/components/chsc6x/chsc6x_touchscreen.cpp +47 -0
  20. esphome/components/chsc6x/chsc6x_touchscreen.h +34 -0
  21. esphome/components/chsc6x/touchscreen.py +33 -0
  22. esphome/components/climate/__init__.py +0 -1
  23. esphome/components/cst816/binary_sensor/__init__.py +2 -25
  24. esphome/components/cst816/touchscreen/cst816_touchscreen.cpp +3 -14
  25. esphome/components/cst816/touchscreen/cst816_touchscreen.h +0 -4
  26. esphome/components/esp32_ble_beacon/__init__.py +3 -1
  27. esphome/components/esp8266/gpio.py +1 -2
  28. esphome/components/font/__init__.py +198 -215
  29. esphome/components/font/font.cpp +4 -4
  30. esphome/components/font/font.h +1 -0
  31. esphome/components/graph/graph.cpp +4 -0
  32. esphome/components/graph/graph.h +4 -0
  33. esphome/components/haier/climate.py +11 -10
  34. esphome/components/hbridge/switch/hbridge_switch.cpp +2 -2
  35. esphome/components/heatpumpir/climate.py +2 -1
  36. esphome/components/heatpumpir/heatpumpir.cpp +1 -0
  37. esphome/components/heatpumpir/heatpumpir.h +1 -0
  38. esphome/components/i2c/__init__.py +6 -6
  39. esphome/components/i2c/i2c_bus_esp_idf.cpp +6 -2
  40. esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +1 -1
  41. esphome/components/ili9xxx/display.py +1 -0
  42. esphome/components/ili9xxx/ili9xxx_display.h +5 -0
  43. esphome/components/ili9xxx/ili9xxx_init.h +59 -0
  44. esphome/components/ld2450/__init__.py +51 -0
  45. esphome/components/ld2450/binary_sensor.py +47 -0
  46. esphome/components/ld2450/button/__init__.py +45 -0
  47. esphome/components/ld2450/button/reset_button.cpp +9 -0
  48. esphome/components/ld2450/button/reset_button.h +18 -0
  49. esphome/components/ld2450/button/restart_button.cpp +9 -0
  50. esphome/components/ld2450/button/restart_button.h +18 -0
  51. esphome/components/ld2450/ld2450.cpp +876 -0
  52. esphome/components/ld2450/ld2450.h +234 -0
  53. esphome/components/ld2450/number/__init__.py +121 -0
  54. esphome/components/ld2450/number/presence_timeout_number.cpp +12 -0
  55. esphome/components/ld2450/number/presence_timeout_number.h +18 -0
  56. esphome/components/ld2450/number/zone_coordinate_number.cpp +14 -0
  57. esphome/components/ld2450/number/zone_coordinate_number.h +19 -0
  58. esphome/components/ld2450/select/__init__.py +56 -0
  59. esphome/components/ld2450/select/baud_rate_select.cpp +12 -0
  60. esphome/components/ld2450/select/baud_rate_select.h +18 -0
  61. esphome/components/ld2450/select/zone_type_select.cpp +12 -0
  62. esphome/components/ld2450/select/zone_type_select.h +18 -0
  63. esphome/components/ld2450/sensor.py +156 -0
  64. esphome/components/ld2450/switch/__init__.py +45 -0
  65. esphome/components/ld2450/switch/bluetooth_switch.cpp +12 -0
  66. esphome/components/ld2450/switch/bluetooth_switch.h +18 -0
  67. esphome/components/ld2450/switch/multi_target_switch.cpp +12 -0
  68. esphome/components/ld2450/switch/multi_target_switch.h +18 -0
  69. esphome/components/ld2450/text_sensor.py +62 -0
  70. esphome/components/lvgl/defines.py +0 -2
  71. esphome/components/lvgl/font.cpp +1 -1
  72. esphome/components/lvgl/lvgl_esphome.cpp +27 -19
  73. esphome/components/lvgl/widgets/img.py +1 -3
  74. esphome/components/mcp2515/mcp2515.cpp +1 -0
  75. esphome/components/mdns/__init__.py +1 -1
  76. esphome/components/mixer/speaker/mixer_speaker.cpp +6 -1
  77. esphome/components/mixer/speaker/mixer_speaker.h +2 -0
  78. esphome/components/mlx90393/sensor.py +53 -33
  79. esphome/components/mlx90393/sensor_mlx90393.cpp +4 -0
  80. esphome/components/mlx90393/sensor_mlx90393.h +8 -3
  81. esphome/components/mqtt/__init__.py +2 -2
  82. esphome/components/msa3xx/__init__.py +189 -0
  83. esphome/components/msa3xx/binary_sensor.py +40 -0
  84. esphome/components/msa3xx/msa3xx.cpp +417 -0
  85. esphome/components/msa3xx/msa3xx.h +311 -0
  86. esphome/components/msa3xx/sensor.py +42 -0
  87. esphome/components/msa3xx/text_sensor.py +38 -0
  88. esphome/components/nfc/binary_sensor/__init__.py +4 -4
  89. esphome/components/opentherm/binary_sensor/__init__.py +4 -4
  90. esphome/components/opentherm/generate.py +6 -6
  91. esphome/components/opentherm/sensor/__init__.py +5 -6
  92. esphome/components/packages/__init__.py +35 -11
  93. esphome/components/pn532/binary_sensor.py +4 -4
  94. esphome/components/rc522/binary_sensor.py +4 -4
  95. esphome/components/resampler/speaker/resampler_speaker.h +2 -0
  96. esphome/components/socket/bsd_sockets_impl.cpp +1 -0
  97. esphome/components/socket/lwip_sockets_impl.cpp +1 -0
  98. esphome/components/socket/socket.h +3 -1
  99. esphome/components/speaker/speaker.h +2 -2
  100. esphome/components/ssd1306_base/__init__.py +7 -7
  101. esphome/components/thermostat/climate.py +1 -1
  102. esphome/components/tmp1075/tmp1075.cpp +7 -11
  103. esphome/components/tmp1075/tmp1075.h +1 -2
  104. esphome/components/tormatic/__init__.py +1 -0
  105. esphome/components/tormatic/cover.py +47 -0
  106. esphome/components/tormatic/tormatic_cover.cpp +355 -0
  107. esphome/components/tormatic/tormatic_cover.h +60 -0
  108. esphome/components/tormatic/tormatic_protocol.h +211 -0
  109. esphome/components/touchscreen/binary_sensor/__init__.py +3 -0
  110. esphome/components/touchscreen/binary_sensor/touchscreen_binary_sensor.cpp +7 -1
  111. esphome/components/touchscreen/binary_sensor/touchscreen_binary_sensor.h +3 -1
  112. esphome/components/touchscreen/touchscreen.cpp +3 -4
  113. esphome/components/udp/udp_component.h +4 -1
  114. esphome/components/web_server/list_entities.cpp +70 -66
  115. esphome/components/web_server/list_entities.h +43 -22
  116. esphome/components/web_server/web_server.cpp +345 -68
  117. esphome/components/web_server/web_server.h +138 -6
  118. esphome/components/web_server_base/__init__.py +1 -1
  119. esphome/components/web_server_idf/__init__.py +2 -0
  120. esphome/components/web_server_idf/web_server_idf.cpp +177 -30
  121. esphome/components/web_server_idf/web_server_idf.h +53 -4
  122. esphome/config_validation.py +23 -125
  123. esphome/const.py +5 -1
  124. esphome/core/config.py +15 -6
  125. esphome/core/defines.h +1 -1
  126. esphome/core/helpers.h +24 -3
  127. esphome/core/time.cpp +1 -0
  128. esphome/cpp_generator.py +3 -3
  129. esphome/dashboard/core.py +30 -21
  130. esphome/dashboard/dns.py +7 -1
  131. esphome/dashboard/entries.py +83 -16
  132. esphome/dashboard/settings.py +0 -4
  133. esphome/dashboard/status/mdns.py +43 -14
  134. esphome/dashboard/status/mqtt.py +22 -9
  135. esphome/dashboard/status/ping.py +54 -10
  136. esphome/dashboard/web_server.py +56 -24
  137. esphome/storage_json.py +4 -0
  138. esphome/wizard.py +13 -17
  139. esphome/writer.py +1 -3
  140. esphome/yaml_util.py +36 -33
  141. esphome/zeroconf.py +9 -21
  142. {esphome-2025.2.2.dist-info → esphome-2025.3.0.dist-info}/METADATA +7 -7
  143. {esphome-2025.2.2.dist-info → esphome-2025.3.0.dist-info}/RECORD +147 -107
  144. esphome/components/cst816/binary_sensor/cst816_button.h +0 -27
  145. {esphome-2025.2.2.dist-info → esphome-2025.3.0.dist-info}/LICENSE +0 -0
  146. {esphome-2025.2.2.dist-info → esphome-2025.3.0.dist-info}/WHEEL +0 -0
  147. {esphome-2025.2.2.dist-info → esphome-2025.3.0.dist-info}/entry_points.txt +0 -0
  148. {esphome-2025.2.2.dist-info → esphome-2025.3.0.dist-info}/top_level.txt +0 -0
@@ -5,76 +5,97 @@
5
5
  #include "esphome/core/component.h"
6
6
  #include "esphome/core/component_iterator.h"
7
7
  namespace esphome {
8
+ #ifdef USE_ESP_IDF
9
+ namespace web_server_idf {
10
+ class AsyncEventSource;
11
+ }
12
+ #endif
8
13
  namespace web_server {
9
14
 
15
+ #ifdef USE_ARDUINO
16
+ class DeferredUpdateEventSource;
17
+ #endif
10
18
  class WebServer;
11
19
 
12
20
  class ListEntitiesIterator : public ComponentIterator {
13
21
  public:
14
- ListEntitiesIterator(WebServer *web_server);
22
+ #ifdef USE_ARDUINO
23
+ ListEntitiesIterator(const WebServer *ws, DeferredUpdateEventSource *es);
24
+ #endif
25
+ #ifdef USE_ESP_IDF
26
+ ListEntitiesIterator(const WebServer *ws, esphome::web_server_idf::AsyncEventSource *es);
27
+ #endif
28
+ virtual ~ListEntitiesIterator();
15
29
  #ifdef USE_BINARY_SENSOR
16
- bool on_binary_sensor(binary_sensor::BinarySensor *binary_sensor) override;
30
+ bool on_binary_sensor(binary_sensor::BinarySensor *obj) override;
17
31
  #endif
18
32
  #ifdef USE_COVER
19
- bool on_cover(cover::Cover *cover) override;
33
+ bool on_cover(cover::Cover *obj) override;
20
34
  #endif
21
35
  #ifdef USE_FAN
22
- bool on_fan(fan::Fan *fan) override;
36
+ bool on_fan(fan::Fan *obj) override;
23
37
  #endif
24
38
  #ifdef USE_LIGHT
25
- bool on_light(light::LightState *light) override;
39
+ bool on_light(light::LightState *obj) override;
26
40
  #endif
27
41
  #ifdef USE_SENSOR
28
- bool on_sensor(sensor::Sensor *sensor) override;
42
+ bool on_sensor(sensor::Sensor *obj) override;
29
43
  #endif
30
44
  #ifdef USE_SWITCH
31
- bool on_switch(switch_::Switch *a_switch) override;
45
+ bool on_switch(switch_::Switch *obj) override;
32
46
  #endif
33
47
  #ifdef USE_BUTTON
34
- bool on_button(button::Button *button) override;
48
+ bool on_button(button::Button *obj) override;
35
49
  #endif
36
50
  #ifdef USE_TEXT_SENSOR
37
- bool on_text_sensor(text_sensor::TextSensor *text_sensor) override;
51
+ bool on_text_sensor(text_sensor::TextSensor *obj) override;
38
52
  #endif
39
53
  #ifdef USE_CLIMATE
40
- bool on_climate(climate::Climate *climate) override;
54
+ bool on_climate(climate::Climate *obj) override;
41
55
  #endif
42
56
  #ifdef USE_NUMBER
43
- bool on_number(number::Number *number) override;
57
+ bool on_number(number::Number *obj) override;
44
58
  #endif
45
59
  #ifdef USE_DATETIME_DATE
46
- bool on_date(datetime::DateEntity *date) override;
60
+ bool on_date(datetime::DateEntity *obj) override;
47
61
  #endif
48
62
  #ifdef USE_DATETIME_TIME
49
- bool on_time(datetime::TimeEntity *time) override;
63
+ bool on_time(datetime::TimeEntity *obj) override;
50
64
  #endif
51
65
  #ifdef USE_DATETIME_DATETIME
52
- bool on_datetime(datetime::DateTimeEntity *datetime) override;
66
+ bool on_datetime(datetime::DateTimeEntity *obj) override;
53
67
  #endif
54
68
  #ifdef USE_TEXT
55
- bool on_text(text::Text *text) override;
69
+ bool on_text(text::Text *obj) override;
56
70
  #endif
57
71
  #ifdef USE_SELECT
58
- bool on_select(select::Select *select) override;
72
+ bool on_select(select::Select *obj) override;
59
73
  #endif
60
74
  #ifdef USE_LOCK
61
- bool on_lock(lock::Lock *a_lock) override;
75
+ bool on_lock(lock::Lock *obj) override;
62
76
  #endif
63
77
  #ifdef USE_VALVE
64
- bool on_valve(valve::Valve *valve) override;
78
+ bool on_valve(valve::Valve *obj) override;
65
79
  #endif
66
80
  #ifdef USE_ALARM_CONTROL_PANEL
67
- bool on_alarm_control_panel(alarm_control_panel::AlarmControlPanel *a_alarm_control_panel) override;
81
+ bool on_alarm_control_panel(alarm_control_panel::AlarmControlPanel *obj) override;
68
82
  #endif
69
83
  #ifdef USE_EVENT
70
- bool on_event(event::Event *event) override;
84
+ bool on_event(event::Event *obj) override;
71
85
  #endif
72
86
  #ifdef USE_UPDATE
73
- bool on_update(update::UpdateEntity *update) override;
87
+ bool on_update(update::UpdateEntity *obj) override;
74
88
  #endif
89
+ bool completed() { return this->state_ == IteratorState::NONE; }
75
90
 
76
91
  protected:
77
- WebServer *web_server_;
92
+ const WebServer *web_server_;
93
+ #ifdef USE_ARDUINO
94
+ DeferredUpdateEventSource *events_;
95
+ #endif
96
+ #ifdef USE_ESP_IDF
97
+ esphome::web_server_idf::AsyncEventSource *events_;
98
+ #endif
78
99
  };
79
100
 
80
101
  } // namespace web_server