Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial LVGL doc for ESPHome #3678

Merged
merged 640 commits into from
Aug 11, 2024
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
640 commits
Select commit Hold shift + click to select a range
e224fae
textarea widget
nagyrobi May 9, 2024
767d238
Update lvgl.rst
nagyrobi May 9, 2024
03e4c48
Merge branch 'next' into lvgl-next-doc
nagyrobi May 9, 2024
6ef4f46
Update components/binary_sensor/lvgl.rst
nagyrobi May 9, 2024
f7374e5
Update components/binary_sensor/lvgl.rst
nagyrobi May 9, 2024
46f8209
Update components/binary_sensor/lvgl.rst
nagyrobi May 9, 2024
011796c
Update components/lvgl.rst
nagyrobi May 9, 2024
f6789c9
Update components/lvgl.rst
nagyrobi May 9, 2024
6567005
Update components/lvgl.rst
nagyrobi May 9, 2024
6f62a90
Update components/lvgl.rst
nagyrobi May 9, 2024
d5ae9a3
Update components/lvgl.rst
nagyrobi May 9, 2024
f181012
Update components/display/fonts.rst
nagyrobi May 9, 2024
ec1810e
Update lvgl.rst
nagyrobi May 9, 2024
16e60f6
Update lvgl.rst
nagyrobi May 9, 2024
0348fec
Update components/sensor/lvgl.rst
nagyrobi May 10, 2024
24d4d40
Update components/sensor/lvgl.rst
nagyrobi May 10, 2024
66a3cda
Update components/text/lvgl.rst
nagyrobi May 10, 2024
7dc7536
Update components/binary_sensor/lvgl.rst
nagyrobi May 10, 2024
e38c372
Update components/sensor/lvgl.rst
nagyrobi May 10, 2024
1b6b8b1
Update components/sensor/lvgl.rst
nagyrobi May 10, 2024
544a9d0
Update components/lvgl.rst
nagyrobi May 10, 2024
9eef219
Update components/lvgl.rst
nagyrobi May 10, 2024
29d034e
Update components/text/lvgl.rst
nagyrobi May 10, 2024
cbbf074
Update components/text/lvgl.rst
nagyrobi May 10, 2024
e6fe794
Update components/display/index.rst
nagyrobi May 10, 2024
3aad18b
Update components/text/lvgl.rst
nagyrobi May 10, 2024
5a2874a
Update components/text_sensor/lvgl.rst
nagyrobi May 10, 2024
ebd765d
Update components/text_sensor/lvgl.rst
nagyrobi May 10, 2024
95dadb1
Update components/text_sensor/lvgl.rst
nagyrobi May 10, 2024
b4950ef
Update components/text_sensor/lvgl.rst
nagyrobi May 10, 2024
4a8a374
Update components/lvgl.rst
nagyrobi May 10, 2024
2846eef
Update components/lvgl.rst
nagyrobi May 10, 2024
950ef86
Update components/lvgl.rst
nagyrobi May 10, 2024
d5e20d8
Update components/lvgl.rst
nagyrobi May 10, 2024
9633024
Update components/lvgl.rst
nagyrobi May 10, 2024
30c44f5
Update components/lvgl.rst
nagyrobi May 10, 2024
af552a6
Update components/lvgl.rst
nagyrobi May 10, 2024
97c534a
Update components/lvgl.rst
nagyrobi May 10, 2024
dd4c969
Update components/lvgl.rst
nagyrobi May 10, 2024
a1c922f
Update components/lvgl.rst
nagyrobi May 10, 2024
eb93ce7
Update components/lvgl.rst
nagyrobi May 10, 2024
b8050b9
Update components/lvgl.rst
nagyrobi May 10, 2024
627e7f8
Update components/lvgl.rst
nagyrobi May 10, 2024
39b60a0
Update components/light/lvgl.rst
nagyrobi May 10, 2024
b0b29a8
Update components/light/lvgl.rst
nagyrobi May 10, 2024
829a5c3
Update components/light/lvgl.rst
nagyrobi May 10, 2024
de1fcba
Update components/lvgl.rst
nagyrobi May 10, 2024
8a9fd55
Update components/lvgl.rst
nagyrobi May 10, 2024
75710ef
Update components/lvgl.rst
nagyrobi May 10, 2024
7fe9dae
Update components/lvgl.rst
nagyrobi May 10, 2024
a52ad0b
Update components/lvgl.rst
nagyrobi May 10, 2024
10b3054
Update components/number/lvgl.rst
nagyrobi May 10, 2024
550f79e
Update components/number/lvgl.rst
nagyrobi May 10, 2024
19e639f
Apply suggestions from code review
nagyrobi May 10, 2024
3e53c9b
The one to one relation between widget and component :-)
nagyrobi May 10, 2024
8fa2e67
Update lvgl.rst
nagyrobi May 10, 2024
f54b360
Update lvgl.rst
nagyrobi May 10, 2024
e906760
Update lvgl.rst
nagyrobi May 10, 2024
d0bc87b
Update lvgl_c_txt.png
nagyrobi May 10, 2024
8d6a5be
keyboard widget
nagyrobi May 10, 2024
fb86bf3
Update components/lvgl.rst
nagyrobi May 10, 2024
3323a48
Apply suggestions from code review
nagyrobi May 10, 2024
c6b8e97
Update lvgl.rst
nagyrobi May 10, 2024
947e841
Update index.rst
nagyrobi May 10, 2024
9431a61
Update lvgl.rst
nagyrobi May 10, 2024
ba89b56
Update lvgl.rst
nagyrobi May 10, 2024
66fde50
options > variables
nagyrobi May 10, 2024
b980893
Update lvgl.rst
nagyrobi May 10, 2024
21d240d
Update index.rst
nagyrobi May 11, 2024
edd3659
Update index.rst
nagyrobi May 11, 2024
63bdf62
Update lvgl.rst
nagyrobi May 11, 2024
2b582a3
Update lvgl.rst
nagyrobi May 11, 2024
ee43433
Apply suggestions from code review
nagyrobi May 12, 2024
b175fdb
feature updates
nagyrobi May 12, 2024
444b301
Merge branch 'next' into lvgl-next-doc
nagyrobi May 13, 2024
85db605
added missing img options
nagyrobi May 13, 2024
5f26d80
Update lvgl.rst
nagyrobi May 13, 2024
542cc57
Apply suggestions from code review
nagyrobi May 13, 2024
0a6f620
Update lvgl.rst
nagyrobi May 13, 2024
1cdf2df
Merge branch 'lvgl-next-doc' of https://github.com/nagyrobi/esphome-d…
nagyrobi May 13, 2024
03abaa7
Update lvgl.rst
nagyrobi May 13, 2024
7de1ae5
Update lvgl.rst
nagyrobi May 13, 2024
02c3e32
Apply suggestions from code review
nagyrobi May 13, 2024
c1682e6
train
nagyrobi May 13, 2024
120f21a
Merge branch 'lvgl-next-doc' of https://github.com/nagyrobi/esphome-d…
nagyrobi May 13, 2024
4fd3002
Merge branch 'next' into lvgl-next-doc
nagyrobi May 13, 2024
f52b8b2
new tileview syntax
nagyrobi May 13, 2024
a55eebf
adding tabview
nagyrobi May 13, 2024
72ab067
Grid layout added
nagyrobi May 13, 2024
7980582
Flex layout cookbook example
nagyrobi May 13, 2024
d570317
Update lvgl.rst
nagyrobi May 13, 2024
f67bd7c
Update lvgl.rst
nagyrobi May 13, 2024
5cb1ad6
Update lvgl.rst
nagyrobi May 13, 2024
a7980fe
Update lvgl.rst
nagyrobi May 13, 2024
ed9843a
Merge branch 'next' into lvgl-next-doc
nagyrobi May 14, 2024
c577ca5
Apply suggestions from code review
nagyrobi May 15, 2024
9d2f207
Merge branch 'next' into lvgl-next-doc
nagyrobi May 15, 2024
a439bf3
grid layout
nagyrobi May 15, 2024
a9b4e49
grid to cookbook
nagyrobi May 15, 2024
687f6ed
Update lvgl.rst
nagyrobi May 15, 2024
7a0dbde
Update lvgl.rst
nagyrobi May 15, 2024
481e50a
Update lvgl.rst
nagyrobi May 15, 2024
1d7eb48
Update lvgl.rst
nagyrobi May 15, 2024
654ceaf
Update lvgl.rst
nagyrobi May 15, 2024
1bb898c
Update lvgl.rst
nagyrobi May 15, 2024
3e02f2b
flex / grid crosslinx
nagyrobi May 15, 2024
91aaf67
Update lvgl.rst
nagyrobi May 15, 2024
462467a
Update lvgl.rst
nagyrobi May 15, 2024
360fa71
removal of binary_output config from the lvgl switch platform
nagyrobi May 17, 2024
44b6e47
Merge branch 'next' into lvgl-next-doc
nagyrobi May 17, 2024
146bfa8
Update lvgl.rst
nagyrobi May 17, 2024
de4a42f
Apply suggestions from code review
nagyrobi May 19, 2024
d585852
Update lvgl.rst
nagyrobi May 19, 2024
d573f53
Update lvgl.rst
nagyrobi May 19, 2024
3fdc317
Update lvgl.rst
nagyrobi May 20, 2024
ed2e624
Merge branch 'next' into lvgl-next-doc
nagyrobi May 21, 2024
0b02b4e
Update lvgl.rst
nagyrobi May 21, 2024
63bfb7b
Update lvgl.rst
nagyrobi May 21, 2024
4779f19
rotary_encoder changes
nagyrobi May 21, 2024
ecf8a87
Update lvgl.rst
nagyrobi May 21, 2024
4421402
Merge branch 'next' into lvgl-next-doc
nagyrobi May 22, 2024
002a998
capitals for special values
nagyrobi May 22, 2024
e0c7cb9
cookbook capitals and additions
nagyrobi May 22, 2024
9a9c60e
adding keypads config
nagyrobi May 22, 2024
208de0c
Update lvgl.rst
nagyrobi May 22, 2024
f31a672
Update lvgl.rst
nagyrobi May 22, 2024
855df83
Update lvgl.rst
nagyrobi May 22, 2024
2ce20b7
Update lvgl_msgbox.png
nagyrobi May 22, 2024
1b91084
layout clarifications
nagyrobi May 22, 2024
8db563e
positioning clarifications
nagyrobi May 22, 2024
6bfe6ab
tip
nagyrobi May 22, 2024
05863cb
cookbook weather panel
nagyrobi May 22, 2024
26409a8
weather tweaks
nagyrobi May 22, 2024
afe37c3
Update lvgl_cook_weather.png
nagyrobi May 22, 2024
3ff112e
layout crosslink to the cookbook
nagyrobi May 22, 2024
5a85dac
Update lvgl_cook_weather.png
nagyrobi May 22, 2024
b1972bf
Update lvgl.rst
nagyrobi May 22, 2024
765882d
Update lvgl.rst
nagyrobi May 22, 2024
7f2357c
Merge branch 'next' into lvgl-next-doc
nagyrobi May 22, 2024
a8a34f7
Merge branch 'next' into lvgl-next-doc
nagyrobi May 23, 2024
b5ce253
final tweaks
nagyrobi May 23, 2024
3047c63
Merge branch 'lvgl-next-doc' of https://github.com/nagyrobi/esphome-d…
nagyrobi May 23, 2024
de21933
Update lvgl_cook_weather.png
nagyrobi May 23, 2024
24611f2
inclusion in automations guide list
nagyrobi May 23, 2024
41caf12
Update lvgl.rst
nagyrobi May 23, 2024
ea9e1d3
how to fix the missing checkmark with other font as default
nagyrobi May 24, 2024
e3bbb56
Merge branch 'next' into lvgl-next-doc
nagyrobi May 24, 2024
65bf368
notes based on feedback received on Discord
nagyrobi May 24, 2024
598929d
Merge branch 'next' into lvgl-next-doc
nagyrobi May 24, 2024
faf9c47
Update lvgl.rst
nagyrobi May 25, 2024
9d33a42
color_depth correction
nagyrobi May 26, 2024
dc1afc9
Merge branch 'next' into lvgl-next-doc
nagyrobi May 28, 2024
284a346
Update lvgl.rst
nagyrobi May 30, 2024
44f9cab
Cleaned up some config option descriptions.
clydebarrow May 31, 2024
f988dcc
Merge branch 'next' into lvgl-next-doc
clydebarrow May 31, 2024
1dce4c5
Merge branch 'next' into lvgl-next-doc
nagyrobi Jun 3, 2024
f92e0a1
Update lvgl.rst
nagyrobi Jun 3, 2024
7ee1787
fix typos in lvgl platforms
nagyrobi Jun 3, 2024
2537fe6
Merge branch 'next' into lvgl-next-doc
clydebarrow Jun 4, 2024
dbdc963
Merge branch 'next' into lvgl-next-doc
nagyrobi Jun 10, 2024
2b2724a
use new logos in boot screen
nagyrobi Jun 10, 2024
bbdee94
Merge branch 'next' into lvgl-next-doc
nagyrobi Jun 10, 2024
545fc52
Merge branch 'next' into lvgl-next-doc
nagyrobi Jun 17, 2024
096a1d4
Update automations.rst
nagyrobi Jun 17, 2024
ac88b84
Merge branch 'next' into lvgl-next-doc
nagyrobi Jun 20, 2024
328da5f
Clarify some `img` settings
nagyrobi Jun 20, 2024
d014f03
pivots are in pixels
nagyrobi Jun 20, 2024
9483616
Update lvgl.rst
nagyrobi Jun 20, 2024
2b85515
Merge branch 'next' into lvgl-next-doc
nagyrobi Jun 27, 2024
e7c60a1
update automation hyperlinks
nagyrobi Jun 28, 2024
cb658cf
Merge branch 'next' into lvgl-next-doc
nagyrobi Jul 9, 2024
5c110f2
lvgl.indicator.update explanation fix
nagyrobi Jul 10, 2024
0e986a6
Merge branch 'next' into lvgl-next-doc
nagyrobi Jul 15, 2024
b062c2b
Merge branch 'next' into lvgl-next-doc
nagyrobi Jul 17, 2024
7ef39f9
tabview index
nagyrobi Jul 17, 2024
51569e7
Update lvgl.rst
nagyrobi Jul 17, 2024
d79ff12
Start migration to LVGL v9
nagyrobi Jul 19, 2024
645ace7
Update lvgl.rst
nagyrobi Jul 19, 2024
0ac72ed
linterfixes
nagyrobi Jul 19, 2024
e24abdb
rename to lvgl_buttonmatrix.png
nagyrobi Jul 19, 2024
e2e4aec
Update lvgl.rst
nagyrobi Jul 19, 2024
1ebd729
Merge branch 'next' into lvgl-next-doc
nagyrobi Jul 22, 2024
6a35c3c
Merge branch 'next' into lvgl-next-doc
nagyrobi Jul 24, 2024
208d8aa
Merge pull request #8 from nagyrobi/lvgl9-next-doc
nagyrobi Jul 28, 2024
add934f
correct version, it's still 8
nagyrobi Jul 28, 2024
b5c8ebe
Update lvgl.rst
nagyrobi Jul 28, 2024
96fca57
Update lvgl.rst
nagyrobi Jul 29, 2024
229c665
Merge branch 'next' into lvgl-next-doc
nagyrobi Jul 29, 2024
9fa204b
Update lvgl.rst
nagyrobi Jul 29, 2024
d1df8a4
Merge branch 'next' into lvgl-next-doc
nagyrobi Jul 30, 2024
cef31bf
Merge branch 'next' into lvgl-next-doc
nagyrobi Jul 31, 2024
690b603
add ID option docs to actions
nagyrobi Jul 31, 2024
199cd0c
Merge branch 'lvgl-next-doc' of https://github.com/nagyrobi/esphome-d…
nagyrobi Jul 31, 2024
3f8cb79
Update lvgl.rst
nagyrobi Jul 31, 2024
c4bd712
Update lvgl.rst
nagyrobi Jul 31, 2024
f574e95
Update lvgl.rst
nagyrobi Jul 31, 2024
79cff49
Update lvgl.rst
nagyrobi Jul 31, 2024
cc649b3
Update lvgl.rst
nagyrobi Aug 5, 2024
88ac712
Update lvgl.rst
nagyrobi Aug 5, 2024
ead04c6
Merge branch 'next' into lvgl-next-doc
nagyrobi Aug 5, 2024
55ff061
Apply suggestions from code review
nagyrobi Aug 5, 2024
5d837e0
Update cookbook/lvgl.rst
nagyrobi Aug 5, 2024
2e80a1e
Update cookbook/lvgl.rst
nagyrobi Aug 5, 2024
a1e6d65
remove cookbook
nagyrobi Aug 5, 2024
2139bd0
Update lvgl.rst
nagyrobi Aug 5, 2024
39aa9a7
Update components/lvgl.rst
nagyrobi Aug 6, 2024
816fd75
Update components/lvgl.rst
nagyrobi Aug 6, 2024
bedabc5
Update components/lvgl.rst
nagyrobi Aug 6, 2024
c7d2bde
Update components/lvgl.rst
nagyrobi Aug 6, 2024
0ed50b5
Update components/light/lvgl.rst
nagyrobi Aug 6, 2024
357d06d
LVGL initial, splitted doc
nagyrobi Aug 6, 2024
490c0fe
components
nagyrobi Aug 6, 2024
bbcdc5a
populate index
nagyrobi Aug 6, 2024
905dfab
crosslinx to the others
nagyrobi Aug 6, 2024
3bc1f09
image path fix
nagyrobi Aug 6, 2024
d420032
several image path fixes
nagyrobi Aug 6, 2024
b33134a
index fix
nagyrobi Aug 6, 2024
92a69ec
Update index.rst
nagyrobi Aug 6, 2024
753e926
toctree addition
nagyrobi Aug 6, 2024
3f5a0aa
longer anchor names
nagyrobi Aug 6, 2024
dbffdeb
number also
nagyrobi Aug 6, 2024
50b396b
longer anchor names
nagyrobi Aug 6, 2024
7fb451a
rotary_encoders is now just encoders
nagyrobi Aug 6, 2024
e453ef4
TOC optimizations
nagyrobi Aug 6, 2024
8669619
Update widgets.rst
nagyrobi Aug 6, 2024
3d4f44a
Update widgets.rst
nagyrobi Aug 6, 2024
2ee8827
action links
nagyrobi Aug 6, 2024
c2a5b37
Apply suggestions from code review
nagyrobi Aug 6, 2024
8df6f2c
Merge branch 'next' into lvgl-next-doc-mfl
nagyrobi Aug 6, 2024
488f714
longer anchors
nagyrobi Aug 6, 2024
f29d7bc
Merge branch 'lvgl-next-doc-mfl' of https://github.com/nagyrobi/espho…
nagyrobi Aug 6, 2024
f0f8b63
further anchor names extended
nagyrobi Aug 6, 2024
6998d22
TOC fixes
nagyrobi Aug 6, 2024
171fde6
Merge branch 'next' into pr/nagyrobi/3678
jesserockz Aug 6, 2024
af0888d
Merge branch 'lvgl-next-doc' into lvgl-next-doc-mfl
nagyrobi Aug 6, 2024
de9d429
Merge pull request #9 from nagyrobi/lvgl-next-doc-mfl
nagyrobi Aug 6, 2024
0b6063b
Delete lvgl.rst
nagyrobi Aug 6, 2024
351f537
Remove cookbook
kbx81 Aug 7, 2024
94a9157
Remove cookbook from `lint.py`, too
kbx81 Aug 7, 2024
1fe21c4
Fix up some labels
kbx81 Aug 7, 2024
bf14f04
Alphabetize a bunch of stuff
kbx81 Aug 7, 2024
de2903c
Add note about default group.
clydebarrow Aug 11, 2024
5b33dc6
Remove duplicate image files
jesserockz Aug 11, 2024
a3a042d
Change ref to doc and remove whitespace
jesserockz Aug 11, 2024
2f3bcf2
Revert valve movement (Should be own PR)
jesserockz Aug 11, 2024
3f9973f
Revert unrelated whitespace changes
jesserockz Aug 11, 2024
2c810b5
Revert unrelated whitespace changes
jesserockz Aug 11, 2024
df26088
Revert unrelated whitespace changes
jesserockz Aug 11, 2024
6a62fb4
More ref -> doc
jesserockz Aug 11, 2024
3d5bb6a
More ref -> doc
jesserockz Aug 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions components/binary_sensor/lvgl.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@

