diff --git a/source/_dashboards/clock.markdown b/source/_dashboards/clock.markdown index e46deac1691e..2e2ed65d4b87 100644 --- a/source/_dashboards/clock.markdown +++ b/source/_dashboards/clock.markdown @@ -19,21 +19,73 @@ Screenshot of the clock card All options for this card can be configured via the user interface. - ## Card settings -{% configuration_basic %} -Title: +{% configuration %} +title: description: Adds a title to the top of the card -Clock Size: + type: string + required: false +clock_style: + description: Allows the clock to be displayed in a digital or analog style. Defaults to digital. + type: list + required: false + default: digital + keys: + digital: + description: Digital clock style. + analog: + description: Analog clock style. +clock_size: description: Adjusts the size of the text allowing a wider range of use with different types of dashboards. Defaults to small. -Display Seconds: + type: list + required: false + default: small + keys: + small: + description: Small clock size. + medium: + description: Medium clock size. + large: + description: Large clock size. +show_seconds: description: Shows seconds alongside the clock, providing the time format is in a 12-hour format. -Time Format: + type: boolean + required: false + default: false +time_format: description: Allows the time format to be changed on a per-card level. Defaults to the user profile setting. -Time Zone: + type: string + required: false +time_zone: description: Change the timezone used for the time on a per-card level. Defaults to the user profile setting. -{% endconfiguration_basic %} + type: string + required: false +analog_options: + description: When using the analog clock style, this allows the user to configure the appearance of the clock. + type: map + required: false + keys: + border: + description: Shows a border around the clock face. Defaults to false. + type: boolean + required: false + default: false + ticks: + description: Shows ticks (indices) on the clock face. Defaults to hour. + type: list + required: false + default: hour + keys: + none: + description: No ticks are shown. + quarter: + description: Quarter hour ticks are shown. + hour: + description: Hour ticks are shown. + minute: + description: Minute ticks are shown. +{% endconfiguration %} ### Examples @@ -48,7 +100,6 @@ type: clock Screenshot of the basic clock card

