mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-18 23:06:58 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
04987cbb49
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
@ -57,7 +57,7 @@ jobs:
|
|||||||
- name: Check out files from GitHub
|
- name: Check out files from GitHub
|
||||||
uses: actions/checkout@v2.3.4
|
uses: actions/checkout@v2.3.4
|
||||||
- name: Setting up Ruby 2.6
|
- name: Setting up Ruby 2.6
|
||||||
uses: ruby/setup-ruby@v1.72.1
|
uses: ruby/setup-ruby@v1.75.0
|
||||||
with:
|
with:
|
||||||
ruby-version: 2.6
|
ruby-version: 2.6
|
||||||
- name: Setup Ruby Gems cache
|
- name: Setup Ruby Gems cache
|
||||||
|
@ -19,14 +19,14 @@ GEM
|
|||||||
sass (>= 3.3.0, < 3.5)
|
sass (>= 3.3.0, < 3.5)
|
||||||
compass-import-once (1.0.5)
|
compass-import-once (1.0.5)
|
||||||
sass (>= 3.2, < 3.5)
|
sass (>= 3.2, < 3.5)
|
||||||
concurrent-ruby (1.1.8)
|
concurrent-ruby (1.1.9)
|
||||||
em-websocket (0.5.2)
|
em-websocket (0.5.2)
|
||||||
eventmachine (>= 0.12.9)
|
eventmachine (>= 0.12.9)
|
||||||
http_parser.rb (~> 0.6.0)
|
http_parser.rb (~> 0.6.0)
|
||||||
eventmachine (1.2.7)
|
eventmachine (1.2.7)
|
||||||
eventmachine (1.2.7-x64-mingw32)
|
eventmachine (1.2.7-x64-mingw32)
|
||||||
ffi (1.15.1)
|
ffi (1.15.3)
|
||||||
ffi (1.15.1-x64-mingw32)
|
ffi (1.15.3-x64-mingw32)
|
||||||
forwardable-extended (2.6.0)
|
forwardable-extended (2.6.0)
|
||||||
http_parser.rb (0.6.0)
|
http_parser.rb (0.6.0)
|
||||||
i18n (1.8.10)
|
i18n (1.8.10)
|
||||||
|
15
_config.yml
15
_config.yml
@ -105,8 +105,8 @@ social:
|
|||||||
# Home Assistant release details
|
# Home Assistant release details
|
||||||
current_major_version: 2021
|
current_major_version: 2021
|
||||||
current_minor_version: 6
|
current_minor_version: 6
|
||||||
current_patch_version: 2
|
current_patch_version: 6
|
||||||
date_released: 2021-06-04
|
date_released: 2021-06-20
|
||||||
|
|
||||||
# Either # or the anchor link to latest release notes in the blog post.
|
# Either # or the anchor link to latest release notes in the blog post.
|
||||||
# Must be prefixed with a # and have double quotes around it.
|
# Must be prefixed with a # and have double quotes around it.
|
||||||
@ -175,6 +175,10 @@ toc:
|
|||||||
|
|
||||||
# Configuration for installation pages
|
# Configuration for installation pages
|
||||||
installation:
|
installation:
|
||||||
|
container:
|
||||||
|
base: "ghcr.io/home-assistant/home-assistant"
|
||||||
|
raspberrypi3: "ghcr.io/home-assistant/raspberrypi3-homeassistant"
|
||||||
|
raspberrypi4: "ghcr.io/home-assistant/raspberrypi4-homeassistant"
|
||||||
versions:
|
versions:
|
||||||
python: "3.8"
|
python: "3.8"
|
||||||
types:
|
types:
|
||||||
@ -212,3 +216,10 @@ installation:
|
|||||||
variants:
|
variants:
|
||||||
- name: "ASUS Tinkerboard"
|
- name: "ASUS Tinkerboard"
|
||||||
key: "tinker"
|
key: "tinker"
|
||||||
|
|
||||||
|
generic-x86-64:
|
||||||
|
board: Generic x86-64
|
||||||
|
installation_media: "storage device"
|
||||||
|
variants:
|
||||||
|
- name: "Generic x86-64"
|
||||||
|
key: "generic-x86-64"
|
||||||
|
6
package-lock.json
generated
6
package-lock.json
generated
@ -1043,9 +1043,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"glob-parent": {
|
"glob-parent": {
|
||||||
"version": "5.1.1",
|
"version": "5.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||||
"integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
|
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-glob": "^4.0.1"
|
"is-glob": "^4.0.1"
|
||||||
|
@ -75,7 +75,7 @@ module Jekyll
|
|||||||
" See: https://developers.home-assistant.io/docs/en/documentation_create_page.html#configuration" unless \
|
" See: https://developers.home-assistant.io/docs/en/documentation_create_page.html#configuration" unless \
|
||||||
TYPES.include? type
|
TYPES.include? type
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
raise ArgumentError, "Configuration type '#{attr['type']}' for key '#{key}' is not a valid type in the documentation."\
|
raise ArgumentError, "Configuration type '#{attr['type']}' for key '#{key}' is not a valid type in the documentation."\
|
||||||
" See: https://developers.home-assistant.io/docs/en/documentation_create_page.html#configuration" unless \
|
" See: https://developers.home-assistant.io/docs/en/documentation_create_page.html#configuration" unless \
|
||||||
TYPES.include? attr['type']
|
TYPES.include? attr['type']
|
||||||
@ -90,7 +90,7 @@ module Jekyll
|
|||||||
|
|
||||||
defaultValue = ""
|
defaultValue = ""
|
||||||
isDefault = false
|
isDefault = false
|
||||||
if attr.key? 'default' and not attr['default'].to_s.empty?
|
if attr.key? 'default' and not attr['default'].to_s.empty?
|
||||||
isDefault = true
|
isDefault = true
|
||||||
defaultValue = converter.convert(attr['default'].to_s)
|
defaultValue = converter.convert(attr['default'].to_s)
|
||||||
elsif attr['type'].to_s.include? 'boolean'
|
elsif attr['type'].to_s.include? 'boolean'
|
||||||
@ -98,7 +98,7 @@ module Jekyll
|
|||||||
raise ArgumentError, "Configuration key '#{key}' is a boolean type and"\
|
raise ArgumentError, "Configuration key '#{key}' is a boolean type and"\
|
||||||
" therefore, requires a default."
|
" therefore, requires a default."
|
||||||
end
|
end
|
||||||
|
|
||||||
if attr.key? 'required'
|
if attr.key? 'required'
|
||||||
# Check if required is a valid value
|
# Check if required is a valid value
|
||||||
raise ArgumentError, "Configuration key '#{key}' required field must be specified as: "\
|
raise ArgumentError, "Configuration key '#{key}' required field must be specified as: "\
|
||||||
@ -168,7 +168,12 @@ module Jekyll
|
|||||||
|
|
||||||
<<~MARKUP
|
<<~MARKUP
|
||||||
<div class="config-vars">
|
<div class="config-vars">
|
||||||
<h3><a class="title-link" name="configuration-variables" href="#configuration-variables"></a> Configuration Variables</h3>
|
<h3>
|
||||||
|
<a class="title-link" name="configuration-variables" href="#configuration-variables"></a> Configuration Variables
|
||||||
|
</h3>
|
||||||
|
<div class="configuration-link">
|
||||||
|
<a href="/docs/configuration/" target="_blank">Looking for your configuration file?</a>
|
||||||
|
</div>
|
||||||
#{render_config_vars(
|
#{render_config_vars(
|
||||||
vars: vars,
|
vars: vars,
|
||||||
component: component,
|
component: component,
|
||||||
|
@ -40,6 +40,16 @@ $primary-color: #049cdb;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.feedback {
|
||||||
|
h4 {
|
||||||
|
margin: 0 0 8px !important;
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none !important;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: $menu-collapse) {
|
@media only screen and (max-width: $menu-collapse) {
|
||||||
.search-container {
|
.search-container {
|
||||||
@ -542,6 +552,20 @@ twitter-widget,
|
|||||||
div.config-vars {
|
div.config-vars {
|
||||||
padding-bottom: 16px;
|
padding-bottom: 16px;
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.configuration-link {
|
||||||
|
font-size: 13px;
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #8792a2;
|
||||||
|
text-decoration: none;
|
||||||
|
border-bottom: #8792a2 dotted 0.5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.config-vars-item {
|
.config-vars-item {
|
||||||
border-bottom: 1px solid #d9dbde;
|
border-bottom: 1px solid #d9dbde;
|
||||||
padding-top: 16px;
|
padding-top: 16px;
|
||||||
|
@ -11,7 +11,7 @@ Mode | Description
|
|||||||
-|-
|
-|-
|
||||||
`single` | (Default) Do not start a new run. Issue a warning.
|
`single` | (Default) Do not start a new run. Issue a warning.
|
||||||
`restart` | Start a new run after first stopping previous run.
|
`restart` | Start a new run after first stopping previous run.
|
||||||
`queued` | Start a new run after all previous runs complete. Runs are guaranteed to execute in the order they were queued.
|
`queued` | Start a new run after all previous runs complete. Runs are guaranteed to execute in the order they were queued. Note that subsequent queued automations will only join the queue if any conditions it may have are met at the time it is triggered.
|
||||||
`parallel` | Start a new, independent run in parallel with previous runs.
|
`parallel` | Start a new, independent run in parallel with previous runs.
|
||||||
|
|
||||||
<p class='img'>
|
<p class='img'>
|
||||||
|
@ -1,56 +1,36 @@
|
|||||||
---
|
---
|
||||||
title: "Configuring Home Assistant"
|
title: "Configuration.yaml"
|
||||||
description: "Configuring Home Assistant."
|
description: "Configuring Home Assistant via text files."
|
||||||
---
|
---
|
||||||
|
|
||||||
When launched for the first time, Home Assistant will create a default configuration file enabling the web interface and device discovery. It can take up to a minute after startup for your devices to be discovered and appear in the user interface.
|
While you can configure most of Home Assistant directly from the user interface under {% my configuration %}, some parts need you to edit `configuration.yaml`. This file contains integrations to be loaded along with their configurations. Throughout the documentation you will find snippets that you can add to your configuration file to enable specific functionality.
|
||||||
|
|
||||||
The web interface can be found at `http://ip.ad.dre.ss:8123/` - for example if your Home Assistant system has the IP address `192.168.0.40` then you'll find the web interface as `http://192.168.0.40:8123/`.
|
If you run into trouble while configuring Home Assistant, refer to the [configuration troubleshooting page](/getting-started/configuration/troubleshooting/) and the [`configuration.yaml` examples](/examples/#example-configurationyaml).
|
||||||
|
|
||||||
The location of the folder differs for different operating systems:
|
|
||||||
|
|
||||||
| OS | Path |
|
|
||||||
| -------------- | -------------------------- |
|
|
||||||
| Home Assistant | `/config` |
|
|
||||||
| Docker | `/config` |
|
|
||||||
| macOS | `~/.homeassistant` |
|
|
||||||
| Linux | `~/.homeassistant` |
|
|
||||||
|
|
||||||
If you want to use a different folder for configuration, use the configuration command line parameter: `hass --config path/to/config`.
|
|
||||||
|
|
||||||
Inside your configuration folder is the file `configuration.yaml`. This is the main file that contains integrations to be loaded along with their configurations. Throughout the documentation you will find snippets that you can add to your configuration file to enable specific functionality.
|
|
||||||
|
|
||||||
If you run into trouble while configuring Home Assistant, refer the [configuration troubleshooting page](/getting-started/troubleshooting-configuration/) and at the [`configuration.yaml` examples](/examples/#example-configurationyaml).
|
|
||||||
|
|
||||||
<div class='note tip'>
|
|
||||||
|
|
||||||
Test any changes to your configuration files from the command line with `hass --script check_config`. This script allows you to test changes without the need to restart Home Assistant. Remember to run this script as the user you logged in to Home Assistant as. Configuration changes can also be tested using the UI by navigating to Configuration, Server Controls and clicking "Check Configuration".
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
## Editing `configuration.yaml`
|
## Editing `configuration.yaml`
|
||||||
|
|
||||||
There are many ways you can edit `configuration.yaml`. Here are three options to get you started:
|
The easiest option to edit `configuration.yaml` is to use the {% my supervisor_addon title="Visual Studio Code add-on" addon="a0d7b954_vscode" %}. VS Code offers live syntax checking and auto-fill of various Home Assistant entities (if unavailable on your system, use {% my supervisor_addon title="File Editor add-on" addon="core_configurator" %} instead).
|
||||||
|
|
||||||
The simplest way is to use the "File Editor" add-on. This will allow you to edit your configuration from within Home Assistant itself.
|
If you prefer to use a file editor on your computer, use the {% my supervisor_addon title="Samba add-on" addon="core_samba" %} to access the files as a network share.
|
||||||
|
|
||||||
The most robust option is to load the Visual Studio Code add-on. VS Code offers live syntax checking and auto-fill of various Home Assistant entities.
|
_If you use Home Assistant Container, you can find `configuration.yaml` in the config folder that you mounted in your container._
|
||||||
|
|
||||||
You can use Samba file share (you need to install the "Samba" add-on) and your favorite file editor.
|
_If you use Home Assistant Core, you can find `configuration.yaml` in the config folder passed to the `hass` command (default is `~/.homeasssistant`)._
|
||||||
|
|
||||||
The most basic is to use SSH to connect to the system (you may need to install the SSH add-on) and then use `nano` (or `vim`) to edit the file.
|
|
||||||
|
|
||||||
## Reloading changes
|
## Reloading changes
|
||||||
|
|
||||||
You will have to restart Home Assistant for most changes to `configuration.yaml` to take effect.
|
Most integrations in Home Assistant that do not interact with devices or services can reload changes made to their configuration in `configuration.yaml`. To do this, go to {% my server_controls title="Configuration -> Server Control" %} and scroll down to the YAML configuration reloading section (alternative, hit "c" in the UI and search for it).
|
||||||
You can load changes to the following components without restarting, by using the UI. Navigate to Configuration, Server Controls and scrolling down to the YAML configuration reloading: [automations](/docs/automation/), [core (customize)](/docs/configuration/customizing-devices/), [groups](/integrations/group/), [history stats](/integrations/history_stats/), [HomeKit](/integrations/homekit/), [input_booleans](/integrations/input_boolean/), [input_datetimes](/integrations/input_datetime/), [input_numbers](/integrations/input_number/), [input_selects](/integrations/input_select/), [input_texts](/integrations/input_text/), [MQTT](/integrations/mqtt/), [persons](/integrations/person/), [scenes](/integrations/scene/), [scripts](/integrations/script/), [statistics](/integrations/statistics/), [template sensors](/integrations/template/), [timers](/integrations/timer/), [zones](/integrations/zone/), and more without restarting.
|
|
||||||
|
If you can't see your integration listed there, you will need to restart Home Assistant for changes to take effect.
|
||||||
|
|
||||||
<div class='note warning'>
|
<div class='note warning'>
|
||||||
|
|
||||||
If you have made any changes, remember to [check your configuration](/docs/configuration/troubleshooting/#problems-with-the-configuration) before trying to reload or restart.
|
Test any changes to your configuration files from the command line check out the common tasks for [operating system](/common-tasks/os/#configuration-check), [supervised](/common-tasks/supervised/#configuration-check), [container](/common-tasks/container/#configuration-check), [core](/common-tasks/core/#configuration-check) for how to do that. Configuration changes can also be tested using the UI by navigating to {% my server_controls title="Configuration -> Server Control" %} and clicking "Check Configuration".
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## Migrating to a new system
|
## Migrating to a new system
|
||||||
|
|
||||||
If you want to migrate your configuration to a new system then you can copy the contents of your configuration folder from the current system to the new system. Be aware that some of the files you need start with `.`, which is hidden by default from both `ls` (in SSH), in Windows Explorer, and macOS Finder. You'll need to ensure that you're viewing all files before you copy them.
|
The preferred way of migrating to a new system is by {% my supervisor_snapshots title="making a backup" %}.
|
||||||
|
|
||||||
|
If you run the container or core installation methods, you will need to manually make a backup of your configuration folder. Be aware that some of the files you need start with `.`, which is hidden by default from both `ls` (in SSH), in Windows Explorer, and macOS Finder. You'll need to ensure that you're viewing all files before you copy them.
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<b>{% active_link /docs/configuration/ Configuration %}</b>
|
<b>{% active_link /docs/configuration/ Configuration.yaml %}</b>
|
||||||
<ul>
|
<ul>
|
||||||
<li>{% active_link /docs/configuration/yaml/ YAML %}</li>
|
<li>{% active_link /docs/configuration/yaml/ YAML %}</li>
|
||||||
<li>
|
<li>
|
||||||
|
@ -38,14 +38,14 @@ If you would like to test next release before anyone else, you can install the b
|
|||||||
|
|
||||||
{% endtabbed_block %}
|
{% endtabbed_block %}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{% elsif page.installation == "container" %}
|
{% elsif page.installation == "container" %}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ha os update --version {{current_version}}
|
docker pull {{ site.installation.container.base }}:beta
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**[You then need to recreate the container with the new image.](/installation/linux#install-home-assistant-container)**
|
||||||
|
|
||||||
{% elsif page.installation == "core" %}
|
{% elsif page.installation == "core" %}
|
||||||
|
|
||||||
1. Switch to the user that is running Home Assistant
|
1. Switch to the user that is running Home Assistant
|
||||||
|
@ -31,9 +31,11 @@ If you want to stay on the bleeding-edge Home Assistant Core development branch,
|
|||||||
{% elsif page.installation == "container" %}
|
{% elsif page.installation == "container" %}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ha os update --version {{current_version}}
|
docker pull {{ site.installation.container.base }}:dev
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**[You then need to recreate the container with the new image.](/installation/linux#install-home-assistant-container)**
|
||||||
|
|
||||||
{% elsif page.installation == "core" %}
|
{% elsif page.installation == "core" %}
|
||||||
|
|
||||||
1. Switch to the user that is running Home Assistant
|
1. Switch to the user that is running Home Assistant
|
||||||
|
@ -45,7 +45,7 @@ ums /dev/mmcblk0
|
|||||||
|
|
||||||
#### Flashing Home Assistant
|
#### Flashing Home Assistant
|
||||||
|
|
||||||
Connect the ODROID-N2+ to your PC via the micro-USB port at the front of the ODROID-N2+. When the ODROID-N2 is recognized as a USB connected storage device, you can flash the eMMC with [Etcher](https://www.balena.io/etcher/) using the latest stable version of Home Assistant OS for the [ODROID-N2+](https://github.com/home-assistant/operating-system/releases/latest) (hassos_odroid-n2-XXXX.img.gz).
|
Connect the ODROID-N2+ to your PC via the micro-USB port at the front of the ODROID-N2+. When the ODROID-N2 is recognized as a USB connected storage device, you can flash the eMMC with [Etcher](https://www.balena.io/etcher/) using the latest stable version of Home Assistant OS for the [ODROID-N2+](https://github.com/home-assistant/operating-system/releases/download/{{site.data.version_data.hassos['odroid-n2']}}/haos_odroid-n2-{{site.data.version_data.hassos['odroid-n2']}}.img.xz) (haos_odroid-n2-{{site.data.version_data.hassos['odroid-n2']}}.img.xz).
|
||||||
|
|
||||||
When the flash process is complete, disconnect the ODROID-N2+ from your PC and remove the power cable. Remove the USB and HDMI cable, and make sure to toggle the boot mode switch back to MMC.
|
When the flash process is complete, disconnect the ODROID-N2+ from your PC and remove the power cable. Remove the USB and HDMI cable, and make sure to toggle the boot mode switch back to MMC.
|
||||||
|
|
||||||
|
@ -13,9 +13,11 @@ ha core update --version {{current_version}}
|
|||||||
{% elsif page.installation == "container" %}
|
{% elsif page.installation == "container" %}
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ha os update --version {{current_version}}
|
docker pull {{ site.installation.container.base }}:{{current_version}}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**[You then need to recreate the container with the new image.](/installation/linux#install-home-assistant-container)**
|
||||||
|
|
||||||
{% elsif page.installation == "core" %}
|
{% elsif page.installation == "core" %}
|
||||||
|
|
||||||
1. Switch to the user that is running Home Assistant
|
1. Switch to the user that is running Home Assistant
|
||||||
|
@ -44,16 +44,16 @@ To update Home Assistant Core when you run Home Assistant {{ page.installation_n
|
|||||||
**First start with pulling the new container.**
|
**First start with pulling the new container.**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker pull homeassistant/home-assistant:stable
|
docker pull {{ site.installation.container.base }}:stable
|
||||||
```
|
```
|
||||||
|
|
||||||
You can also use spesific containers for your hardware. Like Raspberry pi 4:
|
You can also use specific containers for your hardware. Like Raspberry Pi 4:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker pull homeassistant/raspberrypi4-homeassistant:stable
|
docker pull {{ site.installation.container.raspberrypi4 }}:stable
|
||||||
```
|
```
|
||||||
|
|
||||||
**[You then need to recreate the container with the new image.](/getting-started/installation)**
|
**[You then need to recreate the container with the new image.](/installation/linux#install-home-assistant-container)**
|
||||||
|
|
||||||
- title: Docker Compose
|
- title: Docker Compose
|
||||||
content: |
|
content: |
|
||||||
|
@ -60,7 +60,7 @@
|
|||||||
All your smart home data stays local
|
All your smart home data stays local
|
||||||
</div>
|
</div>
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<p>Home Assistant keeps your data local, not need for a cloud.</p>
|
<p>Home Assistant keeps your data local, no need for a cloud.</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Home Assistant communicates with your devices locally, and will fallback
|
Home Assistant communicates with your devices locally, and will fallback
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{% unless page.feedback == false %}
|
{% unless page.feedback == false %}
|
||||||
<div class="material-card text feedback">
|
<div class="material-card text feedback" id="feedback_section">
|
||||||
<b>Help us to improve our documentation</b><br />
|
<h4><a href="#feedback_section" class="title-link"><b> Help us to improve our documentation</b></a></h4>
|
||||||
Suggest an edit to this page, or provide/view feedback for this page.
|
Suggest an edit to this page, or provide/view feedback for this page.
|
||||||
<div class="links">
|
<div class="links">
|
||||||
<a
|
<a
|
||||||
|
@ -17,17 +17,17 @@ Installation with Docker is straightforward. Adjust the following command so tha
|
|||||||
{% if page.installation_type == 'raspberrypi' %}
|
{% if page.installation_type == 'raspberrypi' %}
|
||||||
#### Raspberry pi 3
|
#### Raspberry pi 3
|
||||||
|
|
||||||
{% include installation/container/cli.md image="homeassistant/raspberrypi3-homeassistant:stable" %}
|
{% include installation/container/cli.md image=site.installation.container.raspberrypi3 %}
|
||||||
|
|
||||||
#### Raspberry pi 4
|
#### Raspberry pi 4
|
||||||
|
|
||||||
{% include installation/container/cli.md image="homeassistant/raspberrypi4-homeassistant:stable" %}
|
{% include installation/container/cli.md image=site.installation.container.raspberrypi4 %}
|
||||||
|
|
||||||
{% elsif page.installation_type == 'alternative' %}
|
{% elsif page.installation_type == 'alternative' %}
|
||||||
{% include installation/container/alternative.md %}
|
{% include installation/container/alternative.md %}
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
{% include installation/container/cli.md image="homeassistant/home-assistant:stable" %}
|
{% include installation/container/cli.md %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
Once the Home Assistant Container is running Home Assistant should be accessible using `http://<host>:8123` (replace <host> with the hostname or IP of the system). You can continue with onboarding.
|
Once the Home Assistant Container is running Home Assistant should be accessible using `http://<host>:8123` (replace <host> with the hostname or IP of the system). You can continue with onboarding.
|
||||||
@ -62,18 +62,24 @@ If you change the configuration you have to restart the server. To do that you h
|
|||||||
|
|
||||||
### Docker Compose
|
### Docker Compose
|
||||||
|
|
||||||
|
<div class="note tip">
|
||||||
|
|
||||||
|
In order to use `docker-compose` you first need to [install `docker-compose`](https://docs.docker.com/compose/install/) on your system.
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
As the Docker command becomes more complex, switching to `docker-compose` can be preferable and support automatically restarting on failure or system restart. Create a `docker-compose.yml` file:
|
As the Docker command becomes more complex, switching to `docker-compose` can be preferable and support automatically restarting on failure or system restart. Create a `docker-compose.yml` file:
|
||||||
|
|
||||||
{% if page.installation_type == 'raspberrypi' %}
|
{% if page.installation_type == 'raspberrypi' %}
|
||||||
#### Raspberry pi 3
|
#### Raspberry pi 3
|
||||||
|
|
||||||
{% include installation/container/compose.md image="homeassistant/raspberrypi3-homeassistant:stable" %}
|
{% include installation/container/compose.md image=site.installation.container.raspberrypi3 %}
|
||||||
|
|
||||||
#### Raspberry pi 4
|
#### Raspberry pi 4
|
||||||
|
|
||||||
{% include installation/container/compose.md image="homeassistant/raspberrypi4-homeassistant:stable" %}
|
{% include installation/container/compose.md image=site.installation.container.raspberrypi4 %}
|
||||||
{% else %}
|
{% else %}
|
||||||
{% include installation/container/compose.md image="homeassistant/home-assistant:stable" %}
|
{% include installation/container/compose.md %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
Start it by running:
|
Start it by running:
|
||||||
|
@ -42,7 +42,7 @@ Adjust the following Terminal command as follows :
|
|||||||
Run it in Terminal.
|
Run it in Terminal.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo docker run --restart always -d --name homeassistant -v /PATH_TO_YOUR_CONFIG:/config --device=/PATH_TO_YOUR_USB_STICK -e TZ=Australia/Melbourne --net=host homeassistant/home-assistant:stable
|
sudo docker run --restart always -d --name homeassistant -v /PATH_TO_YOUR_CONFIG:/config --device=/PATH_TO_YOUR_USB_STICK -e TZ=Australia/Melbourne --net=host {{ site.installation.container.base }}:stable
|
||||||
```
|
```
|
||||||
|
|
||||||
Complete the remainder of the Z-Wave configuration by [following the instructions here.](/docs/z-wave/installation)
|
Complete the remainder of the Z-Wave configuration by [following the instructions here.](/docs/z-wave/installation)
|
||||||
@ -104,7 +104,7 @@ If you want to use a USB Bluetooth adapter or Z-Wave USB stick with Home Assista
|
|||||||
- Run Docker command:
|
- Run Docker command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run --init --name homeassistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e TZ=Europe/London --device /dev/ttyACM0 homeassistant/home-assistant:stable
|
docker run --init --name homeassistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e TZ=Europe/London --device /dev/ttyACM0 {{ site.installation.container.base }}:stable
|
||||||
```
|
```
|
||||||
|
|
||||||
`-v` is your configuration path
|
`-v` is your configuration path
|
||||||
@ -125,7 +125,7 @@ That will tell Home Assistant where to look for our Z-Wave radio.
|
|||||||
- Run Docker command:
|
- Run Docker command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run --init --name homeassistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e TZ=Europe/London -v /dev/bus/usb:/dev/bus/usb -v /var/run/dbus:/var/run/dbus homeassistant/home-assistant:stable
|
docker run --init --name homeassistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e TZ=Europe/London -v /dev/bus/usb:/dev/bus/usb -v /var/run/dbus:/var/run/dbus {{ site.installation.container.base }}:stable
|
||||||
```
|
```
|
||||||
|
|
||||||
First `-v` is your configuration path
|
First `-v` is your configuration path
|
||||||
|
@ -6,11 +6,12 @@
|
|||||||
```bash
|
```bash
|
||||||
docker run --init -d \
|
docker run --init -d \
|
||||||
--name homeassistant \
|
--name homeassistant \
|
||||||
|
--privileged \
|
||||||
--restart=unless-stopped \
|
--restart=unless-stopped \
|
||||||
-v /etc/localtime:/etc/localtime:ro \
|
-v /etc/localtime:/etc/localtime:ro \
|
||||||
-v /PATH_TO_YOUR_CONFIG:/config \
|
-v /PATH_TO_YOUR_CONFIG:/config \
|
||||||
--network=host \
|
--network=host \
|
||||||
{{ include.image }}
|
{{ include.image | default: site.installation.container.base }}:{{ include.tag | default: 'stable' }}
|
||||||
```
|
```
|
||||||
|
|
||||||
- title: Update
|
- title: Update
|
||||||
@ -36,10 +37,11 @@
|
|||||||
docker run --init -d \
|
docker run --init -d \
|
||||||
--name homeassistant \
|
--name homeassistant \
|
||||||
--restart=unless-stopped \
|
--restart=unless-stopped \
|
||||||
|
--privileged \
|
||||||
-v /PATH_TO_YOUR_CONFIG:/config \
|
-v /PATH_TO_YOUR_CONFIG:/config \
|
||||||
-v /etc/localtime:/etc/localtime:ro \
|
-v /etc/localtime:/etc/localtime:ro \
|
||||||
--network=host \
|
--network=host \
|
||||||
{{ include.image }}
|
{{ include.image | default: site.installation.container.base }}:{{ include.tag | default: 'stable' }}
|
||||||
```
|
```
|
||||||
|
|
||||||
{% endtabbed_block %}
|
{% endtabbed_block %}
|
||||||
|
@ -3,10 +3,11 @@
|
|||||||
services:
|
services:
|
||||||
homeassistant:
|
homeassistant:
|
||||||
container_name: homeassistant
|
container_name: homeassistant
|
||||||
image: {{ include.image }}
|
image: "{{ include.image | default: site.installation.container.base }}:{{ include.tag | default: 'stable' }}"
|
||||||
volumes:
|
volumes:
|
||||||
- /PATH_TO_YOUR_CONFIG:/config
|
- /PATH_TO_YOUR_CONFIG:/config
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
privileged: true
|
||||||
network_mode: host
|
network_mode: host
|
||||||
```
|
```
|
@ -26,7 +26,7 @@ sudo apt-get upgrade -y
|
|||||||
Install the dependencies:
|
Install the dependencies:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install -y python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5
|
sudo apt-get install -y python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 tzdata
|
||||||
```
|
```
|
||||||
|
|
||||||
### Create an account
|
### Create an account
|
||||||
|
@ -48,6 +48,33 @@ We will need a few things to get started with installing Home Assistant. Links b
|
|||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page.installation_type == 'generic-x86-64' %}
|
||||||
|
|
||||||
|
<div class='note'>
|
||||||
|
<b>Prerequisites</b>
|
||||||
|
|
||||||
|
This guide assumes that you have a dedicated generic x86 PC (typically an Intel or AMD-based system) available to exclusively run Home Assistant Operating System. The system must be 64-bit capable and able to boot using UEFI. Pretty much all systems produced in the last 10 years support the UEFI boot mode.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
### Configure the BIOS
|
||||||
|
|
||||||
|
To boot Home Assistant OS the BIOS needs to have UEFI boot mode enabled and Secure Boot disabled. The following screenshots are from a 7th generation Intel NUC system. The BIOS menu will likely look different on your systems. However, the options should still be present and named similarly.
|
||||||
|
|
||||||
|
1. Enter the BIOS using the can enter using the `F2` key (on some systems this might be `Del`, `F1` or `F10`).
|
||||||
|

|
||||||
|
|
||||||
|
1. Make sure the UEFI Boot mode is enabled
|
||||||
|

|
||||||
|
|
||||||
|
1. Disable Secure Boot
|
||||||
|

|
||||||
|
|
||||||
|
As a next step, we need to write the Operating System image to the installation media. Depending on your system this can be a S-ATA hard disk, S-ATA SSD, a M.2 SSD or even a eMMC. Home Assistant Operating System has no integrated installer. You need to use your Desktop computer (e.g. by using a USB to S-ATA adapter) or boot a live operating system on your target system to install Home Assistant Operating System.
|
||||||
|
|
||||||
|
If you prefer to use a live operating system, follow the instructions of your Live distribution (e.g., [this Ubuntu guide](https://ubuntu.com/tutorials/try-ubuntu-before-you-install)). Once you booted the live operating system, the following steps on how-to write the image to your installation media can be followed.
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
### Write the image to your installation media
|
### Write the image to your installation media
|
||||||
|
|
||||||
1. Attach the installation media ({{site.installation.types[page.installation_type].installation_media}}) to your computer
|
1. Attach the installation media ({{site.installation.types[page.installation_type].installation_media}}) to your computer
|
||||||
@ -64,7 +91,7 @@ We will need a few things to get started with installing Home Assistant. Links b
|
|||||||
content: |
|
content: |
|
||||||
|
|
||||||
```text
|
```text
|
||||||
{{release_url}}/{{site.data.version_data.hassos[variant.key]}}/hassos_{{ variant.key }}-{{site.data.version_data.hassos[variant.key]}}.img.xz
|
{{release_url}}/{{site.data.version_data.hassos[variant.key]}}/haos_{{ variant.key }}-{{site.data.version_data.hassos[variant.key]}}.img.xz
|
||||||
```
|
```
|
||||||
|
|
||||||
{% if variant.key == "odroid-n2" %}
|
{% if variant.key == "odroid-n2" %}
|
||||||
@ -79,7 +106,7 @@ We will need a few things to get started with installing Home Assistant. Links b
|
|||||||
|
|
||||||
```text
|
```text
|
||||||
{% assign board_key = site.installation.types[page.installation_type].variants[0].key %}
|
{% assign board_key = site.installation.types[page.installation_type].variants[0].key %}
|
||||||
{{release_url}}/{{site.data.version_data.hassos[board_key]}}/hassos_{{ board_key }}-{{site.data.version_data.hassos[board_key]}}.img.xz
|
{{release_url}}/{{site.data.version_data.hassos[board_key]}}/haos_{{ board_key }}-{{site.data.version_data.hassos[board_key]}}.img.xz
|
||||||
```
|
```
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -99,23 +126,21 @@ _Select and copy the URL or use the "copy" button that appear when you hover it.
|
|||||||
|
|
||||||
### Start up your {{site.installation.types[page.installation_type].board}}
|
### Start up your {{site.installation.types[page.installation_type].board}}
|
||||||
|
|
||||||
|
{% if page.installation_type == 'generic-x86-64' %}
|
||||||
|
1. If you used your Desktop system to write to your installation media, install the installation media ({{site.installation.types[page.installation_type].installation_media}}) to the target system. Otherwise, shutdown the live operating system and make sure to remove the USB flash drive you have been using for the live system.
|
||||||
|
2. Make sure an ethernet cable for network is plugged in
|
||||||
|
3. Power the system on.
|
||||||
|
{% else %}
|
||||||
1. Insert the installation media ({{site.installation.types[page.installation_type].installation_media}}) you just created
|
1. Insert the installation media ({{site.installation.types[page.installation_type].installation_media}}) you just created
|
||||||
2. Attach a ethernet cable for network.
|
2. Attach a ethernet cable for network.
|
||||||
3. Attach a cable for power
|
3. Attach a cable for power
|
||||||
|
{% endif %}
|
||||||
4. Within a few minutes you will be able to reach Home Assistant on <a href="http://homeassistant.local:8123" target="_blank">homeassistant.local:8123</a>. If you are running an older Windows version or have a stricter network configuration, you might need to access Home Assistant at <a href="http://homeassistant:8123" target="_blank">homeassistant:8123</a> or `http://X.X.X.X:8123` (replace X.X.X.X with your {{site.installation.types[page.installation_type].board}}’s IP address).
|
4. Within a few minutes you will be able to reach Home Assistant on <a href="http://homeassistant.local:8123" target="_blank">homeassistant.local:8123</a>. If you are running an older Windows version or have a stricter network configuration, you might need to access Home Assistant at <a href="http://homeassistant:8123" target="_blank">homeassistant:8123</a> or `http://X.X.X.X:8123` (replace X.X.X.X with your {{site.installation.types[page.installation_type].board}}’s IP address).
|
||||||
|
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
||||||
{% if page.installation_type != 'nuc' %}
|
|
||||||
Follow this guide if you already are running a hypervisor, if not look at the [Raspberry Pi](/installation/raspberrypi) or the [ODROID](/installation/odroid)
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
### Download the appropriate image
|
### Download the appropriate image
|
||||||
|
|
||||||
{% if page.installation_type == 'nuc' %}
|
|
||||||
- [Intel NUC][intel-nuc]
|
|
||||||
{% else %}
|
|
||||||
- [VirtualBox][vdi] (.vdi)
|
- [VirtualBox][vdi] (.vdi)
|
||||||
{% if page.installation_type == 'macos' %}
|
{% if page.installation_type == 'macos' %}
|
||||||
- [KVM][qcow2] (.qcow2)
|
- [KVM][qcow2] (.qcow2)
|
||||||
@ -130,17 +155,12 @@ Follow this guide if you already are running a hypervisor, if not look at the [R
|
|||||||
{% if page.installation_type == 'windows' %}
|
{% if page.installation_type == 'windows' %}
|
||||||
- [Hyper-V][vhdx] (.vhdx)
|
- [Hyper-V][vhdx] (.vhdx)
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
|
||||||
{% if page.installation_type == "nuc" %}
|
|
||||||
|
|
||||||
1. Install the operating system from the link above on the drive you have on the NUC.
|
Follow this guide if you already are running a supported virtual machine hypervisor. If you are not familiar with virtual machines we recommend installation Home Assistant OS directly on a [Raspberry Pi](/installation/raspberrypi) or an [ODROID](/installation/odroid).
|
||||||
2. Start the NUC with the drive you installed the operating system to as the boot device.
|
|
||||||
3. Once the initial setup has completed you will be able to reach Home Assistant on <a href="http://homeassistant.local:8123" target="_blank">homeassistant.local:8123</a>. If you are running an older Windows version or have a stricter network configuration, you might need to access Home Assistant at <a href="http://homeassistant:8123" target="_blank">homeassistant:8123</a> or `http://X.X.X.X:8123` (replace X.X.X.X with your {{site.installation.types[page.installation_type].board}}’s IP address).
|
|
||||||
{% else %}
|
|
||||||
|
|
||||||
### Create the Virtual Machine
|
### Create the Virtual Machine
|
||||||
|
|
||||||
Load the appliance image into your virtual machine software. (Note: You are free to assign as much resources as you wish to the VM, please assign enough based on your add-on needs)
|
Load the appliance image into your virtual machine hypervisor. (Note: You are free to assign as much resources as you wish to the VM, please assign enough based on your add-on needs)
|
||||||
|
|
||||||
Minimum recommended assignments:
|
Minimum recommended assignments:
|
||||||
|
|
||||||
@ -214,16 +234,14 @@ _All these can be extended if your usage calls for more resources._
|
|||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
With the Home Assistant Operating System installed and accessible you can continue with onboarding.
|
With the Home Assistant Operating System installed and accessible you can continue with onboarding.
|
||||||
|
|
||||||
{% include getting-started/next_step.html step="Onboarding" link="/getting-started/onboarding/" %}
|
{% include getting-started/next_step.html step="Onboarding" link="/getting-started/onboarding/" %}
|
||||||
|
|
||||||
|
|
||||||
[intel-nuc]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/hassos_intel-nuc-{{site.data.version_data.hassos['ova']}}.img.xz
|
[generic-x86-64]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/haos_generic-x86-64-{{site.data.version_data.hassos['generic-x86-64']}}.img.xz
|
||||||
[vmdk]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/hassos_ova-{{site.data.version_data.hassos['ova']}}.vmdk.xz
|
[vmdk]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/haos_ova-{{site.data.version_data.hassos['ova']}}.vmdk.zip
|
||||||
[vhdx]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/hassos_ova-{{site.data.version_data.hassos['ova']}}.vhdx.xz
|
[vhdx]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/haos_ova-{{site.data.version_data.hassos['ova']}}.vhdx.zip
|
||||||
[vdi]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/hassos_ova-{{site.data.version_data.hassos['ova']}}.vdi.xz
|
[vdi]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/haos_ova-{{site.data.version_data.hassos['ova']}}.vdi.zip
|
||||||
[qcow2]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/hassos_ova-{{site.data.version_data.hassos['ova']}}.qcow2.xz
|
[qcow2]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/haos_ova-{{site.data.version_data.hassos['ova']}}.qcow2.xz
|
||||||
[Virtual Appliance]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/hassos_ova-{{site.data.version_data.hassos['ova']}}.ova
|
[Virtual Appliance]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/haos_ova-{{site.data.version_data.hassos['ova']}}.ova
|
||||||
|
@ -37,7 +37,7 @@ host:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
username:
|
username:
|
||||||
description: The username of an user with administrative privileges, usually `admin`.
|
description: The username of a user with administrative privileges, usually `admin`.
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
password:
|
password:
|
||||||
|
@ -15,7 +15,7 @@ ha_platforms:
|
|||||||
- camera
|
- camera
|
||||||
---
|
---
|
||||||
|
|
||||||
[Agent DVR](https://www.ispyconnect.com/download.aspx/) is a free* software DVR solution for windows 10, Mac and Linux. Agent DVR runs as a service or console application and can access and control a huge range of third party cameras with advanced motion detection, including YOLO integration for object recognition. The iSpyConnect website provides secured (SSL) remote access without port forwarding needed.
|
[Agent DVR](https://www.ispyconnect.com/download.aspx/) is a free* software DVR solution for windows 10, Mac and Linux. Agent DVR runs as a service or console application and can access and control a huge range of third party cameras with advanced motion detection, including DeepStack integration for object recognition. The iSpyConnect website provides secured (SSL) remote access without port forwarding needed.
|
||||||
|
|
||||||
You can add Agent DVR via integrations using the IP address and port of the server, e.g.,: `http://192.168.1.3:8090/`.
|
You can add Agent DVR via integrations using the IP address and port of the server, e.g.,: `http://192.168.1.3:8090/`.
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ command_topic:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: "Information about the device this alarm panel is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set."
|
description: "Information about the device this alarm panel is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device."
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
|
@ -108,6 +108,6 @@ panels:
|
|||||||
|
|
||||||
## Considerations
|
## Considerations
|
||||||
|
|
||||||
If you are using the state of a integration that takes extra time to load, the Template Alarm Control Panel may get an `unknown` state during startup. This results in error messages in your log file until that integration has completed loading. If you use `is_state()` function in your template, you can avoid this situation.
|
If you are using the state of an integration that takes extra time to load, the Template Alarm Control Panel may get an `unknown` state during startup. This results in error messages in your log file until that integration has completed loading. If you use `is_state()` function in your template, you can avoid this situation.
|
||||||
|
|
||||||
For example, you would replace {% raw %}`{{ states.switch.source.state == 'on' }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an unknown result: {% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %}
|
For example, you would replace {% raw %}`{{ states.switch.source.state == 'on' }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an unknown result: {% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %}
|
||||||
|
@ -891,7 +891,7 @@ Supports changing the Media Player `source` from the preset `source_list`.
|
|||||||
|
|
||||||
- _"Alexa, change the input to DVD on the Living Room TV."_
|
- _"Alexa, change the input to DVD on the Living Room TV."_
|
||||||
|
|
||||||
Home Assistant will attempt to translate the the `media_player` `source_list` into a valid `source` name for Alexa. Alexa only supports the following input names:
|
Home Assistant will attempt to translate the `media_player` `source_list` into a valid `source` name for Alexa. Alexa only supports the following input names:
|
||||||
|
|
||||||
`AUX 1`, `AUX 2`, `AUX 3`, `AUX 4`, `AUX 5`, `AUX 6`, `AUX 7`, `BLURAY`, `CABLE`, `CD`, `COAX 1`, `COAX 2`, `COMPOSITE 1`, `DVD`, `GAME`, `HD RADIO`, `HDMI 1`, `HDMI 2`, `HDMI 3`, `HDMI 4`, `HDMI 5`, `HDMI 6`, `HDMI 7`, `HDMI 8`, `HDMI 9`, `HDMI 10`, `HDMI ARC`, `INPUT 1`, `INPUT 2`, `INPUT 3`, `INPUT 4`, `INPUT 5`, `INPUT 6`, `INPUT 7`, `INPUT 8`, `INPUT 9`, `INPUT 10`, `IPOD`, `LINE 1`, `LINE 2`, `LINE 3`, `LINE 4`, `LINE 5`, `LINE 6`, `LINE 7`, `MEDIA PLAYER`, `OPTICAL 1`, `OPTICAL 2`, `PHONO`, `PLAYSTATION`, `PLAYSTATION 3`, `PLAYSTATION 4`, `SATELLITE`, `SMARTCAST`, `TUNER`, `TV`, `USB DAC`, `VIDEO 1`, `VIDEO 2`, `VIDEO 3`, `XBOX`
|
`AUX 1`, `AUX 2`, `AUX 3`, `AUX 4`, `AUX 5`, `AUX 6`, `AUX 7`, `BLURAY`, `CABLE`, `CD`, `COAX 1`, `COAX 2`, `COMPOSITE 1`, `DVD`, `GAME`, `HD RADIO`, `HDMI 1`, `HDMI 2`, `HDMI 3`, `HDMI 4`, `HDMI 5`, `HDMI 6`, `HDMI 7`, `HDMI 8`, `HDMI 9`, `HDMI 10`, `HDMI ARC`, `INPUT 1`, `INPUT 2`, `INPUT 3`, `INPUT 4`, `INPUT 5`, `INPUT 6`, `INPUT 7`, `INPUT 8`, `INPUT 9`, `INPUT 10`, `IPOD`, `LINE 1`, `LINE 2`, `LINE 3`, `LINE 4`, `LINE 5`, `LINE 6`, `LINE 7`, `MEDIA PLAYER`, `OPTICAL 1`, `OPTICAL 2`, `PHONO`, `PLAYSTATION`, `PLAYSTATION 3`, `PLAYSTATION 4`, `SATELLITE`, `SMARTCAST`, `TUNER`, `TV`, `USB DAC`, `VIDEO 1`, `VIDEO 2`, `VIDEO 3`, `XBOX`
|
||||||
|
|
||||||
|
@ -126,7 +126,7 @@ switch:
|
|||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
pins:
|
pins:
|
||||||
description: List of of pins to use.
|
description: List of pins to use.
|
||||||
required: true
|
required: true
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
|
@ -37,7 +37,7 @@ host:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
username:
|
username:
|
||||||
description: The username of an user with administrative privileges, usually `admin`.
|
description: The username of a user with administrative privileges, usually `admin`.
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
password:
|
password:
|
||||||
|
@ -24,7 +24,7 @@ Once you have the name of your namespace, instance, Shared Access Policy and the
|
|||||||
|
|
||||||
The alternative approach is to use a connection string and instance name, this can be retrieved in the same way as the Shared Access Policy and this can also be gotten for a device in an IoT Hub (Event Hub-compatible connection string). In the case of IoT Hub, you need to put the Device ID as the instance name.
|
The alternative approach is to use a connection string and instance name, this can be retrieved in the same way as the Shared Access Policy and this can also be gotten for a device in an IoT Hub (Event Hub-compatible connection string). In the case of IoT Hub, you need to put the Device ID as the instance name.
|
||||||
|
|
||||||
The final thing to consider is how often you want the integration to send messages in a batch to your hub, this is set with the `send_interval`, with a default of 5 seconds. The other thing to look at is what the maximum delay you want to use, since this component runs in a asynchronous way there is no guarantee that the sending happens exactly on time, so depending on your semantics you might want messages discarded. The actual check of the time happens with `max_delay` plus `send_interval`, so that even with a long `send_interval` the semantics are the same.
|
The final thing to consider is how often you want the integration to send messages in a batch to your hub, this is set with the `send_interval`, with a default of 5 seconds. The other thing to look at is what the maximum delay you want to use, since this component runs in an asynchronous way there is no guarantee that the sending happens exactly on time, so depending on your semantics you might want messages discarded. The actual check of the time happens with `max_delay` plus `send_interval`, so that even with a long `send_interval` the semantics are the same.
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ availability_topic:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: "Information about the device this binary sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set."
|
description: "Information about the device this binary sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device."
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
|
@ -62,7 +62,7 @@ The following entities will be created:
|
|||||||
- **Wind azimuth**: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise.
|
- **Wind azimuth**: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise.
|
||||||
- **Pressure**: "The sea-level air pressure in [hPa](https://en.wikipedia.org/wiki/Hectopascal)."
|
- **Pressure**: "The sea-level air pressure in [hPa](https://en.wikipedia.org/wiki/Hectopascal)."
|
||||||
- **Visibility**: "Visibility in meters ([m](https://en.wikipedia.org/wiki/Metre))."
|
- **Visibility**: "Visibility in meters ([m](https://en.wikipedia.org/wiki/Metre))."
|
||||||
- **Wind gust**: "The wind speed of wind gusts ([m/s](https://en.wikipedia.org/wiki/M/s))."
|
- **Wind gust**: "The wind speed of wind gusts ([km/h](https://en.wikipedia.org/wiki/Kilometres_per_hour))."
|
||||||
- **Precipation**: The amount of precipitation/rain in mm/h.
|
- **Precipation**: The amount of precipitation/rain in mm/h.
|
||||||
- **Precipation forecast average**: The average expected precipitation/rain in mm/h within the given time-frame.
|
- **Precipation forecast average**: The average expected precipitation/rain in mm/h within the given time-frame.
|
||||||
- **Precipation forecast total**: The total expected precipitation/rain in mm within the given time-frame. The total expected rain in the configured time-frame will be equal to _precipitation_forecast_total_/_timeframe_ mm/min. So, with time-frame configured to 30 minutes and a value of 5, the expected rain is 5 mm in 30 minutes, which is the same as 10 mm/h. If time-frame is set to 90 minutes and a value of 5, the expected rain is 5 mm in 90 minutes, which is equal to 3.3 mm/h.
|
- **Precipation forecast total**: The total expected precipitation/rain in mm within the given time-frame. The total expected rain in the configured time-frame will be equal to _precipitation_forecast_total_/_timeframe_ mm/min. So, with time-frame configured to 30 minutes and a value of 5, the expected rain is 5 mm in 30 minutes, which is the same as 10 mm/h. If time-frame is set to 90 minutes and a value of 5, the expected rain is 5 mm in 90 minutes, which is equal to 3.3 mm/h.
|
||||||
|
@ -31,7 +31,7 @@ Generate a Client ID and Client Secret on
|
|||||||
1. You then need to select a `Support email`. To do this, simply click the drop down box and select your email address.
|
1. You then need to select a `Support email`. To do this, simply click the drop down box and select your email address.
|
||||||
1. You finally need to complete the section: `Developer contact information`. To do this, simply enter your email address (same as above is fine).
|
1. You finally need to complete the section: `Developer contact information`. To do this, simply enter your email address (same as above is fine).
|
||||||
1. Scroll to the bottom and click `save`. (You don't have to fill out anything else)
|
1. Scroll to the bottom and click `save`. (You don't have to fill out anything else)
|
||||||
1. You will then be automatically taken to the OAuth consent screen, you do not need to add any scopes here so click `SAVE AND CONTINUE` to move to the `Test users` page. You will need to add the Gmail address you will be using with this integration as a test user before you will be allowed to use the API. Once you have added your email address under `Test users` click `SAVE AND CONTINUE` which will take to to the 'Summary' page (you do not need to do anything here).
|
1. You will then be automatically taken to the OAuth consent screen, you do not need to add any scopes here so click `SAVE AND CONTINUE` to move to the `Test users` page. You will need to add the Gmail address you will be using with this integration as a test user before you will be allowed to use the API. Once you have added your email address under `Test users` click `SAVE AND CONTINUE` which will take to the 'Summary' page (you do not need to do anything here).
|
||||||
1. Click Credentials in the menu on the left hand side of the screen, then click `+ Create credentials` (at the top of the screen), then select `OAuth client ID`.
|
1. Click Credentials in the menu on the left hand side of the screen, then click `+ Create credentials` (at the top of the screen), then select `OAuth client ID`.
|
||||||
1. Set the Application type to `TV and Limited Input` and give this credential set a name (like "Home Assistant Credentials") then click 'Create'.
|
1. Set the Application type to `TV and Limited Input` and give this credential set a name (like "Home Assistant Credentials") then click 'Create'.
|
||||||
1. You will then be presented with a pop-up saying 'OAuth client created' showing `Your Client ID` and `Your Client Secret`. Make a note of these (for example, copy and paste them into a text editor) as you will need to put these in your `configuration.yaml` file shortly. Once you have noted these strings, click `OK`. If you need to find these credentials again at any point then simply nagivate to `APIs & Services` > `Credentials` and you will see `Home Assistant Credentials` (or whatever you named them in the previous step) under `OAuth 2.0 Clident IDs`. To view both the `Client ID` and `Client secret`, click on the pencil icon, this will take you to the settings page for these credentials and the information will be on the right hand side of the page.
|
1. You will then be presented with a pop-up saying 'OAuth client created' showing `Your Client ID` and `Your Client Secret`. Make a note of these (for example, copy and paste them into a text editor) as you will need to put these in your `configuration.yaml` file shortly. Once you have noted these strings, click `OK`. If you need to find these credentials again at any point then simply nagivate to `APIs & Services` > `Credentials` and you will see `Home Assistant Credentials` (or whatever you named them in the previous step) under `OAuth 2.0 Clident IDs`. To view both the `Client ID` and `Client secret`, click on the pencil icon, this will take you to the settings page for these credentials and the information will be on the right hand side of the page.
|
||||||
|
@ -53,7 +53,7 @@ availability_topic:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: "Information about the device this camera is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set."
|
description: "Information about the device this camera is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device."
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
|
@ -65,7 +65,7 @@ host:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
username:
|
username:
|
||||||
description: The username of an user with administrative privileges.
|
description: The username of a user with administrative privileges.
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
password:
|
password:
|
||||||
|
@ -92,7 +92,7 @@ current_temperature_topic:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: 'Information about the device this HVAC device is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
|
description: 'Information about the device this HVAC device is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device.'
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
|
@ -70,7 +70,7 @@ command_topic:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: "Information about the device this cover is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set."
|
description: "Information about the device this cover is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device."
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
|
@ -334,7 +334,7 @@ cover:
|
|||||||
data:
|
data:
|
||||||
modus: "stop"
|
modus: "stop"
|
||||||
value_template: "{{is_state('sensor.cover_group', 'open')}}"
|
value_template: "{{is_state('sensor.cover_group', 'open')}}"
|
||||||
icon_template: >-
|
entity_picture_template: >-
|
||||||
{% if is_state('sensor.cover_group', 'open') %}
|
{% if is_state('sensor.cover_group', 'open') %}
|
||||||
/local/cover-open.png
|
/local/cover-open.png
|
||||||
{% else %}
|
{% else %}
|
||||||
|
@ -19,7 +19,7 @@ The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as
|
|||||||
|
|
||||||
<div class='note warning'>
|
<div class='note warning'>
|
||||||
|
|
||||||
On March 31, 2020 Dark Sky was [acquired by Apple](https://blog.darksky.net/dark-sky-has-a-new-home/) and is no longer allowing new API registrations. The Dark Sky API will continue to function for existing users through the end of 2021, but it is no longer possible to obtain an API key for new users. Home Assistant supports many alternative [weather integrations](/integrations/#weather).
|
On March 31, 2020 Dark Sky was [acquired by Apple](https://blog.darksky.net/dark-sky-has-a-new-home/) and is no longer allowing new API registrations. The Dark Sky API will continue to function for existing users through the [end of 2022](https://blog.darksky.net/), but it is no longer possible to obtain an API key for new users. Home Assistant supports many alternative [weather integrations](/integrations/#weather).
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ host:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
username:
|
username:
|
||||||
description: The username of an user with administrative privileges, usually `admin`.
|
description: The username of a user with administrative privileges, usually `admin`.
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
password:
|
password:
|
||||||
|
@ -54,6 +54,7 @@ Known supported devices:
|
|||||||
- Denon AVR-S710W
|
- Denon AVR-S710W
|
||||||
- Denon AVR-S720W
|
- Denon AVR-S720W
|
||||||
- Denon AVR-S750H
|
- Denon AVR-S750H
|
||||||
|
- Denon AVR-S960H
|
||||||
- Denon DN-500AV
|
- Denon DN-500AV
|
||||||
- Marantz M-CR510
|
- Marantz M-CR510
|
||||||
- Marantz M-CR511
|
- Marantz M-CR511
|
||||||
|
@ -109,7 +109,7 @@ availability_topic:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: "Information about the device this device tracker is a part of that ties it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html)."
|
description: "Information about the device this device tracker is a part of that ties it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). At least one of identifiers or connections must be present to identify the device."
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
|
@ -15,7 +15,7 @@ An MQTT device trigger is a better option than a [binary sensor](/integrations/b
|
|||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
MQTT device triggers are only supported through [MQTT discovery](/docs/mqtt/discovery/), manual setup through `configuration.yaml` is not supported.
|
MQTT device triggers are only supported through [MQTT discovery](/docs/mqtt/discovery/), manual setup through `configuration.yaml` is not supported.
|
||||||
The discovery topic needs to be: `<discovery_prefix>/device_automation/[<node_id>/]<object_id>/config`.
|
The discovery topic needs to be: `<discovery_prefix>/device_automation/[<node_id>/]<object_id>/config`. Note that only one trigger may be defined per unique discovery topic. Also note that the combination of `type` and `subtype` should be unique for a device.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
automation_type:
|
automation_type:
|
||||||
@ -44,7 +44,7 @@ subtype:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: "Information about the device this device trigger is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html)."
|
description: "Information about the device this device trigger is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). At least one of identifiers or connections must be present to identify the device."
|
||||||
required: true
|
required: true
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
@ -81,3 +81,26 @@ device:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
This shows a complete example of defining a remote control type device with two triggers: "left arrow click" and "right arrow click".
|
||||||
|
|
||||||
|
Note that it is not necessary to provide the full device information in each message, but the identifying information, `identifier` in the example, must be the same.
|
||||||
|
|
||||||
|
#### Left arrow click configuration:
|
||||||
|
- Discovery topic: `homeassistant/device_automation/0x90fd9ffffedf1266/action_arrow_left_click/config`
|
||||||
|
- Discovery payload:
|
||||||
|
```json
|
||||||
|
{"automation_type":"trigger","type":"action","subtype":"arrow_left_click","payload":"arrow_left_click","topic":"zigbee2mqtt/0x90fd9ffffedf1266/action","device":{"identifiers":["zigbee2mqtt_0x90fd9ffffedf1266"],"name":"0x90fd9ffffedf1266","sw_version":"Zigbee2mqtt 1.14.0","model":"TRADFRI remote control (E1524/E1810)","manufacturer":"IKEA"}}
|
||||||
|
```
|
||||||
|
- Trigger topic: `zigbee2mqtt/0x90fd9ffffedf1266/action`
|
||||||
|
- Trigger payload: `arrow_left_click`
|
||||||
|
#### Right arrow click configuration:
|
||||||
|
- Discovery topic: `homeassistant/device_automation/0x90fd9ffffedf1266/action_arrow_right_click/config`
|
||||||
|
- Discovery payload:
|
||||||
|
```json
|
||||||
|
{"automation_type":"trigger","type":"action","subtype":"arrow_right_click","payload":"arrow_right_click","topic":"zigbee2mqtt/0x90fd9ffffedf1266/action","device":{"identifiers":["zigbee2mqtt_0x90fd9ffffedf1266"]}}
|
||||||
|
```
|
||||||
|
- Trigger topic: `zigbee2mqtt/0x90fd9ffffedf1266/action`
|
||||||
|
- Trigger payload: `arrow_right_click`
|
||||||
|
@ -67,7 +67,7 @@ or
|
|||||||
Docker users have to allow Docker access to the device by adding `--device /dev/ttyUSB21:/dev/ttyUSB21` to the run command:
|
Docker users have to allow Docker access to the device by adding `--device /dev/ttyUSB21:/dev/ttyUSB21` to the run command:
|
||||||
|
|
||||||
```hass
|
```hass
|
||||||
$ docker run --device /dev/ttyUSB0:/dev/ttyUSB0 -d --name="home-assistant" -v /home/USERNAME/hass:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant
|
$ docker run --device /dev/ttyUSB0:/dev/ttyUSB0 -d --name="home-assistant" -v /home/USERNAME/hass:/config -v /etc/localtime:/etc/localtime:ro --net=host {{ site.installation.container.base }}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Options
|
### Options
|
||||||
|
@ -17,7 +17,7 @@ The `enigma2` platform allows you to control a Linux based set-top box which is
|
|||||||
|
|
||||||
[OpenWebif](https://github.com/E2OpenPlugins/e2openplugin-OpenWebif) is an open source web interface for Enigma2 based set-top boxes.
|
[OpenWebif](https://github.com/E2OpenPlugins/e2openplugin-OpenWebif) is an open source web interface for Enigma2 based set-top boxes.
|
||||||
|
|
||||||
Enigma2 devices should be discovered automatically by using the [the discovery component](/integrations/discovery/).
|
Enigma2 devices should be discovered automatically by using [the discovery component](/integrations/discovery/).
|
||||||
|
|
||||||
To manually add a set-top box to your installation, add the following to your `configuration.yaml` file:
|
To manually add a set-top box to your installation, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ command_topic:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: "Information about the device this fan is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set."
|
description: "Information about the device this fan is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device."
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
@ -209,7 +209,7 @@ preset_mode_command_topic:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
preset_mode_state_topic:
|
preset_mode_state_topic:
|
||||||
description: The MQTT topic to publish commands to change the preset mode.
|
description: The MQTT topic subscribed to receive fan speed based on presets.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
preset_mode_value_template:
|
preset_mode_value_template:
|
||||||
|
@ -80,7 +80,7 @@ This entity reflects the duty you have scheduled, the value can be `on` = on dut
|
|||||||
|
|
||||||
### Incident Response Switch
|
### Incident Response Switch
|
||||||
|
|
||||||
With this switch you can respond to a incident, either by manually controlling the switch via the GUI, or by using an automation action.
|
With this switch you can respond to an incident, either by manually controlling the switch via the GUI, or by using an automation action.
|
||||||
It gets reset to `unknown` value with every incident received. Switching it to `on` means you send a response acknowledgement, switching it back `off` sends a response rejected.
|
It gets reset to `unknown` value with every incident received. Switching it to `on` means you send a response acknowledgement, switching it back `off` sends a response rejected.
|
||||||
|
|
||||||
The following attributes are available:
|
The following attributes are available:
|
||||||
|
@ -97,7 +97,7 @@ If you want to support active reporting of state to Google's server (configurati
|
|||||||
5. In the Service account ID field, enter an ID.
|
5. In the Service account ID field, enter an ID.
|
||||||
6. From the Role list, select `Service Accounts` > `Service Account Token Creator`.
|
6. From the Role list, select `Service Accounts` > `Service Account Token Creator`.
|
||||||
7. Click `CONTINUE` and then `DONE`. You are returned to the service account list, and your new account is shown.
|
7. Click `CONTINUE` and then `DONE`. You are returned to the service account list, and your new account is shown.
|
||||||
8. Click the the three dots menu under `Actions` next to your new account, and click `Manage keys`. You are taken to a `Keys` page.
|
8. Click the three dots menu under `Actions` next to your new account, and click `Manage keys`. You are taken to a `Keys` page.
|
||||||
9. Click `ADD KEY` then `Create new key`. Leave the `key type` as `JSON` and click `CREATE`. A JSON file that contains your key downloads to your computer.
|
9. Click `ADD KEY` then `Create new key`. Leave the `key type` as `JSON` and click `CREATE`. A JSON file that contains your key downloads to your computer.
|
||||||
10. Use the information in this file or the file directly to add to the `service_account` key in the configuration.
|
10. Use the information in this file or the file directly to add to the `service_account` key in the configuration.
|
||||||
11. Click `Close`.
|
11. Click `Close`.
|
||||||
|
@ -123,7 +123,7 @@ media_content_id: "http://path.to/stream.mp3"
|
|||||||
|
|
||||||
### Debugging
|
### Debugging
|
||||||
|
|
||||||
The HEOS integration will log additional information about commands, events, and other messages when the log level is set to `debug`. Add the the relevant line below to the `configuration.yaml` to enable debug logging:
|
The HEOS integration will log additional information about commands, events, and other messages when the log level is set to `debug`. Add the relevant line below to the `configuration.yaml` to enable debug logging:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
logger:
|
logger:
|
||||||
|
@ -447,14 +447,17 @@ automation:
|
|||||||
|
|
||||||
HomeKit relies heavily on your home hub to keep track of Bluetooth devices. Additionally, each home hub has to keep track of every HomeKit accessory that you bridge. If you have many accessories, notably cameras or Bluetooth devices, **consider disabling HomeKit on older home hubs**.
|
HomeKit relies heavily on your home hub to keep track of Bluetooth devices. Additionally, each home hub has to keep track of every HomeKit accessory that you bridge. If you have many accessories, notably cameras or Bluetooth devices, **consider disabling HomeKit on older home hubs**.
|
||||||
|
|
||||||
The following home hubs showed strong results when testing with 300 accessories:
|
#### The below testing was conducted with Home Assistant 2021.6 (HAP-python 3.5.0) and iOS/tvOS 14.6
|
||||||
|
|
||||||
|
The following home hubs showed strong results when testing with 400 accessories:
|
||||||
|
|
||||||
- HomePod
|
- HomePod
|
||||||
- HomePod Mini
|
- HomePod Mini
|
||||||
|
- Apple TV 4k Gen 2 (best results when using ethernet instead of WiFi)
|
||||||
|
|
||||||
The following home hubs showed strong results when testing with 200 accessories:
|
The following home hubs showed strong results when testing with 300 accessories:
|
||||||
|
|
||||||
- Apple TV 4k (best results when using ethernet instead of WiFi)
|
- Apple TV 4k Gen 1 (best results when using ethernet instead of WiFi)
|
||||||
|
|
||||||
The following home hubs have been reported to have trouble with a large number of accessories:
|
The following home hubs have been reported to have trouble with a large number of accessories:
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ ha_platforms:
|
|||||||
- switch
|
- switch
|
||||||
---
|
---
|
||||||
|
|
||||||
The [Homematic](https://www.homematic.com/) integration provides bi-directional communication with your CCU/Homegear. It uses a XML-RPC connection to set values on devices and subscribes to receive events the devices and the CCU emit.
|
The [Homematic](https://www.homematic.com/) integration provides bi-directional communication with your CCU/Homegear. It uses an XML-RPC connection to set values on devices and subscribes to receive events the devices and the CCU emit.
|
||||||
If you are using Homegear with paired [Intertechno](https://intertechno.at/) devices, uni-directional communication is possible as well.
|
If you are using Homegear with paired [Intertechno](https://intertechno.at/) devices, uni-directional communication is possible as well.
|
||||||
|
|
||||||
There is currently support for the following device types within Home Assistant:
|
There is currently support for the following device types within Home Assistant:
|
||||||
|
@ -105,6 +105,15 @@ http:
|
|||||||
|
|
||||||
The [Set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) blog post gives you details about the encryption of your traffic using free certificates from [Let's Encrypt](https://letsencrypt.org/).
|
The [Set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) blog post gives you details about the encryption of your traffic using free certificates from [Let's Encrypt](https://letsencrypt.org/).
|
||||||
|
|
||||||
|
When using a reverse proxy, you will need to enable the `use_x_forwarded_for` and `trusted_proxies` options. Requests from reverse proxies will be blocked if these options are not set.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
http:
|
||||||
|
use_x_forwarded_for: true
|
||||||
|
trusted_proxies:
|
||||||
|
- 172.30.33.0/24 # Add the IP address of the proxy server
|
||||||
|
```
|
||||||
|
|
||||||
## APIs
|
## APIs
|
||||||
|
|
||||||
On top of the `http` integration is a [REST API](https://developers.home-assistant.io/docs/api/rest), [Python API](https://developers.home-assistant.io/docs/api_lib_index) and [WebSocket API](https://developers.home-assistant.io/docs/api/websocket) available.
|
On top of the `http` integration is a [REST API](https://developers.home-assistant.io/docs/api/rest), [Python API](https://developers.home-assistant.io/docs/api_lib_index) and [WebSocket API](https://developers.home-assistant.io/docs/api/websocket) available.
|
||||||
|
@ -61,7 +61,7 @@ port:
|
|||||||
default: 8086
|
default: 8086
|
||||||
path:
|
path:
|
||||||
type: string
|
type: string
|
||||||
description: Path to use if your InfuxDB is running behind an reverse proxy.
|
description: Path to use if your InfuxDB is running behind a reverse proxy.
|
||||||
required: false
|
required: false
|
||||||
username:
|
username:
|
||||||
type: string
|
type: string
|
||||||
|
@ -184,7 +184,7 @@ Send a "raw" (e.g., `DON`, `DOF`) ISY REST Device Command to a Node using its Ho
|
|||||||
|
|
||||||
#### Service `isy994.get_zwave_parameter`
|
#### Service `isy994.get_zwave_parameter`
|
||||||
|
|
||||||
Request a Z-Wave Device parameter via the ISY. The parameter value will be returned as a entity extra state attribute with the name "ZW#" where "#" is the parameter number.
|
Request a Z-Wave Device parameter via the ISY. The parameter value will be returned as an entity extra state attribute with the name "ZW#" where "#" is the parameter number.
|
||||||
|
|
||||||
| Service data attribute | Optional | Description |
|
| Service data attribute | Optional | Description |
|
||||||
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------- |
|
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------- |
|
||||||
@ -193,7 +193,7 @@ Request a Z-Wave Device parameter via the ISY. The parameter value will be retur
|
|||||||
|
|
||||||
#### Service `isy994.set_zwave_parameter`
|
#### Service `isy994.set_zwave_parameter`
|
||||||
|
|
||||||
Update a Z-Wave Device parameter via the ISY. The parameter value will also be returned as a entity extra state attribute with the name "ZW#" where "#" is the parameter number.
|
Update a Z-Wave Device parameter via the ISY. The parameter value will also be returned as an entity extra state attribute with the name "ZW#" where "#" is the parameter number.
|
||||||
|
|
||||||
| Service data attribute | Optional | Description |
|
| Service data attribute | Optional | Description |
|
||||||
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------- |
|
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------- |
|
||||||
|
@ -15,7 +15,7 @@ ha_platforms:
|
|||||||
---
|
---
|
||||||
|
|
||||||
The Kraken integration allows you to monitor exchange rates on [kraken.com](https://www.kraken.com/).
|
The Kraken integration allows you to monitor exchange rates on [kraken.com](https://www.kraken.com/).
|
||||||
For a list of tradable asset pairs check this [this kraken support article](https://support.kraken.com/hc/en-us/articles/201893658-Currency-pairs-available-for-trading-on-Kraken).
|
For a list of tradable asset pairs check [this kraken support article](https://support.kraken.com/hc/en-us/articles/201893658-Currency-pairs-available-for-trading-on-Kraken).
|
||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
@ -124,7 +124,7 @@ command_topic:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
|
description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device.'
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
@ -493,7 +493,7 @@ command_topic:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
|
description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device.'
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
@ -831,7 +831,7 @@ command_topic:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
|
description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device.'
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
|
@ -174,7 +174,7 @@ light:
|
|||||||
required: false
|
required: false
|
||||||
type: action
|
type: action
|
||||||
set_effect:
|
set_effect:
|
||||||
description: Defines an action to run when the light is given a effect command.
|
description: Defines an action to run when the light is given an effect command.
|
||||||
required: inclusive
|
required: inclusive
|
||||||
type: action
|
type: action
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
@ -61,7 +61,7 @@ command_topic:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: 'Information about the device this lock is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
|
description: 'Information about the device this lock is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device.'
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
|
@ -181,7 +181,7 @@ script:
|
|||||||
|
|
||||||
<div class="note warning">
|
<div class="note warning">
|
||||||
|
|
||||||
When calling the `logbook.log` service without a `domain` or `entity_id`, entries will be added with the the `logbook` domain. Ensure that the `logbook` domain is not filtered away if you want these entries to appear in your logbook.
|
When calling the `logbook.log` service without a `domain` or `entity_id`, entries will be added with the `logbook` domain. Ensure that the `logbook` domain is not filtered away if you want these entries to appear in your logbook.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ host:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
username:
|
username:
|
||||||
description: The username of an user with administrative privileges, usually `admin`.
|
description: The username of a user with administrative privileges, usually `admin`.
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
password:
|
password:
|
||||||
|
@ -17,7 +17,7 @@ ha_platforms:
|
|||||||
ha_dhcp: true
|
ha_dhcp: true
|
||||||
---
|
---
|
||||||
|
|
||||||
The Honeywell Lyric component integrates the Lyric thermostat platform into Home Assistant.
|
The Honeywell Lyric integration integrates the Lyric thermostat platform into Home Assistant.
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ The pin numbers are from 0 to 15 where: 0-7 correspond to port A (A1-A8) and 8-1
|
|||||||
|
|
||||||
### Configuration
|
### Configuration
|
||||||
|
|
||||||
To use the I/O pins of an mcp23017 connected to an I2C bus of your Raspberry Pi as binary sensors, add the following to your `configuration.yaml` file:
|
To use the I/O pins of a mcp23017 connected to an I2C bus of your Raspberry Pi as binary sensors, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Example configuration.yaml entry
|
# Example configuration.yaml entry
|
||||||
@ -87,7 +87,7 @@ The pin numbers are from 0 to 15 where: 0-7 correspond to port A (A1-A8) and 8-1
|
|||||||
|
|
||||||
### Configuration
|
### Configuration
|
||||||
|
|
||||||
To use the I/O pins of an mcp23017 connected to an I2C bus of your Raspberry Pi as switches, add the following to your `configuration.yaml` file:
|
To use the I/O pins of a mcp23017 connected to an I2C bus of your Raspberry Pi as switches, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Example configuration.yaml entry
|
# Example configuration.yaml entry
|
||||||
|
@ -443,7 +443,7 @@ covers:
|
|||||||
default: 0
|
default: 0
|
||||||
type: integer
|
type: integer
|
||||||
state_opening:
|
state_opening:
|
||||||
description: A value in `status_register` or `register` representing a opening cover. Note that this state should be also supported on your connected Modbus cover. If it won't report the state, this state won't be detected.
|
description: A value in `status_register` or `register` representing an opening cover. Note that this state should be also supported on your connected Modbus cover. If it won't report the state, this state won't be detected.
|
||||||
required: false
|
required: false
|
||||||
default: 2
|
default: 2
|
||||||
type: integer
|
type: integer
|
||||||
@ -453,7 +453,7 @@ covers:
|
|||||||
default: 3
|
default: 3
|
||||||
type: integer
|
type: integer
|
||||||
status_register:
|
status_register:
|
||||||
description: An address of an register, from which all the cover states will be read. If you specified `register` attribute, and not `status_register` attribute, your main register will also be used as a status register.
|
description: An address of a register, from which all the cover states will be read. If you specified `register` attribute, and not `status_register` attribute, your main register will also be used as a status register.
|
||||||
required: false
|
required: false
|
||||||
type: integer
|
type: integer
|
||||||
status_register_type:
|
status_register_type:
|
||||||
|
@ -256,7 +256,7 @@ everything, however, you can leave out any feature you do not wish to use with H
|
|||||||
|
|
||||||
- *Error: invalid_client no application name* means the [OAuth Consent Screen](https://console.developers.google.com/apis/credentials/consent) has not been fully configured for the project. Enter the required fields (App Name, Support Email, Developer Email) and leave everything else as default.
|
- *Error: invalid_client no application name* means the [OAuth Consent Screen](https://console.developers.google.com/apis/credentials/consent) has not been fully configured for the project. Enter the required fields (App Name, Support Email, Developer Email) and leave everything else as default.
|
||||||
|
|
||||||
- *Subscriber error: Subscription misconfigured. Expected subscriber_id to match...* means that the `configuration.yaml` has an incorrect `subscriber_id` field. Re-enter the the *Subscription Name* which looks like `projects/project-label-22ee1/subscriptions/SUBSCRIBER_ID`. Make sure this is not the *Topic name*.
|
- *Subscriber error: Subscription misconfigured. Expected subscriber_id to match...* means that the `configuration.yaml` has an incorrect `subscriber_id` field. Re-enter the *Subscription Name* which looks like `projects/project-label-22ee1/subscriptions/SUBSCRIBER_ID`. Make sure this is not the *Topic name*.
|
||||||
|
|
||||||
- *Subscriber error: Subscription misconfigured. Expected topic name to match ...* means that the topic name in the Google Cloud Console was entered incorrectly. The topic name comes from the Device Console and must start with `projects/sdm-prod/topics/`. It is easy to make the mistake of creating a new topic rather than manually entering the right topic name.
|
- *Subscriber error: Subscription misconfigured. Expected topic name to match ...* means that the topic name in the Google Cloud Console was entered incorrectly. The topic name comes from the Device Console and must start with `projects/sdm-prod/topics/`. It is easy to make the mistake of creating a new topic rather than manually entering the right topic name.
|
||||||
|
|
||||||
@ -349,7 +349,7 @@ action:
|
|||||||
image: /api/camera_proxy/camera.front_door
|
image: /api/camera_proxy/camera.front_door
|
||||||
```
|
```
|
||||||
|
|
||||||
The action in this section uses the [Android Companion App](https://companion.home-assistant.io/docs/notifications/notifications-basic/) and the camera proxy to send an notification with a snapshot from the camera.
|
The action in this section uses the [Android Companion App](https://companion.home-assistant.io/docs/notifications/notifications-basic/) and the camera proxy to send a notification with a snapshot from the camera.
|
||||||
|
|
||||||
# Legacy Works With Nest API
|
# Legacy Works With Nest API
|
||||||
|
|
||||||
|
@ -179,7 +179,7 @@ documentation](https://numato.com/docs/32-channel-usb-gpio-module-with-analog-in
|
|||||||
|
|
||||||
## Device IDs
|
## Device IDs
|
||||||
|
|
||||||
This integration uses a internal device ID to identify the device, which is
|
This integration uses an internal device ID to identify the device, which is
|
||||||
_not_ the Linux device path. The Linux device path (e.g., `/dev/ttyACM0`) can
|
_not_ the Linux device path. The Linux device path (e.g., `/dev/ttyACM0`) can
|
||||||
change, for example, when you disconnect and re-connect the device or if you
|
change, for example, when you disconnect and re-connect the device or if you
|
||||||
connect the device to a different USB port.
|
connect the device to a different USB port.
|
||||||
|
@ -55,7 +55,7 @@ command_topic:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: "Information about the device this Number is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set."
|
description: "Information about the device this Number is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device."
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
|
@ -12,7 +12,7 @@ ha_platforms:
|
|||||||
- media_player
|
- media_player
|
||||||
---
|
---
|
||||||
|
|
||||||
The `openhome` platform allows you to connect an [Openhome Compliant Renderer](http://openhome.org/) to Home Assistant such as a [Linn Products Ltd](https://www.linn.co.uk) HiFi streamer. It will allow you to control media playback, volume, source and see the current playing item. Openhome devices should be discovered by using the [the discovery component](/integrations/discovery/), their device names are taken from the name of the room configured on the device.
|
The `openhome` platform allows you to connect an [Openhome Compliant Renderer](http://openhome.org/) to Home Assistant such as a [Linn Products Ltd](https://www.linn.co.uk) HiFi streamer. It will allow you to control media playback, volume, source and see the current playing item. Openhome devices should be discovered by using [the discovery component](/integrations/discovery/), their device names are taken from the name of the room configured on the device.
|
||||||
|
|
||||||
### Example `configuration.yaml` entry
|
### Example `configuration.yaml` entry
|
||||||
|
|
||||||
|
@ -148,7 +148,7 @@ automation:
|
|||||||
- alias: "Update OpenUV every hour (24 of 50 calls per day)"
|
- alias: "Update OpenUV every hour (24 of 50 calls per day)"
|
||||||
trigger:
|
trigger:
|
||||||
platform: time_pattern
|
platform: time_pattern
|
||||||
minutes: "/60"
|
hours: "*"
|
||||||
action:
|
action:
|
||||||
service: openuv.update_data
|
service: openuv.update_data
|
||||||
```
|
```
|
||||||
|
@ -40,7 +40,7 @@ not be activated yet.
|
|||||||
| Name | Name of the integration |
|
| Name | Name of the integration |
|
||||||
| Latitude | Latitude for weather forecast and sensor |
|
| Latitude | Latitude for weather forecast and sensor |
|
||||||
| Longitude | Longitude for weather forecast and sensor |
|
| Longitude | Longitude for weather forecast and sensor |
|
||||||
| Mode | Forecast mode, `hourly` for a three-hour forecast, `daily` for daily forecast using a paid API tier, `onecall_hourly` for an hourly forecast up to 2 days, or `onecall_daily` for a daily forecast up to 7 days (ideal for the free tier). |
|
| Mode | Forecast mode, `hourly` for a three-hour forecast, `daily` for daily forecast using a paid API tier, `onecall_hourly` for an hourly forecast up to 2 days, or `onecall_daily` for a daily forecast up to 7 days (ideal for the free tier, default). |
|
||||||
| Language | Language for receiving data (only for `sensor`) |
|
| Language | Language for receiving data (only for `sensor`) |
|
||||||
|
|
||||||
The integration creates a weather entity as well as sensors for supported weather conditions.
|
The integration creates a weather entity as well as sensors for supported weather conditions.
|
||||||
|
@ -45,7 +45,7 @@ Also, note that version 6 of the API needs to be authenticated by a PIN code dis
|
|||||||
|
|
||||||
### Turn on device
|
### Turn on device
|
||||||
|
|
||||||
The Philips TV does not always support turning on via the API. You can either turn it on via IR blaster or on som models WOL. To trigger this command from the entities, the integration exposes a `device trigger` that can be setup to execute when the `media_player` is asked to turn on.
|
The Philips TV does not always support turning on via the API. You can either turn it on via an IR blaster or on some models using Wake On LAN (WOL). To trigger this command from the entities, the integration exposes a `device trigger` that can be setup to execute when the `media_player` is asked to turn on.
|
||||||
|
|
||||||
### Remote
|
### Remote
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ The pin numbers are from 1 to X where: 1-8 correspond to port 0 (00-07) and 9-16
|
|||||||
|
|
||||||
### Configuration
|
### Configuration
|
||||||
|
|
||||||
To use the I/O pins of an pi4ioe5v9xxxx connected to an I2C bus of your Raspberry Pi as binary sensors, add the following to your `configuration.yaml` file:
|
To use the I/O pins of a pi4ioe5v9xxxx connected to an I2C bus of your Raspberry Pi as binary sensors, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Example configuration.yaml entry
|
# Example configuration.yaml entry
|
||||||
@ -91,7 +91,7 @@ The pin numbers are from 1 to X, where 1-8 correspond to port A (A1-A8) and 9-16
|
|||||||
|
|
||||||
### Configuration
|
### Configuration
|
||||||
|
|
||||||
To use the I/O pins of an pi4ioe5v9xxxx connected to an I2C bus as switches, add the following to your `configuration.yaml` file:
|
To use the I/O pins of a pi4ioe5v9xxxx connected to an I2C bus as switches, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Example configuration.yaml entry
|
# Example configuration.yaml entry
|
||||||
|
@ -51,10 +51,10 @@ name:
|
|||||||
|
|
||||||
The sensor exposes the different round trip times values measured by `ping` as attributes:
|
The sensor exposes the different round trip times values measured by `ping` as attributes:
|
||||||
|
|
||||||
- `round trip time mdev`
|
- `round_trip_time_mdev`
|
||||||
- `round trip time avg`
|
- `round_trip_time_avg`
|
||||||
- `round trip time min`
|
- `round_trip_time_min`
|
||||||
- `round trip time max`
|
- `round_trip_time_max`
|
||||||
|
|
||||||
The default polling interval is 5 minutes. As many integrations [based on the entity class](/docs/configuration/platform_options), it is possible to overwrite this scan interval by specifying a `scan_interval` configuration key (value in seconds). In the example below we setup the `ping` binary sensor to poll the device every 30 seconds.
|
The default polling interval is 5 minutes. As many integrations [based on the entity class](/docs/configuration/platform_options), it is possible to overwrite this scan interval by specifying a `scan_interval` configuration key (value in seconds). In the example below we setup the `ping` binary sensor to poll the device every 30 seconds.
|
||||||
|
|
||||||
|
@ -93,6 +93,12 @@ Refer to these links if casting to non-Plex players:
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class='note warning'>
|
||||||
|
|
||||||
|
The integration must be configured with a token for playback commands to work. This can occur if using the `List of IP addresses and networks that are allowed without auth` option on the Plex server. If that feature is required, it's recommended to configure the integration with that feature temporarily disabled.
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
#### Music
|
#### Music
|
||||||
|
|
||||||
| Service data attribute | Description |
|
| Service data attribute | Description |
|
||||||
|
@ -26,7 +26,7 @@ There is currently support for the following device types within Home Assistant:
|
|||||||
- **Binary Sensor** - Allows you to view the status of your [Rachio irrigation system](https://rachio.com/).
|
- **Binary Sensor** - Allows you to view the status of your [Rachio irrigation system](https://rachio.com/).
|
||||||
- [**Switch**](#switch)
|
- [**Switch**](#switch)
|
||||||
|
|
||||||
They will be automatically added if the Rachio integration integration is loaded.
|
They will be automatically added if the Rachio integration is loaded.
|
||||||
|
|
||||||
## Getting your Rachio API Key
|
## Getting your Rachio API Key
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ light:
|
|||||||
type: rgbw
|
type: rgbw
|
||||||
```
|
```
|
||||||
|
|
||||||
### RGB LED connected to the GPIO pins of an remote Raspberry Pi.
|
### RGB LED connected to the GPIO pins of a remote Raspberry Pi.
|
||||||
|
|
||||||
On the Raspberry Pi the pigpio daemon is running on the default port 6666.
|
On the Raspberry Pi the pigpio daemon is running on the default port 6666.
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ There is currently support for the following device types within Home Assistant:
|
|||||||
|
|
||||||
- Binary Sensor: Reports on zone or output statuses
|
- Binary Sensor: Reports on zone or output statuses
|
||||||
- Switch: allows for setting states of selected outputs
|
- Switch: allows for setting states of selected outputs
|
||||||
- Alarm Control Panel: represents the partition (in Polish: "strefa"). Reports its status, and can be used to arm/disarm the the partition
|
- Alarm Control Panel: represents the partition (in Polish: "strefa"). Reports its status, and can be used to arm/disarm the partition
|
||||||
|
|
||||||
The module communicates via Satel's open TCP protocol published on their website. It subscribes for new events coming from alarm system and reacts to them immediately.
|
The module communicates via Satel's open TCP protocol published on their website. It subscribes for new events coming from alarm system and reacts to them immediately.
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ ha_platforms:
|
|||||||
- sensor
|
- sensor
|
||||||
---
|
---
|
||||||
|
|
||||||
The `scrape` sensor platform is scraping information from websites. The sensor loads a HTML page and gives you the option to search and split out a value. As this is not a full-blown web scraper like [scrapy](https://scrapy.org/), it will most likely only work with simple web pages and it can be time-consuming to get the right section.
|
The `scrape` sensor platform is scraping information from websites. The sensor loads an HTML page and gives you the option to search and split out a value. As this is not a full-blown web scraper like [scrapy](https://scrapy.org/), it will most likely only work with simple web pages and it can be time-consuming to get the right section.
|
||||||
|
|
||||||
To enable this sensor, add the following lines to your `configuration.yaml` file:
|
To enable this sensor, add the following lines to your `configuration.yaml` file:
|
||||||
|
|
||||||
@ -179,25 +179,3 @@ sensor:
|
|||||||
```
|
```
|
||||||
|
|
||||||
{% endraw %}
|
{% endraw %}
|
||||||
|
|
||||||
### BOM Weather
|
|
||||||
|
|
||||||
The Australian Bureau of Meteorology website returns an error if the User Agent header is not sent.
|
|
||||||
|
|
||||||
{% raw %}
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
sensor:
|
|
||||||
- platform: scrape
|
|
||||||
resource: http://www.bom.gov.au/vic/forecasts/melbourne.shtml
|
|
||||||
name: Melbourne Forecast Summary
|
|
||||||
select: ".main .forecast p"
|
|
||||||
value_template: "{{ value | truncate(255) }}"
|
|
||||||
# Request every hour
|
|
||||||
scan_interval: 3600
|
|
||||||
headers:
|
|
||||||
User-Agent: Mozilla/5.0
|
|
||||||
```
|
|
||||||
|
|
||||||
{% endraw %}
|
|
||||||
|
@ -185,7 +185,7 @@ sudo reboot
|
|||||||
```
|
```
|
||||||
|
|
||||||
Unfortunately enabling the SenseHAT Sensor integration for a Virtual Environment install of Home Assistant fails with errors.
|
Unfortunately enabling the SenseHAT Sensor integration for a Virtual Environment install of Home Assistant fails with errors.
|
||||||
_(The Raspberry Pi All-In-One installer run Home Assistant in an virtual environment)._
|
_(The Raspberry Pi All-In-One installer run Home Assistant in a virtual environment)._
|
||||||
These issues have been discussed in the repository issue [#5093](https://github.com/home-assistant/home-assistant/issues/5093)
|
These issues have been discussed in the repository issue [#5093](https://github.com/home-assistant/home-assistant/issues/5093)
|
||||||
|
|
||||||
This fix has been tested with a clean install of:
|
This fix has been tested with a clean install of:
|
||||||
|
@ -51,7 +51,7 @@ availability_topic:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: "Information about the device this sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set."
|
description: "Information about the device this sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device."
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
|
@ -12,7 +12,7 @@ ha_platforms:
|
|||||||
|
|
||||||
Particulate matter sensors measure the amount of very small particles in the air. A short introduction how these sensors work can be found on [Open Home Automation](https://www.open-homeautomation.com/2016/07/19/measuring-air-quality/).
|
Particulate matter sensors measure the amount of very small particles in the air. A short introduction how these sensors work can be found on [Open Home Automation](https://www.open-homeautomation.com/2016/07/19/measuring-air-quality/).
|
||||||
|
|
||||||
Cheap LED based sensors usually use a GPIO interface that is hard to attach to computers. However, there are a lot of laser LED based sensors on the market that use a serial interface and can be [connected to your Home Assistant system easily with an USB to serial converter](https://www.open-homeautomation.com/2016/07/20/connecting-an-particulate-matter-sensor-to-your-pc-or-mac/).
|
Cheap LED based sensors usually use a GPIO interface that is hard to attach to computers. However, there are a lot of laser LED based sensors on the market that use a serial interface and can be [connected to your Home Assistant system easily with a USB to serial converter](https://www.open-homeautomation.com/2016/07/20/connecting-an-particulate-matter-sensor-to-your-pc-or-mac/).
|
||||||
|
|
||||||
## Supported Sensors
|
## Supported Sensors
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ shell_command:
|
|||||||
|
|
||||||
### Automation example
|
### Automation example
|
||||||
|
|
||||||
This is a an example of an shell command used in conjunction with an input
|
This is an example of a shell command used in conjunction with an input
|
||||||
helper and an automation.
|
helper and an automation.
|
||||||
|
|
||||||
{% raw %}
|
{% raw %}
|
||||||
|
@ -43,10 +43,10 @@ ping_interval:
|
|||||||
zones:
|
zones:
|
||||||
description: The number of zones configured in your alarm.
|
description: The number of zones configured in your alarm.
|
||||||
additional_account:
|
additional_account:
|
||||||
description: Used to ask if a additional account needs to be included, if so will open a dialog for the next account, after checking the current input.
|
description: Used to ask if an additional account needs to be included, if so will open a dialog for the next account, after checking the current input.
|
||||||
{% endconfiguration_basic %}
|
{% endconfiguration_basic %}
|
||||||
|
|
||||||
ASCII characters are 0-9 and ABCDEF, so a account is something like `346EB` and the encryption key has the same characters but needs to be 16, 24 or 32 characters in length.
|
ASCII characters are 0-9 and ABCDEF, so an account is something like `346EB` and the encryption key has the same characters but needs to be 16, 24 or 32 characters in length.
|
||||||
|
|
||||||
### Note on monitoring multiple alarm systems
|
### Note on monitoring multiple alarm systems
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ If you have multiple accounts (alarm systems) that you want to monitor you can c
|
|||||||
|
|
||||||
### Port usage
|
### Port usage
|
||||||
|
|
||||||
The port used with this component must be a port no other processes use on the machine your HA instance is running. If you have a complex network setup or want to monitor alarm systems at other locations you will most likely have to open firewalls and/or create network routes for that purpose, the integration will just listen for messages coming into that port, and will not proactively send, only responding with a acknowledgement to the alarm system.
|
The port used with this component must be a port no other processes use on the machine your HA instance is running. If you have a complex network setup or want to monitor alarm systems at other locations you will most likely have to open firewalls and/or create network routes for that purpose, the integration will just listen for messages coming into that port, and will not proactively send, only responding with an acknowledgement to the alarm system.
|
||||||
|
|
||||||
### Entities
|
### Entities
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ The PAT is used to create a Home Assistant SmartApp in your SmartThings account
|
|||||||
|
|
||||||
### Webhook
|
### Webhook
|
||||||
|
|
||||||
This integration requires an internet accessible incoming webhook to receive push updates from SmartThings. The preferred approach is to subscribe to [Home Assistant Cloud (Nabu Casa)](https://www.nabucasa.com/) and the integration will configure and use a cloudhook automatically. Alternatively, you will have to configure and setup a internet accessible webhook in Home Assistant as described below:
|
This integration requires an internet accessible incoming webhook to receive push updates from SmartThings. The preferred approach is to subscribe to [Home Assistant Cloud (Nabu Casa)](https://www.nabucasa.com/) and the integration will configure and use a cloudhook automatically. Alternatively, you will have to configure and setup an internet accessible webhook in Home Assistant as described below:
|
||||||
|
|
||||||
1. Setup [remote access](/docs/configuration/remote/) via a domain name secured with SSL. *Self-signed SSL certificates are not supported by the SmartThings Cloud API.*
|
1. Setup [remote access](/docs/configuration/remote/) via a domain name secured with SSL. *Self-signed SSL certificates are not supported by the SmartThings Cloud API.*
|
||||||
1. Set the external URL in the Home Assistant [configuration](/docs/configuration/basic) to the URL that Home Assistant is available on the internet (this must start with `https://`).
|
1. Set the external URL in the Home Assistant [configuration](/docs/configuration/basic) to the URL that Home Assistant is available on the internet (this must start with `https://`).
|
||||||
@ -349,7 +349,7 @@ If you have completed the checklist above and are still unable to setup the plat
|
|||||||
|
|
||||||
### Debugging
|
### Debugging
|
||||||
|
|
||||||
The SmartThings integration will log additional information about push updates received, events fired, and other messages when the log level is set to `debug`. Add the the relevant line below to the `configuration.yaml`:
|
The SmartThings integration will log additional information about push updates received, events fired, and other messages when the log level is set to `debug`. Add the relevant line below to the `configuration.yaml`:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
logger:
|
logger:
|
||||||
|
@ -18,7 +18,7 @@ The `solaredge_local` platform uses the local API available on some SolarEdge In
|
|||||||
|
|
||||||
Only specific models support the local API. The local API is available on inverters that do not have an LCD character screen. You can also check the datasheets if in the section "Additional Features", sub-section "Inverter Commissioning" is present the following line "With the SetApp mobile application using built-in Wi-Fi access point for local connection". These inverters also have a part number that ends with a 4. For example: SEXXK-XXXXXBXX4 or SEXXXXH-XXXXXBXX4
|
Only specific models support the local API. The local API is available on inverters that do not have an LCD character screen. You can also check the datasheets if in the section "Additional Features", sub-section "Inverter Commissioning" is present the following line "With the SetApp mobile application using built-in Wi-Fi access point for local connection". These inverters also have a part number that ends with a 4. For example: SEXXK-XXXXXBXX4 or SEXXXXH-XXXXXBXX4
|
||||||
|
|
||||||
You can check if the local API works by finding the IP address of your inverter and visiting it in a browser. If it supports the local API, you'll see a HTML page with the SolarEdge logo and a "Commissioning" menu.
|
You can check if the local API works by finding the IP address of your inverter and visiting it in a browser. If it supports the local API, you'll see an HTML page with the SolarEdge logo and a "Commissioning" menu.
|
||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
|
|
||||||
|
@ -40,6 +40,61 @@ The battery sensors rely on working change events or updates will be delayed. S1
|
|||||||
|
|
||||||
The Sonos integration adds one `switch` for each alarm set in the Sonos app. The alarm switches are detected, deleted and assigned automatically and come with several attributes that help to monitor Sonos alarms.
|
The Sonos integration adds one `switch` for each alarm set in the Sonos app. The alarm switches are detected, deleted and assigned automatically and come with several attributes that help to monitor Sonos alarms.
|
||||||
|
|
||||||
|
## Playing media
|
||||||
|
|
||||||
|
Sonos accepts a variety of `media_content_id` formats in the `media_player.play_media` service, but most commonly as URIs. For example, both Spotify and Tidal share links can be provided as-is. Playback of [music hosted on a Plex server](/integrations/plex#sonos-playback) is possible. Direct HTTP/HTTPS links to local or remote media files can also be used if the Sonos device can reach the URI directly, but specific media encoding support may vary.
|
||||||
|
|
||||||
|
Music services which require an account (e.g., Spotify) must first be configured using the Sonos app.
|
||||||
|
|
||||||
|
An optional `enqueue` argument can be added to the service call. If `true`, the media will be appended to the end of the playback queue. If not provided or `false` then the queue will be replaced.
|
||||||
|
|
||||||
|
### Examples:
|
||||||
|
|
||||||
|
This is an example service call that plays an audio file from a web server on the local network (like the Home Assistant built-in webserver):
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
service: media_player.play_media
|
||||||
|
target:
|
||||||
|
entity_id: media_player.sonos
|
||||||
|
data:
|
||||||
|
media_content_type: "music"
|
||||||
|
media_content_id: "http://192.168.1.50:8123/local/sound_files/doorbell-front.mp3"
|
||||||
|
```
|
||||||
|
|
||||||
|
Sonos can also play music or playlists from Spotify. Both Spotify URIs and URLs can be used directly. An example service call using a playlist URI:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
service: media_player.play_media
|
||||||
|
target:
|
||||||
|
entity_id: media_player.sonos
|
||||||
|
data:
|
||||||
|
media_content_type: "playlist"
|
||||||
|
media_content_id: "spotify:playlist:abcdefghij0123456789XY"
|
||||||
|
enqueue: true
|
||||||
|
```
|
||||||
|
|
||||||
|
An example service call using a Spotify URL:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
service: media_player.play_media
|
||||||
|
target:
|
||||||
|
entity_id: media_player.sonos
|
||||||
|
data:
|
||||||
|
media_content_type: "music"
|
||||||
|
media_content_id: "https://open.spotify.com/album/abcdefghij0123456789YZ"
|
||||||
|
```
|
||||||
|
|
||||||
|
Run a [Plex Media Server](/integrations/plex#sonos-playback) in your home? The Sonos integration can work with that as well. This example plays music directly from your Plex server:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
service: media_player.play_media
|
||||||
|
target:
|
||||||
|
entity_id: media_player.sonos
|
||||||
|
data:
|
||||||
|
media_content_type: "music"
|
||||||
|
media_content_id: 'plex://{ "library_name": "Music", "artist_name": "M83", "album_name": "Hurry Up, We're Dreaming" }'
|
||||||
|
```
|
||||||
|
|
||||||
## Services
|
## Services
|
||||||
|
|
||||||
The Sonos integration makes various custom services available.
|
The Sonos integration makes various custom services available.
|
||||||
|
@ -35,7 +35,7 @@ host:
|
|||||||
port:
|
port:
|
||||||
description: Port to use.
|
description: Port to use.
|
||||||
required: false
|
required: false
|
||||||
default: 8080
|
default: 8088
|
||||||
type: integer
|
type: integer
|
||||||
ssl:
|
ssl:
|
||||||
description: Use HTTPS instead of HTTP to connect.
|
description: Use HTTPS instead of HTTP to connect.
|
||||||
|
@ -50,11 +50,11 @@ sampling_size:
|
|||||||
default: 20
|
default: 20
|
||||||
type: integer
|
type: integer
|
||||||
max_age:
|
max_age:
|
||||||
description: Maximum age of measurements. Setting this to a time interval will cause older values to be discarded. Please note that you might have to increase the [sampling_size](/integrations/statistics#sampling_size) parameter. If you e.g., have a sensor value updated every second you will, by default, only get a max_age of 20s. Furthermore the sensor gets `unkown` if the entity is not updated within the time interval.
|
description: Maximum age of measurements. Setting this to a time interval will cause older values to be discarded. Please note that you might have to increase the [`sampling_size`](/integrations/statistics#sampling_size) parameter. If you e.g., have a sensor value updated every second you will by default only get a `max_age` of 20s. Furthermore the sensor gets `unknown` if the entity is not updated within the time interval.
|
||||||
required: false
|
required: false
|
||||||
type: time
|
type: time
|
||||||
precision:
|
precision:
|
||||||
description: Defines the precision of the calculated values, through the argument of round().
|
description: Defines the precision of the calculated values, through the argument of [`round()`](/docs/configuration/templating/#numeric-functions-and-filters).
|
||||||
required: false
|
required: false
|
||||||
default: 2
|
default: 2
|
||||||
type: integer
|
type: integer
|
||||||
|
@ -61,7 +61,7 @@ command_topic:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: "Information about the device this switch is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set."
|
description: "Information about the device this switch is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device."
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
|
@ -25,7 +25,7 @@ value_template:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: "Information about the device this device trigger is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html)."
|
description: "Information about the device this device trigger is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). At least one of identifiers or connections must be present to identify the device."
|
||||||
required: true
|
required: true
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
|
@ -245,11 +245,11 @@ action:
|
|||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
url:
|
url:
|
||||||
description: A remote path to an video. Either this or the `file` configuration option is required.
|
description: A remote path to a video. Either this or the `file` configuration option is required.
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
file:
|
file:
|
||||||
description: A local path to an video. Either this or the `url` configuration option is required.
|
description: A local path to a video. Either this or the `url` configuration option is required.
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
caption:
|
caption:
|
||||||
|
@ -27,7 +27,7 @@ The `template` integration allows creating entities which derive their values fr
|
|||||||
|
|
||||||
Sensors and binary (on/off) sensors are covered on this page. For other types, please see the specific pages:
|
Sensors and binary (on/off) sensors are covered on this page. For other types, please see the specific pages:
|
||||||
|
|
||||||
- [Alarm_control_panel](/integrations/alarm_control_panel.template/)
|
- [Alarm Control Panel](/integrations/alarm_control_panel.template/)
|
||||||
- [Cover](/integrations/cover.template/)
|
- [Cover](/integrations/cover.template/)
|
||||||
- [Fan](/integrations/fan.template/)
|
- [Fan](/integrations/fan.template/)
|
||||||
- [Light](/integrations/light.template/)
|
- [Light](/integrations/light.template/)
|
||||||
@ -36,7 +36,7 @@ Sensors and binary (on/off) sensors are covered on this page. For other types, p
|
|||||||
- [Vacuum](/integrations/vacuum.template/)
|
- [Vacuum](/integrations/vacuum.template/)
|
||||||
- [Weather](/integrations/weather.template/)
|
- [Weather](/integrations/weather.template/)
|
||||||
|
|
||||||
Sensor and binary sensor template entities are defined in YAML directly under the `template:` key. You can define multiple configuration blocks as a list. Each block defines sensors and/or binary sensor entities and can contain an optional update trigger.
|
Sensor and binary sensor template entities are defined in your YAML configuration files, directly under the `template:` key and cannot be configured via the UI. You can define multiple configuration blocks as a list. Each block defines sensors and/or binary sensor entities and can contain an optional update trigger.
|
||||||
|
|
||||||
_For old sensor/binary sensor configuration format, [see below](#legacy-binary-sensor-configuration-format)._
|
_For old sensor/binary sensor configuration format, [see below](#legacy-binary-sensor-configuration-format)._
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ host:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
username:
|
username:
|
||||||
description: The username of an user with administrative privileges, usually *admin*.
|
description: The username of a user with administrative privileges, usually *admin*.
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
password:
|
password:
|
||||||
|
@ -60,7 +60,7 @@ verify_ssl:
|
|||||||
type: [string, boolean]
|
type: [string, boolean]
|
||||||
default: true
|
default: true
|
||||||
username:
|
username:
|
||||||
description: "The username of an user with administrative privileges, usually *admin*."
|
description: "The username of a user with administrative privileges, usually *admin*."
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
password:
|
password:
|
||||||
|
@ -90,7 +90,7 @@ sensors:
|
|||||||
If the optional `sample_duration` and `max_samples` parameters are specified
|
If the optional `sample_duration` and `max_samples` parameters are specified
|
||||||
then multiple samples can be stored and used to detect long-term trends.
|
then multiple samples can be stored and used to detect long-term trends.
|
||||||
|
|
||||||
Each time the state changes, a new sample is stored along with the sample time. Samples older than `sample_duration` seconds will be discarded. The `max_samples` parameter must be large enough to store sensor updates over the requested duration. If you want to trend over two hours and your sensor updates every 120s then then `max_samples` must be at least 60, i.e., 7200/120 = 60.
|
Each time the state changes, a new sample is stored along with the sample time. Samples older than `sample_duration` seconds will be discarded. The `max_samples` parameter must be large enough to store sensor updates over the requested duration. If you want to trend over two hours and your sensor updates every 120s then `max_samples` must be at least 60, i.e., 7200/120 = 60.
|
||||||
|
|
||||||
A trend line is then fitted to the available samples, and the gradient of this
|
A trend line is then fitted to the available samples, and the gradient of this
|
||||||
line is compared to `min_gradient` to determine the state of the trend sensor.
|
line is compared to `min_gradient` to determine the state of the trend sensor.
|
||||||
|
@ -26,7 +26,7 @@ tts:
|
|||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
|
|
||||||
Depending on your setup, you might need to set a external URL (`external_url`) inside the [configuration](/docs/configuration/basic/) or in the parameters of this component.
|
Depending on your setup, you might need to set an external URL (`external_url`) inside the [configuration](/docs/configuration/basic/) or in the parameters of this component.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -97,7 +97,7 @@ The Google cast devices (Google Home, Chromecast, etc.) present the following pr
|
|||||||
|
|
||||||
* They [reject self-signed certificates](#self-signed-certificates).
|
* They [reject self-signed certificates](#self-signed-certificates).
|
||||||
|
|
||||||
* They do not work with URLs that contain hostnames established by local naming means. Let's say your Home Assistant instance is running on a machine made known locally as `ha`. All your machines on your local network are able to access it as `ha`. However, try as you may, your cast device won't download the media files from your `ha` machine. That's because your cast device ignores your local naming setup. In this example, the `say` service creates a URL like `http://ha/path/to/media.mp3` (or `https://...` if you are using SSL). If you are _not_ using SSL then setting a internal URL that contains the IP address of your server works around this issue. By using an IP address, the cast device does not have to resolve the hostname.
|
* They do not work with URLs that contain hostnames established by local naming means. Let's say your Home Assistant instance is running on a machine made known locally as `ha`. All your machines on your local network are able to access it as `ha`. However, try as you may, your cast device won't download the media files from your `ha` machine. That's because your cast device ignores your local naming setup. In this example, the `say` service creates a URL like `http://ha/path/to/media.mp3` (or `https://...` if you are using SSL). If you are _not_ using SSL then setting an internal URL that contains the IP address of your server works around this issue. By using an IP address, the cast device does not have to resolve the hostname.
|
||||||
|
|
||||||
* If you are using an SSL (e.g., `https://yourhost.example.org/...`) then you _must_ use the hostname in the certificate (e.g., `base_url: https://yourhost.example.org`). You cannot use an IP address since the certificate won't be valid for the IP address, and the cast device will refuse the connection.
|
* If you are using an SSL (e.g., `https://yourhost.example.org/...`) then you _must_ use the hostname in the certificate (e.g., `base_url: https://yourhost.example.org`). You cannot use an IP address since the certificate won't be valid for the IP address, and the cast device will refuse the connection.
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ host:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
username:
|
username:
|
||||||
description: The username of an user with administrative privileges, usually `root`.
|
description: The username of a user with administrative privileges, usually `root`.
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
password:
|
password:
|
||||||
|
@ -13,7 +13,7 @@ ha_platforms:
|
|||||||
|
|
||||||
Universal Media Players combine multiple existing entities in Home Assistant into one media player entity. This is used for creating a single entity that controls an entire media center.
|
Universal Media Players combine multiple existing entities in Home Assistant into one media player entity. This is used for creating a single entity that controls an entire media center.
|
||||||
|
|
||||||
Multiple media player entities can be controlled from an universal media player. Additionally, the universal media player allows volume and power commands to be re-routed to other entities in Home Assistant. This allows the power and volume to control external devices like a television or audio receiver.
|
Multiple media player entities can be controlled from a universal media player. Additionally, the universal media player allows volume and power commands to be re-routed to other entities in Home Assistant. This allows the power and volume to control external devices like a television or audio receiver.
|
||||||
|
|
||||||
A Universal Media Player is created in `configuration.yaml` as follows.
|
A Universal Media Player is created in `configuration.yaml` as follows.
|
||||||
|
|
||||||
@ -161,7 +161,7 @@ media_player:
|
|||||||
|
|
||||||
In this example, a [Kodi Media Player](/integrations/kodi) runs in a CEC capable device (OSMC/OpenElec running in a Raspberry Pi 24/7, for example), and, with the JSON-CEC Kodi add-on installed, it can turn on and off the attached TV.
|
In this example, a [Kodi Media Player](/integrations/kodi) runs in a CEC capable device (OSMC/OpenElec running in a Raspberry Pi 24/7, for example), and, with the JSON-CEC Kodi add-on installed, it can turn on and off the attached TV.
|
||||||
|
|
||||||
We store the state of the attached TV in a [input boolean](/integrations/input_boolean/), so we can differentiate the TV being on or off, while Kodi is always 'idle', and use the universal media player to render its state with a template. We now can differentiate between the 'idle' and the 'off' state (being the second when it is idle and the TV is off).
|
We store the state of the attached TV in an [input boolean](/integrations/input_boolean/), so we can differentiate the TV being on or off, while Kodi is always 'idle', and use the universal media player to render its state with a template. We now can differentiate between the 'idle' and the 'off' state (being the second when it is idle and the TV is off).
|
||||||
|
|
||||||
Because the input boolean used to store the TV state is only changing when using the Home Assistant `turn_on` and `turn_off` actions, and Kodi could be controlled by so many ways, we also define some automations to update this Input Boolean when needed.
|
Because the input boolean used to store the TV state is only changing when using the Home Assistant `turn_on` and `turn_off` actions, and Kodi could be controlled by so many ways, we also define some automations to update this Input Boolean when needed.
|
||||||
|
|
||||||
|
@ -333,7 +333,7 @@ command_topic:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
device:
|
device:
|
||||||
description: "Information about the device this switch is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set."
|
description: "Information about the device this switch is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device."
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
|
@ -52,7 +52,7 @@ source:
|
|||||||
|
|
||||||
### Supported images for Home Assistant
|
### Supported images for Home Assistant
|
||||||
|
|
||||||
`default`, `qemux86`, `qemux86-64`, `qemuarm`, `qemuarm-64`, `intel-nuc`, `raspberrypi`, `raspberrypi2`, `raspberrypi3`, `raspberrypi3-64`, `raspberrypi4`, `raspberrypi4-64`, `tinker`, `odroid-c2`, `odroid-n2`, `odroid-xu`
|
`default`, `qemux86`, `qemux86-64`, `qemuarm`, `qemuarm-64`, `generic-x86-64`, `raspberrypi`, `raspberrypi2`, `raspberrypi3`, `raspberrypi3-64`, `raspberrypi4`, `raspberrypi4-64`, `tinker`, `odroid-c2`, `odroid-n2`, `odroid-xu`
|
||||||
|
|
||||||
## Alternatives for showing local version
|
## Alternatives for showing local version
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ wake_on_lan:
|
|||||||
|
|
||||||
Available services: `send_magic_packet`.
|
Available services: `send_magic_packet`.
|
||||||
|
|
||||||
#### Service `wake_on_lan/send_magic_packet`
|
#### Service `wake_on_lan.send_magic_packet`
|
||||||
|
|
||||||
Send a _magic packet_ to wake up a device with 'Wake-On-LAN' capabilities.
|
Send a _magic packet_ to wake up a device with 'Wake-On-LAN' capabilities.
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user