.. _lvgl-binary-sensor:


LVGL Binary Sensor
==================

.. seo::
:description: Instructions for setting up an LVGL widget binary sensor.
:image: ../images/lvgl_c_bns.png

The ``lvgl`` binary sensor platform creates a binary sensor from an LVGL widget
and requires :ref:`LVGL <lvgl-main>` to be configured.

Supported widget is :ref:`lvgl-widget-button`. A single binary sensor supports only a single widget; in other words, it's not possible to have multiple widgets associated with a single ESPHome binary sensor component.

Configuration variables:
------------------------

- **widget** (**Required**): The ID of a supported widget configured in LVGL, which will reflect the state of the binary sensor.
- All other variables from :ref:`Binary Sensor <config-binary_sensor>`.

Example:

.. code-block:: yaml

binary_sensor:
- platform: lvgl
widget: btn_id
name: LVGL push button

See Also
--------
- :ref:`LVGL Main component <lvgl-main>`
- :ref:`Button widget <lvgl-widget-button>`
- :doc:`/components/sensor/lvgl`
- :doc:`/components/number/lvgl`
- :doc:`/components/switch/lvgl`
- :doc:`/components/select/lvgl`
- :doc:`/components/light/lvgl`
- :doc:`/components/text/lvgl`
- :doc:`/components/text_sensor/lvgl`
- :ghedit:`Edit`
25 changes: 16 additions & 9 deletions components/display/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,25 @@ Display Component
The ``display`` component houses ESPHome's powerful rendering and display
engine. Fundamentally, there are these types of displays:

