diff --git a/.gitignore b/.gitignore index 940ea4400..dd965552c 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,6 @@ _build __pycache__/ *.py[cod] *$py.class + +.idea +venv diff --git a/components/images/tm1651-battery-display.jpg b/components/images/tm1651-battery-display.jpg new file mode 100644 index 000000000..17f8793d3 Binary files /dev/null and b/components/images/tm1651-battery-display.jpg differ diff --git a/components/tm1651.rst b/components/tm1651.rst new file mode 100644 index 000000000..878a174d9 --- /dev/null +++ b/components/tm1651.rst @@ -0,0 +1,101 @@ +TM1651 Battery Display +====================== + +.. seo:: + :description: Instructions for setting up TM1651 Battery Display. + :image: tm1651_battery_display.jpg + +.. _tm1651: + +Battery Display +--------------- + +The ``tm1651`` display platform allows you to use battery display units based on TM1651 chip, like +`this one `__ +with ESPHome. Currently integration supports level and brightness setting. All updates can be made via lambda expressions. + +.. figure:: images/tm1651-battery-display.jpg + :align: center + :width: 70.0% + +.. code-block:: yaml + + display: + - platform: tm1651 + id: tm1651_battery + clk_pin: D6 + dio_pin: D5 + +Configuration variables: +************************ + +- **clk_pin** (**Required**, :ref:`Pin Schema `): CLK pin +- **dio_pin** (**Required**, :ref:`Pin Schema `): DIO pin +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. + +.. _tm1651-set_level_action: + +``tm1651.set_level`` Action +--------------------------- + +This :ref:`Action ` changes the level of the battery display at runtime. + +.. code-block:: yaml + + on_...: + - tm1651.set_level: + id: tm1651_battery + level: 50 + +Configuration variables: + +- **id** (**Required**, :ref:`config-id`): The ID of the TM1651. +- **level** (**Required**, :ref:`templatable `, int): Level from 9 to 100 + +.. _tm1651-set_brightness_action: + +``tm1651.set_brightness`` Action +-------------------------------- + +This :ref:`Action ` allows you to manually change the brightness of the battery display at runtime. + +.. code-block:: yaml + + on_...: + - tm1651.set_brightness: + id: tm1651_battery + brightness: 1 + +Configuration variables: + +- **id** (**Required**, :ref:`config-id`): The ID of the TM1651. +- **brightness** (**Required**, :ref:`templatable `, int): There is three levels of brightness + (``1``, ``2`` or ``3``) from lowest to highest brightness. + +Advanced Configuration +---------------------- + +You also can control this component with lambda expressions + +.. code-block:: yaml + + api: + services: + - service: battery_level + variables: + level: int + then: + - lambda: |- + id(tm1651_battery).set_level(level); + - service: battery_brightness + variables: + brightness: int + then: + - lambda: |- + id(tm1651_battery).set_brightness(brightness); + +See Also +-------- + +- :doc:`index` +- :ghedit:`Edit` diff --git a/images/tm1651_battery_display.jpg b/images/tm1651_battery_display.jpg new file mode 100644 index 000000000..bf4371400 Binary files /dev/null and b/images/tm1651_battery_display.jpg differ diff --git a/index.rst b/index.rst index caec813eb..20ff16372 100644 --- a/index.rst +++ b/index.rst @@ -327,6 +327,7 @@ Misc Components DFPlayer, components/dfplayer, dfplayer.svg Captive Portal, components/captive_portal, wifi-strength-alert-outline.svg Debug Component, components/debug, bug-report.svg + TM1651 Battery Display, components/tm1651, tm1651_battery_display.jpg Additional Custom Components ----------------------------