- Example of a larger clock card for tablet dashboards: ```yaml @@ -107,3 +158,54 @@ title: New York 🦅 Screenshot of a medium sized, 12 hour clock showing am/pm and seconds based in New York along with a title Screenshot of a medium sized, 12 hour clock showing am/pm and seconds based in New York along with a title

+ +Analog clock with no border and hour ticks: + +```yaml +type: clock +clock_style: analog +clock_size: medium +analog_options: + border: false + ticks: hour +``` + +

+Screenshot of a medium sized, analog clock and hour ticks +Screenshot of a medium sized, analog clock and hour ticks +

+ +Analog clock with border and minute ticks showing seconds: + +```yaml +type: clock +clock_style: analog +clock_size: medium +show_seconds: true +analog_options: + border: true + ticks: minute +``` + +

+Screenshot of a medium sized, analog clock and minute ticks showing seconds +Screenshot of a medium sized, analog clock and minute ticks showing seconds +

+ +Analog clock with a title, no ticks and border with seconds: + +```yaml +type: clock +clock_style: analog +clock_size: medium +show_seconds: true +analog_options: + border: true + ticks: none +title: Mountain Time +``` + +

+Screenshot of a medium sized, analog clock with a title, no ticks and border showing seconds +Screenshot of a medium sized, analog clock with a title, no ticks and border showing seconds +

diff --git a/source/_dashboards/conditional.markdown b/source/_dashboards/conditional.markdown index c3db5117a0f2..b808f271eaac 100644 --- a/source/_dashboards/conditional.markdown +++ b/source/_dashboards/conditional.markdown @@ -198,9 +198,31 @@ users: type: list {% endconfiguration %} +### Location + +Specify the visibility of the card based on the current user's current location. The location is based on the state of the `person` entity associated with the current user. If the current user does not have a `person` entity, this condition will always resolve to false. + +```yaml +condition: location +locations: + - home + - Home Neigborhood +``` + +{% configuration %} +condition: + required: true + description: "`location`" + type: string +locations: + required: true + description: A list of zones, which if any match the current state of the `person`, will cause this condition to be true. + type: list +{% endconfiguration %} + ### And -Specify that both conditions must be met. +Specify that all conditions must be met. ```yaml condition: and @@ -248,4 +270,27 @@ conditions: type: list {% endconfiguration %} +### Not + +Specify that at least one of the conditions must not be met. + +```yaml +condition: not +conditions: + - condition: numeric_state + above: 0 + - condition: user + users: + - 581fca7fdc014b8b894519cc531f9a04 +``` +{% configuration %} +condition: + required: true + description: "`not`" + type: string +conditions: + required: false + description: List of conditions to check. See [available conditions](#conditions-options). + type: list +{% endconfiguration %} diff --git a/source/_dashboards/energy.markdown b/source/_dashboards/energy.markdown index 0d9219c8a77f..3b4e698293b2 100644 --- a/source/_dashboards/energy.markdown +++ b/source/_dashboards/energy.markdown @@ -259,8 +259,9 @@ title: type: string layout: required: false - description: "`vertical` or `horizontal`. Determines the orientation (flow direction) of the card" + description: "`vertical`, `horizontal` or `auto`. Determines the orientation (flow direction) of the card. `auto` changes it based on the screen size." type: string + default: auto group_by_area: required: false description: Whether to group the devices by area diff --git a/source/_dashboards/todo-list.markdown b/source/_dashboards/todo-list.markdown index 0ba350db3f00..bae5752cd4a7 100644 --- a/source/_dashboards/todo-list.markdown +++ b/source/_dashboards/todo-list.markdown @@ -76,6 +76,11 @@ display_order: description: "Optionally sorts the items in the to-do list for display. Options are: `none`: Show the list in its original order. `alpha_asc`: Sort the list in alphabetical order. `alpha_desc`: Sort the list in reverse alphabetical order. `duedate_asc`: Sort the list by due date (soonest first). `duedate_desc`: Sort the list by reverse due date (soonest last)." type: string default: "none" +item_tap_action: + required: false + description: "Defines the behavior when an item's body is clicked. Options are: `edit` (opens the edit dialog), `toggle` (marks or unmarks the item as completed, hiding the edit dialog)." + type: string + default: "edit" {% endconfiguration %} ### Examples diff --git a/source/_docs/blueprint/selectors.markdown b/source/_docs/blueprint/selectors.markdown index d914b288ef28..691f7b5afc77 100644 --- a/source/_docs/blueprint/selectors.markdown +++ b/source/_docs/blueprint/selectors.markdown @@ -1414,7 +1414,7 @@ would return ["Green"] and in the last example it returns ["g"]. ## State selector The state selector shows a list of states for a provided entity of which -one can be selected. +one or more can be selected. ![Screenshot of an state selector](/images/blueprints/selector-state.png) @@ -1427,10 +1427,16 @@ hide_states: description: The states to exclude from the list of options type: list required: false +multiple: + description: > + Allows selecting multiple states. If set to `true`, the resulting value of + this selector will be a list instead of a single string value. + type: boolean + default: false {% endconfiguration %} The output of this selector is the select state (not the translated or -prettified name shown in the frontend). +prettified name shown in the frontend), or a list of states if `multiple` is true. For example: `heat_cool`. diff --git a/source/_integrations/airos.markdown b/source/_integrations/airos.markdown index fadb2172a723..7d15d445d8ad 100644 --- a/source/_integrations/airos.markdown +++ b/source/_integrations/airos.markdown @@ -19,8 +19,9 @@ Ubiquiti UISP-range of [ A common use-case is establishing wireless PtP or PtMP links between buildings, remote sites, neighbours or even your shed. This is highly advantageous when traditional fiber-optic or copper network cabling is either impractical or the distance is too far for copper cabling. With LoS between airOS devices, a stable and high-bandwidth "beam" can be established, eliminating any need for additional infrastructure. This can be an improvement over extending your WiFi coverage using meshing of Access Points, as meshing potentially reduces the capacity and performance of your WiFi network. -There is currently support for the following plaforms within Home Assistant: +There is currently support for the following platforms within Home Assistant: +- [Binary sensor](#binary-sensor) - [Sensor](#sensor) This integration allows users to pull network metrics and statuses directly into their Home Assistant dashboards, enabling advanced automation, notifications, and comprehensive network oversight within their smart home ecosystem. @@ -65,14 +66,46 @@ For stations in particular, they can operate in either a 'Bridge' or 'Router' ro The choice between Bridge and Router mode depends on the network architecture and whether the device is intended to extend an existing network (Bridge) or create a new subnet (Router). -## Sensor +## Binary sensor + +### Port forwarding + +Active if any port forwarding is enabled when operating in 'router' mode. + +### DHCP client + +Active if the device configured to use DHCP for its network settings, inactive if IP address is statically assigned. + +### DHCP server + +Active if the device itself is configured and acting as a DHCP server. + +### DHCPv6 server + +Active if the device itself is configured and acting as a DHCP server for IPv6. + +### PPPoE -This integration exposes the following sensor entities for your airOS devices: +Active if the device is configured for PPPoE and the PPPoE link state is active. + +## Sensor ### Network Role Indicates the role of the device in your network, either 'bridge' or 'router' (see [operating roles](#operating-roles) for more information. +### Wireless Role + +Indicates the role of the device in relation to your wireless network, either 'Access point' or 'Station'. + +### Wireless Mode + +Indicates the mode your device is in 'point-to-point' just two devices connecting to eachother or 'point-to-multipoint' for multiple devices connecting to this device. + +### Wireless Distance + +The reported distance between your devices. + ### Wireless Frequency The base frequency set for this device. @@ -93,6 +126,10 @@ These sensors show the actual data transfer rate (receive and transmit) for this Performance in dB for the device antenna. See [Gain](https://en.wikipedia.org/wiki/Gain_(antenna)) on Wikipedia. +### Uptime + +Time since the device was last started. + ## Data updates Data is polled from devices every 60 seconds. diff --git a/source/_integrations/airq.markdown b/source/_integrations/airq.markdown index ffd77f9a3d54..399d12190844 100644 --- a/source/_integrations/airq.markdown +++ b/source/_integrations/airq.markdown @@ -14,6 +14,7 @@ ha_domain: airq ha_config_flow: true ha_platforms: - sensor + - number ha_integration_type: hub --- @@ -96,6 +97,10 @@ After the integration has been initialized, the user can configure any of the fo - **Clip negative values**. Default: `on`. For baseline calibration purposes, certain sensor values may briefly become negative. The default behavior is to clip such values to 0. +## LED Control + +In addition to sensor readings, this integration exposes the brightness of the device’s LED strips as a `number` entity named `number._led_brightness`. You can set the brightness (0–100) manually from the Overview panel or in automations. Setting it to 0 will turn the LEDs off. + ## Troubleshooting For troubleshooting or when reporting an issue, please enable [debug logging](/docs/configuration/troubleshooting/#debug-logs-and-diagnostics) and restart the integration. As soon as the issue reoccurs stop the debug logging, which will trigger the download of the debug log file. diff --git a/source/_integrations/awair.markdown b/source/_integrations/awair.markdown index 223748e202b7..74d86877ff5c 100644 --- a/source/_integrations/awair.markdown +++ b/source/_integrations/awair.markdown @@ -7,8 +7,8 @@ ha_config_flow: true ha_release: 0.84 ha_iot_class: Local Polling ha_codeowners: - - '@ahayworth' - - '@danielsjf' + - "@ahayworth" + - "@danielsjf" ha_domain: awair ha_platforms: - sensor @@ -39,6 +39,7 @@ The integration will fetch data from each device. The following sensors are supp - Temperature - Humidity - Dew point +- Absolute humidity - Carbon dioxide - Total volatile organic compounds - PM2.5 density diff --git a/source/_integrations/enphase_envoy.markdown b/source/_integrations/enphase_envoy.markdown index 211e3303145e..b643b6429614 100644 --- a/source/_integrations/enphase_envoy.markdown +++ b/source/_integrations/enphase_envoy.markdown @@ -91,7 +91,7 @@ This integration follows standard integration removal. No extra steps are requir ## Capabilities -This integration offers various entities depending on the configuration of your Enphase system. The Envoy can communicate with Enphase IQ micro-inverters, Enphase ACB and IQ batteries, Enphase Ensemble Enpower switch and load shedding relays and Enphase compatible generators. +This integration offers various entities depending on the configuration of your Enphase system. The Envoy can communicate with Enphase IQ micro-inverters, Enphase ACB and IQ batteries, Enphase Ensemble Enpower switch and load shedding relays, Enphase compatible generators and the IQ Meter Collar. {% note %} @@ -242,6 +242,8 @@ When the Envoy Metered is equipped with a [net-consumption CT](#current-transfor - **Envoy SN Lifetime net energy consumption**: Lifetime energy consumed / imported from the grid in Wh, default display in MWh. - **Envoy SN Lifetime net energy production**: Lifetime energy produced / exported to the grid in Wh, default display in MWh. +When using an IQ Metered Collar, the net-consumption CT's are integrated in the collar. + When used with [multiphase CT phase data](#ct-aggregate-and-phase-data), disabled phase entities are available as well. #### Grid Balanced import/export sensor entities @@ -408,6 +410,32 @@ The names of entities and devices are derived from the load_name configured in t
Envoy Enpower dry-contact entities.
+### IQ Meter Collar data + +The IQ Meter Collar has the net-consumption CT integrated. The CT data is reported in the [net-consumption data](#net-consumption-ct-sensor-entities) and [grid sensors](#grid-sensor-entities). In addition the status of the collar is available in entities. + +#### Collar status entities + +- **Collar SN Grid state**: Grid connection status, on_grid / off_grid / synchronizing / manual override active. +- **Collar SN MID State**: Status of enphase Microgrid Interconnection Device, open / close. +- **Collar SN Temperature**: Current temperature in degrees C or F, based on your localization. +- **Collar SN Last reported**: Time when Envoy received last update from the collar device. +- **Collar SN Communicating**: Communication status of the collar, Connected / Disconnected. This is a diagnostics entity. + +### C6 Combiner Controller data + +The Enphase C6 combiner controller (C6CC) provides some status information to the Envoy which are available in entities. + +#### C6CC status entities + +- **C6CC SN Last reported**: Time when Envoy received last update from the combiner device. +- **C6CC SN Communicating**: Communication status of C6 Combiner, Connected / Disconnected. This is a diagnostics entity. + +
+ envoy collar and c6cc +
Envoy IQ Metered Collar and C6 Combiner Controller entities.
+
+ ## Data polling interval All data is collected in one coordinated collection cycle and sourced from a limited set of endpoints on the Envoy. For example, three different values sourced from the same endpoint are not pulled in three different requests but provided from the same single request. This method minimizes the number of requests to the Envoy. The local REST API of the Envoy is used. Only when the 1-year valid token is to expire, 1 month before due data, a new token is requested from the Enphase Enlighten website. diff --git a/source/_integrations/fyta.markdown b/source/_integrations/fyta.markdown index a391e4f19263..5b233edcc509 100644 --- a/source/_integrations/fyta.markdown +++ b/source/_integrations/fyta.markdown @@ -101,6 +101,8 @@ For plant measurements, the following status scale is applied: - High - Too High +For the measurement sensors (light, moisture, salinity, and temperature), the maximal/minimal values that define the ranges of what is considered acceptable and good for the plant are saved as an extra attribute of the sensor. For example: Below 10 it's too cold, that could be the minimum acceptable. 15 could be the minimum of the good range. Between 15 and 30 is perfect. 30 would be maximum good and 35 would be the maximum acceptable. Above 35 it's too hot. These values can be used for automations or visualizations on the dashboard. + ## Data updates The integration fetches data from the device every 4 minutes. diff --git a/source/_integrations/habitica.markdown b/source/_integrations/habitica.markdown index 9b636037460e..cad6b0c8adfc 100644 --- a/source/_integrations/habitica.markdown +++ b/source/_integrations/habitica.markdown @@ -161,6 +161,24 @@ If you've unlocked the class system, button controls for casting player and part - **Rest in the Inn**: When enabled, allows your character to rest in the inn in Habitica, pausing damage dealt from dailies and quest bosses. +## Party + +If you’re part of a party, the integration creates a device with these entities. + +- **Boss health**: The total health of the quest boss. +- **Boss health remaining**: The remaining health of the quest boss. +- **Collected quest items**: Displays the total number of items collected. Attributes include a breakdown of each required item type, showing both collected and required amounts. +- **Group leader**: The username of your party's leader. +- **Member count**: The current number of members in your party. +- **Quest**: Shows the name of the current quest your party is engaged in. +- **Quest boss**: The name and image of the foe your party is currently battling. + +{% note %} + +Certain entities are only available depending on whether you are in a boss quest or a collect quest. + +{% endnote %} + ## Actions ### Action `habitica.cast_skill` diff --git a/source/_integrations/homee.markdown b/source/_integrations/homee.markdown index 2d882d8c378b..0e2ba87673e1 100644 --- a/source/_integrations/homee.markdown +++ b/source/_integrations/homee.markdown @@ -17,6 +17,7 @@ ha_category: - Switch - Valve ha_config_flow: true +ha_zeroconf: true ha_release: 2025.2 ha_iot_class: Local Push ha_codeowners: diff --git a/source/_integrations/homekit.markdown b/source/_integrations/homekit.markdown index 8338f889af69..27be6c3e4a6a 100644 --- a/source/_integrations/homekit.markdown +++ b/source/_integrations/homekit.markdown @@ -194,6 +194,14 @@ homekit: description: The `entity_id` of a `sensor` entity to use as the temperature sensor of the air purifier accessory. required: false type: string + linked_valve_duration: + description: The `entity_id` of an `input_number` entity to use as the default run time of a valve switch (switch type `faucet`, `shower`, `sprinkler`, or `valve`), or valve accessory. Minimum value `300` seconds. Maximum value `3600` seconds. Step size `300` seconds. Changes in HomeKit will change the sensor state (and vice versa). + required: false + type: string + linked_valve_end_time: + description: The `entity_id` of a `sensor` (timestamp) entity to use for calculating the remaining time of a valve switch (switch type `faucet`, `shower`, `sprinkler`, or `valve`), or valve accessory. The end time has to be maintained in Home Assistant. HomeKit will not update the state of this sensor. + required: false + type: string low_battery_threshold: description: Minimum battery level before the accessory starts reporting a low battery. required: false @@ -450,10 +458,10 @@ The following integrations are currently supported: | sensor | CarbonMonoxideSensor | All sensors that have `carbon_monoxide` as their `device_class` | | sensor | CarbonDioxideSensor | All sensors that have `co2` as part of their `entity_id` or `carbon_dioxide` as their `device_class` | | sensor | LightSensor | All sensors that have `lm` or `lx` as their `unit_of_measurement` or `illuminance` as their `device_class` | -| switch | Switch | Represented as a switch by default but can be changed by using `type` within `entity_config`. | +| switch | Switch | Represented as a switch by default but can be changed by using `type` within `entity_config`. Valve switches (type `faucet`, `shower`, `sprinkler`, or `valve`) can be linked with `linked_valve_duration` and `linked_valve_end_time`. | | water_heater | WaterHeater | All `water_heater` devices. | | device_automation | DeviceTriggerAccessory | All devices that support triggers. | -| valve | Valve | All `valve` devices. | +| valve | Valve | All `valve` devices can be linked with `linked_valve_duration` and `linked_valve_end_time`. | # Device triggers diff --git a/source/_integrations/husqvarna_automower.markdown b/source/_integrations/husqvarna_automower.markdown index 36f1c50ed1ac..94d62a266843 100644 --- a/source/_integrations/husqvarna_automower.markdown +++ b/source/_integrations/husqvarna_automower.markdown @@ -6,6 +6,7 @@ ha_category: - Button - Calendar - Device tracker + - Event - Lawn Mower - Number - Select @@ -22,6 +23,7 @@ ha_platforms: - calendar - device_tracker - diagnostics + - event - lawn_mower - number - select @@ -108,6 +110,7 @@ The integration will create the following binary sensors: The integration will create the following buttons: - **Confirm Error** (if available): For confirming minor mower errors. +- **Reset cutting blade usage time** (if available): Resets the cutting blade usage time. - **Sync clock**: Syncs the clock of the mower with the time set in Home Assistant. ### Calendar @@ -118,6 +121,30 @@ The integration will create a calendar entity for all mowers. The calendar shows The integration will create a device tracker entity to show the position of the mower. +### Event (if available) + +- Shows the last error as event. +- Includes additional context: `severity`, `latitude`, `longitude`, and `date_time`. + +#### Example attributes + +| Attribute | Description | +|---------------|----------------------------------------| +| `event_type` | Error code (for example, `tilt_error`) | +| `severity` | Error severity (for example, `error`, `warning`) | +| `latitude` | Latitude where the error occurred | +| `longitude` | Longitude where the error occurred | +| `date_time` | Timestamp of the error | + +#### Use cases + +- Send a notification when the mower is lifted or stuck. +- Show last error location on a map + +{% note %} +The entity will only be created when a new message is received. If a mower hasn’t reported any errors yet, the entity won't show up. +{% endnote %} + ### Lawn mower The integration will create a lawn mower entity to control the mower. This entity can: diff --git a/source/_integrations/huum.markdown b/source/_integrations/huum.markdown index 6cea42b84635..4490f72f11b4 100644 --- a/source/_integrations/huum.markdown +++ b/source/_integrations/huum.markdown @@ -5,6 +5,7 @@ ha_category: - Binary sensor - Climate - Light + - Number ha_release: 2024.2 ha_iot_class: Cloud Polling ha_codeowners: @@ -16,6 +17,7 @@ ha_platforms: - binary_sensor - climate - light + - number ha_integration_type: integration --- @@ -50,3 +52,8 @@ The climate entity controls the sauna heater and offers the following capabiliti ### Light - **Light**: Sauna light control (on or off). + +### Number + +- **Humidity**: Control steamer duty cycle (0-10) to adjust sauna humidity. + diff --git a/source/_integrations/inkbird.markdown b/source/_integrations/inkbird.markdown index 65b3a0d29014..dcf7c16cf11e 100644 --- a/source/_integrations/inkbird.markdown +++ b/source/_integrations/inkbird.markdown @@ -30,6 +30,7 @@ Integrates [INKBIRD](https://www.inkbird.com/) devices into Home Assistant. - [INKBIRD Bluetooth Hygrometer Thermometer ITH-13-B](https://inkbird.com/products/bluetooth-hygrometer-thermometer-ith-13-b) - [INKBIRD Bluetooth Hygrometer Thermometer ITH-21-B](https://inkbird.com/products/bluetooth-hygrometer-thermometer-ith-21-b) - [INKBIRD Bluetooth Wireless 4-in-1 Air Quality Monitor IAM-T1](https://inkbird.com/collections/air-quality-monitors/products/smart-indoor-air-quality-monitor-iam-t1) +- [INKBIRD Bluetooth 3-in-1 Indoor Air Quality Monitor IAM-T2](https://inkbird.com/products/bluetooth-3-in-1-indoor-air-quality-monitor-iam-t2) - [Nutrichef Smart Wireless Grill Thermometer](https://nutrichefkitchen.com/products/pwirbbq40) - [Nutrichef Smart Bluetooth BBQ Grill Thermometer](https://nutrichefkitchen.com/products/pwirbbq80-1) diff --git a/source/_integrations/letpot.markdown b/source/_integrations/letpot.markdown index e8d40ed83556..ae130d278fda 100644 --- a/source/_integrations/letpot.markdown +++ b/source/_integrations/letpot.markdown @@ -3,6 +3,7 @@ title: LetPot description: Instructions on how to integrate LetPot hydroponic gardens into Home Assistant. ha_category: - Binary sensor + - Select - Sensor - Switch - Time @@ -15,6 +16,7 @@ ha_domain: letpot ha_integration_type: hub ha_platforms: - binary_sensor + - select - sensor - switch - time @@ -79,6 +81,17 @@ Additionally, binary sensors for possible issues are available: Binary sensors for issues are disabled by default. If you want to use them, you need to enable them first. See the [enabling or disabling entities](/common-tasks/general/#enabling-or-disabling-entities) documentation for information on how to do this. {% endimportant %} +#### Selects + +- **Light mode**: Set the built-in light mode to fruits/flowers (red and white LEDs enabled) or veggies/herbs (red, white and blue LEDs enabled). + +Depending on device support, more selects are available: + +- **Light brightness**: Set the built-in light brightness to low or high. + - Available for LetPot Air devices, and some LetPot SE devices which support changing the brightness. +- **Temperature unit on display**: Set the temperature unit for the temperature shown on the device's display. + - Available for LetPot Max devices, excluding devices with a serial number starting with `LPH63`. + #### Sensors For LetPot Max devices, the following sensors are available: diff --git a/source/_integrations/linear_garage_door.markdown b/source/_integrations/linear_garage_door.markdown deleted file mode 100644 index 224241c30e38..000000000000 --- a/source/_integrations/linear_garage_door.markdown +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Linear Garage Door -description: Control Linear garage doors -ha_release: '2023.12' -ha_category: - - Cover - - Light -ha_iot_class: Cloud Polling -ha_config_flow: true -ha_codeowners: - - '@IceBotYT' -ha_domain: linear_garage_door -ha_platforms: - - cover - - diagnostics - - light -ha_integration_type: integration ---- - -{% warning %} -This integration is now deprecated and will be removed in 2025.8.0. -Please use the new [Nice G.O.](/integrations/nice_go) integration instead to avoid disruption. - -For more information, refer to the [Nice G.O. migration documentation](https://na.niceforyou.com/features/nice-go-app/#migration). -{% endwarning %} - -The Linear integration lets you control Linear garage doors through Home Assistant. Device names in Home Assistant are generated based on the names defined in your Linear mobile app. - -## Prerequisites - -This integration is for garage doors connected to the cloud by Wi-Fi using the Linear mobile app. - -{% include integrations/config_flow.md %} - -## Cover - -Garage doors linked to your Linear account will appear as covers. - -## Light - -Lights on your garage door will appear as lights. diff --git a/source/_integrations/mastodon.markdown b/source/_integrations/mastodon.markdown index aeade9c4be23..2c147c595644 100644 --- a/source/_integrations/mastodon.markdown +++ b/source/_integrations/mastodon.markdown @@ -16,6 +16,7 @@ ha_platforms: - sensor ha_integration_type: service ha_config_flow: true +ha_quality_scale: bronze --- The `mastodon` platform uses [Mastodon](https://joinmastodon.org/) to post status updates and get account statistics. diff --git a/source/_integrations/mercury_nz.markdown b/source/_integrations/mercury_nz.markdown deleted file mode 100644 index 8f02b24dba50..000000000000 --- a/source/_integrations/mercury_nz.markdown +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Mercury NZ Limited -description: Get energy usage from Mercury NZ Limited using the Opower integration -ha_category: - - Energy - - Sensor -ha_release: 2023.8 -ha_domain: mercury_nz -ha_integration_type: virtual -ha_supporting_domain: opower -ha_supporting_integration: Opower -ha_codeowners: - - '@tronikos' -ha_config_flow: true -ha_platforms: - - sensor -ha_iot_class: Cloud Polling ---- - -**Deprecation Notice** - -This is no longer working as Mercury NZ Limited [recently transitioned from using Opower to an in-house solution](https://www.geekzone.co.nz/forums.asp?forumid=73&topicid=319506&page_no=1#3396187). -This virtual integration will be removed in the **2025.9.0** release. - -{% include integrations/supported_brand.md %} diff --git a/source/_integrations/number.markdown b/source/_integrations/number.markdown index 4450b475058a..0cb18cb533cc 100644 --- a/source/_integrations/number.markdown +++ b/source/_integrations/number.markdown @@ -40,7 +40,7 @@ The following device classes are supported for numbers: - **None**: Generic number. This is the default and doesn't need to be set. - **absolute_humidity**: Absolute humidity in g/m³, mg/m³. -- **apparent_power**: Apparent power in VA. +- **apparent_power**: Apparent power in mVA or VA. - **aqi**: Air Quality Index (unitless). - **area**: Area in m², cm², km², mm², in², ft², yd², mi², ac, ha - **atmospheric_pressure**: Atmospheric pressure in cbar, bar, hPa, mmHg, inHg, kPa, mbar, Pa or psi @@ -77,7 +77,7 @@ The following device classes are supported for numbers: - **precipitation_intensity**: Precipitation intensity in in/d, in/h, mm/d or mm/h - **pressure**: Pressure in Pa, kPa, hPa, bar, cbar, mbar, mmHg, inHg or psi - **reactive_energy**: Reactive energy in varh or kvarh -- **reactive_power**: Reactive power in var or kvar +- **reactive_power**: Reactive power in mvar, var, or kvar - **signal_strength**: Signal strength in dB or dBm - **sound_pressure**: Sound pressure in dB or dBA - **speed**: Generic speed in ft/s, in/d, in/h, in/s, km/h, kn, m/s, mph, mm/d, or mm/s diff --git a/source/_integrations/onewire.markdown b/source/_integrations/onewire.markdown index be33f9dfd27f..2705356ad9a8 100644 --- a/source/_integrations/onewire.markdown +++ b/source/_integrations/onewire.markdown @@ -34,6 +34,7 @@ Each 1-wire component data sheet describes the different properties the componen | Family | Device | Physical Quantity | | -------|:-----|:-----| +| 05 | [DS2405](https://datasheets.maximintegrated.com/en/ds/DS2405.pdf) | 1 sensed [4](#note_4) | | 12 | [DS2406](https://datasheets.maximintegrated.com/en/ds/DS2406.pdf) | 2 sensed (sensed.A/B) [4](#note_4) | | 29 | [DS2408](https://datasheets.maximintegrated.com/en/ds/DS2408.pdf) | 8 sensed (sensed.0-7) [4](#note_4) | | 3A | [DS2413](https://datasheets.maximintegrated.com/en/ds/DS2413.pdf) | 2 sensed (sensed.A/B) [4](#note_4) | diff --git a/source/_integrations/opower.markdown b/source/_integrations/opower.markdown index e51e075ea2ea..85bde4180247 100644 --- a/source/_integrations/opower.markdown +++ b/source/_integrations/opower.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 2023.8 ha_iot_class: Cloud Polling ha_codeowners: - - '@tronikos' + - "@tronikos" ha_domain: opower ha_config_flow: true ha_platforms: @@ -43,7 +43,6 @@ More than 175 utilities use Opower. Currently only the following utilities are s - PECO Energy Company (PECO) - Potomac Electric Power Company (Pepco) - Glendale Water and Power (GWP) -- ~Mercury NZ Limited~ (no longer working as it [recently transitioned from using Opower to an in-house solution](https://www.geekzone.co.nz/forums.asp?forumid=73&topicid=319506&page_no=1#3396187), will be removed in 2025.9.0) - National Grid US subsidiaries - National Grid Massachusetts - National Grid NY Long Island diff --git a/source/_integrations/ping.markdown b/source/_integrations/ping.markdown index 2bbd6fb8e453..4057531e364b 100644 --- a/source/_integrations/ping.markdown +++ b/source/_integrations/ping.markdown @@ -59,6 +59,7 @@ The integration exposes the different round trip times milliseconds as entities: - `Round Trip Time Average` - the average round trip time - `Round Trip Time Minimum` - the shortest round trip time - `Round Trip Time Maximum` - the longest round trip time +- `Jitter` - the variation in round trip times **These entities are disabled by default and can be enabled in the UI if needed.** diff --git a/source/_integrations/playstation_network.markdown b/source/_integrations/playstation_network.markdown index fe16a2ee43fe..c028a2769a0b 100644 --- a/source/_integrations/playstation_network.markdown +++ b/source/_integrations/playstation_network.markdown @@ -107,6 +107,10 @@ After adding a friend, a new device will be created with the following entities: - **Avatar**: Displays the friend's current avatar. - **Now playing**: Displays the current game title image if the friend is playing a game. +### Notifier + +- **Direct message**: Sends a private message to your friend through the PlayStation Network. + ## Data updates This integration retrieves data from the PlayStation Network every 30 seconds to ensure timely updates. diff --git a/source/_integrations/qbus.markdown b/source/_integrations/qbus.markdown index e56314e01b14..df3d57020956 100644 --- a/source/_integrations/qbus.markdown +++ b/source/_integrations/qbus.markdown @@ -2,17 +2,21 @@ title: Qbus description: Instructions on how to integrate your Qbus installation with Home Assistant. ha_category: + - Binary sensor - Climate - Cover - Hub - Light - Scene + - Sensor - Switch ha_platforms: + - binary_sensor - climate - cover - light - scene + - sensor - switch ha_iot_class: Local Push ha_codeowners: @@ -48,10 +52,12 @@ There is currently support for the following **Qbus** products within Home Assis ## Available entities +- **Binary sensor**: display values from weather stations and controller information. - **Climate**: manage thermostats by setting temperature and choosing presets. - **Cover**: operate covers with support for actions like open, close, stop, position adjustment, and tilt — depending on your setup. - **Light**: control dimmer lights, allowing both on/off functionality and brightness adjustment. - **Scene**: activate predefined scenes. +- **Sensor**: display sensor values from devices like gauges, humidity sensors, thermostats, ventilation, and weather stations. - **Switch**: toggle on/off outputs. ## Removing the integration diff --git a/source/_integrations/russound_rio.markdown b/source/_integrations/russound_rio.markdown index 1041f6f6db0e..36e1acd1be76 100644 --- a/source/_integrations/russound_rio.markdown +++ b/source/_integrations/russound_rio.markdown @@ -107,6 +107,10 @@ data: media_content_id: "1,8" ``` +## Browsing media + +The Russound RIO integration allows you to browse saved presets from your dashboard. + ## Troubleshooting ### There is a delay on getting the current status diff --git a/source/_integrations/sensor.markdown b/source/_integrations/sensor.markdown index 45c414951696..01e491e56978 100644 --- a/source/_integrations/sensor.markdown +++ b/source/_integrations/sensor.markdown @@ -49,7 +49,7 @@ The following device classes are supported for sensors: - **None**: Generic sensor. This is the default and doesn't need to be set. - **absolute_humidity**: Absolute humidity in g/m³, mg/m³. -- **apparent_power**: Apparent power in VA. +- **apparent_power**: Apparent power in mVA or VA. - **aqi**: Air Quality Index (unitless). - **area**: Area in m², cm², km², mm², in², ft², yd², mi², ac, ha - **atmospheric_pressure**: Atmospheric pressure in cbar, bar, hPa, mmHg, inHg, kPa, mbar, Pa or psi @@ -88,7 +88,7 @@ The following device classes are supported for sensors: - **precipitation_intensity**: Precipitation intensity in in/d, in/h, mm/d or mm/h - **pressure**: Pressure in Pa, kPa, hPa, bar, cbar, mbar, mmHg, inHg or psi - **reactive_energy**: Reactive energy in varh or kvarh -- **reactive_power**: Reactive power in var or kvar +- **reactive_power**: Reactive power in mvar, var, or kvar - **signal_strength**: Signal strength in dB or dBm - **sound_pressure**: Sound pressure in dB or dBA - **speed**: Generic speed in ft/s, in/d, in/h, in/s, km/h, kn, m/s, mph, mm/d, or mm/s diff --git a/source/_integrations/sleep_as_android.markdown b/source/_integrations/sleep_as_android.markdown new file mode 100644 index 000000000000..59308aa72569 --- /dev/null +++ b/source/_integrations/sleep_as_android.markdown @@ -0,0 +1,211 @@ +--- +title: Sleep as Android +description: Instructions on how to integrate Sleep as Android with Home Assistant. +ha_category: + - Event + - Sensor +ha_iot_class: Local push +ha_release: 2025.9 +ha_config_flow: true +ha_codeowners: + - '@tr4nt0r' +ha_domain: sleep_as_android +ha_integration_type: integration +ha_platforms: + - event + - sensor +ha_quality_scale: silver +--- + +The **Sleep as Android** {% term integration %} connects the Sleep as Android app to Home Assistant, allowing you to trigger automations based on alarm clock or sleep cycle events. + +## About Sleep as Android + +[**Sleep as Android**](https://sleep.urbandroid.org/) is a smart alarm clock with sleep cycle tracking capabilities and numerous other features to analyze and improve sleeping habits. It is available exclusively for Android devices and can be downloaded from [Google Play](https://play.google.com/store/apps/details?id=com.urbandroid.sleep). + +## How you can use this integration + +The Sleep as Android integration allows you to trigger sleep-related automations. You can trigger actions when sleep tracking starts or stops, such as dimming the lights or adjusting thermostat settings. Alarm events allow you to respond to snoozing or dismissing alarms — like starting a morning routine or sending a notification if the alarm was skipped. Additionally, you can react to specific sleep phases or sound detections (for example, snoring or baby crying), or monitor critical conditions such as sleep apnea. + +## Prerequisites + +This integration uses webhooks to receive events from Sleep as Android. By default, webhook triggers can only be accessed from devices on the same network as Home Assistant. If you want to receive events while away from your home network, remote access must be enabled, either by adding a [remote URL](/docs/configuration/remote/) or via [Nabu Casa Cloud](https://www.nabucasa.com/config/webhooks/). + +Steps to set up the integration: + +1. Preferably, open Home Assistant on the device you want to connect to the Sleep as Android integration and initiate the setup. +2. You will be presented a URL during the setup process. Mark the URL and copy it to the clipboard. +3. Open the Sleep as Android app and go to {% icon "mdi:cog" %} **Settings** > **Services** > **Automation** > **Webhooks**. +4. Turn on the switch to enable webhooks and paste the webhook URL from your clipboard into the URL field. + +{% note %} + +To receive updates from Sleep as Android while away from home, your Home Assistant instance must be remotely accessible. +You can enable this by configuring a remote URL for Home Assistant or by using Home Assistant Cloud. + +When setting up the Sleep as Android integration, the webhook is created using your external or cloud URL if remote access is available at that time. +If your instance is not remotely accessible during setup, the webhook will use your internal URL instead. +In this case, you will need to manually update the webhook to use your remote URL once remote access is configured. + +{% endnote %} + +{% tip %} + +If you scroll to the top and select **Events**, you can individually select and deselect the events the Sleep as Android app should trigger. + +{% endtip %} + +{% include integrations/config_flow.md %} + +## Sensors + +- **Next alarm**: The scheduled time of your upcoming alarm. +- **Alarm label**: The label or description assigned to the next alarm. + +## Events + +The integration offers various event entities that will display the most recent events from Sleep as Android. + +### Alarm clock + +Events related to the alarm clock feature. + +| Event type | Description | +| ------------------- | -------------------------- | +| `alert_dismiss` | Alarm dismissed | +| `alert_start` | Alarm started | +| `rescheduled` | Alarm rescheduled | +| `skip_next` | Alarm skipped | +| `snooze_clicked` | Snoozing | +| `snooze_canceled` | Snoozing canceled | + +### Smart wake-up + +Events related to the smart wake-up feature. + +| Event type | Description | +| ------------------------- | -------------------------- | +| `before_smart_period` | 45min before smart wake-up | +| `smart_period` | Smart wake-up started | + +### User notifications + +Events related to user notifications. + +| Event type | Description | +| ------------------------- | --------------- | +| `wake_up_check` | Wake-up check | +| `show_skip_next_alarm` | Skip next alarm | +| `time_to_bed_alarm_alert` | Time to bed | + +### Sleep health + +Events related to sleep health. + +| Event type | Description | +| ------------- | ---------------------- | +| `antisnoring` | Anti-snoring triggered | +| `apnea_alarm` | Sleep apnea detected | + +### Lullaby + +Events related to the Lullaby feature. + +| Event type | Description | +| ------------- | ------------------------------- | +| `start` | Lullaby started playing | +| `stop` | Lullaby stopped playing | +| `volume_down` | Lullaby started lowering volume | + +### Sleep phase + +Events when entering a new sleep phase. + +| Event type | Description | +| ------------- | ----------- | +| `awake` | Woke up | +| `deep_sleep` | Deep sleep | +| `light_sleep` | Light sleep | +| `not_awake` | Fell asleep | +| `rem` | REM sleep | + +{% warning %} + +Be cautious when automating based on sleep phase events, especially deep and light sleep, as these can trigger lots of events throughout the night, and they may not precisely correlate with the resulting sleep graph as Sleep as Android can only detect phases reliably using whole-night data. + +{% endwarning %} + +### Sleep tracking + +Events related to the sleep tracking feature. + +| Event type | Description | +| ---------- | ---------------- | +| `paused` | Tracking paused | +| `resumed` | Tracking resumed | +| `started` | Tracking started | +| `stopped` | Tracking stopped | + +### Sound recognition + +Events triggered when a specific sound is detected during sleep tracking. + +| Event type | Description | +| ---------- | -------------------- | +| `baby` | Baby crying | +| `cough` | Coughing or sneezing | +| `laugh` | Laughter | +| `snore` | Snoring | +| `talk` | Talking | + +## Automation + +Here’s an example automation: when your Sleep as Android alarm starts ringing, your bedroom blinds will automatically open. + +{% raw %} + +```yaml +alias: Open window blinds on Alarm +triggers: + - trigger: state + entity_id: + - event.sleep_as_android_alarm_clock + attribute: event_type + to: alert_start + not_from: unavailable +conditions: + - condition: state + entity_id: person.user1 + state: home +actions: + - action: cover.open_cover + target: + entity_id: cover.bedroom_blinds +mode: single +``` + +{% endraw %} + +## Data updates + +This integration receives push updates from the Sleep as Android app whenever an event is triggered. If no events occur, the displayed data may become outdated. + +## Known limitations + +- If Home Assistant is unreachable when an event is pushed, for example when you are away from your home network without remote access, the Sleep as Android integration will miss the update. The app does not retry sending it. + +- The integration does not support controlling the Sleep as Android app, such as setting alarm times or turning off alarms. + +## Troubleshooting + +The **Sleep as Android** integration receives updates via a push from your Sleep as Android app to a webhook. If you encounter issues, verify that your Home Assistant is reachable from your mobile phone. + +In any case, when reporting an issue, please enable [debug logging](/docs/configuration/troubleshooting/#debug-logs-and-diagnostics), restart the integration, and as soon as the issue reoccurs, stop the debug logging again (*download of debug log file will start automatically*). Further, if still possible, please also download the [diagnostics](/integrations/diagnostics) data. If you have collected the debug log and the diagnostics data, provide them with the issue report. + +## Removing the integration + +This integration can be removed by following these steps: + +{% include integrations/remove_device_service.md %} + +4. Open the Sleep as Android app and go to {% icon "mdi:cog" %} **Settings** > **Services** > **Automation** > **Webhooks**. Turn off webhooks and remove the URL. diff --git a/source/_integrations/smarla.markdown b/source/_integrations/smarla.markdown index c38154d5e261..3c8122d02e0b 100644 --- a/source/_integrations/smarla.markdown +++ b/source/_integrations/smarla.markdown @@ -3,6 +3,7 @@ title: Swing2Sleep Smarla description: Instructions on connecting Swing2Sleep Smarla to Home Assistant. ha_category: - Number + - Sensor - Switch ha_iot_class: Cloud Push ha_release: 2025.6 @@ -14,6 +15,7 @@ ha_integration_type: device ha_config_flow: true ha_platforms: - number + - sensor - switch ha_quality_scale: bronze --- @@ -45,6 +47,10 @@ This component will set up the following entities: | `swing_active` | `switch` | Turns the cradle’s oscillation on or off. | | `smart_mode` | `switch` | Enables or disables automatic intensity control. | | `intensity` | `number` | Sets the intensity level (range: `0` to `100`). | +| `amplitude` | `sensor` | Displays the current measured amplitude of the oscillation. | +| `period` | `sensor` | Displays the current measured period of the oscillation. | +| `activity` | `sensor` | Displays the current measured activity level. | +| `swing_count` | `sensor` | Displays the total number of swings. | ## Removing the integration diff --git a/source/_integrations/snapcast.markdown b/source/_integrations/snapcast.markdown index 252e4d52b0f4..998306275cff 100644 --- a/source/_integrations/snapcast.markdown +++ b/source/_integrations/snapcast.markdown @@ -38,23 +38,6 @@ Restore a previously taken snapshot of one or more speakers. | ---------------------- | -------- | ----------- | | `entity_id` | no | String or list of `entity_id`s that should have their snapshot restored. -### Action `snapcast.join` - -Group players together under a single group. - -| Data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `master` | no | Entity ID of the player to synchronize to. -| `entity_id` | yes | String or list of `entity_id`s to join to the master. - -### Action `snapcast.unjoin` - -Remove one or more speakers from their group of speakers. - -| Data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `entity_id` | no | String or list of `entity_id`s to separate from their coordinator speaker. - ### Action `snapcast.set_latency` Set the latency of a speaker. diff --git a/source/_integrations/solarlog.markdown b/source/_integrations/solarlog.markdown index 7a32c8c3b5f8..b24b963d0858 100644 --- a/source/_integrations/solarlog.markdown +++ b/source/_integrations/solarlog.markdown @@ -100,8 +100,13 @@ The following additional sensor becomes available: | Name | Unit | Description | |-----------------------|--------|:-------------------------------------------| +| charge_level | % | Current charge level of battery.* | +| charging_power | W | Current power charging battery.* | +| discharging_power | W | Current power discharging battery.* | | self_consumption_year | kWh | Annual self-consumed solar power. | +*Only available, if battery connected to solarlog. + In addition, information from devices connected to the Solar-Log device becomes available. The following additional sensors become available (all values are per inverter/device): | Name | Unit | Description | diff --git a/source/_integrations/sonos.markdown b/source/_integrations/sonos.markdown index 75385010b420..497731c28870 100644 --- a/source/_integrations/sonos.markdown +++ b/source/_integrations/sonos.markdown @@ -30,7 +30,7 @@ The `sonos` integration allows you to control your [Sonos](https://www.sonos.com ## Feature controls & sensors -Speaker-level controls are exposed as `number` or `switch` entities. Additionally, various `sensor` and `binary_sensor` entities are provided. +Speaker-level controls are exposed as `number`, `select` or `switch` entities. Additionally, various `sensor` and `binary_sensor` entities are provided. ### Controllable features @@ -45,6 +45,14 @@ Speaker-level controls are exposed as `number` or `switch` entities. Additionall - **Home theater devices**: Audio Input Format - **Voice-enabled devices**: Microphone Enabled +### Select + +The following select entities are created: + +- **Dialog Level** + Lets you set the dialog mode on your **Sonos Arc Ultra** soundbar. You can choose from None, Low, Medium, High, or Max. + + ### Battery support notes Battery sensors are fully supported for the `Sonos Roam` and `Sonos Move` devices on S2 firmware. `Sonos Move` speakers still on S1 firmware are supported but may update infrequently. diff --git a/source/_integrations/switchbot_cloud.markdown b/source/_integrations/switchbot_cloud.markdown index bb1b639a7d90..52ea4e6f276d 100644 --- a/source/_integrations/switchbot_cloud.markdown +++ b/source/_integrations/switchbot_cloud.markdown @@ -4,6 +4,7 @@ description: Instructions on how to set up SwitchBot Devices. ha_category: - Binary Sensor - Button + - Cover - Fan - Hub - Light @@ -23,6 +24,7 @@ ha_domain: switchbot_cloud ha_platforms: - binary_sensor - button + - cover - climate - light - fan @@ -56,6 +58,14 @@ Please note, device names configured in the SwitchBot app are transferred into H - [Plug Mini (HomeKit Enabled)](https://www.switch-bot.com/products/switchbot-plug-mini-homekit-enabled) - Plug (Wi-Fi only, only available in Japan) +### Cover + +- [Curtain (WoCurtain)](https://switch-bot.com/pages/switchbot-curtain) (version 1 & 2) +- [Curtain 3 (WoCtn3)](https://switch-bot.com/pages/switchbot-curtain-3) +- [Blind Tilt (WoBlindTilt)](https://switch-bot.com/pages/switchbot-blind-tilt) +- [Roller Shade](https://www.switch-bot.com/products/switchbot-roller-shade) +- [Garage Door Opener](https://www.switch-bot.com/products/switchbot-garage-door-opener) + ### Lights - [LED Strip Light 3](https://www.switch-bot.com/products/switchbot-led-strip-light-3) @@ -134,6 +144,51 @@ Features: Features: - turn on or off +### Cover + +#### Curtain + +Features: +- open/close/pause +- set position +- get position +- get battery level +- get calibration state + +#### Curtain 3 + +Features: +- open/close/pause +- set position +- get position +- get battery level +- get calibration state + +#### Blind Tilt + +Features: +- close up/close down +- set position +- get position +- get battery level +- get calibration state + +#### Roller Shade + +Features: +- open/close +- set position +- get position +- get battery level +- get calibration state + +#### Garage Door Opener + +Features: +- open/close +- set position +- get position +- get calibration state ### Sensors diff --git a/source/_integrations/telegram_bot.markdown b/source/_integrations/telegram_bot.markdown index be334db9ef3f..2012656affa1 100644 --- a/source/_integrations/telegram_bot.markdown +++ b/source/_integrations/telegram_bot.markdown @@ -144,6 +144,26 @@ Chat ID: description: ID representing the user or group chat to which messages can be sent. {% endconfiguration_basic %} +## Notifiers + +This integration will add a notify {% term entity %} for each configured chat ID. +You can use the `notify.send_message` action to publish notifications. + +{% details "Example YAML configuration" %} + +{% raw %} + +```yaml +action: notify.send_message +data: + message: "Reminder: Have you considered frogs?" + entity_id: notify.telegram_bot_chat +``` + +{% endraw %} + +{% enddetails %} + ## Notification actions Available actions: `send_message`, `send_photo`, `send_video`, `send_animation`, `send_voice`, `send_sticker`, `send_document`, `send_location`, `edit_message`, `edit_caption`, `edit_replymarkup`, `answer_callback_query`, `delete_message`, `leave_chat` and `set_message_reaction`. @@ -445,6 +465,13 @@ Sets the bot's reaction for a given message. ## Telegram notification platform +{% warning %} + +The notification platform has been marked as legacy and might be deprecated in the future. +Please use [notifiers](./#notifiers) instead. + +{% endwarning %} + The [`telegram` notification platform](/integrations/telegram) requires the `telegram_bot` integration to work with, and it's designed to generate a customized shortcut (`notify.USERNAME`) to send notifications (messages, photos, documents, and locations) to a particular `chat_id` with the old syntax, allowing backward compatibility. The data attributes `parse_mode`, `disable_notification`, `message_tag`, `disable_web_page_preview`, and `message_thread_id` are also supported. The required YAML configuration now reduces to: @@ -468,10 +495,17 @@ args: "" from_first: "" from_last: "" user_id: "" +id: "" chat_id: "" chat: "" date: "" message_thread_id: "" +bot: + config_entry_id: "" + id: "" + first_name: "" + last_name: "" + username: "" ``` Any other message not starting with `/` will be processed as simple text, firing a `telegram_text` event on the event bus with the following `event_data`: @@ -481,10 +515,16 @@ text: "some text received" from_first: "" from_last: "" user_id: "" +id: "" chat_id: "" -chat: "" date: "" message_thread_id: "" +bot: + config_entry_id: "" + id: "" + first_name: "" + last_name: "" + username: "" ``` If the message is sent from a [press from an inline button](https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-updating), for example, a callback query is received, and Home Assistant will fire a `telegram_callback` event with: @@ -498,6 +538,12 @@ user_id: "" id: "" chat_instance: "" chat_id: "" +bot: + config_entry_id: "" + id: "" + first_name: "" + last_name: "" + username: "" ``` ### Configuration samples diff --git a/source/_integrations/togrill.markdown b/source/_integrations/togrill.markdown new file mode 100644 index 000000000000..1571e6de3a5c --- /dev/null +++ b/source/_integrations/togrill.markdown @@ -0,0 +1,65 @@ +--- +title: ToGrill Bluetooth BBQ thermometers +description: Control and monitor your ToGrill compatible BBQ thermometers. +ha_iot_class: Local Push +ha_config_flow: true +ha_release: '2025.9' +ha_category: + - Event + - Sensor + - Number +ha_domain: togrill +ha_bluetooth: true +ha_platforms: + - event + - sensor + - number +ha_integration_type: device +ha_codeowners: + - '@elupus' +ha_quality_scale: bronze +--- + +The ToGrill {% term integration %} allows you to connect your ToGrill compatible Bluetooth grill thermometer. + +{% tip %} + +The recommended way to connect the device to Home Assistant is by using an [ESPHome Bluetooth Proxy](https://esphome.io/projects/?type=bluetooth), as they provide the best experience. + +{% endtip %} + +{% include integrations/config_flow.md %} + +Home Assistant will display a list of addresses of the available desks, and you just need to select the one you want to add. Repeat the process to add more than one desk. + +{% note %} +When the Home Assistant integration is active, it will take exclusive control over the device and block access by other controllers like the standard smart phone applications. +{% endnote %} + +## Known working devices + +Many ToGrill compatible devices exist from many different vendors. Only a subset has been tested successfully. These are known to work. Other detected devices may work or may not work as expected. + +| Device | Model | +|----------------------------------|--------| +| Rubicson - BBQ probe thermometer | Pro-05 | + +## Events + +**Probe X**: The most recently triggered alarm or event on the probe. The following event types are expected: `alarm`, `acknowledge`, `disconnected`. + +## Sensors + +**Probe X**: The current temperature of the given temperature probe +**Battery**: The current battery level of the device. + +## Numbers + +**Target X**: The target temperature of the given temperature probe. Set value to 0 to disable target alarm. +**Alarm interval**: The interval in minutes between successive alarms. + +## Removing the integration + +This integration follows standard integration removal. No extra steps are required. + +{% include integrations/remove_device_service.md %} diff --git a/source/_integrations/tuya.markdown b/source/_integrations/tuya.markdown index 635a8276d1ba..a3485cfd400d 100644 --- a/source/_integrations/tuya.markdown +++ b/source/_integrations/tuya.markdown @@ -17,6 +17,7 @@ ha_category: - Siren - Switch - Vacuum + - Valve ha_iot_class: Cloud Push ha_release: 0.74 ha_config_flow: true @@ -43,6 +44,7 @@ ha_platforms: - siren - switch - vacuum + - valve ha_dhcp: true ha_integration_type: hub --- diff --git a/source/_integrations/yolink.markdown b/source/_integrations/yolink.markdown index 9d3888052c6f..b4c434131286 100644 --- a/source/_integrations/yolink.markdown +++ b/source/_integrations/yolink.markdown @@ -24,6 +24,7 @@ ha_platforms: - light - lock - number + - select - sensor - siren - switch @@ -102,6 +103,8 @@ The integration is tested and verified for the following devices from YoLink: - YS8015-UC (X3 Outdoor Temperature & Humidity Sensor) - YS8017-UC (Thermometer) - YS8023-UC (Hygrometer Thermometer) +- YS4102-UC (Sprinkler) +- YS4103-UC (Sprinkler Timer) ## Actions diff --git a/source/_redirects b/source/_redirects index 96b72be83663..8c8f4f5a22a1 100644 --- a/source/_redirects +++ b/source/_redirects @@ -586,6 +586,7 @@ layout: null /integrations/lirc /more-info/removed-integration 301 /integrations/life360 /more-info/removed-integration 301 /integrations/lifx_legacy /more-info/removed-integration 301 +/integrations/linear_garage_door /more-info/removed-integration 301 /integrations/linksys_ap /more-info/removed-integration 301 /integrations/linky /more-info/removed-integration 301 /integrations/liveboxplaytv /more-info/removed-integration 301 @@ -598,6 +599,7 @@ layout: null /integrations/mailbox /more-info/removed-integration 301 /integrations/mazda /more-info/removed-integration 301 /integrations/mcp23017 /more-info/removed-integration 301 +/integrations/mercury_nz /more-info/removed-integration 301 /integrations/mhz19 /more-info/removed-integration 301 /integrations/myq /blog/2023/11/06/removal-of-myq-integration/ 301 /integrations/miflora /integrations/xiaomi_ble diff --git a/source/dashboards/features.markdown b/source/dashboards/features.markdown index 592a7561eccb..5c1f141da604 100644 --- a/source/dashboards/features.markdown +++ b/source/dashboards/features.markdown @@ -42,6 +42,28 @@ Features can be enabled on the following cards: ![Screen recording showing how you can now reorder the HVAC modes on the thermostat shown in a tile card.](/images/blog/2024-05/tile-card-reorder-features.gif) +## History chart + +Widget that displays the history of a [sensor](/integrations/sensor) or [binary_sensor](/integrations/binary_sensor). + +

