Skip to content

Commit 29c15cd

Browse files
authored
Merge pull request #4808 from esphome/bump-2025.4.0b1
2025.4.0b1
2 parents 59eaa4f + eca2f2c commit 29c15cd

26 files changed

+411
-29
lines changed

CODE_OF_CONDUCT.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ This Code of Conduct applies both within project spaces and in public spaces whe
3434

3535
## Enforcement
3636

37-
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at esphome@nabucasa.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
37+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at esphome@openhomefoundation.org. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
3838

3939
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
4040

Doxygen

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ PROJECT_NAME = "ESPHome"
3838
# could be handy for archiving the generated documentation or if some version
3939
# control system is used.
4040

41-
PROJECT_NUMBER = 2025.3.3
41+
PROJECT_NUMBER = 2025.4.0b1
4242

4343
# Using the PROJECT_BRIEF tag one can provide an optional one line description
4444
# for a project that appears at the top of each page and should give viewer a

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
ESPHOME_PATH = ../esphome
2-
ESPHOME_REF = 2025.3.3
2+
ESPHOME_REF = 2025.4.0b1
33
PAGEFIND_VERSION=1.1.1
44
PAGEFIND=pagefind
55
NET_PAGEFIND=../pagefindbin/pagefind

_static/version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2025.3.3
1+
2025.4.0b1

_templates/contact.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<li><a href="https://discord.gg/KhAMKrd" target="_blank">Join the community</a></li>
44
<li><a href="https://twitter.com/esphome_" target="_blank">Follow us on Twitter</a></li>
55
<li><a href="https://github.com/esphome/esphome" target="_blank">Source Code</a></li>
6-
<li><a href="mailto:esphome@nabucasa.com">Contact</a> (no support!)</li>
6+
<li><a href="mailto:esphome@openhomefoundation.org">Contact</a> (no support!)</li>
77
</ul>
88
ESPHome is part of the <a href="https://www.openhomefoundation.org/" target="_blank">Open Home Foundation</a>
99
<ul>

_templates/layout.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
<div class="side">
6262
<div class="links">
6363
<a href="https://github.com/esphome/esphome" target="_blank">Source Code</a>
64-
<a href="mailto:esphome@nabucasa.com">Contact</a><small>(no support)</small>
64+
<a href="mailto:esphome@openhomefoundation.org">Contact</a><small>(no support)</small>
6565
</div>
6666
<a href="https://www.netlify.com" class="link-netlify" target="_blank">This site is powered by Netlify</a>
6767
</div>

changelog/2025.4.0.rst

