Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,8 @@ social:
# Home Assistant release details
current_major_version: 2024
current_minor_version: 7
current_patch_version: 0
date_released: 2024-07-03
current_patch_version: 1
date_released: 2024-07-05

# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
Expand Down
7 changes: 4 additions & 3 deletions sass/homeassistant/pages/_component_page.scss
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@
align-content: center;
transition: box-shadow .33s;


.img-container {
height: 64px;
margin: 12px 16px;
Expand Down Expand Up @@ -128,11 +127,13 @@ a.option-card:hover {

@for $i from 1 through 40 {
.option-card:nth-child(#{$i}) {
animation-delay: #{$i * 0.04}s !important;
animation-delay: #{$i * 0.025}s !important;
@media only screen and (max-width: $palm-end) {
animation-delay: #{$i * 0.05}s !important;
}
}
}


@media only screen and (max-width: $palm-end) {
.hass-option-cards {
.option-card {
Expand Down
9 changes: 5 additions & 4 deletions source/_docs/automation/using_blueprints.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,14 @@ To edit an imported blueprint, follow these steps:

1. Go to **{% my blueprints title="Settings > Automations & Scenes > Blueprints" %}**.
2. Select the blueprint from the list.
3. Select the three dots menu and select **Take control**.
3. Select the {% icon "mdi:dots-vertical" %} and select **Take control**.
4. A preview of the automation is shown.
- **Info**: By taking control, the blueprint is converted into an automation. You won't be able to convert this back into a blueprint.
- To convert it into an automation and take control, select **Yes**.
- If you change your mind and want to keep the blueprint, select **No**.

![Screencast showing how to take control of a blueprint](/images/blueprints/blueprint_take_control.webp)

4. Under **Take control of automation?**, select **OK**
- **Info**: By taking control, the blueprint is converted into an automation. You won't be able to convert this back into a blueprint.

## Re-importing a blueprint

Blueprints created by the community may go through multiple revisions. Sometimes a user creates a blueprint,
Expand Down
3 changes: 2 additions & 1 deletion source/_integrations/forecast_solar.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,8 @@ the results a bit.

The **damping** factor allows you to adjust and "damp" the results of your solar
predictions in the morning and evening a bit and is a great method to make
results less optimistic and more tuned to your reality.
results less optimistic and more tuned to your reality. More details on damping can
be found [here](https://doc.forecast.solar/damping).

The **inverter** size can be used in a situation where the maximum power of your
inverter is lower than the total power of all your solar panels (as entered under
Expand Down
9 changes: 6 additions & 3 deletions source/_integrations/generic_hygrostat.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,14 @@ ha_config_flow: true

The `generic_hygrostat` humidifier {% term integration %} is a virtual hygrostat implemented in Home Assistant. It uses a sensor and a switch connected to a humidifier or dehumidifier under the hood. When in humidifier mode, if the measured humidity is less than the target humidity, the humidifier will be turned on and turned off when the required humidity is reached. When in dehumidifier mode, if the measured humidity is greater than the target humidity, the dehumidifier will be turned on and turned off when required humidity is reached. One Generic Hygrostat entity can only control one switch. If you need to activate two switches, one for a humidifier and one for a dehumidifier, you will need two Generic Hygrostat entities.

To enable the {% term integration %}, you need to add it to your {% term "`configuration.yaml`" %} file.
{% include integrations/restart_ha_after_config_inclusion.md %}

{% include integrations/config_flow.md %}

{% note %}
Configuration using our user interface provides a more limited subset of options, making this integration more accessible while covering most use cases.

If you need more specific features for your use case, the manual [YAML-configuration section](#yaml-configuration) of this integration might provide them.
{% endnote %}

## YAML configuration

Alternatively, this integration can be configured and set up manually via YAML
Expand Down
6 changes: 6 additions & 0 deletions source/_integrations/generic_thermostat.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,12 @@ The `generic_thermostat` climate {% term integration %} is a thermostat implemen

{% include integrations/config_flow.md %}

{% note %}
Configuration using our user interface provides a more limited subset of options, making this integration more accessible while covering most use cases.

If you need more specific features for your use case, the manual [YAML-configuration section](#yaml-configuration) of this integration might provide them.
{% endnote %}

## YAML configuration

Alternatively, this integration can be configured and set up manually via YAML
Expand Down
56 changes: 37 additions & 19 deletions source/_integrations/heos.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,10 @@ A connection to a single device enables control for all devices on the network.
Use the sign-in service (go to Developer Tools -> Services and then run the `heos.sign_in` with your username and password. Use the "Fill example data" first, then change it with your data. Check the logs right after, there you should see if the sign-in was successful or not) to sign the connected controller into a HEOS account so that it can retrieve and play HEOS favorites and playlists. An error message is logged if sign-in is unsuccessful. Example service data payload:

```yaml
username: "example@example.com"
password: "password"
service: heos.sign_in
data:
username: "example@example.com"
password: "password"
```

| Service data attribute | Optional | Description |
Expand All @@ -57,9 +59,11 @@ Use the sign-out service to sign the connected controller out of a HEOS account.
You can play a HEOS favorite by number or name with the `media_player.play_media` service. Example service data payload:

```yaml
entity_id: media_player.office
media_content_type: "favorite"
media_content_id: "1"
service: media_player.play_media
data:
entity_id: media_player.office
media_content_type: "favorite"
media_content_id: "1"
```

| Service data attribute | Optional | Description |
Expand All @@ -73,9 +77,11 @@ media_content_id: "1"
You can play a HEOS playlist with the `media_player.play_media` service. Example service data payload:

```yaml
entity_id: media_player.office
media_content_type: "playlist"
media_content_id: "Awesome Music"
service: media_player.play_media
data:
entity_id: media_player.office
media_content_type: "playlist"
media_content_id: "Awesome Music"
```

| Service data attribute | Optional | Description |
Expand All @@ -89,9 +95,11 @@ media_content_id: "Awesome Music"
You can play a HEOS Quick Select by number or name with the `media_player.play_media` service. Example service data payload:

```yaml
entity_id: media_player.office
media_content_type: "quick_select"
media_content_id": "1"
service: media_player.play_media
data:
entity_id: media_player.office
media_content_type: "quick_select"
media_content_id": "1"
```

| Service data attribute | Optional | Description |
Expand All @@ -105,9 +113,11 @@ media_content_id": "1"
You can play a URL through a HEOS media player using the `media_player.play_media` service. The HEOS player must be able to reach the URL. Example service data payload:

```yaml
entity_id: media_player.office
media_content_type: "url"
media_content_id: "http://path.to/stream.mp3"
service: media_player.play_media
data:
entity_id: media_player.office
media_content_type: "url"
media_content_id: "http://path.to/stream.mp3"
```

| Service data attribute | Optional | Description |
Expand All @@ -121,10 +131,12 @@ media_content_id: "http://path.to/stream.mp3"
For grouping HEOS media players together for synchronous playback you can use the `media_player.join` service. With the example service data payload down below you'll expand playback of `media_player.office` to the `media_player.kitchen` and `media_player.bathroom` players. Please note that all of the media players need to be HEOS players.

```yaml
entity_id: media_player.office
group_members:
- media_player.kitchen
- media_player.bathroom
service: media_player.join
data:
entity_id: media_player.office
group_members:
- media_player.kitchen
- media_player.bathroom
```

| Service data attribute | Optional | Description |
Expand All @@ -137,6 +149,12 @@ group_members:

For removing a HEOS player from a group you can use the `media_player.unjoin` service.

```yaml
service: media_player.unjoin
data:
entity_id: media_player.office
```

| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------ |
| `entity_id` | yes | Unjoin this media player from any player groups. |
Expand All @@ -146,7 +164,7 @@ For removing a HEOS player from a group you can use the `media_player.unjoin` se
- Receivers with multiple zones are represented as a single media player. They will be turned on when playback is started, but cannot be turned off by the integration at this time.
- [Denon AVR](/integrations/denonar/) and HEOS media players can be combined into a [Universal Media Player](/integrations/universal/#denon-avr--heos)

## Troubleshooing
## Troubleshooting

### Debugging

Expand Down
101 changes: 101 additions & 0 deletions source/_integrations/madvr.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
title: madVR Envy
description: Instructions on how to integrate a madVR Envy into Home Assistant.
ha_category:
- Remote
- Binary Sensor
- Sensor
ha_release: '2023.6'
ha_iot_class: Local Push
ha_config_flow: true
ha_codeowners:
- '@iloveicedgreentea'
ha_domain: madvr
ha_platforms:
- binary_sensor
- remote
- sensor
ha_integration_type: device
---

The madVR Envy allows for the automation and control of [madVR Envy devices](https://madvrenvy.com).

## Supported Devices

This integration supports all current madVR Envy models.

{% include integrations/config_flow.md %}

## Remote

The madVR Envy remote platform will create a [Remote](/integrations/remote/) entity for the device. This entity allows you to send the following commands via the [remote.send_command](/integrations/remote/) service.

The command structure uses the same keywords as the [official documentation](https://madvrenvy.com/wp-content/uploads/EnvyIpControl.pdf?r=113a) and simply sends the corresponding command to the device. Please refer to the official documentation for more details and usage.

Using these commands, you can create a digital remote in the UI.

### Single Commands

These are commands that can be sent standalone, no parameters.

- `PowerOff`
- `Standby`
- `Restart`
- `ReloadSoftware`
- `Bye`
- `ResetTemporary`
- `CloseMenu`
- `GetMaskingRatio`
- `GetMacAddress`
- `ToneMapOn`
- `ToneMapOff`
- `Hotplug`
- `RefreshLicenseInfo`
- `Force1080p60Output`


### Commands with Parameters

These are commands that have parameters with a comma separating them.

- `ActivateProfile (SOURCE | DISPLAY | CUSTOM)`
- `OpenMenu (Info | Settings | Configuration | Profiles | TestPatterns)`
- `KeyPress (MENU | UP | DOWN | LEFT | RIGHT | OK | INPUT | SETTINGS | RED | GREEN | BLUE | YELLOW | POWER)`
- `KeyHold (MENU | UP | DOWN | LEFT | RIGHT | OK | INPUT | SETTINGS | RED | GREEN | BLUE | YELLOW | POWER)`

### Binary sensor

The integration creates the following binary sensors:

- `Power State` is True when device is physically on.
- `Signal State` is True when device is receiving a signal from the source.
- `HDR Flag` is True when the device is receiving an HDR signal. This is useful to trigger automations based on the HDR flag such as changing projector settings.
- `Outgoing HDR Flag` is True when the device is sending an HDR signal.

### Sensor

The integration creates the following sensors:

- `Incoming Resolution`
- `Incoming Frame Rate`
- `Incoming Color Space`
- `Incoming Bit Depth`
- `Incoming Colorimetry`
- `Incoming Black Levels`
- `Incoming Aspect Ratio`
- `Outgoing Resolution`
- `Outgoing Frame Rate`
- `Outgoing Color Space`
- `Outgoing Bit Depth`
- `Outgoing HDR Flag`
- `Outgoing Colorimetry`
- `Outgoing Black Levels`
- `Aspect Ratio Resolution`
- `Aspect Ratio Decimal`
- `Aspect Ratio Integer`
- `Aspect Ratio Name`
- `Masking Resolution`
- `Masking Decimal`
- `Masking Integer`

These can be used for various purposes such as triggering your masking system based on the detected aspect ratio.
13 changes: 0 additions & 13 deletions source/_integrations/modbus.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -1621,19 +1621,6 @@ Description:
| value | (write_register) A single value or an array of 16-bit values. Single value will call modbus function code 0x06. Array will call modbus function code 0x10. Values might need reverse ordering. E.g., to set 0x0004 you might need to set `[4,0]`, this depend on the byte order of your CPU |
| state | (write_coil) A single boolean or an array of booleans. Single boolean will call modbus function code 0x05. Array will call modbus function code 0x0F |

The modbus integration also provides communication stop/restart services. These services will not do any reconfiguring, but simply stop/start the modbus communication layer.

| Service | Description |
| -------------- | --------------------------------------------- |
| modbus.stop | Stop communication |
| modbus.restart | Restart communication (Stop first if running) |

Description:

| Attribute | Description |
| --------- | ------------------------------------------------ |
| hub | Hub name (defaults to 'modbus_hub' when omitted) |

## Example: writing a float32 type register

To write a float32 datatype register use network format like `10.0` == `0x41200000` (network order float hexadecimal).
Expand Down
12 changes: 11 additions & 1 deletion source/_integrations/template.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,19 @@ _For old sensor/binary sensor configuration format, [see below](#legacy-binary-s

## UI configuration

Sensor template and binary sensor template can be configured using the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**. Select the **+ Add helper** button and then select the **{% my config_flow_start domain=page.ha_domain title=page.title %}** helper.
Sensor template and binary sensor template can be configured using the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**.

{% include integrations/config_flow.md %}

{% important %}
To be able to add **{% my helpers title="Helpers" %}** via the user interface, you should have `default_config:` in your {% term "`configuration.yaml`" %}. It should already be there by default unless you removed it.
{% endimportant %}

{% note %}
Configuration using our user interface provides a more limited subset of options, making this integration more accessible while covering most use cases.

If you need more specific features for your use case, the manual [YAML-configuration section](#yaml-configuration) of this integration might provide them.
{% endnote %}

## YAML configuration

Expand Down
2 changes: 1 addition & 1 deletion source/_integrations/unifi.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ The UniFi Network application allows you to create multiple users on it besides

### UniFi OS

For UniFi OS a local-only user needs to be created. A user who uses the Ubiquiti cloud will not work. You can do this in the manage users section on the UniFi OS dashboard. Make sure to give it the right permissions for the functions you want to use. Note the Dream Machine Pro and Cloud Key Gen2 plus updated to UniFi OS needs the port to be 443.
For UniFi OS a local-only user needs to be created. A user who uses the Ubiquiti cloud will not work. You can do this in the manage users section on the UniFi OS dashboard. Make sure to give it the right permissions for the functions you want to use. Note the Dream Machine Pro and Cloud Key Gen2 plus updated to UniFi OS needs the port to be 443. For some self hosted servers the port will be 8443.

### Conflicts with MQTT

Expand Down
8 changes: 8 additions & 0 deletions source/_integrations/webmin.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,14 @@ ha_platforms:

This {% term integration %} provides sensors for monitoring the CPU and memory usage of your server.

## Prerequisites

For best security, create a specific Webmin user for Home Assistant with a strong password and only "Can accept RPC calls" permission (under "Permissions for all modules") and remove the "Can accept RPC calls" permission for all other users.

{% note %}
Be aware that the Webmin API ignores any 2FA set up via the frontend, e.g. it is even with enabled 2FA possible to use the API with only username and password.
{% endnote %}

{% include integrations/config_flow.md %}

## Sensors
Expand Down
Loading