- Text based displays like :doc:`7-Segment displays <max7219>` or
- Character displays like :doc:`7-Segment displays <max7219>` or
:doc:`LCD displays <lcd_display>`.
- Graphical serial displays like :doc:`nextion` that have their own processors for rendering.
- Serial displays like :doc:`nextion` that have their own processors for graphics rendering.
- Graphical binary displays which can toggle ON/OFF any pixel, like :doc:`E-Paper <waveshare_epaper>`,
nagyrobi marked this conversation as resolved.
Show resolved Hide resolved

:doc:`OLED <ssd1306>` or :doc:`TFT <ili9xxx>` displays.

For the last type, ESPHome has a powerful rendering engine that can do
many things like draw some basic shapes, print text with any font you want, or even show images.
For graphical displays, which offer the greatest flexibility, there are two options:

- ESPHome's :ref:`own rendering engine <display-engine>`
- :ref:`LVGL <lvgl-main>` - Light and Versatile Graphics Library

.. _display-engine:

Display Rendering Engine
------------------------

ESPHome's own powerful rendering engine can handle many common tasks such as drawing basic shapes,
printing text with fonts of your choice, or even rendering images.

To achieve all this flexibility displays tie in directly into ESPHome's :ref:`lambda system <config-lambda>`.
So when you want to write some text or sensor values to the screen you will be writing in C++ code
Expand All @@ -24,11 +35,6 @@ using an API that is designed to
- be simple and to be used without programming experience
- but also be flexible enough to work with more complex tasks like displaying an analog clock.