+150
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
ESPHome 2025.4.0 - 16th April 2025
2+
==================================
3+
4+
.. seo::
5+
:description: Changelog for ESPHome 2025.4.0.
6+
:image: /_static/changelog-2025.3.0.png
7+
:author: Jesse Hills
8+
:author_twitter: @jesserockz
9+
10+
.. imgtable::
11+
:columns: 3
12+
13+
MCP4661, components/output/mcp4461, mcp4461.jpg
14+
15+
16+
Another small release out this month. I (Jesse) will be back full-time next week and so hopefully we can
17+
get the project picking up soe steam again.
18+
19+
20+
Full list of changes
21+
--------------------
22+
23+
New Components
24+
^^^^^^^^^^^^^^
25+
26+
- Add support for MCP4461 quad i2c digipot/rheostat :esphomepr:`8180` by :ghuser:`p1ngb4ck` (new-integration)
27+
28+
Breaking Changes
29+
^^^^^^^^^^^^^^^^
30+
31+
- Rework max connections for BLE to avoid exceeding the hard limit :esphomepr:`8303` by :ghuser:`bdraco` (breaking-change)
32+
33+
All changes
34+
^^^^^^^^^^^
35+
36+
- Bump setuptools from 69.2.0 to 76.0.0 :esphomepr:`8405` by :ghuser:`dependabot[bot]`
37+
- Bump puremagic from 1.27 to 1.28 :esphomepr:`8406` by :ghuser:`dependabot[bot]`
38+
- Bump esphome-glyphsets from 0.1.0 to 0.2.0 :esphomepr:`8403` by :ghuser:`dependabot[bot]`
39+
- Bump actions/cache from 4.2.2 to 4.2.3 in /.github/actions/restore-python :esphomepr:`8437` by :ghuser:`dependabot[bot]`
40+
- Bump actions/cache from 4.2.2 to 4.2.3 :esphomepr:`8433` by :ghuser:`dependabot[bot]`
41+
- Bump ruff from 0.9.2 to 0.11.0 :esphomepr:`8409` by :ghuser:`dependabot[bot]`
42+
- Bump pylint from 3.2.7 to 3.3.6 :esphomepr:`8441` by :ghuser:`dependabot[bot]`
43+
- Update wheel requirement from ~=0.43.0 to >=0.43,<0.46 :esphomepr:`8421` by :ghuser:`dependabot[bot]`
44+
- Bump tzlocal from 5.2 to 5.3.1 :esphomepr:`8423` by :ghuser:`dependabot[bot]`
45+
- [esp32] Allow pioarduino versions 5.3.2 and 5.4.0 :esphomepr:`8440` by :ghuser:`swoboda1337`
46+
- [cli] Add `--reset` and `--upload_speed` options :esphomepr:`8380` by :ghuser:`clydebarrow`
47+
- Bump aioesphomeapi from 29.6.0 to 29.7.0 :esphomepr:`8448` by :ghuser:`dependabot[bot]`
48+
- Bump pytest-asyncio from 0.23.6 to 0.25.3 :esphomepr:`8447` by :ghuser:`dependabot[bot]`
49+
- [core] Fix 5.4.0 build issue :esphomepr:`8455` by :ghuser:`swoboda1337`
50+
- [core] Fix s2 build after crc header fix :esphomepr:`8459` by :ghuser:`swoboda1337`
51+
- [esp32_can] Configurable enqueue timeout :esphomepr:`8453` by :ghuser:`patagonaa`
52+
- [scheduler] Properly handle millis() overflow :esphomepr:`8197` by :ghuser:`clydebarrow`
53+
- [esp32] Allow pioarduino version 5.4.1 :esphomepr:`8480` by :ghuser:`swoboda1337`
54+
- Bump ruff from 0.11.0 to 0.11.2 :esphomepr:`8461` by :ghuser:`dependabot[bot]`
55+
- [psram] 120MHz does not work in octal mode :esphomepr:`8477` by :ghuser:`clydebarrow`
56+
- Bump actions/setup-python from 5.4.0 to 5.5.0 :esphomepr:`8468` by :ghuser:`dependabot[bot]`
57+
- Bump actions/setup-python from 5.4.0 to 5.5.0 in /.github/actions/restore-python :esphomepr:`8467` by :ghuser:`dependabot[bot]`
58+
- Bump pytest-cov from 5.0.0 to 6.0.0 :esphomepr:`8462` by :ghuser:`dependabot[bot]`
59+
- Bump pytest-asyncio from 0.25.3 to 0.26.0 :esphomepr:`8490` by :ghuser:`dependabot[bot]`
60+
- Bump async-timeout from 4.0.3 to 5.0.1 :esphomepr:`8491` by :ghuser:`dependabot[bot]`
61+
- Bump platformio from 6.1.16 to 6.1.18 :esphomepr:`8449` by :ghuser:`dependabot[bot]`
62+
- Move CONF_DEFAULT to const.py :esphomepr:`8497` by :ghuser:`nielsnl68`
63+
- [lvgl] Add some defines :esphomepr:`8501` by :ghuser:`clydebarrow`
64+
- Add support for MCP4461 quad i2c digipot/rheostat :esphomepr:`8180` by :ghuser:`p1ngb4ck` (new-integration)
65+
- Bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 :esphomepr:`8362` by :ghuser:`dependabot[bot]`
66+
- Bump docker/login-action from 3.3.0 to 3.4.0 in the docker-actions group :esphomepr:`8408` by :ghuser:`dependabot[bot]`
67+
- Bump actions/download-artifact from 4.1.9 to 4.2.1 :esphomepr:`8434` by :ghuser:`dependabot[bot]`
68+
- Bump actions/upload-artifact from 4.6.1 to 4.6.2 :esphomepr:`8435` by :ghuser:`dependabot[bot]`
69+
- Bump ruamel-yaml from 0.18.6 to 0.18.10 :esphomepr:`8446` by :ghuser:`dependabot[bot]`
70+
- Bump yamllint from 1.35.1 to 1.37.0 :esphomepr:`8495` by :ghuser:`dependabot[bot]`
71+
- Bump pyupgrade from 3.15.2 to 3.19.1 :esphomepr:`8496` by :ghuser:`dependabot[bot]`
72+
- Bump voluptuous from 0.14.2 to 0.15.2 :esphomepr:`8506` by :ghuser:`dependabot[bot]`
73+
- Bump zeroconf from 0.146.1 to 0.146.3 :esphomepr:`8507` by :ghuser:`dependabot[bot]`
74+
- Bump platformio to 6.1.18 :esphomepr:`8430` by :ghuser:`shvmm`
75+
- Update emails from nabucasa to OHF :esphomepr:`8508` by :ghuser:`jesserockz`
76+
- [nau7802] fix bad blocking code (#6395) :esphomepr:`8070` by :ghuser:`cujomalainey`
77+
- [core, qspi_dbi] Clang tidy fixes for 5.3.2 :esphomepr:`8509` by :ghuser:`swoboda1337`
78+
- [CI] Clang tidy fixes for 5.3.2 :esphomepr:`8510` by :ghuser:`swoboda1337`
79+
- [ethernet_info] return actual ethernet MAC address :esphomepr:`8492` by :ghuser:`victorclaessen`
80+
- Bump setuptools from 76.0.0 to 78.1.0 :esphomepr:`8512` by :ghuser:`dependabot[bot]`
81+
- Bump flake8 from 7.0.0 to 7.2.0 :esphomepr:`8493` by :ghuser:`dependabot[bot]`
82+
- Rework max connections for BLE to avoid exceeding the hard limit :esphomepr:`8303` by :ghuser:`bdraco` (breaking-change)
83+
- [component] Show error message for failed component :esphomepr:`8478` by :ghuser:`clydebarrow`
84+
- [psram] Allow use of experimental 120MHz octal mode :esphomepr:`8519` by :ghuser:`clydebarrow`
85+
- Ensure plaintext responds with bad indicator byte before dropping the connection :esphomepr:`8521` by :ghuser:`bdraco`
86+
- Bump aioesphomeapi to 29.9.0 :esphomepr:`8522` by :ghuser:`bdraco`
87+
- [lvgl] add on_boot trigger :esphomepr:`8498` by :ghuser:`clydebarrow`
88+
- [lvgl] Make line points templatable :esphomepr:`8502` by :ghuser:`clydebarrow`
89+
- [spi] Implement octal mode :esphomepr:`8386` by :ghuser:`clydebarrow`
90+
- Bump pytest from 8.2.0 to 8.3.5 :esphomepr:`8528` by :ghuser:`dependabot[bot]`
91+
- real_time_clock: Apply timezone immediately in set_timezone() :esphomepr:`8531` by :ghuser:`dwmw2`
92+
- [lvgl] Implement canvas widget :esphomepr:`8504` by :ghuser:`clydebarrow`
93+
94+
Past Changelogs
95+
---------------
96+
97+
- :doc:`2025.3.0`
98+
- :doc:`2025.2.0`
99+
- :doc:`2024.12.0`
100+
- :doc:`2024.11.0`
101+
- :doc:`2024.10.0`
102+
- :doc:`2024.9.0`
103+
- :doc:`2024.8.0`
104+
- :doc:`2024.7.0`
105+
- :doc:`2024.6.0`
106+
- :doc:`2024.5.0`
107+
- :doc:`2024.4.0`
108+
- :doc:`2024.3.0`
109+
- :doc:`2024.2.0`
110+
- :doc:`2023.12.0`
111+
- :doc:`2023.11.0`
112+
- :doc:`2023.10.0`
113+
- :doc:`2023.9.0`
114+
- :doc:`2023.8.0`
115+
- :doc:`2023.7.0`
116+
- :doc:`2023.6.0`
117+
- :doc:`2023.5.0`
118+
- :doc:`2023.4.0`
119+
- :doc:`2023.3.0`
120+
- :doc:`2023.2.0`
121+
- :doc:`2022.12.0`
122+
- :doc:`2022.11.0`
123+
- :doc:`2022.10.0`
124+
- :doc:`2022.9.0`
125+
- :doc:`2022.8.0`
126+
- :doc:`2022.6.0`
127+
- :doc:`2022.5.0`
128+
- :doc:`2022.4.0`
129+
- :doc:`2022.3.0`
130+
- :doc:`2022.2.0`
131+
- :doc:`2022.1.0`
132+
- :doc:`2021.12.0`
133+
- :doc:`2021.11.0`
134+
- :doc:`2021.10.0`
135+
- :doc:`2021.9.0`
136+
- :doc:`2021.8.0`
137+
- :doc:`v1.20.0`
138+
- :doc:`v1.19.0`
139+
- :doc:`v1.18.0`
140+
- :doc:`v1.17.0`
141+
- :doc:`v1.16.0`
142+
- :doc:`v1.15.0`
143+
- :doc:`v1.14.0`
144+
- :doc:`v1.13.0`
145+
- :doc:`v1.12.0`
146+
- :doc:`v1.11.0`
147+
- :doc:`v1.10.0`
148+
- :doc:`v1.9.0`
149+
- :doc:`v1.8.0`
150+
- :doc:`v1.7.0`

changelog/index.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Changelog
22
=========
33

44
.. redirect::
5-
:url: /changelog/2025.3.0.html
5+
:url: /changelog/2025.4.0.html
66

77
.. toctree::
88
:glob:

components/bluetooth_proxy.rst

+7
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@ Configuration:
4545
4646
- **active** (*Optional*, boolean): Enables proxying active connections. Defaults to ``false``.
4747
- **cache_services** (*Optional*, boolean): Enables caching GATT services in NVS flash storage which significantly speeds up active connections. Defaults to ``true`` when using the ESP-IDF framework.
48+
- **connection_slots** (*Optional*, int): The maximum number of BLE connection slots to use.
49+
Each configured slot consumes ~1KB of RAM. This can only be adjusted when using
50+
the ``esp-idf`` framework up to a maximum of ``9``. It is recommended not to exceed ``5``
51+
connection slots to avoid memory issues. Defaults to ``3``.
52+
The value must not exceed the total configured ``max_connections``
53+
for :doc:`esp32_ble_tracker`.
4854

4955
The Bluetooth proxy depends on :doc:`esp32_ble_tracker` so make sure to add that to your configuration.
5056

@@ -113,6 +119,7 @@ This configuration is for an Olimex ESP32-PoE-ISO board with an Ethernet connect
113119
114120
bluetooth_proxy:
115121
active: true
122+
connection_slots: 3
116123
117124
118125
See Also

components/canbus/esp32_can.rst

+2
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ Configuration variables:
2828
- **tx_pin** (**Required**, :ref:`Pin <config-pin>`): Transmit pin.
2929
- **rx_queue_len** (**Optional**, int): Length of RX queue.
3030
- **tx_queue_len** (**Optional**, int): Length of TX queue, 0 to disable.
31+
- **tx_enqueue_timeout** (**Optional**, :ref:`config-time`): Maximum time to wait when the TX queue is full before
32+
dropping the message (by default, this is set to the time it takes to send 10 CAN messages at the given bit rate).
3133
- All other options from :ref:`Canbus <config-canbus>`.
3234

3335
.. _esp32-can-bit-rate:

components/esp32.rst

+3
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,9 @@ Advanced Configuration
112112
- **ignore_efuse_mac_crc** (*Optional*, boolean): Can be set to ``true`` for devices on which the burned-in MAC
113113
address is not consistent with the burned-in CRC for that MAC address, resulting in an error like
114114
``Base MAC address from BLK0 of EFUSE CRC error``. **Valid only on original ESP32 with** ``esp-idf`` **framework.**
115+
- **enable_idf_experimental_features** (*Optional*, boolean): Can be set to ``true`` to enable
116+
experimental features in the ESP-IDF framework. Not valid for the Arduino framework. Use of experimental features
117+
may cause instability or other issues.
115118

116119
GPIO Pin Numbering
117120
------------------

components/esp32_ble_tracker.rst

+8
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ the MAC address of a device and track it using ESPHome.
2323
2424
# Example configuration entry
2525
esp32_ble_tracker:
26+
max_connections: 3
2627
2728
binary_sensor:
2829
- platform: ble_presence
@@ -86,6 +87,13 @@ Configuration variables:
8687
asked to start a scan (with start_scan action). Defaults to ``true``.
8788

8889
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID for this ESP32 BLE Hub.
90+
- **max_connections** (*Optional*, int): The maximum number of BLE connection slots to use.
91+
Each configured slot consumes ~1KB of RAM. It is recommended not to exceed ``5``
92+
connection slots to avoid memory issues. Defaults to ``3``.
93+
This can only be adjusted when using the ``esp-idf`` framework up to a maximum of ``9``.
94+
This value cannot exceed the total number of ``connection_slots`` for the
95+
:doc:`bluetooth_proxy` component combined with the total
96+
configured :doc:`ble_client` instances.
8997

9098
Automations:
9199

components/esphome.rst

+1
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ Advanced options:
6666
See :ref:`esphome-min_version`.
6767
- **compile_process_limit** (*Optional*, int): The maximum number of simultaneous compile processes to run.
6868
Defaults to the number of cores of the CPU which is also the maximum you can set.
69+
- **debug_scheduler** (*Optional*, boolean): If set, the scheduler will print debug information about scheduled tasks at log level DEBUG.
6970

7071
Automations:
7172

components/index.rst

+2
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ Bluetooth/BLE
107107
ESP32 BLE Beacon, components/esp32_ble_beacon, bluetooth.svg, dark-invert
108108
ESP32 BLE Client, components/ble_client, bluetooth.svg, dark-invert
109109
ESP32 BLE Tracker, components/esp32_ble_tracker, bluetooth.svg, dark-invert
110+
ESP32 BLE Server, components/esp32_ble_server, bluetooth.svg, dark-invert
110111
Bluetooth Proxy, components/bluetooth_proxy, bluetooth.svg, dark-invert
111112
Improv via BLE, components/esp32_improv, improv.svg, dark-invert
112113

@@ -909,6 +910,7 @@ Output Components
909910
GP8403, components/output/gp8403, gp8403.svg
910911
GPIO Output, components/output/gpio, gpio.svg
911912
LibreTiny PWM, components/output/libretiny_pwm, pwm.png
913+
MCP4661, components/output/mcp4461, mcp4461.jpg
912914
MCP4725, components/output/mcp4725, mcp4725.jpg
913915
MCP4728, components/output/mcp4728, mcp4728.jpg
914916
MCP47A1, components/output/mcp47a1, mcp47a1.svg

components/logger.rst

+8-4
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,14 @@ Advanced settings:
4747
- **on_message** (*Optional*, :ref:`Automation <automation>`): An action to be
4848
performed when a message is to be logged. The variables ``int level``, ``const char* tag`` and
4949
``const char* message`` are available for lambda processing.
50-
- **deassert_rts_dtr** (*Optional*, boolean): Deasserts RTS/DTR when opening
51-
log over UART. This is useful if RTS/DTR signals are directly connected to
52-
the reset pin or strapping pins. Note: Deassert typically means high on TTL
53-
level since RTS/DTR are usually low active signals. Defaults to ``false``.
50+
- **deassert_rts_dtr** (*Optional*, boolean): Causes ESPHome to sequentially drive DTR and RTS false after opening
51+
a serial logging connection. Defaults to ``false``.
52+
Many ESP boards use these signals to reset the chip or enter
53+
bootloader mode, and the effect of setting this option will be
54+
to reset the chip in application mode after opening the serial port, thus ensuring that all log messages
55+
from the boot process are captured.
56+
Note: Deassert typically means a TTL high level
57+
level since RTS/DTR are usually low active signals.
5458

5559
.. _logger-hardware_uarts:
5660

components/lvgl/index.rst

+32
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,32 @@ Feel free to experiment to discover inheritance and precedence of the styles bas
452452

453453
:ref:`lvgl-cookbook-theme` The Cookbook contains an example which demonstrates how to implement a gradient style for your widgets.
454454

455+
``lvgl.style.update``
456+
*********************
457+
458+
This :ref:`action <actions-action>` allows changing/updating the properties of a style at run time. This can be used to
459+
implement dynamic themes, e.g. light/dark mode, or to change the appearance of widgets based on user interaction.
460+
461+
The action takes a style ID and a dictionary of properties to update. The properties can be any of the style properties listed above, and the values are templatable.components
462+
463+
.. code-block:: yaml
464+
465+
# Example configuration entry
466+
lvgl:
467+
style_definitions:
468+
- id: my_style
469+
bg_color: 0xFFFFFF
470+
border_color: 0x000000
471+
border_width: 2
472+
473+
# Action to update the style
474+
on_...:
475+
- lvgl.style.update:
476+
id: my_style
477+
properties:
478+
bg_color: 0xFF0000
479+
border_color: 0x00FF00
480+
455481
.. _lvgl-layouts:
456482

457483
Layouts
@@ -921,6 +947,12 @@ This :ref:`trigger <lvgl-automation-triggers>` is triggered when LVGL is paused.
921947
This :ref:`trigger <lvgl-automation-triggers>` is triggered when LVGL is resumed. This can be used to perform any desired actions when the screen is unlocked, such as turning on the display backlight.
922948

923949

950+
``on_boot``
951+
*************
952+
953+
This :ref:`trigger <lvgl-automation-triggers>` is triggered after LVGL has been setup. It is also available on any widget, but the timing is the same.
954+
955+
924956
See Also
925957
--------
926958

components/lvgl/widgets.rst

+18-1
Original file line numberDiff line numberDiff line change
@@ -1026,6 +1026,14 @@ The line widget is capable of drawing straight lines between a set of points.
10261026

10271027
By default, the Line widget width and height dimensions are set to ``SIZE_CONTENT``. This means it will automatically set its size to fit all the points. If the size is set explicitly, parts of the line may not be visible.
10281028

1029+
The points list may be defined with constants in the form ``x, y`` or as a list of dictionaries with ``x`` and ``y`` keys. The latter allows for more complex point definitions, such as using a lambda function to calculate the coordinates.
1030+
1031+
**Actions:**
1032+
1033+
- ``lvgl.line.update`` :ref:`action <actions-action>` updates the points and any style properties.
1034+
- **id** (**Required**): The ID or a list of IDs of lines to update.
1035+
- **points** (**Required**): A point list as described above.
1036+
10291037
**Example:**
10301038

10311039
.. code-block:: yaml
@@ -1036,7 +1044,8 @@ By default, the Line widget width and height dimensions are set to ``SIZE_CONTEN
10361044
- 5, 5
10371045
- 70, 70
10381046
- 120, 10
1039-
- 180, 60
1047+
- x: !lambda return random_uint32() % 100;
1048+
y: !lambda return random_uint32() % 100;
10401049
- 230, 15
10411050
line_width: 8
10421051
line_color: 0x0000FF
@@ -1962,6 +1971,14 @@ when the page becomes active or inactive respectively.
19621971
transition_length: 0ms
19631972
brightness: !lambda return x / 100;
19641973
1974+
1975+
``on_boot``
1976+
*************
1977+
1978+
This :ref:`trigger <lvgl-automation-triggers>` is triggered after LVGL has been setup. It is available on the ``lvgl`` component and any widget and can be used to perform any LVGL related setup that is not possible with static configuration.
1979+
When used on a widget, it does not act specifically on that widget but can be used to keep actions related to that widget together with its configuration.
1980+
1981+
19651982
See Also
19661983
--------
19671984

0 commit comments

Comments
 (0)