+ Screenshot of the tile card with the history chart feature for a numeric entity + Screenshot of the tile card with the history chart feature for a non-numeric entity + Screenshots of the tile card with the history chart feature +

+ +```yaml +features: + - type: "history-chart" +``` + +{% configuration features %} +type: + required: true + description: "`history-chart`" + type: string +{% endconfiguration %} + ## Alarm modes Widget that displays buttons to arm and disarm an [alarm](/integrations/alarm_control_panel). @@ -322,6 +344,69 @@ type: type: string {% endconfiguration %} +## Date + +Widget that displays a button to select a date using the date picker dialog for the [date](/integrations/date), [datetime](/integrations/datetime), and [input datetime](/integrations/input_datetime) entities. + +

+ Screenshot of the tile card with the date feature + Screenshot of the tile card with the date feature +

+ +```yaml +features: + - type: "date" +``` + +{% configuration features %} +type: + required: true + description: "`date`" + type: string +{% endconfiguration %} + +## Fan direction + +Widget that displays controls to change direction for a [fan](/integrations/fan). + +

+ Screenshot of the tile card with the fan direction feature + Screenshot of the tile card with the fan direction feature +

+ +```yaml +features: + - type: "fan-direction" +``` + +{% configuration features %} +type: + required: true + description: "`fan-direction`" + type: string +{% endconfiguration %} + +## Fan oscillate + +Widget that displays controls to change oscillation state for a [fan](/integrations/fan). + +