.. _display-engine:

Display Rendering Engine
------------------------

In this section we will be discussing how to use ESPHome's display rendering engine from ESPHome
and some basic commands. Please note that this only applies to displays that can control each pixel
individually.
Expand Down Expand Up @@ -605,6 +611,7 @@ See Also
--------

- :apiref:`display/display_buffer.h`
- :ref:`LVGL <lvgl-main>`
- :ref:`Fonts <display-fonts>`
- :ref:`Graph Component <display-graphs>`
- :ref:`QR Code Component <display-qrcode>`
Expand Down
4 changes: 3 additions & 1 deletion components/font.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Font Renderer Component

ESPHome's graphical rendering engine also has a powerful font drawer which integrates seamlessly into the system. You have the option to use **any** OpenType/TrueType (``.ttf``, ``.otf``, ``.woff``) font file at **any** size, as well as fixed-size `PCF <https://en.wikipedia.org/wiki/Portable_Compiled_Format>`_ and `BDF <https://en.wikipedia.org/wiki/Glyph_Bitmap_Distribution_Format>`_ bitmap fonts.

These fonts can be used in ESPHome's :ref:`own rendering engine <display-engine>`.
These fonts can be used in ESPHome's :ref:`own rendering engine <display-engine>` or in the :ref:`LVGL Graphics <lvgl-main>` component.

