diff --git a/.vscode/cSpell.json b/.vscode/cSpell.json
index 8fd7b5cbd2f3..3e70c11caa2c 100644
--- a/.vscode/cSpell.json
+++ b/.vscode/cSpell.json
@@ -11,6 +11,7 @@
"autodiscovery",
"autoheal",
"automations",
+ "Backblaze",
"balloob",
"bloomsky",
"Bluesound",
diff --git a/CODEOWNERS b/CODEOWNERS
index c3deb3719520..92bd374ac12f 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -301,7 +301,6 @@ source/_integrations/fivem.markdown @Sander0542
source/_integrations/fjaraskupan.markdown @elupus
source/_integrations/flexit_bacnet.markdown @lellky @piotrbulinski
source/_integrations/flexom.markdown @imicknl
-source/_integrations/flick_electric.markdown @ZephireNZ
source/_integrations/flipr.markdown @cnico
source/_integrations/flo.markdown @dmulcahey
source/_integrations/flume.markdown @ChrisMandich @bdraco @jeeftor
diff --git a/source/_dashboards/alarm-panel.markdown b/source/_dashboards/alarm-panel.markdown
index 6fc60fdb02aa..b8083e32815a 100644
--- a/source/_dashboards/alarm-panel.markdown
+++ b/source/_dashboards/alarm-panel.markdown
@@ -8,6 +8,8 @@ related:
title: Themes
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The alarm panel card allows you to arm and disarm your [alarm control panel](/integrations/#alarm) {% term integrations %}.
@@ -36,8 +38,8 @@ entity:
type: string
name:
required: false
- description: Overwrites friendly name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
default: Current state of the alarm entity.
states:
required: false
diff --git a/source/_dashboards/button.markdown b/source/_dashboards/button.markdown
index 229437285630..8d52b0e0aa2c 100644
--- a/source/_dashboards/button.markdown
+++ b/source/_dashboards/button.markdown
@@ -12,6 +12,8 @@ related:
title: Themes
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The button card allows you to add buttons to perform tasks.
@@ -67,8 +69,8 @@ entity:
type: string
name:
required: false
- description: The button name that is displayed on the card. It defaults to the entity name only if the card interacts with an entity. Otherwise, if not configured, no name is displayed.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/). It defaults to the entity name only if the card interacts with an entity. Otherwise, if not configured, no name is displayed.
+ type: [string, map, list]
default: Entity name
icon:
required: false
diff --git a/source/_dashboards/entities.markdown b/source/_dashboards/entities.markdown
index 3b95e8e033cd..9ad08764349b 100644
--- a/source/_dashboards/entities.markdown
+++ b/source/_dashboards/entities.markdown
@@ -10,6 +10,8 @@ related:
title: Card header and footer
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The entities card is the most common type of card. It groups items together into lists. It can be used to display an entity's state or attribute, but also contain buttons, web links, etc.
@@ -76,8 +78,8 @@ type:
type: string
name:
required: false
- description: Overwrites friendly name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
icon:
required: false
description: Overwrites icon or entity picture.
@@ -150,8 +152,8 @@ suffix:
type: string
name:
required: false
- description: Overwrites friendly entity name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
icon:
required: false
description: Icon to use. Defaults to icon of entity.
@@ -231,8 +233,8 @@ entities:
type: string
name:
required: false
- description: Override the friendly entity name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
default: Entity name
show_name:
required: false
diff --git a/source/_dashboards/entity.markdown b/source/_dashboards/entity.markdown
index 12e77a61dacb..3162358810e8 100644
--- a/source/_dashboards/entity.markdown
+++ b/source/_dashboards/entity.markdown
@@ -10,6 +10,8 @@ related:
title: Card header and footer
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The entity card gives you a quick overview of your entity's state.
@@ -38,8 +40,8 @@ entity:
type: string
name:
required: false
- description: Name of entity.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
default: Entity name.
icon:
required: false
diff --git a/source/_dashboards/gauge.markdown b/source/_dashboards/gauge.markdown
index 2fb2304f1e59..f1c02faebbde 100644
--- a/source/_dashboards/gauge.markdown
+++ b/source/_dashboards/gauge.markdown
@@ -8,6 +8,8 @@ related:
title: Themes
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The gauge card is a basic card that allows visually seeing sensor data.
@@ -45,8 +47,8 @@ attribute:
type: string
name:
required: false
- description: Name of gauge entity.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
default: Entity name
unit:
required: false
diff --git a/source/_dashboards/glance.markdown b/source/_dashboards/glance.markdown
index d0f0ec954a1c..3afca79090e0 100644
--- a/source/_dashboards/glance.markdown
+++ b/source/_dashboards/glance.markdown
@@ -10,6 +10,8 @@ related:
title: Themes
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The glance card is useful to group multiple sensors in a compact overview. Keep in mind that this can be used together with [entity-filter](/dashboards/entity-filter/) cards to create dynamic cards.
@@ -81,8 +83,8 @@ entity:
type: string
name:
required: false
- description: Overwrites friendly name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
icon:
required: false
description: Overwrites icon.
diff --git a/source/_dashboards/history-graph.markdown b/source/_dashboards/history-graph.markdown
index 8b1e3629abec..4cd5258c5bfc 100644
--- a/source/_dashboards/history-graph.markdown
+++ b/source/_dashboards/history-graph.markdown
@@ -8,6 +8,8 @@ related:
title: Themes
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The history graph card allows you to display a graph for each of up to eight entities.
@@ -89,8 +91,8 @@ entity:
type: string
name:
required: false
- description: Overwrites friendly name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
{% endconfiguration %}
### Long term statistics
diff --git a/source/_dashboards/humidifier.markdown b/source/_dashboards/humidifier.markdown
index 759f74b357e1..d5685a8ccc9b 100644
--- a/source/_dashboards/humidifier.markdown
+++ b/source/_dashboards/humidifier.markdown
@@ -8,6 +8,8 @@ related:
title: Themes
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The humidifier card lets you control and monitor humidifiers, dehumidifiers, and hygrostat devices.
@@ -36,8 +38,8 @@ entity:
type: string
name:
required: false
- description: Name of entity.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
default: Entity name
theme:
required: false
diff --git a/source/_dashboards/iframe.markdown b/source/_dashboards/iframe.markdown
index 0bd7daf027bf..1a258d3e1a25 100644
--- a/source/_dashboards/iframe.markdown
+++ b/source/_dashboards/iframe.markdown
@@ -52,6 +52,11 @@ allow_open_top_navigation:
description: 'Allow the user to open iframe content links by opening the default browser in the Home Assistant mobile app. It is false by default because it adds allow-top-navigation-by-user-activation on the iframe sandbox attribute which is less secure. So set it to true if you need it and are confident with the iframe content.'
type: boolean
default: false
+hide_background:
+ required: false
+ description: 'Hide the card background, making it transparent. This removes the background color, box-shadow, and border. Useful for pages which allow transparent backgrounds so the iframe can blend into the dashboard view.'
+ type: boolean
+ default: false
title:
required: false
description: The card title.
diff --git a/source/_dashboards/light.markdown b/source/_dashboards/light.markdown
index 55c78f601f85..5253c6a63579 100644
--- a/source/_dashboards/light.markdown
+++ b/source/_dashboards/light.markdown
@@ -10,6 +10,8 @@ related:
title: Themes
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The light card allows you to change the brightness of a light.
@@ -38,8 +40,8 @@ entity:
type: string
name:
required: false
- description: Overwrites friendly name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
default: Name of entity
icon:
required: false
diff --git a/source/_dashboards/logbook.markdown b/source/_dashboards/logbook.markdown
index 709f81f6f353..0da4f671ba06 100644
--- a/source/_dashboards/logbook.markdown
+++ b/source/_dashboards/logbook.markdown
@@ -30,6 +30,8 @@ Hours to show:
description: The number of hours in the past that will be tracked in the card.
Theme:
description: Name of any loaded theme to be used for this card. For more information about themes, see the [frontend documentation](/integrations/frontend/).
+State filter:
+ description: Limit the displayed logbook entries to only the specified states.
{% endconfiguration_basic %}
## YAML configuration
@@ -58,6 +60,10 @@ theme:
required: false
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
type: string
+state_filter:
+ required: false
+ description: Limit the displayed logbook entries to only the selected states. For example a list of `['on']` will display entries when targeted entities turn on, but not when they turn off.
+ type: list
{% endconfiguration %}
### Examples
diff --git a/source/_dashboards/media-control.markdown b/source/_dashboards/media-control.markdown
index cc620cf0cc74..87af8349fc20 100644
--- a/source/_dashboards/media-control.markdown
+++ b/source/_dashboards/media-control.markdown
@@ -8,6 +8,8 @@ related:
title: Themes
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The media control card is used to display [media player](/integrations/#media-player) entities on an interface with easy to use controls.
@@ -34,8 +36,8 @@ entity:
type: string
name:
required: false
- description: Overwrites friendly name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
default: Name of entity
theme:
required: false
diff --git a/source/_dashboards/picture-entity.markdown b/source/_dashboards/picture-entity.markdown
index 2de10d8e05cc..a5fa3a872a70 100644
--- a/source/_dashboards/picture-entity.markdown
+++ b/source/_dashboards/picture-entity.markdown
@@ -10,6 +10,8 @@ related:
title: Themes
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The picture entity card displays an entity in the form of an image. Instead of images from URL, it can also show the picture of `camera` entities.
@@ -66,8 +68,8 @@ fit_mode:
default: cover
name:
required: false
- description: Overwrite entity name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
show_name:
required: false
description: Shows name in footer.
diff --git a/source/_dashboards/plant-status.markdown b/source/_dashboards/plant-status.markdown
index 09820c3c718b..f10f94f3b01d 100644
--- a/source/_dashboards/plant-status.markdown
+++ b/source/_dashboards/plant-status.markdown
@@ -8,6 +8,8 @@ related:
title: Themes
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The plant status card is for all the lovely botanists out there.
@@ -36,8 +38,8 @@ entity:
type: string
name:
required: false
- description: Overwrites friendly name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
default: Entity name
theme:
required: false
diff --git a/source/_dashboards/sensor.markdown b/source/_dashboards/sensor.markdown
index 8536531bac87..3e06b3c4df18 100644
--- a/source/_dashboards/sensor.markdown
+++ b/source/_dashboards/sensor.markdown
@@ -8,6 +8,8 @@ related:
title: Themes
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The sensor card gives you a quick overview of a sensor's state with an optional graph to visualize change over time.
@@ -40,8 +42,8 @@ icon:
type: string
name:
required: false
- description: The card name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
graph:
required: false
description: Type of graph (`none` or `line`).
diff --git a/source/_dashboards/statistic.markdown b/source/_dashboards/statistic.markdown
index 68e65b163bfd..55c98214cb19 100644
--- a/source/_dashboards/statistic.markdown
+++ b/source/_dashboards/statistic.markdown
@@ -8,6 +8,8 @@ related:
title: Themes
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The statistic card allows you to display a statistical value for an entity.
@@ -40,8 +42,8 @@ stat_type:
type: string
name:
required: false
- description: Name of entity.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
default: Entity name.
icon:
required: false
diff --git a/source/_dashboards/statistics-graph.markdown b/source/_dashboards/statistics-graph.markdown
index 6f6c27e7905a..3545cd60d967 100644
--- a/source/_dashboards/statistics-graph.markdown
+++ b/source/_dashboards/statistics-graph.markdown
@@ -8,6 +8,8 @@ related:
title: Themes
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The statistics graph card allows you to display a graph of statistics data for each of the entities listed.
@@ -114,8 +116,8 @@ entity:
type: string
name:
required: false
- description: Overwrites friendly name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
{% endconfiguration %}
### Example
diff --git a/source/_dashboards/thermostat.markdown b/source/_dashboards/thermostat.markdown
index 76dbd07d787e..4d83edf88009 100644
--- a/source/_dashboards/thermostat.markdown
+++ b/source/_dashboards/thermostat.markdown
@@ -8,6 +8,8 @@ related:
title: Themes
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The thermostat card gives control of your [climate](/integrations/#climate) {% term entity %} or [water heater](/integrations/#water_heater) {% term entity %}, allowing you to change the temperature and mode of the {% term entity %}.
@@ -36,8 +38,8 @@ entity:
type: string
name:
required: false
- description: Overwrites friendly name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
default: Name of entity.
theme:
required: false
diff --git a/source/_dashboards/tile.markdown b/source/_dashboards/tile.markdown
index d6e48b25ccae..f6ff4d6a947a 100644
--- a/source/_dashboards/tile.markdown
+++ b/source/_dashboards/tile.markdown
@@ -6,6 +6,8 @@ description: "The tile card gives you a quick overview of an entity. The card al
related:
- docs: /dashboards/actions/
title: Card actions
+ - docs: /dashboards/naming/
+ title: Card naming
- docs: /dashboards/features/
title: Card features
- docs: /dashboards/cards/
@@ -33,8 +35,8 @@ entity:
type: string
name:
required: false
- description: Overwrites the entity name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
icon:
required: false
description: Overwrites the entity icon.
diff --git a/source/_dashboards/weather-forecast.markdown b/source/_dashboards/weather-forecast.markdown
index 3079773a75b5..60afe852fd6c 100644
--- a/source/_dashboards/weather-forecast.markdown
+++ b/source/_dashboards/weather-forecast.markdown
@@ -8,6 +8,8 @@ related:
title: Themes
- docs: /dashboards/cards/
title: Dashboard cards
+ - docs: /dashboards/naming/
+ title: Card naming
---
The weather forecast card displays the weather. This card is particularly useful on wall-mounted displays.
@@ -58,8 +60,8 @@ entity:
type: string
name:
required: false
- description: Overwrites the friendly name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
default: Entity name
show_current:
required: false
diff --git a/source/_docs/automation/action.markdown b/source/_docs/automation/action.markdown
index 85467c5c6582..902b7e61b797 100644
--- a/source/_docs/automation/action.markdown
+++ b/source/_docs/automation/action.markdown
@@ -50,6 +50,8 @@ automation 2:
Conditions can also be part of an action. You can combine multiple actions and conditions in a single action, and they will be processed in the order you put them in. If the result of a condition is false, the action will stop there so any action after that condition will not be executed.
+{% raw %}
+
```yaml
automation:
- alias: "Office at evening"
@@ -73,4 +75,11 @@ automation:
- action: scene.turn_on
target:
entity_id: scene.office_at_evening
+ - action: light.turn_on
+ target: "{{ {'entity_id': ['light.office', 'light.office_2']} }}"
+ - action: switch.turn_on
+ target:
+ label_id: "{{ ['office_evening', 'office_after_15'] }}"
```
+
+{% endraw %}
diff --git a/source/_includes/asides/dashboards_navigation.html b/source/_includes/asides/dashboards_navigation.html
index f204d9496ac5..adb372e67f4b 100644
--- a/source/_includes/asides/dashboards_navigation.html
+++ b/source/_includes/asides/dashboards_navigation.html
@@ -40,6 +40,7 @@
{% icon "mdi:cog" %} Advanced
{% active_link /dashboards/features/ Features %}
{% active_link /dashboards/header-footer/ Headers & footers %}
{% active_link /dashboards/actions/ Actions %}
+ {% active_link /dashboards/naming/ Naming %}
GST*. You can customize this by creating a template sensor:
-
-1. Go to
-{% my helpers title="**Settings** > **Devices** & **Services** > **Helpers**" %} and click the add button;
-2. Choose the **{% my config_flow_start domain="template" title="Template" %}** option
-3. Select **Add a template sensor**.
-
-{% raw %}
-
-To add GST:
-
-- **State template**: `{{ states.sensor.flick_power_price * 1.15 }}`
-- **Unit of measurement**: `¢/kWh`
-
-To convert to dollars:
-
-- **State template**: `{{ states.sensor.flick_power_price / 100 }}`
-- **Unit of measurement**: `$/kWh`
-
-{% endraw %}
-
-{% endnote %}
-
-## Use cases
-
-This integration can be used as part of an automation, for example to turn on/off appliances automatically.
-
-## Example automations
-
-{% details "Turn off the heat pump when price is above 40¢/kWH" %}
-
-{% raw %}
-
-```yaml
-alias: "Turn off expensive heat pump"
-description: "Turn off the heat pump when price is above 40¢/kWH"
-triggers:
- - trigger: numeric_state
- entity_id: sensor.flick_power_price
- above: 40
-actions:
- - action: climate.turn_off
- target:
- entity_id: climate.heat_pump
- data: {}
-```
-
-{% endraw %}
-{% enddetails %}
-
-## Data updates
-
-The integration will {% term polling poll %} the Flick Electric API every 5 minutes to check for the current power price. You can also use the `homeassistant.update_entity` action to trigger a refresh on-demand.
-
-## Removing the integration
-
-This integration follows standard integration removal, no extra steps are required.
-
-{% include integrations/remove_device_service.md %}
-
-## Troubleshooting
-
-{% details "Cannot get pricing for this account. Please check user permissions" %}
-
-API is unable to find pricing for the selected account. Check with Flick Electric to ensure that your user is configured correctly.
-
-{% enddetails %}
-
-{% details "No services are active on this Flick account" %}
-
-Only active accounts are supported by this integration. If your account is active but is not able to be selected, check with Flick Electric to ensure that it is showing as active in their system.
-
-{% enddetails %}
diff --git a/source/_integrations/hassio.markdown b/source/_integrations/hassio.markdown
index e26eea74290f..21f2625cf54b 100644
--- a/source/_integrations/hassio.markdown
+++ b/source/_integrations/hassio.markdown
@@ -80,6 +80,12 @@ For each installed add-on Supervisor provides following binary sensors:
| Update Available | no | Whether there is an update available for this add-on (This is deprecated, use the Update entities instead.)
| Running | no | Whether the add-on is running or not.
+For each network storage Supervisor provides following binary sensors:
+
+| Sensor | Enabled by default | Description |
+| ------- | ------------------ | ----------- |
+| Connected | no | Whether the network storage is connected and working properly.
+
For Home Assistant OS Supervisor provides following binary sensors:
| Sensor | Enabled by default | Description |
diff --git a/source/_integrations/manual.markdown b/source/_integrations/manual.markdown
index 3bf9a84598b3..e8f98d91aee7 100644
--- a/source/_integrations/manual.markdown
+++ b/source/_integrations/manual.markdown
@@ -101,6 +101,33 @@ armed_custom_bypass/armed_home/armed_away/armed_night/armed_vacation/disarmed/tr
type: integer
{% endconfiguration %}
+### Event: Manual alarm bad code attempt
+
+The `manual_alarm_bad_code_attempt` event is fired when an attempt to change the state of a manual alarm control panel (for example, arm or disarm) fails because an invalid code was entered.
+
+#### Event data
+
+- **entity_id** (string): The entity ID of the alarm control panel (for example, `alarm_control_panel.my_alarm`).
+- **target_state** (string): The attempted target state (for example, `disarmed`, `armed_away`, `armed_home`).
+- **user_id** (string): The user ID who initiated the service call (if available).
+
+Example automation trigger:
+
+```yaml
+automation:
+ - alias: "Notify on invalid manual alarm code attempt"
+ trigger:
+ - platform: event
+ event_type: manual_alarm_bad_code_attempt
+ action:
+ - service: notify.your_notification_service # Replace with your actual notification service
+ data:
+ message: >
+ Invalid alarm code attempt for {{ trigger.event.data.entity_id }}
+ by user ID {{ trigger.event.data.user_id }}
+ while attempting to set state {{ trigger.event.data.target_state }}.
+```
+
## State machine
The state machine of the manual alarm integration is complex but powerful. The
diff --git a/source/_integrations/melcloud.markdown b/source/_integrations/melcloud.markdown
index 7a106f5e6a9d..952a7fd76059 100644
--- a/source/_integrations/melcloud.markdown
+++ b/source/_integrations/melcloud.markdown
@@ -62,6 +62,7 @@ Swing mode can also be used to control vertical vane position.
The following attributes are available for `sensor` platform entities:
- Room temperature
+- Outside temperature
- Energy - The total consumed energy in kWh. **Not supported by all models.**
- Daily energy - Energy consumption within a 24h window in kWh. This reading resets at midnight on the timezone of the MELCloud service. The exact time needs to be determined by following the sensor value until a reset is detected.
diff --git a/source/_integrations/miele.markdown b/source/_integrations/miele.markdown
index 788bd37026ae..1c8bf7666a8f 100644
--- a/source/_integrations/miele.markdown
+++ b/source/_integrations/miele.markdown
@@ -158,6 +158,8 @@ Climate entities are used to control target temperatures in refrigerators, freez
- **Elapsed time**: Shows the number of minutes that the current program has been running.
- **Remaining time**: Shows the estimated number of minutes remaining in the current program cycle. This value can fluctuate during a program cycle based on load dirtiness or water‑heating time.
- **Start in**: Shows the number of minutes until a delayed program start, if configured.
+ - **Start**: Shows the date and time when the program starts. If you've set a delayed start, it shows when the appliance will actually begin the cycle.
+ - **Finish**: Shows the estimated date and time when the program will finish. If you've set a delayed start, it shows when the appliance is expected to complete the cycle, including the delay time.
- **Plate**: Four to six sensors that show the current state of hob heating plates. The status mimics the display on the actual hob. For example, 0 is off, 5 is approximately 50% power, and "B" is power boost. Plates can only be monitored from Home Assistant, not controlled.
{% enddetails %}
diff --git a/source/_integrations/modbus.markdown b/source/_integrations/modbus.markdown
index 80bb52f95a80..e4c031a03f51 100644
--- a/source/_integrations/modbus.markdown
+++ b/source/_integrations/modbus.markdown
@@ -614,11 +614,36 @@ climates:
description: "Holding register."
input:
description: "Input register."
+ scale:
+ description: "Scale factor (`output` = `scale` * `value` + offset) for setting target and current temperature. Cannot be used together with `current_temp_scale` or `target_temp_scale."
+ required: false
+ type: float
+ default: 1
offset:
- description: "Final offset for current temperature (output = scale * value + offset)."
+ description: "Final offset for target and current temperature (`output` = `scale` * `value` + `offset). Cannot be used together with current_temp_offset or target_temp_offset`."
required: false
type: float
default: 0
+ current_temp_scale:
+ description: "Scale factor for current temperature (output = `current_temp_scale` * `value` + `current_temp_offset`). Cannot be used together with `scale`"
+ required: false
+ type: float
+ default: 1.0
+ current_temp_offset:
+ description: "Offset for current temperature (output` = current_temp_scale` * `value` + `current_temp_offset`). Cannot be used together with *offset*."
+ required: false
+ type: float
+ default: 0.0
+ target_temp_scale:
+ description: "Scale factor for target temperature (`output` = `target_temp_scale` * `value` + `target_temp_offset`). Cannot be used together with scale`."
+ required: false
+ type: float
+ default: 1.0
+ target_temp_offset:
+ description: "Offset for target temperature (`output` = `target_temp_scale` * `value` + `target_temp_offset`). Cannot be used together with offset`."
+ required: false
+ type: float
+ default: 0.0
target_temp_register:
description: "Register address for target temperature (Setpoint). Using a list, it is possible to define one register for each of the available HVAC Modes. The list has to have a fixed size of 7 registers corresponding to the 7 available HVAC Modes, as follows: Register **1: HVAC AUTO mode**; Register **2: HVAC Cool mode**; Register **3: HVAC Dry mode**; Register **4: HVAC Fan only mode**; Register **5: HVAC Heat mode**; Register **6: HVAC Heat Cool mode**; Register **7: HVAC OFF mode**. It is possible to set duplicated values for the modes where the devices don't have a related register."
required: true
@@ -628,11 +653,6 @@ climates:
required: false
type: boolean
default: false
- scale:
- description: "Scale factor (output = scale * value + offset) for setting target temperature."
- required: false
- type: float
- default: 1
structure:
description: "If `data_type: custom` is specified a double-quoted Python struct is expected,
to format the string to unpack the value. See Python documentation for details.
diff --git a/source/_integrations/nasweb.markdown b/source/_integrations/nasweb.markdown
index c06c375454f4..6ec57818bad7 100644
--- a/source/_integrations/nasweb.markdown
+++ b/source/_integrations/nasweb.markdown
@@ -2,6 +2,7 @@
title: NASweb
description: Integrate NASweb devices
ha_category:
+ - Alarm
- Sensor
- Switch
ha_release: '2024.12'
@@ -11,6 +12,7 @@ ha_iot_class: Local Push
ha_domain: nasweb
ha_config_flow: true
ha_platforms:
+ - alarm_control_panel
- sensor
- switch
ha_integration_type: hub
diff --git a/source/_integrations/playstation_network.markdown b/source/_integrations/playstation_network.markdown
index e28ec8248ee4..1d43229bd904 100644
--- a/source/_integrations/playstation_network.markdown
+++ b/source/_integrations/playstation_network.markdown
@@ -101,6 +101,9 @@ After adding a friend, a new device will be created with the following entities:
- **Online status**: Indicates the friend's current availability on the PlayStation Network.
- **Last online**: Displays the time the friend was last seen online.
- **Now playing**: Shows the title of the game the friend is currently playing.
+- **Trophy level**: Your friend's current PlayStation trophy level.
+- **Next Level**: Your friend's progress towards the next PlayStation trophy level.
+- **Platinum, gold, silver, and bronze trophies**: The total number of trophies your friend has earned.
### Image
diff --git a/source/_integrations/plugwise.markdown b/source/_integrations/plugwise.markdown
index e24bde92c922..e13234264a73 100644
--- a/source/_integrations/plugwise.markdown
+++ b/source/_integrations/plugwise.markdown
@@ -186,7 +186,7 @@ The available schedules depend on the [schedules](#schedule-management) you have
The following HVAC modes are available:
-- `auto`: Active schedule – The thermostat changes presets/setpoints according to the schedule.
+- `auto`: Thermostat schedule active – The thermostat changes presets/setpoints according to the user-created schedule.
- `cool or heat`: No active schedule – The system is manually set to cooling or heating mode, activating based on room temperature relative to the thermostat setpoint.
For Adam:
@@ -310,9 +310,8 @@ A complete zone control system also known as [Adam HA](https://www.plugwise.com/
- On/Off, OpenTherm heating and cooling support.
- Running firmwares v3.x or v2.3.
- Additional devices:
- - Zone thermostats such as Lisa or Anna (see warning below on Anna),
- - A temperature sensor, Jip,
- - Valve controllers called Floor or Tom,
+ - Zone thermostats such as Anna, Emma, Lisa or Jip (see warning below on Anna connected to Adam),
+ - Valve controllers called Floor or Tom, can also function as a zone thermostat
- An under-floor heating controller Koen (note: a Koen always comes with a Plug, which is the active part),
- Smart switches, either Plug or Aqara Smart Plug.
@@ -331,16 +330,16 @@ A [smart thermostat](https://www.plugwise.com/en_US/products/anna), supporting:
A [P1](https://www.plugwise.com/en_US/products/smile-p1) smart meter monitor for the single- or multi-phase grid power connection to your home including gas usage monitoring. Running firmware v4.x, v3.x or v2.x.
+#### Anna P1
+
+A smart thermostat [combined](https://www.plugwise.com/en_US/products/anna-p1) with an energy monitor can transform the way you manage energy. If your solar setup generates surplus energy and you're charged for it, this combination ensures that excess solar power is redirected efficiently. Powering your heat pump for instance to make the most of renewable energy. Do you have a setup like this? We’d love to hear your experience!
+
### Stretch (end-of-sale)
For controlling and monitoring legacy power switches, such as the Circles or Stealths, with v3.x or v2.x Stretch firmware.
### Unsupported devices
-#### Anna P1
-
-A smart thermostat [combined](https://www.plugwise.com/en_US/products/anna-p1) with an energy monitor can transform the way you manage energy. If your solar setup generates surplus energy and you're charged for it, this combination ensures that excess solar power is redirected efficiently. Powering your heat pump for instance to make the most of renewable energy. Do you have a setup like this? We’d love to hear your experience!
-
#### Stick
Plugwise formerly sold power-based products comprised of a USB stick, as the controller, and smart plugs (amongst a few other items). This integration does not support the USB-stick. Reuse of the these products, such as Circles and Stealths using a Stretch or an Adam is supported. Work for USB support is in development by the community, but not ready to become a formal Home Assistant integration just yet.
diff --git a/source/_integrations/reolink.markdown b/source/_integrations/reolink.markdown
index 1183e0694f6a..aa8066434117 100644
--- a/source/_integrations/reolink.markdown
+++ b/source/_integrations/reolink.markdown
@@ -151,9 +151,11 @@ Depending on the supported features of the camera ([see specifications of the ca
- Message volume (Home Hub)
- Chime volume
- Chime silent time
+- Audio noise reduction*
- Guard return time
- Motion sensitivity
- PIR sensitivity
+- PIR interval*
- AI face sensitivity
- AI person sensitivity
- AI vehicle sensitivity
@@ -249,6 +251,7 @@ Depending on the supported features of the camera ([see specifications of the ca
- Doorbell LED (Stay off, Auto, Auto & always on at night)
- HDR* (Off, On, Auto)
- Binning mode* (Off, On, Auto)
+- Image exposure mode* (Auto, Low noise, Anti-smearing, Manual)
- Clear frame rate*
- Fluent frame rate*
- Clear bit rate*
diff --git a/source/_integrations/smhi.markdown b/source/_integrations/smhi.markdown
index 93099670fe40..06957768b718 100644
--- a/source/_integrations/smhi.markdown
+++ b/source/_integrations/smhi.markdown
@@ -33,19 +33,30 @@ The weather entity provides the current state of the weather as well as detailed
## Sensors
-The integration creates entities showing the current state of some additional weather metrics.
-
-| Sensor | Type | Description |
-| ------------------------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------- |
-| Thunder probability | % | Probability of thunder. |
-| Total cloud coverage | % | Mean value of total cloud cover. |
-| Low cloud coverage | % | Mean value of low level cloud cover. |
-| Medium cloud coverage | % | Mean value of medium level cloud cover. |
-| High cloud coverage | % | Mean value of high level cloud cover. |
-| Precipitation category | None | Precipitation category can be any of: No precipitation, Snow, Snow and rain, Rain, Drizzle, Freezing rain, Freezing drizzle. |
-| Frozen precipitation | % | Percent of precipitation in frozen form. |
-
-The cloud sensors are not enabled by default.
+The integration creates entities showing the current state of some additional weather and fire metrics.
+
+The following weather sensors are provided (cloud sensors are disabled by default):
+
+- **Thunder probability** (%): Probability of thunder
+- **Total cloud coverage** (%): Mean value of total cloud cover
+- **Low cloud coverage** (%): Mean value of low-level cloud cover
+- **Medium cloud coverage** (%): Mean value of medium-level cloud cover
+- **High cloud coverage** (%): Mean value of high-level cloud cover
+- **Precipitation category**: Precipitation category can be any of the following: No precipitation, Snow, Snow and rain, Rain, Drizzle, Freezing rain, or Freezing drizzle
+- **Frozen precipitation** (%): Percent of precipitation in frozen form
+
+The following fire sensors are provided (fire sensors are disabled by default):
+
+- **FWI-index**: Fire weather index classified from low risk to very high risk
+- **FWI-value**: Fire weather index as its native value
+- **Initial spread index (ISI)**: Describes the expected rate of fire spread
+- **Build up index (BUI)**: Indicates the total amount of fuel available for the fire
+- **Fine fuel moisture code (FFMC)**: Describes the moisture content in the dead fine fuels
+- **Duff moisture code (DMC)**: Describes moisture content of loosely compacted organic layers of moderate depth
+- **Drought code (DC)**: Describes moisture content of deep compact organic layers
+- **Highest grass fire risk**: Highest grass fire risk (danger) according to the grass fire model ranging from snow cover to very high
+- **Potential rate of spread**: Potential rate of spread (m/min) of uncut and ungrazed natural grass
+- **Fuel drying**: Measure of the available water amount in the forest fuel ranging from extremely dry to very wet
The SMHI weather service is free under the Creative Commons Attribution 4.0, international license. Weather data will be pulled once every 30 minutes.
diff --git a/source/_integrations/sql.markdown b/source/_integrations/sql.markdown
index 8eee1da5adaa..342d75f6daed 100644
--- a/source/_integrations/sql.markdown
+++ b/source/_integrations/sql.markdown
@@ -81,7 +81,7 @@ sql:
query:
description: An SQL QUERY string, should return 1 result at most.
required: true
- type: string
+ type: template
column:
description: The field name to select.
required: true
@@ -149,6 +149,7 @@ The `sql.query` action returns a list of rows, where each row is a dictionary of
#### Data type conversion
The data returned by the database is converted to be compatible with the action response. The following conversions are applied:
+
- `Decimal` types are converted to floats.
- `Date` and `Datetime` objects are converted to ISO 8601 formatted strings.
- `bytes` and `bytearray` are converted to a hexadecimal string prefixed with `0x`.
@@ -156,9 +157,10 @@ The data returned by the database is converted to be compatible with the action
#### Example
-Example of calling the `sql.query` action in an automation:
+##### Example of calling the `sql.query` action in an automation:
{% raw %}
+
```yaml
action: sql.query
data:
@@ -178,11 +180,13 @@ data:
3;
response_variable: sun_history
```
+
{% endraw %}
This would return a result similar to this, which will be stored in the `sun_history` variable:
{% raw %}
+
```yaml
result:
- state: below_horizon
@@ -245,6 +249,48 @@ LIMIT
Use `state` as column for value.
+### Amount of state changes since using a template
+
+This example shows the amount of state changes of the sensor `sensor.temperature_in`
+using another sensor's state to provide the time window.
+
+```yaml
+sensor:
+ - platform: random
+ name: Temperature in
+ unit_of_measurement: "°C"
+```
+
+The query will look like this:
+
+{% raw %}
+
+```sql
+SELECT
+ count(state) as changes
+FROM
+ (
+ SELECT
+ states.state
+ FROM
+ states
+ WHERE
+ metadata_id = (
+ SELECT
+ metadata_id
+ FROM
+ states_meta
+ WHERE
+ entity_id = 'sensor.temperature_in'
+ )
+ AND last_updated_ts >= strftime('%s','{{ states("sensor.datetime_helper") }}')
+ )
+```
+
+{% endraw %}
+
+Use `changes` as column for value.
+
### Previous state of an entity
Based on previous example with temperature, the query to get the former state is :
@@ -275,6 +321,7 @@ WHERE
1
);
```
+
Use `state` as column for value.
### State of an entity x time ago
diff --git a/source/_integrations/starlink.markdown b/source/_integrations/starlink.markdown
index 4e75e3539e8d..38614143b416 100644
--- a/source/_integrations/starlink.markdown
+++ b/source/_integrations/starlink.markdown
@@ -38,9 +38,9 @@ The Starlink integration allows you to integrate your [Starlink](https://www.sta
- Ping drop rate - The percentage of failed ping requests (aka "dropped"). This is the inverse of "Uptime" in the Starlink app.
- Azimuth - The direction Dishy is facing in degrees
- Elevation - Dishy's current elevation in degrees
+- Last restart - The time Starlink was last turned on
- Uplink throughput - The amount of data being uploaded through user terminal
- Downlink throughput - The amount of data being downloaded through user terminal
-- Last boot time - The time Starlink was last turned on
- Upload - Total number of bytes uploaded through user terminal
- Download - Total number of bytes downloaded through user terminal
- Power - Last measured power, in W
diff --git a/source/_integrations/switchbot.markdown b/source/_integrations/switchbot.markdown
index b239944deda7..06c334f7a3d1 100644
--- a/source/_integrations/switchbot.markdown
+++ b/source/_integrations/switchbot.markdown
@@ -3,6 +3,7 @@ title: SwitchBot Bluetooth
description: Instructions on how to set up SwitchBot Devices.
ha_category:
- Binary sensor
+ - Climate
- Cover
- Fan
- Humidifier
@@ -26,6 +27,7 @@ works_with:
ha_bluetooth: true
ha_platforms:
- binary_sensor
+ - climate
- cover
- diagnostics
- fan
@@ -169,15 +171,20 @@ For instructions on how to obtain the encryption key, see README in [PySwitchbot
- [K10+](https://www.switch-bot.com/products/switchbot-mini-robot-vacuum-k10)
- [K10+ Pro](https://www.switch-bot.com/products/switchbot-mini-robot-vacuum-k10-pro)
- [K10+ Pro Combo](https://www.switch-bot.com/products/switchbot-k10-pro-combo)
+- [K11+](https://www.switch-bot.com/products/switchbot-robot-vacuum-k11)
- [K20](https://www.switchbot.jp/products/switchbot-robot-vacuum-cleaner-k20-pro)
- [S10](https://www.switch-bot.com/products/switchbot-floor-cleaning-robot-s10)
-- [K11+](https://www.switch-bot.com/products/switchbot-robot-vacuum-k11)
+- [S20](https://www.switch-bot.com/products/switchbot-floor-cleaning-robot-s20)
### Air purifiers
- [Air Purifier](https://www.switch-bot.com/products/switchbot-air-purifier)
- [Air Purifier Table](https://www.switch-bot.com/products/switchbot-air-purifier-table)
+### Climates
+
+- [Smart Radiator Thermostat](https://www.switch-bot.com/products/switchbot-smart-radiator-thermostat)
+
## Works with Home Assistant
SwitchBot is committed to making sure their products are up-to-date and ready to use in Home Assistant.
@@ -685,7 +692,7 @@ Features:
### Vacuums
-Vacuum entities are added for K10+, K10+ Pro, K10+ Pro Combo, K20, S10, K11+.
+Vacuum entities are added for K10+, K10+ Pro, K10+ Pro Combo, K20, S10, K11+, S20.
Features:
- get states, including `cleaning`, `docked`, `idle`, `paused`, `returning`, and `error`; refer to Known limitations for more details
@@ -718,6 +725,19 @@ Features:
- set mode
- set humidity
+### Climates
+
+climate entities are added for smart radiator thermostat
+
+This is an encryed device.
+
+Features:
+
+- turn on
+- turn off
+- set mode
+- set target temperature
+
## Data updates
SwitchBot devices utilize a [local push](/blog/2016/02/12/classifying-the-internet-of-things/#classifiers) strategy to maintain real-time status updates. When devices detect state changes, they actively push updates to Home Assistant for immediate synchronization. For user-initiated actions through Home Assistant (for example, when turning a device on/off), the integration performs an additional proactive status fetch to ensure instant confirmation of the new state.
diff --git a/source/_integrations/systemmonitor.markdown b/source/_integrations/systemmonitor.markdown
index bf0bdde2d980..ab12d39358b2 100644
--- a/source/_integrations/systemmonitor.markdown
+++ b/source/_integrations/systemmonitor.markdown
@@ -32,39 +32,43 @@ All sensors are also marked as diagnostic and won't be automatically added to au
### Disks
-One sensor per found disk/mount point will be created
+One sensor per discovered disk/mount point will be created
-- Disk free
-- Disk use
-- Disk usage (percent)
+- **Disk free**: Amount of free space on the disk
+- **Disk use**: Amount of used space on the disk
+- **Disk usage (%)**: Percentage of disk space used
### Network
-One sensor per found network interface will be created
+One sensor per discovered network interface will be created
-- IPv4 address
-- IPv6 address
-- Network in
-- Network out
-- Packets in
-- Packets out
-- Network throughput in
-- Network throughput out
+- **IPv4 address**: The IPv4 address assigned to the network interface
+- **IPv6 address**: The IPv6 address assigned to the network interface
+- **Network in**: Total bytes received on the network interface
+- **Network out**: Total bytes sent from the network interface
+- **Packets in**: Number of packets received on the network interface
+- **Packets out**: Number of packets sent from the network interface
+- **Network throughput in**: Current inbound network speed (bytes per second)
+- **Network throughput out**: Current outbound network speed (bytes per second)
### Other
-- Last boot
-- Load (15m)
-- Load (5m)
-- Load (1m)
-- Memory free
-- Memory use
-- Memory usage (percent)
-- Processor use
-- Processor temperature
-- Swap free
-- Swap use
-- Swap usage (percent)
+- **Battery**: Percentage of battery remaining
+- **Battery empty**: Expected time when the battery is empty if not plugged in
+- **Charging**: Battery is charging (binary sensor)
+- **Fan speed**: Built-in fan speeds
+- **Last boot**: The date and time when the system was last started
+- **Load (1 min)**: System load average over the last 1 minute
+- **Load (5 min)**: System load average over the last 5 minutes
+- **Load (15 min)**: System load average over the last 15 minutes
+- **Memory free**: Amount of available system memory
+- **Memory use**: Amount of system memory used
+- **Memory usage (%)**: Percentage of system memory used
+- **Processor use**: Percentage of CPU usage
+- **Processor temperature**: Current temperature of the processor
+- **Swap free**: Amount of available swap memory
+- **Swap use**: Amount of used swap memory
+- **Swap usage (%)**: Percentage of swap memory used
## Add `process` binary sensor
diff --git a/source/_integrations/vesync.markdown b/source/_integrations/vesync.markdown
index f2f18b5239c0..33f21cc8a460 100644
--- a/source/_integrations/vesync.markdown
+++ b/source/_integrations/vesync.markdown
@@ -27,6 +27,7 @@ ha_platforms:
- select
- sensor
- switch
+ - update
ha_integration_type: integration
---
@@ -43,6 +44,7 @@ The following platforms are supported:
- **number**
- **sensor**
- **switch**
+- **update**
## Supported devices
diff --git a/source/_integrations/volvo.markdown b/source/_integrations/volvo.markdown
index 8fd5582c6bc3..7aacf195e631 100644
--- a/source/_integrations/volvo.markdown
+++ b/source/_integrations/volvo.markdown
@@ -11,12 +11,14 @@ ha_config_flow: true
ha_category:
- Binary sensor
- Button
+ - Lock
- Sensor
ha_platforms:
- binary_sensor
- button
- device_tracker
- diagnostics
+ - lock
- sensor
ha_quality_scale: platinum
related:
@@ -166,6 +168,10 @@ Go to Volvo's developer portal to view [the availability](https://developer.volv
- **Location**: The car's current location.
+#### Lock
+
+- **Lock**: Locks or unlocks the vehicle, and reports the current lock state of the vehicle.
+
#### Sensors
- **Car connection**: Connectivity of the car.
@@ -282,7 +288,7 @@ The **Volvo** integration fetches data from the API at different intervals:
- **Every 60 minutes**: diagnostics, odometer, and statistics.
- **Every 15 minutes**: car connectivity, fuel status, and location.
- **Every 2 minutes**: energy data (for battery cars).
-- **Every minute**: doors and window status.
+- **Every minute**: doors, lock, and windows status.
If you decide to define a custom polling interval, beware that there is a maximum of 10,000 requests per day.
Every poll operation accounts for about a dozen calls (depends on model).
diff --git a/source/_integrations/xbox.markdown b/source/_integrations/xbox.markdown
index b0692df6c087..d2880e4f67d9 100644
--- a/source/_integrations/xbox.markdown
+++ b/source/_integrations/xbox.markdown
@@ -260,8 +260,9 @@ Just like the binary sensors, the Xbox sensor platform automatically keeps track
| ---------------- | -------------------------------------------------------------------------- |
| **Status** | Shows the text status of your friend as it appears in your friends list. |
| **Gamerscore** | Friend's Gamerscore. |
-| **Follower** | Displays the number of people following the account, including friends. |
-| **Following** | Displays the number of people the account is following, including friends.|
+| **Friends** | Displays the number of mutual friend relationships of the account. |
+| **Follower** | Displays the number of people following the account. |
+| **Following** | Displays the number of people the account is following. |
| **Last online** | Displays the last time the friend was active online. |
| **Now playing** | Shows the title of the game currently being played. Additional details such as a short description, genre, developer, age rating, and achievement progress are available in the entity's attributes. |
diff --git a/source/_integrations/zamg.markdown b/source/_integrations/zamg.markdown
index aab75757c850..b965e63eddf6 100644
--- a/source/_integrations/zamg.markdown
+++ b/source/_integrations/zamg.markdown
@@ -47,6 +47,7 @@ This integration provides the following sensors:
|Sun Last 10 Minutes|Sunshine in the last 10 minutes in sec|
|Precipitation|Precipitation in mm|
|Snow|Snow in cm|
+|Global Radiation|Global Radiation in the last 10 minutes in W/m²|
{% note %}
Not every station supports every sensor.
diff --git a/source/_redirects b/source/_redirects
index 5b0573d2ee7f..df7f8cfa20d5 100644
--- a/source/_redirects
+++ b/source/_redirects
@@ -563,6 +563,7 @@ layout: null
/integrations/essent /more-info/removed-integration 301
/integrations/facebox /more-info/removed-integration 301
/integrations/fedex /more-info/removed-integration 301
+/integrations/flick_electric /more-info/removed-integration 301
/integrations/flunearyou /more-info/removed-integration 301
/integrations/fortigate /more-info/removed-integration 301
/integrations/fritzbox_netmonitor /more-info/removed-integration 301
diff --git a/source/dashboards/badges.markdown b/source/dashboards/badges.markdown
index 4cb72ef8c56a..3cb91aa9c708 100644
--- a/source/dashboards/badges.markdown
+++ b/source/dashboards/badges.markdown
@@ -65,8 +65,8 @@ entity:
type: string
name:
required: false
- description: Overwrites the entity name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
icon:
required: false
description: Overwrites the entity icon.
@@ -155,8 +155,8 @@ entity:
type: string
name:
required: false
- description: Overwrites friendly name.
- type: string
+ description: Overwrites friendly name. Can be a string, or a name configuration object. See [naming documentation](/dashboards/naming/).
+ type: [string, map, list]
icon:
required: false
description: Overwrites icon or entity picture. You can use any icon from [Material Design Icons](https://pictogrammers.com/library/mdi/). Prefix the icon name with `mdi:`, ie `mdi:home`.
diff --git a/source/dashboards/naming.markdown b/source/dashboards/naming.markdown
new file mode 100644
index 000000000000..742d91a297c2
--- /dev/null
+++ b/source/dashboards/naming.markdown
@@ -0,0 +1,214 @@
+---
+title: "Card naming"
+description: "Customize how entity names are displayed on dashboard cards."
+related:
+ - docs: /dashboards/tile/
+ title: Tile card
+ - docs: /dashboards/button/
+ title: Button card
+ - docs: /dashboards/entities/
+ title: Entities card
+---
+
+All dashboard cards and badges that use an entity support flexible name configuration. This allows you to display custom text, show contextual information like area or device names, or use the entity name instead of its friendly name.
+
+The name configuration helps you avoid redundant information (like repeating device names on every card) and create more contextual, easier-to-understand dashboards.
+
+## Simple string name
+
+The simplest way to set a custom name is to use a string to override the entity's display name.
+
+```yaml
+name: "My custom name"
+```
+
+{% configuration name-string %}
+name:
+ required: false
+ description: A custom string to display as the name.
+ type: string
+{% endconfiguration %}
+
+## Name object
+
+The name can also be configured as an object with a `type` property to display contextual information about the entity.
+
+### Entity name
+
+Displays the entity name instead of the friendly name. The entity name is the specific function or data point the entity represents, without the device or area prefix.
+
+```yaml
+name:
+ type: entity
+```
+
+This is useful when you want to avoid repeating device or area names that are already included in the friendly name.
+
+{% configuration name-entity %}
+name:
+ required: false
+ description: Name configuration object.
+ type: map
+ keys:
+ type:
+ required: true
+ description: "Type of name to display. Use `entity` to show the entity name."
+ type: string
+{% endconfiguration %}
+
+### Device name
+
+Displays the name of the device the entity belongs to.
+
+```yaml
+name:
+ type: device
+```
+
+{% configuration name-device %}
+name:
+ required: false
+ description: Name configuration object.
+ type: map
+ keys:
+ type:
+ required: true
+ description: "Type of name to display. Use `device` to show the device name."
+ type: string
+{% endconfiguration %}
+
+### Area name
+
+Displays the name of the area the entity is assigned to.
+
+```yaml
+name:
+ type: area
+```
+
+{% configuration name-area %}
+name:
+ required: false
+ description: Name configuration object.
+ type: map
+ keys:
+ type:
+ required: true
+ description: "Type of name to display. Use `area` to show the area name."
+ type: string
+{% endconfiguration %}
+
+### Floor name
+
+Displays the name of the floor where the entity's area is located.
+
+```yaml
+name:
+ type: floor
+```
+
+{% configuration name-floor %}
+name:
+ required: false
+ description: Name configuration object.
+ type: map
+ keys:
+ type:
+ required: true
+ description: "Type of name to display. Use `floor` to show the floor name."
+ type: string
+{% endconfiguration %}
+
+### Custom text
+
+Displays custom static text using the object syntax. This is useful when combining with other name types in a list.
+
+```yaml
+name:
+ type: text
+ text: "My label"
+```
+
+{% configuration name-text %}
+name:
+ required: false
+ description: Name configuration object.
+ type: map
+ keys:
+ type:
+ required: true
+ description: "Type of name to display. Use `text` to show custom text."
+ type: string
+ text:
+ required: true
+ description: The custom text to display.
+ type: string
+{% endconfiguration %}
+
+## Combining multiple name parts
+
+You can combine multiple name components by using a list. This allows you to create hybrid names with contextual information. A space is automatically added between each component.
+
+If a name component does not have a value, like when an entity has no area assigned, Home Assistant will automatically skip that component. This means only the components with values will be shown, and you will not see empty spaces or errors in the card name.
+```yaml
+name:
+ - type: area
+ - type: device
+```
+
+This example would display something like "Living Room Light Switch".
+
+{% configuration name-list %}
+name:
+ required: false
+ description: A list of names to combine. Each item must be a name object.
+ type: list
+{% endconfiguration %}
+
+## Examples
+
+### Simple string name
+
+```yaml
+type: tile
+entity: light.living_room_ceiling_light
+name: "Ceiling light"
+```
+
+This is the simplest way to set a custom name, overriding the entity's display name with a static string.
+
+### Using entity name to avoid repetition
+
+```yaml
+type: tile
+entity: sensor.living_room_sensor_temperature
+name:
+ type: entity
+```
+
+This displays the entity name "Temperature" instead of the full friendly name "Living room sensor Temperature", avoiding repetition when the card is already grouped by area.
+
+### Combining device and area
+
+```yaml
+type: tile
+entity: media_player.living_room_tv
+name:
+ - type: area
+ - type: device
+```
+
+This combines the area name with the device name, displaying something like "Living room TV".
+
+### Using custom text with other name types
+
+```yaml
+type: button
+entity: switch.kitchen_lights
+name:
+ - type: area
+ - type: text
+ text: "lights"
+```
+
+This would display "Kitchen lights" by combining the area name with custom text.