[web_server] grouping (#3905)

This commit is contained in:
RFDarter 2024-10-07 04:52:30 +02:00 committed by GitHub
parent bfb1402de6
commit f703ae4a93
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
18 changed files with 85 additions and 37 deletions

View File

@ -50,8 +50,8 @@ Configuration variables:
- **on_chime** (*Optional*, :ref:`Action <config-action>`): An automation to perform - **on_chime** (*Optional*, :ref:`Action <config-action>`): An automation to perform
when a zone has been marked as chime in the configuration, and it changes from closed to open. when a zone has been marked as chime in the configuration, and it changes from closed to open.
See :ref:`alarm_control_panel_on_chime_trigger`. See :ref:`alarm_control_panel_on_chime_trigger`.
- If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
- If MQTT enabled, all other options from :ref:`MQTT Component <config-mqtt-component>`. - If MQTT enabled, all other options from :ref:`MQTT Component <config-mqtt-component>`.
- If Webserver enabled, ``web_server_sorting_weight`` can be set. See :ref:`Webserver Entity Sorting <config-webserver-sorting>`.
Automation: Automation:

View File

@ -75,7 +75,7 @@ Advanced options:
for a list of available options. for a list of available options.
Set to ``""`` to remove the default entity category. Set to ``""`` to remove the default entity category.
- If MQTT enabled, all other options from :ref:`MQTT Component <config-mqtt-component>`. - If MQTT enabled, all other options from :ref:`MQTT Component <config-mqtt-component>`.
- If Webserver enabled, ``web_server_sorting_weight`` can be set. See :ref:`Webserver Entity Sorting <config-webserver-sorting>`. - If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
.. _binary_sensor-filters: .. _binary_sensor-filters:

View File

@ -60,7 +60,7 @@ Configuration variables:
- **device_class** (*Optional*, string): The device class for the button. - **device_class** (*Optional*, string): The device class for the button.
See https://www.home-assistant.io/integrations/button/#device-class See https://www.home-assistant.io/integrations/button/#device-class
for a list of available options. for a list of available options.
- If Webserver enabled, ``web_server_sorting_weight`` can be set. See :ref:`Webserver Entity Sorting <config-webserver-sorting>`. - If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
Automations: Automations:

View File

@ -86,6 +86,7 @@ Advanced options:
See https://developers.home-assistant.io/docs/core/entity/#generic-properties See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. for a list of available options.
Set to ``""`` to remove the default entity category. Set to ``""`` to remove the default entity category.
- If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
MQTT options: MQTT options:
@ -128,7 +129,6 @@ MQTT options:
- **target_humidity_command_topic** (*Optional*, string): The topic to receive - **target_humidity_command_topic** (*Optional*, string): The topic to receive
target humidity commands on. target humidity commands on.
- All other options from :ref:`MQTT Component <config-mqtt-component>`. - All other options from :ref:`MQTT Component <config-mqtt-component>`.
- If Webserver enabled, ``web_server_sorting_weight`` can be set. See :ref:`Webserver Entity Sorting <config-webserver-sorting>`.
Climate Automation Climate Automation
------------------ ------------------

View File

@ -52,6 +52,8 @@ Advanced options:
See https://developers.home-assistant.io/docs/core/entity/#generic-properties See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. for a list of available options.
Set to ``""`` to remove the default entity category. Set to ``""`` to remove the default entity category.
- If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
MQTT options: MQTT options:
@ -64,7 +66,6 @@ MQTT options:
- **tilt_command_topic** (*Optional*, string): The topic to receive - **tilt_command_topic** (*Optional*, string): The topic to receive
cover tilt commands on. cover tilt commands on.
- All other options from :ref:`MQTT Component <config-mqtt-component>`. - All other options from :ref:`MQTT Component <config-mqtt-component>`.
- If Webserver enabled, ``web_server_sorting_weight`` can be set. See :ref:`Webserver Entity Sorting <config-webserver-sorting>`.
.. _cover-open_action: .. _cover-open_action:

View File

@ -50,7 +50,7 @@ Configuration variables:
Set to ``""`` to remove the default entity category. Set to ``""`` to remove the default entity category.
- **time_id** (**Optional**, :ref:`config-id`): The ID of the time entity. Automatically set - **time_id** (**Optional**, :ref:`config-id`): The ID of the time entity. Automatically set
to the ID of a time component if only a single one is defined. Required if ``on_time`` is used. to the ID of a time component if only a single one is defined. Required if ``on_time`` is used.
- If Webserver enabled, ``web_server_sorting_weight`` can be set. See :ref:`Webserver Entity Sorting <config-webserver-sorting>`. - If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
MQTT Options: MQTT Options:

View File

@ -55,6 +55,7 @@ Configuration variables:
See https://developers.home-assistant.io/docs/core/entity/#generic-properties See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. for a list of available options.
Set to ``""`` to remove the default entity category. Set to ``""`` to remove the default entity category.
- If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
MQTT options: MQTT options:
@ -71,7 +72,6 @@ MQTT options:
- **speed_command_topic** (*Optional*, string): The topic to receive - **speed_command_topic** (*Optional*, string): The topic to receive
speed commands on (options: LOW, MEDIUM, HIGH). speed commands on (options: LOW, MEDIUM, HIGH).
- All other options from :ref:`MQTT Component <config-mqtt-component>`. - All other options from :ref:`MQTT Component <config-mqtt-component>`.
- If Webserver enabled, ``web_server_sorting_weight`` can be set. See :ref:`Webserver Entity Sorting <config-webserver-sorting>`.
Automation triggers: Automation triggers:

View File

@ -82,7 +82,7 @@ Advanced options:
for a list of available options. for a list of available options.
Set to ``""`` to remove the default entity category. Set to ``""`` to remove the default entity category.
- If MQTT enabled, all other options from :ref:`MQTT Component <config-mqtt-component>`. - If MQTT enabled, all other options from :ref:`MQTT Component <config-mqtt-component>`.
- If Webserver enabled, ``web_server_sorting_weight`` can be set. See :ref:`Webserver Entity Sorting <config-webserver-sorting>`. - If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
.. _light-toggle_action: .. _light-toggle_action:

View File

@ -45,7 +45,7 @@ Configuration variables:
See https://developers.home-assistant.io/docs/core/entity/#generic-properties See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. Set to ``""`` to remove the default entity category. for a list of available options. Set to ``""`` to remove the default entity category.
- If MQTT enabled, All other options from :ref:`MQTT Component <config-mqtt-component>`. - If MQTT enabled, All other options from :ref:`MQTT Component <config-mqtt-component>`.
- If Webserver enabled, ``web_server_sorting_weight`` can be set. See :ref:`Webserver Entity Sorting <config-webserver-sorting>`. - If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
.. _lock-lock_action: .. _lock-lock_action:

View File

@ -58,7 +58,7 @@ Configuration variables:
- **device_class** (*Optional*, string): The device class for the number. - **device_class** (*Optional*, string): The device class for the number.
See https://www.home-assistant.io/integrations/number/#device-class See https://www.home-assistant.io/integrations/number/#device-class
for a list of available options. for a list of available options.
- If Webserver enabled, ``web_server_sorting_weight`` can be set. See :ref:`Webserver Entity Sorting <config-webserver-sorting>`. - If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
Automations: Automations:

View File

@ -49,7 +49,7 @@ Configuration variables:
See https://developers.home-assistant.io/docs/core/entity/#generic-properties See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. for a list of available options.
Set to ``""`` to remove the default entity category. Set to ``""`` to remove the default entity category.
- If Webserver enabled, ``web_server_sorting_weight`` can be set. See :ref:`Webserver Entity Sorting <config-webserver-sorting>`. - If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
Automations: Automations:

View File

@ -73,7 +73,7 @@ Configuration variables:
See https://developers.home-assistant.io/docs/core/entity/#generic-properties See https://developers.home-assistant.io/docs/core/entity/#generic-properties
for a list of available options. for a list of available options.
Set to ``""`` to remove the default entity category. Set to ``""`` to remove the default entity category.
- If Webserver enabled, ``web_server_sorting_weight`` can be set. See :ref:`Webserver Entity Sorting <config-webserver-sorting>`. - If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
Automations: Automations:

View File

@ -69,7 +69,7 @@ Configuration variables:
See https://www.home-assistant.io/integrations/switch/#device-class See https://www.home-assistant.io/integrations/switch/#device-class
for a list of available options. for a list of available options.
- If MQTT enabled, All other options from :ref:`MQTT Component <config-mqtt-component>`. - If MQTT enabled, All other options from :ref:`MQTT Component <config-mqtt-component>`.
- If Webserver enabled, ``web_server_sorting_weight`` can be set. See :ref:`Webserver Entity Sorting <config-webserver-sorting>`. - If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
.. _switch-toggle_action: .. _switch-toggle_action:

View File

@ -50,7 +50,7 @@ Configuration variables:
for a list of available options. Set to ``""`` to remove the default entity category. for a list of available options. Set to ``""`` to remove the default entity category.
- **mode** (**Required**, string): Defines how the text should be displayed in the frontend. - **mode** (**Required**, string): Defines how the text should be displayed in the frontend.
One of ``text`` or ``password``. One of ``text`` or ``password``.
- If Webserver enabled, ``web_server_sorting_weight`` can be set. See :ref:`Webserver Entity Sorting <config-webserver-sorting>`. - If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
Automations: Automations:

View File

@ -48,7 +48,7 @@ Configuration variables:
for a list of available options. for a list of available options.
Set to ``""`` to remove the default entity category. Set to ``""`` to remove the default entity category.
- If MQTT enabled, All other options from :ref:`MQTT Component <config-mqtt-component>`. - If MQTT enabled, All other options from :ref:`MQTT Component <config-mqtt-component>`.
- If Webserver enabled, ``web_server_sorting_weight`` can be set. See :ref:`Webserver Entity Sorting <config-webserver-sorting>`. - If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
Automations: Automations:

View File

@ -38,8 +38,8 @@ Configuration variables:
- **icon** (*Optional*, icon): The icon to use for the update entity in the frontend. - **icon** (*Optional*, icon): The icon to use for the update entity in the frontend.
- **internal** (*Optional*, boolean): Mark this component as internal. Internal components will - **internal** (*Optional*, boolean): Mark this component as internal. Internal components will
not be exposed to the frontend (like Home Assistant). Specifying an ``id`` without a ``name`` will not be exposed to the frontend (like Home Assistant). Specifying an ``id`` without a ``name`` will
implicitly set this to true.
- **on_update_available** (*Optional*, :ref:`Action <config-action>`): An automation to perform when an update is available. - **on_update_available** (*Optional*, :ref:`Action <config-action>`): An automation to perform when an update is available.
- If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
Automations Automations
----------- -----------

View File

@ -50,6 +50,7 @@ Advanced options:
(usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to ``false``. (usually Home Assistant) without the user manually enabling it (via the Home Assistant UI). Defaults to ``false``.
- **entity_category** (*Optional*, string): The category of the entity. See - **entity_category** (*Optional*, string): The category of the entity. See
https://developers.home-assistant.io/docs/core/entity/#generic-properties for a list of available options. Set to ``""`` to remove the default entity category. https://developers.home-assistant.io/docs/core/entity/#generic-properties for a list of available options. Set to ``""`` to remove the default entity category.
- If Webserver enabled and version 3 is selected, All other options from Webserver Component.. See :ref:`Webserver Version 3 <config-webserver-version-3-options>`.
MQTT options: MQTT options:

View File

@ -71,6 +71,11 @@ Configuration variables:
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. - **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
- **local** (*Optional*, boolean): Include supporting javascript locally allowing it to work without internet access. Defaults to ``false``. - **local** (*Optional*, boolean): Include supporting javascript locally allowing it to work without internet access. Defaults to ``false``.
- **version** (*Optional*, string): ``1``, ``2`` or ``3``. Version 1 displays as a table. Version 2 uses web components and has more functionality. Version 3 uses HA-Styling. Defaults to ``2``. - **version** (*Optional*, string): ``1``, ``2`` or ``3``. Version 1 displays as a table. Version 2 uses web components and has more functionality. Version 3 uses HA-Styling. Defaults to ``2``.
- **sorting_groups** (*Optional*, list): Avaliable only on ``version: 3``. A list of group ID's and names to group the entities. See :ref:`Webserver Entity Grouping <config-webserver-grouping>`.
- **id** (*Required*, :ref:`config-id`): Manually specify the ID used for the group.
- **name** (*Required*, string): A string representing the group name which is displayed as the header of the group
- **sorting_weight** (*Optional*, float) A float representing the weight of the group. A group with a smaler ``sorting_weight`` will be displayed first. Defaults to ``50``
To conserve flash size, the CSS and JS files used on the root page to show a simple user To conserve flash size, the CSS and JS files used on the root page to show a simple user
interface are hosted by esphome.io. If you want to use your own service, use the interface are hosted by esphome.io. If you want to use your own service, use the
@ -149,6 +154,68 @@ Copy https://oi.esphome.io/v2/www.js to a V2 folder in your yaml folder.
Version 3 features Version 3 features
--------------------------- ---------------------------
.. _config-webserver-sorting:
Entity sorting
**************
Version `3` supports the sorting of the entities.
You can set a ``sorting_weight`` on each entity.
Smaller numbers will be displayed first, defaults to 50.
``My Sensor 2`` is displayed before ``My Sensor 1``
Example configuration:
.. code-block:: yaml
sensor:
- platform: template
name: "My Sensor 1"
web_server:
sorting_weight: 10
- platform: template
name: "My Sensor 2"
web_server:
sorting_weight: -1
.. _config-webserver-grouping:
Entity grouping
***************
Version `3` of the ``web_server`` allows for grouping of entities in custom groups.
Groups can be sorted by providing a ``sorting_weight``. Groups with a smaller ``sorting_weight`` will be displayed first.
If you don't provide a ``web_server_sorting_group`` on the component, the ``entity_category`` will be used as the group.
Example configuration:
.. code-block:: yaml
web_server:
version: 3
sorting_groups:
- id: sorting_group_time_settings
name: "Time Settings"
sorting_weight: 10
- id: sorting_group_number_settings
name: "Number settings"
sorting_weight: 20
datetime:
- platform: template
...
web_server:
sorting_group_id: sorting_group_time_settings
number:
- platform: template
...
web_server:
sorting_group_id: sorting_group_number_settings
Number in slider mode Number in slider mode
********************* *********************
.. figure:: /components/images/web_server/number-slider-popup.png .. figure:: /components/images/web_server/number-slider-popup.png
@ -196,27 +263,6 @@ Sensor value graph
By clicking on any sensor it will expand a graph with the historical values for that sensor. By clicking on any sensor it will expand a graph with the historical values for that sensor.
.. _config-webserver-sorting:
Entity sorting
--------------
``web_server`` version 3 supports the sorting of the entitys.
You can set a ``web_server_sorting_weight`` on each entity.
Smaller numbers will be displayed first, defaults to 50.
Example ``sensor`` configuration.
``My Sensor 2`` is displayed first, then ``My Sensor 1``
.. code-block:: yaml
sensor:
- platform: template
name: "My Sensor 1"
web_server_sorting_weight: 10
- platform: template
name: "My Sensor 2"
web_server_sorting_weight: -1
See Also See Also
-------- --------