To use fonts you can either
- Just grab a ``.ttf``, ``.otf``, ``.woff``, ``.pcf``, or ``.bdf`` file from somewhere on the internet and place it, for example, inside a ``fonts`` folder next to your configuration file.
Expand Down Expand Up @@ -83,6 +83,7 @@ Next, create a ``font:`` section in your configuration:
display:
# ...


Configuration variables:
------------------------

Expand Down Expand Up @@ -155,6 +156,7 @@ See Also

- :apiref:`display/display_buffer.h`
- :ref:`display-engine`
- :ref:`lvgl-main`
- `MDI cheatsheet <https://pictogrammers.com/library/mdi/>`_
- `MDI font repository <https://github.com/Pictogrammers/pictogrammers.github.io/tree/main/%40mdi/font/>`_
- :ghedit:`Edit`
Binary file added components/images/lvgl_align.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_animimg.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_arc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_bar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_baseobj.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_boxmodel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_button.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_buttonmatrix.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_checkbox.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_dropdown.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_keyboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_label.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_led.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_line.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_main_screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_meter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_msgbox.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_roller.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_slider.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_spinbox.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_spinner.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_switch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_symbols.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_tabview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added components/images/lvgl_textarea.png
1 change: 1 addition & 0 deletions components/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ Components
touchscreen/index
lock/index
display_menu/index
lvgl/index
media_player/index
microphone/index
speaker/index
Expand Down
20 changes: 9 additions & 11 deletions components/key_collector.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ Key collector component
.. seo::
:description: Key collector component