+ Screenshot of the tile card with the fan oscillate feature + Screenshot of the tile card with the fan oscillate feature +

+ +```yaml +features: + - type: "fan-oscillate" +``` + +{% configuration features %} +type: + required: true + description: "`fan-oscillate`" + type: string +{% endconfiguration %} + ## Fan preset modes Widget that displays buttons or icons to control the preset mode for a [fan](/integrations/fan). @@ -715,6 +800,48 @@ commands: type: list {% endconfiguration %} +## Valve open/close + +Widget that displays buttons to open, close, or stop a [valve](/integrations/valve). + +

+ Screenshot of the tile card with open/close feature + Screenshot of the tile card with valve open/close feature +

+ +```yaml +features: + - type: "valve-open-close" +``` + +{% configuration features %} +type: + required: true + description: "`valve-open-close`" + type: string +{% endconfiguration %} + +## Valve position + +Widget that displays a slider to control the position for a [valve](/integrations/valve). + +

+ Screenshot of the tile card with the valve position feature + Screenshot of the tile card with the valve position feature +

+ +```yaml +features: + - type: "valve-position" +``` + +{% configuration features %} +type: + required: true + description: "`valve-position`" + type: string +{% endconfiguration %} + ## Water heater operation modes Widget that displays buttons to control the operation mode of a [water heater](/integrations/water_heater). diff --git a/source/images/dashboards/clock_card_analog_hour_ticks.png b/source/images/dashboards/clock_card_analog_hour_ticks.png new file mode 100644 index 000000000000..1eeaa17106f0 Binary files /dev/null and b/source/images/dashboards/clock_card_analog_hour_ticks.png differ diff --git a/source/images/dashboards/clock_card_analog_minute_ticks_border.png b/source/images/dashboards/clock_card_analog_minute_ticks_border.png new file mode 100644 index 000000000000..4479ff5830d2 Binary files /dev/null and b/source/images/dashboards/clock_card_analog_minute_ticks_border.png differ diff --git a/source/images/dashboards/clock_card_analog_no_ticks_border_title_mountain_time.png b/source/images/dashboards/clock_card_analog_no_ticks_border_title_mountain_time.png new file mode 100644 index 000000000000..6148361bcbd6 Binary files /dev/null and b/source/images/dashboards/clock_card_analog_no_ticks_border_title_mountain_time.png differ diff --git a/source/images/dashboards/features/date.png b/source/images/dashboards/features/date.png new file mode 100644 index 000000000000..8359ba146cbb Binary files /dev/null and b/source/images/dashboards/features/date.png differ diff --git a/source/images/dashboards/features/fan_direction.png b/source/images/dashboards/features/fan_direction.png new file mode 100644 index 000000000000..8889c240a0de Binary files /dev/null and b/source/images/dashboards/features/fan_direction.png differ diff --git a/source/images/dashboards/features/fan_oscillate.png b/source/images/dashboards/features/fan_oscillate.png new file mode 100644 index 000000000000..e72300bfb112 Binary files /dev/null and b/source/images/dashboards/features/fan_oscillate.png differ diff --git a/source/images/dashboards/features/history-chart-line.png b/source/images/dashboards/features/history-chart-line.png new file mode 100644 index 000000000000..5b19fc379e21 Binary files /dev/null and b/source/images/dashboards/features/history-chart-line.png differ diff --git a/source/images/dashboards/features/history-chart-timeline.png b/source/images/dashboards/features/history-chart-timeline.png new file mode 100644 index 000000000000..1f56921e1842 Binary files /dev/null and b/source/images/dashboards/features/history-chart-timeline.png differ diff --git a/source/images/dashboards/features/valve_open_close.png b/source/images/dashboards/features/valve_open_close.png new file mode 100644 index 000000000000..45df500b1c9a Binary files /dev/null and b/source/images/dashboards/features/valve_open_close.png differ diff --git a/source/images/dashboards/features/valve_position.png b/source/images/dashboards/features/valve_position.png new file mode 100644 index 000000000000..f107c44cec01 Binary files /dev/null and b/source/images/dashboards/features/valve_position.png differ diff --git a/source/images/integrations/enphase_envoy/enphase_envoy_collar_and_ccc_data.png b/source/images/integrations/enphase_envoy/enphase_envoy_collar_and_ccc_data.png new file mode 100644 index 000000000000..32d7f6371f83 Binary files /dev/null and b/source/images/integrations/enphase_envoy/enphase_envoy_collar_and_ccc_data.png differ