The ``key_collector`` component collects key presses from
components like :ref:`matrix_keypad` or ``wiegand``. It allows you to process
key sequences and treat them as one, for example to allow inputting of
a PIN code or a passkey. The component outputs the result of the keypress
sequence as a variable usable in automations.

The ``key_collector`` component collects key presses from components
like :ref:`matrix_keypad`, :ref:`Wiegand keypad <wiegand>`
or LVGL :ref:`Button Matrix <lvgl-widget-buttonmatrix>`, :ref:`Keyboard <lvgl-widget-keyboard>`
widgets. It allows you to process key sequences and treat them as one, for
example to allow inputting of a PIN code or a passkey. The component outputs
the result of the keypress sequence as a variable usable in automations.

Component
---------
Expand Down Expand Up @@ -43,8 +43,6 @@ Component
format: "input timeout: '%s', started by '%c'"
args: [ 'x.c_str()', "(start == 0 ? '~' : start)" ]



Configuration variables:

- **id** (*Optional*, :ref:`config-id`): Set the ID of this entry for use in lambdas.
Expand Down Expand Up @@ -92,7 +90,7 @@ See Also
--------

- :doc:`/components/matrix_keypad`

.. - :doc:`/components/wiegand`

- :doc:`/components/wiegand`
- :ref:`LVGL Button Matrix widget <lvgl-widget-buttonmatrix>`
- :ref:`LVGL Keyboard widget <lvgl-widget-keyboard>`
- :ghedit:`Edit`
46 changes: 46 additions & 0 deletions components/light/lvgl.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
.. _lvgl-light:

LVGL Light
==========

.. seo::
:description: Instructions for setting up an LVGL widget light.
:image: ../images/lvgl_c_lig.png

The ``lvgl`` light platform creates a light from an LVGL widget
and requires :ref:`LVGL <lvgl-main>` to be configured.

Supported widget is :ref:`lvgl-widget-led`. A single light supports only a single widget; in other words, it's not possible to have multiple widgets associated with a single ESPHome light component.

Configuration variables:
------------------------

- **widget** (**Required**): The ID of a ``led`` widget configured in LVGL, which will reflect the state of the light.
- All other options from :ref:`light <config-light>`.


Example:

.. code-block:: yaml

light:
- platform: lvgl
widget: led_id
name: LVGL light

.. note::

To have linear brightness control, ``gamma_correct`` of the light is set by default to ``0``.

See Also
--------
- :ref:`LVGL Main component <lvgl-main>`
- :ref:`LED widget <lvgl-widget-led>`
- :doc:`/components/binary_sensor/lvgl`
- :doc:`/components/sensor/lvgl`
- :doc:`/components/number/lvgl`
- :doc:`/components/switch/lvgl`
- :doc:`/components/select/lvgl`
- :doc:`/components/text/lvgl`
- :doc:`/components/text_sensor/lvgl`
- :ghedit:`Edit`
Binary file added components/lvgl/images/lvgl_align.png
Binary file added components/lvgl/images/lvgl_animimg.gif
Binary file added components/lvgl/images/lvgl_arc.png
Binary file added components/lvgl/images/lvgl_bar.png
Binary file added components/lvgl/images/lvgl_baseobj.png
Binary file added components/lvgl/images/lvgl_boxmodel.png
Binary file added components/lvgl/images/lvgl_button.png
Binary file added components/lvgl/images/lvgl_buttonmatrix.png
Binary file added components/lvgl/images/lvgl_checkbox.png
Binary file added components/lvgl/images/lvgl_dropdown.png
Binary file added components/lvgl/images/lvgl_image.png
Binary file added components/lvgl/images/lvgl_keyboard.png
Binary file added components/lvgl/images/lvgl_label.png
Binary file added components/lvgl/images/lvgl_led.png
Binary file added components/lvgl/images/lvgl_line.png
Binary file added components/lvgl/images/lvgl_main_screenshot.png
Binary file added components/lvgl/images/lvgl_meter.png
Binary file added components/lvgl/images/lvgl_msgbox.png
Binary file added components/lvgl/images/lvgl_roller.png
Binary file added components/lvgl/images/lvgl_slider.png
Binary file added components/lvgl/images/lvgl_spinbox.png
Binary file added components/lvgl/images/lvgl_spinner.gif
Binary file added components/lvgl/images/lvgl_switch.png
Binary file added components/lvgl/images/lvgl_symbols.png
Binary file added components/lvgl/images/lvgl_tabview.png
Binary file added components/lvgl/images/lvgl_textarea.png
Loading