Merge branch 'current' into next
2
.github/workflows/stale.yml
vendored
@ -8,7 +8,7 @@ jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v3.0.13
|
||||
- uses: actions/stale@v3.0.14
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
days-before-stale: 60
|
||||
|
13
CODEOWNERS
@ -72,6 +72,7 @@ source/_integrations/cisco_mobility_express.markdown @fbradyirl
|
||||
source/_integrations/cisco_webex_teams.markdown @fbradyirl
|
||||
source/_integrations/cloud.markdown @home-assistant/cloud
|
||||
source/_integrations/cloudflare.markdown @ludeeus @ctalkington
|
||||
source/_integrations/color_extractor.markdown @GenericStudent
|
||||
source/_integrations/comfoconnect.markdown @michaelarnauts
|
||||
source/_integrations/config.markdown @home-assistant/core
|
||||
source/_integrations/configurator.markdown @home-assistant/core
|
||||
@ -121,6 +122,7 @@ source/_integrations/enocean.markdown @bdurrer
|
||||
source/_integrations/entur_public_transport.markdown @hfurubotten
|
||||
source/_integrations/environment_canada.markdown @michaeldavie
|
||||
source/_integrations/ephember.markdown @ttroy50
|
||||
source/_integrations/epson.markdown @pszafer
|
||||
source/_integrations/epsonworkforce.markdown @ThaStealth
|
||||
source/_integrations/eq3btsmart.markdown @rytilahti
|
||||
source/_integrations/esphome.markdown @OttoWinter
|
||||
@ -180,7 +182,6 @@ source/_integrations/homekit.markdown @bdraco
|
||||
source/_integrations/homekit_controller.markdown @Jc2k
|
||||
source/_integrations/homematic.markdown @pvizeli @danielperna84
|
||||
source/_integrations/homematicip_cloud.markdown @SukramJ
|
||||
source/_integrations/honeywell.markdown @zxdavb
|
||||
source/_integrations/http.markdown @home-assistant/core
|
||||
source/_integrations/huawei_lte.markdown @scop @fphammerle
|
||||
source/_integrations/huawei_router.markdown @abmantis
|
||||
@ -248,7 +249,7 @@ source/_integrations/met.markdown @danielhiversen @thimic
|
||||
source/_integrations/meteo_france.markdown @hacf-fr @oncleben31 @Quentame
|
||||
source/_integrations/meteoalarm.markdown @rolfberkenbosch
|
||||
source/_integrations/metoffice.markdown @MrHarcombe
|
||||
source/_integrations/miflora.markdown @danielhiversen @ChristianKuehnel @basnijholt
|
||||
source/_integrations/miflora.markdown @danielhiversen @basnijholt
|
||||
source/_integrations/mikrotik.markdown @engrbm87
|
||||
source/_integrations/mill.markdown @danielhiversen
|
||||
source/_integrations/min_max.markdown @fabaff
|
||||
@ -302,7 +303,7 @@ source/_integrations/openerz.markdown @misialq
|
||||
source/_integrations/opengarage.markdown @danielhiversen
|
||||
source/_integrations/opentherm_gw.markdown @mvn23
|
||||
source/_integrations/openuv.markdown @bachya
|
||||
source/_integrations/openweathermap.markdown @fabaff @freekode
|
||||
source/_integrations/openweathermap.markdown @fabaff @freekode @nzapponi
|
||||
source/_integrations/opnsense.markdown @mtreinish
|
||||
source/_integrations/orangepi_gpio.markdown @pascallj
|
||||
source/_integrations/oru.markdown @bvlaicu
|
||||
@ -317,7 +318,6 @@ source/_integrations/pi4ioe5v9xxxx.markdown @antonverburg
|
||||
source/_integrations/pi_hole.markdown @fabaff @johnluetke @shenxn
|
||||
source/_integrations/pilight.markdown @trekky12
|
||||
source/_integrations/plaato.markdown @JohNan
|
||||
source/_integrations/plant.markdown @ChristianKuehnel
|
||||
source/_integrations/plex.markdown @jjlawren
|
||||
source/_integrations/plugwise.markdown @CoMPaTech @bouwew
|
||||
source/_integrations/plum_lightpad.markdown @ColinHarrington @prystupa
|
||||
@ -353,6 +353,7 @@ source/_integrations/rmvtransport.markdown @cgtobi
|
||||
source/_integrations/roku.markdown @ctalkington
|
||||
source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn
|
||||
source/_integrations/roon.markdown @pavoni
|
||||
source/_integrations/rpi_gpio_pwm.markdown @soldag
|
||||
source/_integrations/rpi_power.markdown @shenxn @swetoast
|
||||
source/_integrations/ruckus_unleashed.markdown @gabe565
|
||||
source/_integrations/safe_mode.markdown @home-assistant/core
|
||||
@ -371,7 +372,7 @@ source/_integrations/seven_segments.markdown @fabaff
|
||||
source/_integrations/seventeentrack.markdown @bachya
|
||||
source/_integrations/sharkiq.markdown @ajmarks
|
||||
source/_integrations/shell_command.markdown @home-assistant/core
|
||||
source/_integrations/shelly.markdown @balloob @bieniu
|
||||
source/_integrations/shelly.markdown @balloob @bieniu @thecode
|
||||
source/_integrations/shiftr.markdown @fabaff
|
||||
source/_integrations/shodan.markdown @fabaff
|
||||
source/_integrations/sighthound.markdown @robmarkcole
|
||||
@ -420,7 +421,7 @@ source/_integrations/switchbot.markdown @danielhiversen
|
||||
source/_integrations/switcher_kis.markdown @tomerfi
|
||||
source/_integrations/switchmate.markdown @danielhiversen
|
||||
source/_integrations/syncthru.markdown @nielstron
|
||||
source/_integrations/synology_dsm.markdown @hacf-fr @Quentame
|
||||
source/_integrations/synology_dsm.markdown @hacf-fr @Quentame @mib1185
|
||||
source/_integrations/synology_srm.markdown @aerialls
|
||||
source/_integrations/syslog.markdown @fabaff
|
||||
source/_integrations/tado.markdown @michaelarnauts @bdraco
|
||||
|
1
Gemfile
@ -15,6 +15,7 @@ group :jekyll_plugins do
|
||||
gem 'jekyll-sitemap', '1.4.0'
|
||||
gem 'jekyll-time-to-read', '0.1.2'
|
||||
gem 'jekyll-commonmark', '1.3.1'
|
||||
gem 'jekyll-toc', '0.15.0'
|
||||
end
|
||||
|
||||
gem 'sinatra', '2.1.0'
|
||||
|
@ -56,6 +56,9 @@ GEM
|
||||
jekyll (>= 3.7, < 5.0)
|
||||
jekyll-time-to-read (0.1.2)
|
||||
jekyll
|
||||
jekyll-toc (0.15.0)
|
||||
jekyll (>= 3.8)
|
||||
nokogiri (~> 1.10)
|
||||
jekyll-watch (2.2.1)
|
||||
listen (~> 3.0)
|
||||
kramdown (2.3.0)
|
||||
@ -63,7 +66,7 @@ GEM
|
||||
kramdown-parser-gfm (1.1.0)
|
||||
kramdown (~> 2.0)
|
||||
liquid (4.0.3)
|
||||
listen (3.3.0)
|
||||
listen (3.3.1)
|
||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
mercenary (0.4.0)
|
||||
@ -124,6 +127,7 @@ DEPENDENCIES
|
||||
jekyll-paginate (= 1.1.0)
|
||||
jekyll-sitemap (= 1.4.0)
|
||||
jekyll-time-to-read (= 0.1.2)
|
||||
jekyll-toc (= 0.15.0)
|
||||
nokogiri (= 1.10.10)
|
||||
rake (= 13.0.1)
|
||||
sass-globbing (= 1.1.5)
|
||||
|
25
_config.yml
@ -46,6 +46,7 @@ highlighter: none
|
||||
|
||||
plugins:
|
||||
- jekyll-time-to-read
|
||||
- jekyll-toc
|
||||
|
||||
paginate: 10 # Posts per page on the blog index
|
||||
paginate_path: "blog/posts/:num" # Directory base for pagination URLs eg. /posts/2/
|
||||
@ -99,9 +100,9 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 117
|
||||
current_patch_version: 5
|
||||
date_released: 2020-11-05
|
||||
current_minor_version: 118
|
||||
current_patch_version: 4
|
||||
date_released: 2020-11-26
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
@ -123,6 +124,7 @@ defaults:
|
||||
featured: false
|
||||
# Defaults for blogs posts
|
||||
- scope:
|
||||
path: ""
|
||||
type: posts
|
||||
values:
|
||||
layout: post
|
||||
@ -130,9 +132,26 @@ defaults:
|
||||
footer: true
|
||||
sharing: true
|
||||
sidebar: true
|
||||
# Enable table of contents for integrations
|
||||
#
|
||||
# To set toc as a default value, we need to set the scope with an empty path
|
||||
# and the collection as type
|
||||
# https://github.com/toshimaru/jekyll-toc/issues/116#issuecomment-644205770
|
||||
#
|
||||
- scope:
|
||||
path: ""
|
||||
type: integrations
|
||||
values:
|
||||
toc: true
|
||||
|
||||
# Support for files Jekyll will normally exclude
|
||||
include:
|
||||
- "_headers"
|
||||
- "_redirects"
|
||||
- ".well-known"
|
||||
|
||||
# Table of contents
|
||||
# https://github.com/toshimaru/jekyll-toc
|
||||
toc:
|
||||
min_level: 2 # default: 1
|
||||
max_level: 3 # default: 6
|
||||
|
@ -426,6 +426,21 @@ div.note {
|
||||
.aside-module {
|
||||
.section {
|
||||
margin-bottom: 10px;
|
||||
|
||||
ul.section-nav {
|
||||
margin-left: 0px;
|
||||
|
||||
li.toc-entry {
|
||||
list-style-type: none;
|
||||
li {
|
||||
list-style-type: circle;
|
||||
margin-left: 1em;
|
||||
}
|
||||
ul {
|
||||
margin-left: 1em;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.brand-logo-container {
|
||||
@ -480,7 +495,8 @@ a code {
|
||||
color: $primary-color;
|
||||
}
|
||||
|
||||
twitter-widget {
|
||||
twitter-widget,
|
||||
.twitter-tweet-rendered {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
@ -470,7 +470,7 @@ automation:
|
||||
|
||||
#### Sensors of datetime device class
|
||||
|
||||
The Entity ID of a [sensor](/integrations/sensor/) with the "datetime" device class.
|
||||
The Entity ID of a [sensor](/integrations/sensor/) with the "timestamp" device class.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
|
@ -3,9 +3,9 @@ title: "Database"
|
||||
description: "Details about the database used by Home Assistant."
|
||||
---
|
||||
|
||||
Database is used in by Home Assistant as history and tracker only, to store the events and its parameters. The default database used by Home Assistant is [SQLite](https://www.sqlite.org/), and the database file is stored in your [configuration directory](/getting-started/configuration/) (e.g., `<path to config dir>/home-assistant_v2.db`). If you prefer to run a database server (e.g., PostgreSQL), use the [`recorder` component](/integrations/recorder/).
|
||||
Home Assistant uses database to store events and parametersis for history and tracking. The default database used is [SQLite](https://www.sqlite.org/) and the database file is stored in your [configuration directory](/getting-started/configuration/) (e.g., `<path to config dir>/home-assistant_v2.db`); however, other databases can be used. If you prefer to run a database server (e.g., PostgreSQL), use the [`recorder` component](/integrations/recorder/).
|
||||
|
||||
To work with the SQLite database manually from the command-line, you will need an [installation](http://www.sqlitetutorial.net/download-install-sqlite/) of `sqlite3`. Alternatively [DB Browser for SQLite](http://sqlitebrowser.org/) provides a viewer for exploring the database data and an editor for executing SQL commands.
|
||||
To work with SQLite database manually from the command-line, you will need an [installation](http://www.sqlitetutorial.net/download-install-sqlite/) of `sqlite3`. Alternatively [DB Browser for SQLite](http://sqlitebrowser.org/) provides a viewer for exploring the database data and an editor for executing SQL commands.
|
||||
First load your database with `sqlite3`:
|
||||
|
||||
```bash
|
||||
|
@ -183,6 +183,14 @@ The same thing can also be expressed as a filter:
|
||||
- `strptime(string, format)` parses a string based on a [format](https://docs.python.org/3.8/library/datetime.html#strftime-and-strptime-behavior) and returns a datetime object.
|
||||
- `relative_time` converts datetime object to its human-friendly "age" string. The age can be in second, minute, hour, day, month or year (but only the biggest unit is considered, e.g., if it's 2 days and 3 hours, "2 days" will be returned). Note that it only works for dates _in the past_.
|
||||
- `timedelta` returns a timedelta object and accepts the same arguments as the Python `datetime.timedelta` function -- days, seconds, microseconds, milliseconds, minutes, hours, weeks.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# 77 minutes before curret time.
|
||||
{{ now() - timedelta( hours = 1, minutes = 17 ) }}
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
- Filter `timestamp_local` converts an UNIX timestamp to its string representation as date/time in your local timezone.
|
||||
- Filter `timestamp_utc` converts a UNIX timestamp to its string representation representation as date/time in UTC timezone.
|
||||
- Filter `timestamp_custom(format_string, local_time=True)` converts an UNIX timestamp to its string representation based on a custom format, the use of a local timezone is default. Supports the standard [Python time formatting options](https://docs.python.org/3/library/time.html#time.strftime).
|
||||
|
@ -310,6 +310,6 @@ On Mac, USB devices are [not passed through](https://github.com/docker/for-mac/i
|
||||
|
||||
The Home Assistant Container is using an alternative memory allocation library [jemalloc](http://jemalloc.net/) for better memory management and Python runtime speedup.
|
||||
|
||||
As Jemalloc can cause issues on certain hardware, it can be disabled by passing the environment variable `DISABLE_JEMALLOC` with any value, for example: `-e "JEMALLOC_DISABLE=true"`.
|
||||
As jemalloc can cause issues on certain hardware, it can be disabled by passing the environment variable `DISABLE_JEMALLOC` with any value, for example: `-e "DISABLE_JEMALLOC=true"`.
|
||||
|
||||
The error message `<jemalloc>: Unsupported system page size` is one known indicator.
|
||||
The error message `<jemalloc>: Unsupported system page size` is one known indicator.
|
||||
|
@ -94,7 +94,7 @@ mqtt:
|
||||
|
||||
### CloudMQTT
|
||||
|
||||
[CloudMQTT](https://www.cloudmqtt.com) is a hosted private MQTT instance. Plans start at 5$ per months.
|
||||
[CloudMQTT](https://www.cloudmqtt.com) is a hosted private MQTT instance. Plans start at 5$ per month.
|
||||
|
||||
<div class='note'>
|
||||
Home Assistant is not affiliated with CloudMQTT nor will receive any kickbacks.
|
||||
|
@ -141,7 +141,7 @@ When used within an automation the `trigger` variable is available. See [Availab
|
||||
|
||||
This action evaluates the template, and if true, the script will continue. If not, then it will wait until it is true.
|
||||
|
||||
The template is re-evaluated whenever an entity ID that it references changes state. If you use non-deterministic functions like `now()` in the template it will not be continuously re-evaluated, but only when an entity ID that is referenced is changed. If you need to periodically re-evaluate the template, reference a sensor from the (Time and Date)[/integrations/time_date/] component that will update minutely or daily.
|
||||
The template is re-evaluated whenever an entity ID that it references changes state. If you use non-deterministic functions like `now()` in the template it will not be continuously re-evaluated, but only when an entity ID that is referenced is changed. If you need to periodically re-evaluate the template, reference a sensor from the [Time and Date](/integrations/time_date/) component that will update minutely or daily.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@ -178,7 +178,7 @@ With both types of waits it is possible to set a timeout after which the script
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
You can also get the script to abort after the timeout by using optional `continue_on_timeout`.
|
||||
You can also get the script to abort after the timeout by using optional `continue_on_timeout: false`.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@ -194,7 +194,7 @@ You can also get the script to abort after the timeout by using optional `contin
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Without `continue_on_timeout` the script will always continue.
|
||||
Without `continue_on_timeout: false` the script will always continue since the default for `continue_on_timeout` is `true`.
|
||||
|
||||
### Wait Variable
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
/*
|
||||
Cache-Control: public, max-age: 0, s-maxage=3600, must-revalidate
|
||||
Content-Security-Policy: form-action https:
|
||||
Feature-Policy: vibrate 'none'; geolocation 'none'; midi 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; speaker 'none'; vibrate 'none'; payment 'none'
|
||||
Feature-Policy: geolocation 'none'; midi 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; payment 'none'
|
||||
Permissions-Policy: geolocation=(), midi=(), microphone=(), camera=(), magnetometer=(), gyroscope=(), payment=()
|
||||
Referrer-Policy: no-referrer-when-downgrade
|
||||
X-Content-Type-Options: nosniff
|
||||
X-XSS-Protection: 1; mode=block
|
||||
|
@ -66,6 +66,12 @@
|
||||
</ul>
|
||||
</div>
|
||||
{%- endif -%}
|
||||
|
||||
{%- unless page.no_toc -%}
|
||||
<div class='section'>
|
||||
<h1 class="title delta">On this page</h1>
|
||||
{% toc %}
|
||||
{%- endunless -%}
|
||||
</section>
|
||||
|
||||
<script src="https://alerts.home-assistant.io/ce-alert-link.js"></script>
|
||||
|
@ -79,7 +79,7 @@ Amazon also provided a [step-by-step guide](https://developer.amazon.com/docs/sm
|
||||
|
||||
</div>
|
||||
|
||||
OK, let's go. You first need sign in your [AWS console](https://console.aws.amazon.com/), if you don't have an AWS account yet, you can create a new user [here](https://aws.amazon.com/free/) with 12-month free tire benefit. You don't need worry the cost if your account already pass the first 12 months, AWS provides up to 1 million Lambda request, 1GB outbound data and all inbound data for free, every month, all users. See [Lambda pricing](https://aws.amazon.com/lambda/pricing/) for details.
|
||||
OK, let's go. You first need to sign in to your [AWS console](https://console.aws.amazon.com/), if you don't have an AWS account yet, you can create a new user [here](https://aws.amazon.com/free/) with 12-month free tire benefit. You don't need worry the cost if your account already pass the first 12 months, AWS provides up to 1 million Lambda request, 1GB outbound data and all inbound data for free, every month, all users. See [Lambda pricing](https://aws.amazon.com/lambda/pricing/) for details.
|
||||
|
||||
### Create an IAM Role for Lambda
|
||||
|
||||
@ -115,6 +115,7 @@ Next you need create a Lambda function.
|
||||
- You will then be prompted to input the `Skill ID` from the skill you created in previous step. (Tips: you may need switch back to Alexa Developer Console to copy the `Skill ID`.) Then click `Add`.
|
||||
- Click your Lambda function icon in the middle of the diagram (above Layers), scroll down you will see a `Function code` window.
|
||||
- Clear the example code, copy the Python script from: [https://gist.github.com/matt2005/744b5ef548cc13d88d0569eea65f5e5b](https://gist.github.com/matt2005/744b5ef548cc13d88d0569eea65f5e5b) (modified code to support Alexa's proactive mode, see details below)
|
||||
- Click `Deploy` button to publish updated code.
|
||||
- Scroll down a little bit, you will find `Environment variables`, you need add 1 environment variable and, if required, 3 optional variables. This is done by selecting `Manage environment variables` then adding the following:
|
||||
- *(required)* Key = BASE_URL, Value = your Home Assistant instance's Internet accessible URL with port if needed. *Do not include the trailing `/`*.
|
||||
- *(optional)* Key = NOT_VERIFY_SSL, Value = *True*. You can set this to *True* to ignore SSL issues, for example if you don't have a valid SSL certificate or you are using a self-signed certificate.
|
||||
|
@ -8,6 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: api
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `api` integration exposes a RESTful API and allows one to interact with a Home Assistant instance that is running headless. This integration depends on the [HTTP integration](/integrations/http/).
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: Color Extractor
|
||||
title: ColorExtractor
|
||||
description: Instructions how to integrate the Color Extractor into Home Assistant.
|
||||
ha_release: 0.118
|
||||
ha_category:
|
||||
|
@ -8,6 +8,7 @@ ha_codeowners:
|
||||
- '@frenck'
|
||||
ha_domain: debugpy
|
||||
ha_quality_scale: internal
|
||||
ha_iot_class: Local Push
|
||||
---
|
||||
|
||||
The remote Python debugger integration allows you to use the Visual Studio Code
|
||||
|
@ -268,6 +268,39 @@ automation:
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
#### Colored Flashing - RGB Philips Hue bulb using deconz.configure
|
||||
|
||||
Note: Requires `on: true` to change color while the Philips Hue bulb is off. If `on: true` is specified, the bulb remains on after flashing is complete. The previous color is not saved or restored. To color flash light groups, replace `/state` with `/action` and specify the light group as the entity.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Flash Hue Bulb with Doorbell Motion
|
||||
mode: single
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.doorbell_motion
|
||||
to: 'on'
|
||||
action:
|
||||
- service: deconz.configure
|
||||
data:
|
||||
entity: light.hue_lamp
|
||||
field: /state
|
||||
data:
|
||||
'on': true
|
||||
hue: 65535
|
||||
sat: 255
|
||||
bri: 255
|
||||
alert: breathe
|
||||
- delay: 00:00:15
|
||||
- service: deconz.configure
|
||||
data:
|
||||
entity: light.hue_lamp
|
||||
field: /state
|
||||
data:
|
||||
'on': false
|
||||
```
|
||||
|
||||
## Binary Sensor
|
||||
|
||||
The following sensor types are supported:
|
||||
|
@ -28,6 +28,8 @@ Known supported devices:
|
||||
- Denon AVR-X2200W
|
||||
- Denon AVR-X2300W
|
||||
- Denon AVR-X2400H
|
||||
- Denon AVR-X2500H
|
||||
- Denon AVR-X2700H
|
||||
- Denon AVR-X3200W
|
||||
- Denon AVR-X3300W
|
||||
- Denon AVR-X3400H
|
||||
|
@ -7,6 +7,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: device_automation
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
Device Automations is a plugin for the automation integration to allow other integrations to provide device specific triggers, conditions and actions.
|
||||
|
@ -6,6 +6,7 @@ ha_category:
|
||||
ha_release: pre 0.7
|
||||
ha_quality_scale: internal
|
||||
ha_domain: downloader
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `downloader` integration provides a service to download files. It will raise an error and not continue to set itself up when the download directory does not exist. The directory needs to be writable for the user that is running Home Assistant.
|
||||
|
@ -424,7 +424,7 @@ The `event_data` contains the following:
|
||||
|
||||
## Services
|
||||
|
||||
Besides the standard Home Assistant services for Climate, Light, Scene, Sensor,
|
||||
Besides the standard Home Assistant services for Alarm Control Panel, Climate, Light, Scene, Sensor,
|
||||
and Switch the ElkM1 integration offers these additional services:
|
||||
|
||||
- `elkm1.alarm_arm_home_instant`
|
||||
|
@ -56,7 +56,7 @@ weather:
|
||||
- The platform checks for new data every 10 minutes, and the source data is typically updated hourly within 10 minutes after the hour.
|
||||
- If no name is given, the weather entity will be named `weather.<station_name>`.
|
||||
- The platform automatically determines which weather station to use based on the system's latitude/longitude settings. For greater precision, it is also possible to specify either:
|
||||
- A specific station code of the form `AB/s0000123` based on those listed in [this CSV file](http://dd.weatheroffice.ec.gc.ca/citypage_weather/docs/site_list_towns_en.csv), or
|
||||
- A specific station code of the form `AB/s0000123` based on those listed in [this CSV file](https://dd.weather.gc.ca/citypage_weather/docs/site_list_towns_en.csv), or
|
||||
- A specific latitude/longitude
|
||||
|
||||
{% configuration %}
|
||||
@ -123,7 +123,7 @@ sensor:
|
||||
- `statements` - Current special weather statements.
|
||||
- `endings` - Alerts that have recently ended.
|
||||
- The platform automatically determines which weather station to use based on the system's latitude/longitude settings. For greater precision, it is also possible to specify either:
|
||||
- A specific station code of the form `AB/s0000123` based on those listed in [this CSV file](http://dd.weatheroffice.ec.gc.ca/citypage_weather/docs/site_list_towns_en.csv), or
|
||||
- A specific station code of the form `AB/s0000123` based on those listed in [this CSV file](https://dd.weather.gc.ca/citypage_weather/docs/site_list_towns_en.csv), or
|
||||
- A specific latitude/longitude
|
||||
- In the case of multiple alerts in the same category, the titles of each are concatenated together with a pipe (`|`) separator.
|
||||
|
||||
|
@ -6,6 +6,9 @@ ha_category:
|
||||
ha_release: 0.72
|
||||
ha_iot_class: Local Polling
|
||||
ha_domain: epson
|
||||
ha_codeowners:
|
||||
- '@pszafer'
|
||||
ha_config_flow: true
|
||||
---
|
||||
|
||||
The `epson` platform allows you to control a Epson projector from Home Assistant.
|
||||
|
@ -5,6 +5,7 @@ ha_category:
|
||||
- Image Processing
|
||||
ha_release: 0.29
|
||||
ha_domain: ffmpeg
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `ffmpeg` integration allows other Home Assistant integrations to process video and audio streams. This integration supports all FFmpeg versions since 3.0.0; if you have an older version, please update.
|
||||
|
@ -14,6 +14,7 @@ This integration provides support for Internet Radios based on the [Frontier Sil
|
||||
* Hama: [IR110], [DIR3110]
|
||||
* Medion: [Medion Radios]
|
||||
* Silvercrest: [SIRD 14 C2]
|
||||
* Teufel: [Radio 3sixty(2019)]
|
||||
* Some models from: Auna, Technisat, Revo, Pinell, Como Audio
|
||||
|
||||
This integration was developed and tested with a Hama [DIR3110] and a Medion [MD 87466].
|
||||
@ -104,6 +105,7 @@ The Frontier Silicon API does not provide a multi-user environment. There is alw
|
||||
[IR110]: https://www.hama.com/00054823/hama-ir110-internet-radio-internet-radio-multi-room-app-control
|
||||
[DIR3110]: https://www.hama.com/00054824/hama-digitalradio-dir3110-internetradio-dab+-fm-multiroom-app-steuerung
|
||||
[MD 87466]: https://www.medion.com/gb/service/start/_product.php?msn=50051273&gid=14
|
||||
[Radio 3sixty(2019)]: https://teufel.de/radio-3sixty-2019-105437000
|
||||
[SIRD 14 C2]: https://www.silvercrest-multiroom.de/fileadmin/user_upload/pdf/handbucher/Bedienungsanleitungen/IR/279398_SIRD_14_C2_ML4_V1.1_GB_CZ_SK_DE.pdf
|
||||
[fsapi]: https://github.com/zhelev/python-fsapi
|
||||
[UNDOK]: https://www.frontier-silicon.com/undok
|
||||
|
@ -37,33 +37,30 @@ covers:
|
||||
description: List of your doors.
|
||||
required: true
|
||||
type: list
|
||||
covers:
|
||||
keys:
|
||||
device:
|
||||
description: This is the device id from your Garadget portal.
|
||||
required: true
|
||||
type: string
|
||||
username:
|
||||
description: Your Garadget account username.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Your Garadget account password.
|
||||
required: true
|
||||
type: string
|
||||
access_token:
|
||||
description: A generated `access_token` from your Garadget account.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: me to use in the frontend, will use name configured in Garadget otherwise.
|
||||
required: false
|
||||
default: Garadget
|
||||
type: string
|
||||
keys:
|
||||
device:
|
||||
description: This is the device id from your Garadget portal. It can be found in the Settings section of the Garadget website or mobile application.
|
||||
required: true
|
||||
type: string
|
||||
username:
|
||||
description: Your Garadget account username. Use with `password` to obtain the `access_token` automatically.
|
||||
required: false
|
||||
type: string
|
||||
password:
|
||||
description: Your Garadget account password. Use with `username` to obtain the `access_token` automatically.
|
||||
required: false
|
||||
type: string
|
||||
access_token:
|
||||
description: A generated `access_token` from your Garadget account. To obtain an `access_token`, use the network tab of the developer tools for your web browser while logged into the Garadget website. When supplied, the `username` and `password` values are not required.
|
||||
required: false
|
||||
type: string
|
||||
name:
|
||||
description: Name to use in the frontend, will use name configured in Garadget otherwise.
|
||||
required: false
|
||||
default: Garadget
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
If provided, the **access_token** will be used, otherwise the **username** and **password** will be used to automatically generate an access token at start time.
|
||||
|
||||
## Example
|
||||
|
||||
<p class='img'>
|
||||
|
@ -1,12 +1,12 @@
|
||||
---
|
||||
title: "Generic IP Camera"
|
||||
description: "Instructions on how to integrate IP cameras within Home Assistant."
|
||||
title: Generic
|
||||
description: Instructions on how to integrate IP cameras within Home Assistant.
|
||||
ha_category:
|
||||
- Camera
|
||||
logo: home-assistant.png
|
||||
ha_release: pre 0.7
|
||||
ha_iot_class: Configurable
|
||||
ha_domain: camera
|
||||
ha_domain: generic
|
||||
---
|
||||
|
||||
The `generic` camera platform allows you to integrate any IP camera or other URL into Home Assistant. Templates can be used to generate the URLs on the fly.
|
||||
|
@ -75,9 +75,9 @@ If you want to allow other household users to control the devices:
|
||||
1. Enter the email address of the user you want to add.
|
||||
2. Click Select a role and choose Project < Viewer.
|
||||
3. Click SAVE
|
||||
4. Copy and share the link with the new user.
|
||||
5. When the new user opens the link with their own Google account, it will enable your draft test app under their account.
|
||||
5. Have the new user go to their `Google Assistant` app to add `[test] your app name` to their account.
|
||||
4. Copy and share the Actions project link (`https://console.actions.google.com/project/YOUR_PROJECT_ID/simulator`) with the new user.
|
||||
5. Have the new user open the link with their own Google account, agree to the Terms of Service popup, then select "Start Testing", select VERSION - Draft in the dropdown, and click "Done".
|
||||
6. Have the new user go to their `Google Assistant` app to add `[test] your app name` to their account.
|
||||
|
||||
### Enable Device Sync
|
||||
|
||||
|
@ -15,7 +15,7 @@ The `google_maps` platform allows you to detect presence using the unofficial AP
|
||||
You need two Google accounts. Account A is the account that has to be set up to share its location with account B. Account B is used to fetch the location of your device(s) and will be connected to this integration.
|
||||
|
||||
1. You first have to setup sharing of the location of account A through the Google Maps app on your mobile phone. Share your location with account B. You can find more information [here](https://support.google.com/accounts?p=location_sharing).
|
||||
2. Next, you have to retrieve a valid cookie from Google, while being logged in with account B. Log in with your credentials of account B on [Google Maps](https://www.google.com/maps) with a PC with Firefox or Chrome. Make sure to use the `.com` TLD (e.g., maps.google.com), otherwise the cookie won't be able to provide a valid session. After you have properly authenticated, you can retrieve the cookie with either [Export cookies](https://addons.mozilla.org/en-US/firefox/addon/export-cookies-txt/?src=search) for Firefox (make sure that "Prefix HttpOnly cookies" is unchecked) or [cookies.txt](https://chrome.google.com/webstore/detail/cookiestxt/njabckikapfpffapmjgojcnbfjonfjfg?hl=en-US) for Chrome/Chromium.
|
||||
2. Next, you have to retrieve a valid cookie from Google, while being logged in with account B. Log in with your credentials of account B on [Google Maps](https://www.google.com/maps) with a PC with Firefox or Chrome. Make sure to use the `.com` TLD (e.g., maps.google.com), otherwise the cookie won't be able to provide a valid session. After you have properly authenticated, you can retrieve the cookie with either [Export cookies](https://addons.mozilla.org/en-US/firefox/addon/export-cookies-txt/?src=search) for Firefox (make sure that "Prefix HttpOnly cookies" is unchecked) or [get_cookies.txt](https://chrome.google.com/webstore/detail/get-cookiestxt/bgaddhkoddajcdgocldbbfleckgcbcid?hl=en) for Chrome/Chromium.
|
||||
3. Save the cookie file to your Home Assistant configuration directory with the following name: `.google_maps_location_sharing.cookies.` followed by the slugified username of the NEW Google account (account B).
|
||||
- For example: If your email address was `location.tracker@gmail.com`, the filename would be: `.google_maps_location_sharing.cookies.location_tracker_gmail_com`.
|
||||
|
||||
|
@ -8,6 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: homeassistant
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The Home Assistant integration provides generic implementations like the generic `homeassistant.turn_on`.
|
||||
|
@ -5,8 +5,6 @@ ha_category:
|
||||
- Climate
|
||||
ha_release: pre 0.7
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_codeowners:
|
||||
- '@zxdavb'
|
||||
ha_domain: honeywell
|
||||
---
|
||||
|
||||
|
@ -238,12 +238,9 @@ data:
|
||||
You can dismiss notifications by using service html5.dismiss like so:
|
||||
|
||||
```json
|
||||
{
|
||||
"target": ["my phone"],
|
||||
"data": {
|
||||
"tag": "notification_tag"
|
||||
}
|
||||
}
|
||||
target: ['my phone']
|
||||
data:
|
||||
tag: notification_tag
|
||||
```
|
||||
|
||||
If no target is provided, it dismisses for all.
|
||||
@ -339,10 +336,23 @@ If you still have the problem, even with mentioned rule, try to add this code:
|
||||
|
||||
If you need to verify domain ownership with Google Webmaster Central/Search Console while configuring this component, follow these steps:
|
||||
|
||||
##### HTML file verification (only works for `/local` URLs)
|
||||
|
||||
1. Enter your domain and add `/local` at the end, e.g., `https://example.com:8123/local`
|
||||
2. Select HTML file verification and download the google*.html file.
|
||||
2. Create a directory named `www` in your Home Assistant configuration directory (`/config/` share from Samba add-on).
|
||||
3. Place the downloaded `google*.html` file in the `www` directory.
|
||||
4. RESTART Home Assistant. **This is important!**
|
||||
5. Verify the file can be accessed in the browser, e.g., `https://example.com:8123/local/google123456789.html` (change filename). You should see a plain text message saying "google-site-verification: ...". If you see "404: Not Found" or something else, retry the above steps.
|
||||
6. Go back to Google Webmaster Central/Search Console and proceed with the verification.
|
||||
3. Create a directory named `www` in your Home Assistant configuration directory (`/config/` share from Samba add-on).
|
||||
4. Place the downloaded `google*.html` file in the `www` directory.
|
||||
5. RESTART Home Assistant. **This is important!**
|
||||
6. Verify the file can be accessed in the browser, e.g., `https://example.com:8123/local/google123456789.html` (change filename). You should see a plain text message saying "google-site-verification: ...". If you see "404: Not Found" or something else, retry the above steps.
|
||||
7. Go back to Google Webmaster Central/Search Console and proceed with the verification.
|
||||
|
||||
##### DNS verification (only if you control your DNS record or use DuckDNS)
|
||||
|
||||
1. Enter your domain's base URL, like `https://example.com:8123/`
|
||||
2. Select DNS verification. If you're asked to choose your DNS provider, choose "Any DNS provider" or "Other".
|
||||
3. Add the TXT record to your DNS. If you use DuckDNS, use the format:
|
||||
```text
|
||||
https://www.duckdns.org/update?domains={your Duck DNS subdomain (the part before .duckdns.org)}&token={your Duck DNS token}&txt={google-site-verification record}
|
||||
```
|
||||
4. Wait until the changes take effect. This can be anywhere from seconds to hours, so be patient. You can use [this site to test it](https://www.digwebinterface.com/).
|
||||
5. Go back to Google Webmaster Central/Search Console and proceed with the verification.
|
||||
|
@ -8,7 +8,7 @@ ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: image
|
||||
ha_quality_scale: internal
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The Image integration allows Home Assistant to handle image assets in Home Assistant, for example,
|
||||
|
@ -5,7 +5,7 @@ ha_category:
|
||||
- Image Processing
|
||||
ha_release: 0.36
|
||||
ha_domain: image_processing
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
Image processing enables Home Assistant to process images from [cameras](/integrations/#camera). Only camera entities are supported as sources.
|
||||
|
@ -234,7 +234,7 @@ device_override:
|
||||
type: list
|
||||
keys:
|
||||
address:
|
||||
description: is found on the device itself in the form 1A.2B.3C or 1a2b3c.
|
||||
description: "Is found on the device itself in the form `1A.2B.3C` or `1a2b3c`. If there's no letter in the address you need to use quotation marks, e.g., `\"123456\"`, to avoid it becoming a number in YAML."
|
||||
required: true
|
||||
type: string
|
||||
cat:
|
||||
|
@ -6,6 +6,7 @@ ha_category:
|
||||
ha_release: '0.50'
|
||||
ha_quality_scale: internal
|
||||
ha_domain: intent_script
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `intent_script` integration allows users to configure actions and responses to intents. Intents can be fired by any integration that supports it. Examples are [Alexa](/integrations/alexa/) (Amazon Echo), [Dialogflow](/integrations/dialogflow/) (Google Assistant) and [Snips](/integrations/snips/).
|
||||
|
@ -5,6 +5,7 @@ ha_category:
|
||||
- Automation
|
||||
ha_release: pre 0.7
|
||||
ha_domain: keyboard
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `keyboard` integration simulates key presses on the host machine. It currently offers the following Buttons as a Service (BaaS):
|
||||
|
@ -283,19 +283,24 @@ device_class:
|
||||
required: false
|
||||
type: string
|
||||
reset_after:
|
||||
description: Reset back to OFF state after specified milliseconds.
|
||||
required: false
|
||||
type: integer
|
||||
ignore_internal_state:
|
||||
description: If set to true the update callbacks are always executed regardless of the current binary sensor state. If some of your automations are triggered multiple times make sure this setting is False.
|
||||
required: false
|
||||
type: boolean
|
||||
default: True
|
||||
context_timeout:
|
||||
description: The time in seconds between multiple identical telegram payloads would count towards the internal counter that is used for automations. Ex. You have automations in place that trigger your lights on button press and another set of lights if you click that button twice. This setting defines the time that a second button press would count toward, so if you set this 3.0 you can take up to 3 seconds in order to trigger the second button press. Maximum value is 10.0.
|
||||
description: Reset back to OFF state after specified seconds.
|
||||
required: false
|
||||
type: float
|
||||
default: 1.0
|
||||
invert:
|
||||
description: Invert the telegrams payload before processing. This is applied before `context_timeout` or `reset_after` is evaluated.
|
||||
required: false
|
||||
type: boolean
|
||||
default: False
|
||||
ignore_internal_state:
|
||||
description: Specifies if telegrams should ignore the internal state and always trigger a Home Assistant state update.
|
||||
required: false
|
||||
type: boolean
|
||||
default: False
|
||||
context_timeout:
|
||||
description: The time in seconds between multiple identical telegram payloads would count towards the internal counter that is used for automations. Ex. You have automations in place that trigger your lights on button press and another set of lights if you click that button twice. This setting defines the time that a second button press would count toward, so if you set this 3.0 you can take up to 3 seconds in order to trigger the second button press. If set `ignore_internal_state` will be set to `True` internally. Maximum value is 10.0.
|
||||
required: false
|
||||
type: float
|
||||
default: None
|
||||
{% endconfiguration %}
|
||||
|
||||
### Support for automations
|
||||
@ -455,6 +460,7 @@ The following values are valid for the `hvac_mode` attribute:
|
||||
|
||||
The following presets are valid for the `preset_mode` attribute:
|
||||
|
||||
- Auto (maps internally to PRESET_NONE within Home Assistant)
|
||||
- Comfort (maps internally to PRESET_COMFORT within Home Assistant)
|
||||
- Standby (maps internally to PRESET_AWAY within Home Assistant)
|
||||
- Night (maps internally to PRESET_SLEEP within Home Assistant)
|
||||
@ -556,7 +562,11 @@ operation_mode_standby_address:
|
||||
required: false
|
||||
type: string
|
||||
operation_modes:
|
||||
description: Overrides the supported operation modes. Provide the supported `hvac_mode` and `preset_mode` values for your device.
|
||||
description: Overrides the supported operation modes. Provide the supported `preset_mode` values for your device.
|
||||
required: false
|
||||
type: list
|
||||
controller_modes:
|
||||
description: Overrides the supported controller modes. Provide the supported `hvac_mode` values for your device.
|
||||
required: false
|
||||
type: list
|
||||
on_off_address:
|
||||
@ -891,6 +901,11 @@ type:
|
||||
description: A type from the following table must be defined. The DPT of the group address should match the expected KNX DPT to be parsed correctly.
|
||||
required: true
|
||||
type: string
|
||||
always_callback:
|
||||
description: Defines if telegrams with equal payload as the previously received telegram should trigger a state update within Home Assistant.
|
||||
required: false
|
||||
type: boolean
|
||||
default: False
|
||||
{% endconfiguration %}
|
||||
|
||||
| KNX DPT | type | size in byte | range | unit |
|
||||
@ -1078,6 +1093,15 @@ state_address:
|
||||
description: Separate KNX group address for retrieving the switch state. *DPT 1*
|
||||
required: false
|
||||
type: string
|
||||
invert:
|
||||
description: Invert the telegrams payload before processing or sending. This is applied before `reset_after` is evaluated so the reset will send "1" to the bus.
|
||||
required: false
|
||||
type: boolean
|
||||
default: False
|
||||
reset_after:
|
||||
description: Reset the switch back to OFF after specified seconds.
|
||||
required: false
|
||||
type: float
|
||||
{% endconfiguration %}
|
||||
|
||||
Some KNX devices can change their state internally without any messages on the KNX bus, e.g., if you configure a timer on a channel. The optional `state_address` can be used to inform Home Assistant about these state changes. If a KNX message is seen on the bus addressed to the given state address, this will overwrite the state of the switch object.
|
||||
|
@ -65,12 +65,12 @@ trv:
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
trv_proxy_ip:
|
||||
proxy_ip:
|
||||
description: IP address of a proxy for TRV integration.
|
||||
required: false
|
||||
type: string
|
||||
default: "127.0.0.1"
|
||||
trv_proxy_port:
|
||||
proxy_port:
|
||||
description: IP port address of a proxy for TRV integration.
|
||||
required: false
|
||||
type: integer
|
||||
@ -111,8 +111,8 @@ lightwave:
|
||||
R99D1:
|
||||
name: Bedroom Light
|
||||
trv:
|
||||
trv_proxy_ip: 127.0.0.1 # Proxy address, do not change unless running on a different server
|
||||
trv_proxy_port: 7878 # Do not change, unless a port clash
|
||||
proxy_ip: 127.0.0.1 # Proxy address, do not change unless running on a different server
|
||||
proxy_port: 7878 # Do not change, unless a port clash
|
||||
trvs:
|
||||
R1Dh: # The ID of the TRV.
|
||||
name: Bedroom TRV
|
||||
|
@ -13,7 +13,7 @@ ha_iot_class:
|
||||
The logbook integration provides a different perspective on the history of your
|
||||
house by showing all the changes that happened to your house in reverse
|
||||
chronological order. It depends on
|
||||
the `recorder` integration for storing the data. This means that if the
|
||||
the [`recorder`](/integrations/recorder/) integration for storing the data. This means that if the
|
||||
[`recorder`](/integrations/recorder/) integration is set up to use e.g., MySQL or
|
||||
PostgreSQL as data store, the `logbook` integration does not use the default
|
||||
SQLite database to store data.
|
||||
|
@ -8,6 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: logger
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `logger` integration lets you define the level of logging activities in Home
|
||||
|
@ -7,6 +7,7 @@ ha_release: 0.115
|
||||
ha_domain: media_source
|
||||
ha_codeowners:
|
||||
- '@hunterjm'
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The Media Source integration platform allows integrations to expose media for
|
||||
@ -24,7 +25,7 @@ media_source:
|
||||
|
||||
## Local Media
|
||||
|
||||
By default, the integration by default looks for media in a specified folder.
|
||||
By default, the integration looks for media in a specified folder.
|
||||
If other `media_dirs` are not declared you need to use `/media/local` path for
|
||||
example in companion app notification.
|
||||
|
||||
|
@ -8,7 +8,7 @@ ha_release: 0.57
|
||||
ha_domain: microsoft
|
||||
---
|
||||
|
||||
The `microsoft` text-to-speech platform uses the [TTS engine of the Microsoft Speech Service](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/text-to-speech) to read a text with natural sounding voices. This integration uses an API that is part of the Cognitive Services offering and is known as the Microsoft Speech API. For this integration to work, you need a free API key. You can use your [Azure subscription](https://azure.microsoft.com) to create an [Azure Speech resource](https://portal.azure.com/#create/Microsoft.CognitiveServicesSpeechServices/).
|
||||
The `microsoft` text-to-speech platform uses the [TTS engine of the Microsoft Speech Service](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/text-to-speech) to read a text with natural sounding voices. This integration uses an API that is part of the Cognitive Services offering and is known as the Microsoft Speech API. For this integration to work, you need a free API key. You can use your [Azure subscription](https://azure.microsoft.com) to create an [Azure Speech resource](https://portal.azure.com/#create/Microsoft.CognitiveServicesSpeechServices).
|
||||
|
||||
## Configuration
|
||||
|
||||
|
@ -7,7 +7,6 @@ ha_release: 0.29
|
||||
ha_iot_class: Local Polling
|
||||
ha_codeowners:
|
||||
- '@danielhiversen'
|
||||
- '@ChristianKuehnel'
|
||||
- '@basnijholt'
|
||||
ha_domain: miflora
|
||||
---
|
||||
|
@ -9,6 +9,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@robbiet480'
|
||||
ha_domain: mobile_app
|
||||
ha_iot_class: Local Push
|
||||
---
|
||||
|
||||
The Mobile App integration allows Home Assistant mobile apps to easily integrate with Home Assistant.
|
||||
|
@ -25,7 +25,7 @@ There is currently support for the following device types within Home Assistant:
|
||||
- [Sensor](#sensor)
|
||||
|
||||
<div class='note'>
|
||||
Note that this integration continues to support the Legacy Works With Nest API which is not accepting new users. The documentation for this API is at the bottom of this page so existing users can keep using it.
|
||||
This integration continues to support the Legacy Works With Nest API which is not accepting new users. The documentation for this API is at the bottom of this page so existing users can keep using it.
|
||||
</div>
|
||||
|
||||
## Overview: Supported Devices
|
||||
@ -47,25 +47,29 @@ supported by the SDM API.
|
||||
|
||||
## Account Setup
|
||||
|
||||
You will need to follow the instructions in [Device Access Registration](https://developers.google.com/nest/device-access/registration), which includes the following steps in the
|
||||
Quick Start Guide:
|
||||
You will need to follow the instructions in [Device Access Registration](https://developers.google.com/nest/device-access/registration) to authorize access to your devices. Follow these steps in the Quick Start Guide:
|
||||
|
||||
- Accept the Terms of Service.
|
||||
- Pay a fee (currently US$5).
|
||||
- Register in the Device Access Console to get a `project_id`.
|
||||
- Authorize your Google Account and create OAuth credentials to get a `client_id` and `client_secret`.
|
||||
- Enable pubsub events in the Device Access Console (creates a topic).
|
||||
- Create a pull subscription to get a `subscriber_id` ("Subscription ID" in Google Cloud Console).
|
||||
|
||||
<div class='note warning'>
|
||||
It is currently not possible to share/be invited to a home with a G-Suite account. Make sure that you pay the fee with an account that has access to your devices.
|
||||
</div>
|
||||
|
||||
Then you need to configure a Pub/Sub subscriber following the SDM API Event instructions under [Device Access: Events](https://developers.google.com/nest/device-access/api/events) though not using a service account. The basic
|
||||
steps are:
|
||||
|
||||
- [Enable events](https://developers.google.com/nest/device-access/subscribe-to-events#enable_events) in the [Device Access Console](https://console.nest.google.com/device-access/project-list) which creates a Pub/Sub topic.
|
||||
- [Enable the Cloud Pub/Sub API](https://console.developers.google.com/apis/library/pubsub.googleapis.com) in the Cloud Console.
|
||||
- [Create a Pub/Sub subscription](https://console.cloud.google.com/cloudpubsub/subscription/list) in the Google Cloud Platform console. Make sure to create a pull subscription and get a `subscriber_id` ("Subscription ID" in Google Cloud Console). The *Topic name* should match the topic name in the device access console.
|
||||
|
||||
Additionally, Home Assistant must be configured with a URL (e.g., external exposed [`http`](/integrations/http/), Nabu Casa, etc). When setting up the OAuth credentials, make sure the Home Assistant URL is in the list of *Authorized redirect URIs*, so the redirect back to Home Assistant can get an OAuth authorization code.
|
||||
|
||||
Follow all of the instructions in [Device Access: Quick Start Guide](https://developers.google.com/nest/device-access/get-started) carefully as it is easy to make a configuration mistake that is difficult to debug. It is recommended to exercise the entire guide, including the command to test out the API, to make sure that it is working before configuring Home Assistant.
|
||||
|
||||
It may be easiest to create a [Pub/Sub subscription](https://console.cloud.google.com/cloudpubsub/subscription/list) from the Google Cloud console. Make sure to use the *topic name* from the device access console and a unique subscription ID. Note the message retention is how long messages will queue while offline, so keep that short (e.g., under an hour) to avoid a potentially large backlog of updates.
|
||||
When you get to the steps about configuring events make sure to follow guide under [Events](https://developers.google.com/nest/device-access/api/events) that configures the [Pub/Sub subscription](https://console.cloud.google.com/cloudpubsub/subscription/list) from the Google Cloud console. Make sure to use the *topic name* from the device access console and a unique subscription ID in the cloud console. Note the message retention is how long messages will queue while offline, so keep that short (e.g., under an hour) to avoid a potentially large backlog of updates.
|
||||
|
||||
## Configuration
|
||||
|
||||
@ -76,8 +80,10 @@ It may be easiest to create a [Pub/Sub subscription](https://console.cloud.googl
|
||||
nest:
|
||||
client_id: CLIENT_ID
|
||||
client_secret: CLIENT_SECRET
|
||||
project_id: PROJECT_ID # ("Project ID" in the Device Access Console)
|
||||
subscriber_id: SUBSCRIBER_ID # ("Subscription ID" in Google Cloud Console)
|
||||
# "Project ID" in the Device Access Console
|
||||
project_id: PROJECT_ID
|
||||
# Provide the full path exactly as shown under "Subscription name" in Google Cloud Console
|
||||
subscriber_id: projects/project-label-22ee1/subscriptions/SUBSCRIBER_ID
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -94,7 +100,7 @@ project_id:
|
||||
required: false
|
||||
type: string
|
||||
subscriber_id:
|
||||
description: Your Pub/sub Subscription ID used to receive events. This is required to use the SDM API.
|
||||
description: Full path for the Pub/sub Subscription ID used to receive events. This is required to use the SDM API. Enter this exactly as it appers under "Subscription name" in the [Pub/Sub console](https://console.cloud.google.com/cloudpubsub/subscription/list).
|
||||
type: string
|
||||
required: false
|
||||
{% endconfiguration %}
|
||||
@ -115,6 +121,29 @@ Once your developer account is set up and you have a valid `nest` entry in `conf
|
||||
|
||||
- For trouble with the SDM API OAuth authorization flow with Google, see [Troubleshooting](https://developers.google.com/nest/device-access/authorize#troubleshooting) which includes guidance for errors like `redirect_uri_mismatch` where Google needs to know about your external URL
|
||||
|
||||
- You can see stats about your subscriber in the [Cloud Console](https://console.cloud.google.com/cloudpubsub/subscription/list) which includes # of messages that have yet to be acknowledged. This can tell you if the publisher is working, or if the subscriber is working. You can also `View Messages` to see any pending messages. Many old unacknowledged messages may indicate the subscriber is not working properly.
|
||||
|
||||
- To aid in diagnosing subscriber problems or camera stream issues it may help to turn up verbose logging by adding some or all of these to your `configuration.yaml` depending on where you are having trouble:
|
||||
|
||||
```yaml
|
||||
|
||||
logger:
|
||||
default: info
|
||||
logs:
|
||||
homeassistant.components.nest: debug
|
||||
homeassistant.components.nest.climate_sdm: debug
|
||||
homeassistant.components.nest.camera_sdm: debug
|
||||
homeassistant.components.nest.sensor_sdm: debug
|
||||
google_nest_sdm: debug
|
||||
google_nest_sdm.device: debug
|
||||
google_nest_sdm.device_manager: debug
|
||||
google_nest_sdm.google_nest_subscriber: debug
|
||||
google_nest_sdm.event: debug
|
||||
google.cloud.pubsub_v1: debug
|
||||
google.cloud.pubsub_v1.subscriber._protocol.streaming_pull_manager: debug
|
||||
|
||||
```
|
||||
|
||||
## Camera
|
||||
|
||||
All Google Nest Cam models, Google Nest Hello Video Doorbell, Google Nest Hub Max expose a [CameraLiveStream](https://developers.google.com/nest/device-access/traits/device/camera-live-stream) via the SDM API, which returns a RTSP live stream which can be viewed from Home Assistant.
|
||||
@ -138,7 +167,7 @@ Given a thermostat named `Upstairs` then sensors are created with names such as
|
||||
|
||||
# Legacy Works With Nest API
|
||||
|
||||
This section contains instructions for the Legacy [Works with Nest](https://developers.nest.com/) API.
|
||||
This section contains instructions for the Legacy [Works with Nest](https://developers.nest.com/) API.
|
||||
|
||||
<div class='note warning'>
|
||||
New users are not currently able to set up a Works With Nest Developer account. The documentation is preserved here for existing users of the API.
|
||||
|
@ -37,6 +37,8 @@ Both events have three attributes:
|
||||
|
||||
- **sensor**: Name of `opensky` sensor that fired the event.
|
||||
- **callsign**: Callsign of the flight.
|
||||
- **latitude**: Latitude of the flight.
|
||||
- **longitude**: Longitude of the flight.
|
||||
- **altitude**: Altitude of the flight in meters.
|
||||
|
||||
To receive notifications of the entering flights using the [Home Assistant Companion App](https://companion.home-assistant.io/), add the following lines to your `configuration.yaml` file:
|
||||
|
@ -10,6 +10,7 @@ ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@fabaff'
|
||||
- '@freekode'
|
||||
- '@nzapponi'
|
||||
ha_domain: openweathermap
|
||||
---
|
||||
|
||||
|
@ -8,6 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/frontend'
|
||||
ha_domain: panel_iframe
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `panel_iframe` support allows you to add additional panels to your Home Assistant frontend. The panels are listed in the sidebar and can contain external resources like the web frontend of your router, your monitoring system, or your media server.
|
||||
|
@ -6,8 +6,6 @@ ha_category:
|
||||
ha_iot_class: Calculated
|
||||
ha_release: 0.44
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@ChristianKuehnel'
|
||||
ha_domain: plant
|
||||
---
|
||||
|
||||
|
@ -10,7 +10,7 @@ ha_domain: proximity
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `proximity` integration allows you to monitor the proximity of devices to a particular [zone](/integrations/zone/) and the direction of travel. The result is an entity created in Home Assistant which maintains the proximity data.
|
||||
The `proximity` integration allows you to monitor the proximity of devices or persons to a particular [zone](/integrations/zone/) and the direction of travel. The result is an entity created in Home Assistant which maintains the proximity data.
|
||||
|
||||
This integration is useful to reduce the number of automation rules required when wanting to perform automations based on locations outside a particular zone. The [zone](/getting-started/automation-trigger/#zone-trigger) and [state](/getting-started/automation-trigger/#state-trigger) based triggers allow similar control but the number of rules grows exponentially when factors such as direction of travel need to be taken into account.
|
||||
|
||||
@ -22,7 +22,7 @@ Some examples of its use include:
|
||||
The Proximity entity which is created has the following values:
|
||||
|
||||
- `state`: Distance from the monitored zone (in km)
|
||||
- `dir_of_travel`: Direction of the closest device to the monitored zone. Values are:
|
||||
- `dir_of_travel`: Direction of the closest device or person to the monitored zone. Values are:
|
||||
- 'not set'
|
||||
- 'arrived'
|
||||
- 'towards'
|
||||
@ -36,7 +36,7 @@ The Proximity entity which is created has the following values:
|
||||
- 'mi'
|
||||
- 'yd'
|
||||
- 'ft'
|
||||
- `nearest`: The device which is nearest to the zone
|
||||
- `nearest`: The device or person which is nearest to the zone
|
||||
|
||||
To enable this integration in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
@ -59,11 +59,11 @@ zone:
|
||||
type: map
|
||||
keys:
|
||||
ignored_zones:
|
||||
description: Where proximity is not calculated for a device (either the device being monitored or ones being compared (e.g., work or school).
|
||||
description: Where proximity is not calculated for a device or person (either the device being monitored or ones being compared (e.g., work or school).
|
||||
required: false
|
||||
type: list
|
||||
devices:
|
||||
description: A list of devices to compare location against to check closeness to the configured zone.
|
||||
description: A list of devices and/or persons to compare location against to check closeness to the configured zone.
|
||||
required: false
|
||||
type: list
|
||||
tolerance:
|
||||
@ -100,6 +100,6 @@ proximity:
|
||||
work:
|
||||
zone: work
|
||||
devices:
|
||||
- device_tracker.iphone2
|
||||
- person.paulus
|
||||
tolerance: 10
|
||||
```
|
||||
|
@ -5,6 +5,7 @@ ha_category:
|
||||
- Camera
|
||||
ha_release: 0.65
|
||||
ha_domain: proxy
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `proxy` camera platform allows you to pass another camera's output through post-processing routines and generate a new camera with the post-processed output.
|
||||
|
@ -7,6 +7,7 @@ ha_release: 0.93
|
||||
ha_codeowners:
|
||||
- '@swamp-ig'
|
||||
ha_domain: ptvsd
|
||||
ha_iot_class: Local Push
|
||||
---
|
||||
|
||||
<div class="note warning">
|
||||
|
@ -6,6 +6,7 @@ ha_category:
|
||||
ha_release: 0.47
|
||||
ha_quality_scale: internal
|
||||
ha_domain: python_script
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
This integration allows you to write Python scripts that are exposed as services in Home Assistant. Each Python file created in the `<config>/python_scripts/` folder will be exposed as a service. The content is not cached so you can easily develop: edit file, save changes, call service. The scripts are run in a sandboxed environment. The following variables are available in the sandbox:
|
||||
|
@ -64,10 +64,10 @@ password:
|
||||
description: The password of the user to connect to the QNAP NAS.
|
||||
required: true
|
||||
type: string
|
||||
drivers:
|
||||
drives:
|
||||
description: "Array of drives to monitor (ex: `0:1`)."
|
||||
required: false
|
||||
default: all drivers
|
||||
default: all drives
|
||||
type: list
|
||||
volumes:
|
||||
description: "Array of volumes to monitor (ex: `DataVol1`)."
|
||||
|
@ -6,6 +6,7 @@ ha_category:
|
||||
ha_release: pre 0.7
|
||||
ha_quality_scale: internal
|
||||
ha_domain: recorder
|
||||
ha_iot_class: Local Push
|
||||
---
|
||||
|
||||
The `recorder` integration is responsible for storing details in a database, which then are handled by the [`history` ](/integrations/history/) integration.
|
||||
|
@ -6,6 +6,8 @@ ha_category:
|
||||
ha_iot_class: Local Push
|
||||
ha_release: 0.43
|
||||
ha_domain: rpi_gpio_pwm
|
||||
ha_codeowners:
|
||||
- '@soldag'
|
||||
---
|
||||
|
||||
The `rpi_gpio_pwm` platform allows to control multiple lights using pulse-width modulation, for example LED strips. It supports one-color, RGB and RGBW LEDs driven by GPIOs of a Raspberry Pi (same host or remote) or a PCA9685 controller.
|
||||
|
@ -6,6 +6,7 @@ ha_release: 0.105
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: safe_mode
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `safe_mode` integration is an internally used integration by the
|
||||
|
@ -62,7 +62,7 @@ variables:
|
||||
description: The value of the variable. Any YAML is valid. Templates can also be used to pass a value to the variable.
|
||||
type: any
|
||||
fields:
|
||||
description: Information about the parameters that the script uses; see the [Passing variables to scripts](#passing-variables-to-scripts) section below.
|
||||
description: "Information about the parameters that the script uses; see the [Passing variables to scripts](#passing-variables-to-scripts) section below. Please Note: In order for this description to be displayed in the Services tab of the Developer Tools in Lovelace, the script description must be defined as well."
|
||||
required: false
|
||||
default: {}
|
||||
type: map
|
||||
|
@ -50,3 +50,23 @@ show_delivered:
|
||||
type: boolean
|
||||
default: false
|
||||
{% endconfiguration %}
|
||||
|
||||
## Examples
|
||||
|
||||
### Lovelace summary card
|
||||
|
||||
Use the following templated Markdown card to list all packages in transit along their status:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
type: markdown
|
||||
title: Packages in transit
|
||||
content: >-
|
||||
{% for package in
|
||||
states.sensor.seventeentrack_packages_in_transit.attributes.packages %}
|
||||
|
||||
**{{ package.friendly_name }}:** {{ package.info_text }}
|
||||
|
||||
{% endfor %}
|
||||
```
|
||||
{% endraw %}
|
||||
|
@ -10,6 +10,7 @@ ha_release: 0.115
|
||||
ha_codeowners:
|
||||
- '@balloob'
|
||||
- '@bieniu'
|
||||
- '@thecode'
|
||||
ha_iot_class: Local Polling
|
||||
ha_domain: shelly
|
||||
featured: true
|
||||
|
@ -6,7 +6,7 @@ ha_category:
|
||||
- Sensor
|
||||
- Binary Sensor
|
||||
ha_release: 0.29
|
||||
ha_iot_class: Local Polling
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_domain: sleepiq
|
||||
---
|
||||
|
||||
|
@ -63,6 +63,7 @@ client_secret:
|
||||
|
||||
## Activating the Spotify integration
|
||||
|
||||
- Access Home Assistant using the URL that you used in the **Redirect URI** step above
|
||||
- Go to the **Configuration** page in the Home Assistant frontend.
|
||||
- Click on **Integrations**.
|
||||
- Click the orange **+** on the bottom-right.
|
||||
|
@ -5,6 +5,7 @@ ha_release: '0.102'
|
||||
ha_codeowners:
|
||||
- '@pvizeli'
|
||||
ha_domain: stt
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
Speech-to-Text (STT) allows you to stream speech data to the STT API and get text back.
|
||||
|
@ -6,6 +6,7 @@ ha_category:
|
||||
ha_release: 0.58
|
||||
ha_quality_scale: internal
|
||||
ha_domain: system_log
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `system_log` integration stores information about all logged errors and warnings in Home Assistant. To view your logs, navigate to **Configuration** -> **Logs**. In order to not overload Home Assistant with log data, only the 50 last errors and warnings will be stored. Older entries are automatically discarded from the log. It is possible to change the number of stored log entries using the parameter `max_entries`.
|
||||
|
@ -90,6 +90,9 @@ automation:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
To find your scanner's device ID, open Developer tools -> Events -> Listen to events and subscribe to `tag_scanned`.
|
||||
Then scan a tag on the reader and note down the `device_id` from the `data` section.
|
||||
|
||||
## Printing tags
|
||||
|
||||
NFC tags come in many different shapes and formats. [NFC Stickers](https://amzn.to/3bQU0nN) are great to make existing objects scannable, like books or photos. But another fun use case is to get printable NFC cards. The great thing about these cards is that they are very accessible. Kids as young as 1 year old will be able to use it.
|
||||
|
@ -2,6 +2,7 @@
|
||||
ha_release: 0.8
|
||||
title: Webhook
|
||||
ha_domain: webhook
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
<script>location.href = '/docs/automation/trigger/#webhook-trigger';</script>
|
||||
|
@ -8,6 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: websocket_api
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `websocket_api` integration set up a WebSocket API and allows one to interact with a Home Assistant instance that is running headless. This integration depends on the [`http` component](/integrations/http/).
|
||||
|
@ -125,7 +125,7 @@ In a text editor, replace ```USER_PROFILE_NAME``` in the template sensors below
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensors:
|
||||
sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
withings_weight_lbs_USER_PROFILE_NAME:
|
||||
|
@ -122,4 +122,3 @@ This service allows for loading a preset saved on the WLED device.
|
||||
| `preset` | no | ID of the preset slot to load from. |
|
||||
|
||||
More information on presets [is documented in the WLED Wiki](https://github.com/Aircoookie/WLED/wiki/Presets)
|
||||
|
||||
|
@ -18,6 +18,7 @@ In order to integrate the camera with Home Assistant, it is necessary to install
|
||||
|
||||
* [Yi 720p](https://github.com/fritz-smh/yi-hack)
|
||||
* [Yi Home 17CN / 27US / 47US / 1080p Home / Dome / 1080p Dome](https://github.com/shadow-1/yi-hack-v3)
|
||||
* [Recent Yi 1080p Home / 1080p Dome](https://github.com/roleoroleo/yi-hack-MStar)
|
||||
* [Xiaofang 1080p Camera](https://github.com/samtap/fang-hacks)
|
||||
|
||||
Once installed, please ensure that you have enabled FTP.
|
||||
|
@ -1480,10 +1480,11 @@ vacuum_kitchen:
|
||||
Valid room numbers can be retrieved using miio command-line tool:
|
||||
|
||||
```bash
|
||||
miio protocol call <ip of the vacuum> get_room_mapping
|
||||
miiocli vacuum --ip <ip of the vacuum> --token <your vacuum token> get_room_mapping
|
||||
```
|
||||
|
||||
It will only give room numbers and not the room names. To map the room numbers to your actual rooms, one can just test the clean_segment service with a number and see which room it cleans. The Xiaomi Home App will highlight the room after issuing the request, which makes the process rather convenient.
|
||||
It will return the full mapping of room numbers to user-defined names as a list of (number,name) tuples.
|
||||
Alternatively, one can just test the clean_segment service with a number and see which room it cleans.
|
||||
|
||||
It seems to be the case that Numbers 1..15 are used to number the intitial segmentation done by the vacuum cleaner itself. Numbers 16 and upwards numbers rooms from the users manual editing.
|
||||
|
||||
|
@ -57,7 +57,7 @@ name:
|
||||
type: string
|
||||
default: notify
|
||||
username:
|
||||
description: This is your login name (usually your phone number). Veryfy that you can use your credentials on the Yesss.at website.
|
||||
description: This is your login name (usually your phone number, but in some cases it could be your e-mail). Veryfy that you can use your credentials on the Yesss.at website.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
@ -81,9 +81,9 @@ For an alternative provider you would set the `provider` option. An example conf
|
||||
notify:
|
||||
- name: sms_to_self
|
||||
platform: yessssms
|
||||
username: 06641234567
|
||||
username: "+436641234567"
|
||||
password: tops3cr3tpass0rd
|
||||
recipient: 06641234567
|
||||
recipient: "+436641234567"
|
||||
provider: educom
|
||||
```
|
||||
|
||||
|
@ -59,16 +59,21 @@ Some other Zigbee coordinator hardware may not support a firmware that is capabl
|
||||
- [Elelabs Zigbee USB Adapter](https://elelabs.com/products/elelabs_usb_adapter.html) (Note! Not a must but recommend [upgrade the EmberZNet NCP application firmware](https://github.com/Elelabs/elelabs-zigbee-ezsp-utility))
|
||||
- [Elelabs Zigbee Raspberry Pi Shield](https://elelabs.com/products/elelabs_zigbee_shield.html) (Note! Not a must but recommend [upgrade the EmberZNet NCP application firmware](https://github.com/Elelabs/elelabs-zigbee-ezsp-utility))
|
||||
- Bitron Video/Smabit BV AV2010/10 USB-Stick with Silicon Labs Ember 3587
|
||||
- Telegesis ETRX357USB (Note! This first have to be flashed with other EmberZNet firmware)
|
||||
- Telegesis ETRX357USB-LRS (Note! This first have to be flashed with other EmberZNet firmware)
|
||||
- Telegesis ETRX357USB-LRS+8M (Note! This first have to be flashed with other EmberZNet firmware)
|
||||
- Telegesis ETRX357USB (Note! This first have to be [flashed with other EmberZNet firmware](https://github.com/walthowd/husbzb-firmware))
|
||||
- Telegesis ETRX357USB-LRS (Note! This first have to be [flashed with other EmberZNet firmware](https://github.com/walthowd/husbzb-firmware))
|
||||
- Telegesis ETRX357USB-LRS+8M (Note! This first have to be [flashed with other EmberZNet firmware](https://github.com/walthowd/husbzb-firmware))
|
||||
- Texas Instruments based radios with Z-Stack 3.x.x (via the [zigpy-znp](https://github.com/zha-ng/zigpy-znp) library for zigpy)
|
||||
- [CC2652P/CC2652R/CC2652RB USB stick or dev board hardware flashed with Z-Stack 3.x.x coordinator firmware](https://www.zigbee2mqtt.io/information/supported_adapters)
|
||||
- [CC1352P/CC1352R USB stick or dev board hardware flashed with Z-Stack 3.x.x coordinator firmware](https://www.zigbee2mqtt.io/information/supported_adapters)
|
||||
- Digi XBee Zigbee based radios (via the [zigpy-xbee](https://github.com/zigpy/zigpy-xbee) library for zigpy)
|
||||
- Digi XBee Series 3 (xbee3-24) modules
|
||||
- Digi XBee Series 2C (S2C) modules
|
||||
- Digi XBee Series 2 (S2) modules (Note! This first have to be flashed with Zigbee Coordinator API firmware)
|
||||
- [Digi XBee Series 3 (xbee3-24)](https://www.digi.com/products/embedded-systems/digi-xbee/rf-modules/2-4-ghz-rf-modules/xbee3-zigbee-3) and [Digi XBee Series S2C](https://www.digi.com/products/embedded-systems/digi-xbee/rf-modules/2-4-ghz-rf-modules/xbee-zigbee) modules
|
||||
- Note! While not a must, [it is recommend to upgrade XBee Series 3 and S2C to newest firmware firmware using XCTU](https://www.digi.com/resources/documentation/Digidocs/90002002/Default.htm#Tasks/t_load_zb_firmware.htm)
|
||||
- [Digi XBee Series 2 (S2)](https://www.digi.com/support/productdetail?pid=3430) modules (Note! This first have to be [flashed with Zigbee Coordinator API firmware](https://www.digi.com/support/productdetail?pid=3430))
|
||||
- ZiGate based radios (via the [zigpy-zigate](https://github.com/zigpy/zigpy-zigate) library for zigpy and require firmware 3.1d or later)
|
||||
- [ZiGate USB-TTL](https://zigate.fr/produit/zigate-ttl/)
|
||||
- [ZiGate USB-DIN](https://zigate.fr/produit/zigate-usb-din/)
|
||||
- [PiZiGate](https://zigate.fr/produit/pizigate-v1-0/)
|
||||
- [Wifi ZiGate](https://zigate.fr/produit/zigate-pack-wifi-v1-3/)
|
||||
|
||||
### Experimental support for additional Zigbee radio modules
|
||||
|
||||
@ -76,11 +81,6 @@ Some other Zigbee coordinator hardware may not support a firmware that is capabl
|
||||
- [CC2531 USB stick hardware flashed with Z-Stack Home 1.2.x coordinator firmware](https://www.zigbee2mqtt.io/information/supported_adapters)
|
||||
- [CC2530 + CC2591/CC2592 USB stick hardware flashed with Z-Stack Home 1.2.x coordinator firmware](https://www.zigbee2mqtt.io/information/supported_adapters)
|
||||
- [CC2538 + CC2592 dev board hardware flashed with Z-Stack Home 1.2.x coordinator firmware](https://www.zigbee2mqtt.io/information/supported_adapters)
|
||||
- ZiGate based radios (via the [zigpy-zigate](https://github.com/zigpy/zigpy-zigate) library for zigpy and require firmware 3.1a or later)
|
||||
- [ZiGate USB-TTL](https://zigate.fr/produit/zigate-ttl/)
|
||||
- [ZiGate USB-DIN](https://zigate.fr/produit/zigate-usb-din/)
|
||||
- [PiZiGate](https://zigate.fr/produit/pizigate-v1-0/)
|
||||
- [Wifi ZiGate](https://zigate.fr/produit/zigate-pack-wifi-v1-3/)
|
||||
|
||||
## Configuration - GUI
|
||||
|
||||
|
@ -7,18 +7,38 @@ description: "The Button card allows you to add buttons to perform tasks."
|
||||
The Button card allows you to add buttons to perform tasks.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_entity_button_card.png' alt='Screenshot of the button card'>
|
||||
Screenshot of the Button card.
|
||||
<img src='/images/lovelace/lovelace_entity_button_card.png' alt='Screenshot of three Button Cards'>
|
||||
Screenshot of three Button Cards.
|
||||
</p>
|
||||
|
||||
To add the Button card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Button** from the card picker. All options for this card can be configured via the user interface.
|
||||
|
||||
Alternatively, the card can be configured using YAML:
|
||||
## Card Settings
|
||||
|
||||
```yaml
|
||||
type: button
|
||||
entity: light.living_room
|
||||
```
|
||||
{% configuration_basic %}
|
||||
Entity:
|
||||
description: The entity ID the card interacts with, for example, `light.living_room`.
|
||||
Name:
|
||||
description: The button name that is displayed on the card. If this field is left blank and the card interacts with an entity, the button name defaults to the entity name. Otherwise, no name is displayed.
|
||||
Icon:
|
||||
description: The icon that is displayed on the card. If this field is left blank and the card interacts with an entity, the icon defaults to the entity domain icon. Otherwise, no icon is displayed.
|
||||
Show Name:
|
||||
description: A toggle to show or hide the button name.
|
||||
Show Icon:
|
||||
description: A toggle to show or hide the icon.
|
||||
Icon Height:
|
||||
description: The height of the icon, in pixels.
|
||||
Theme:
|
||||
description: The card theme, which may be set to any installed theme. For more information about themes, see the [frontend documentation](https://www.home-assistant.io/integrations/frontend/).
|
||||
Tap Action:
|
||||
description: The action taken on card tap. For more information, see the [action documentation](/lovelace/actions/#tap-action).
|
||||
Hold Action:
|
||||
description: The action taken on card tap and hold. For more information, see the [action documentation](/lovelace/actions/#hold-action).
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
### YAML
|
||||
|
||||
This is for if you use YAML mode or prefer to use YAML in the Code Editor in the UI.
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
@ -27,26 +47,26 @@ type:
|
||||
type: string
|
||||
entity:
|
||||
required: false
|
||||
description: Home Assistant entity ID.
|
||||
description: The entity ID the card interacts with, for example, `light.living_room`.
|
||||
type: string
|
||||
name:
|
||||
required: false
|
||||
description: Overwrites friendly name.
|
||||
description: The button name that is displayed on the card. It defaults to the entity name only if the card interacts with an entity. Otherwise, if not configured, no name is displayed.
|
||||
type: string
|
||||
default: Name of Entity
|
||||
default: Entity name
|
||||
icon:
|
||||
required: false
|
||||
description: Icon that will be be used to overwrite the entity picture or entity icon.
|
||||
description: The icon that is displayed on the card. It defaults to the entity domain icon only if the card interacts with an entity. Otherwise, if not configured, no icon is displayed.
|
||||
type: string
|
||||
default: Entity Domain Icon
|
||||
show_name:
|
||||
required: false
|
||||
description: Show name.
|
||||
description: If false, the button name is not shown on the card.
|
||||
type: boolean
|
||||
default: "true"
|
||||
show_icon:
|
||||
required: false
|
||||
description: Show icon.
|
||||
description: If false, the icon is not shown on the card.
|
||||
type: boolean
|
||||
default: "true"
|
||||
show_state:
|
||||
@ -56,44 +76,51 @@ show_state:
|
||||
default: "false"
|
||||
icon_height:
|
||||
required: false
|
||||
description: Set the height for the icon. This is in pixels which is handled by the configuration UI. (Advanced users can use other CSS values if they like)
|
||||
description: The height of the icon. Any CSS value may be used.
|
||||
type: string
|
||||
default: auto
|
||||
state_color:
|
||||
required: false
|
||||
description: Set to `true` to have icons colored when entity is active
|
||||
description: If false, the icon does not change color when the entity is active.
|
||||
type: boolean
|
||||
default: true
|
||||
tap_action:
|
||||
required: false
|
||||
description: Action taken on card tap. See [action documentation](/lovelace/actions/#tap-action).
|
||||
description: The action taken on card tap. For more information, see the [action documentation](/lovelace/actions/#tap-action).
|
||||
type: map
|
||||
hold_action:
|
||||
required: false
|
||||
description: Action taken on card tap and hold. See [action documentation](/lovelace/actions/#hold-action).
|
||||
description: The action taken on card tap and hold. For more information, see the [action documentation](/lovelace/actions/#hold-action).
|
||||
type: map
|
||||
double_tap_action:
|
||||
required: false
|
||||
description: Action taken on card double tap. See [action documentation](/lovelace/actions/#double-tap-action).
|
||||
description: The action taken on card double-tap. For more information, see the [action documentation](/lovelace/actions/#double-tap-action).
|
||||
type: map
|
||||
theme:
|
||||
required: false
|
||||
description: "Set to any theme within `themes.yaml`"
|
||||
description: The card theme, which may be set to any theme from the `themes.yaml` file. For more information about themes, see the [frontend documentation](https://www.home-assistant.io/integrations/frontend/).
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
type: button
|
||||
entity: light.living_room
|
||||
```
|
||||
|
||||
## Options For Exemptions
|
||||
|
||||
{% configuration badges %}
|
||||
user:
|
||||
required: true
|
||||
description: User id that can see the view tab.
|
||||
description: The id of the user that can see the view tab.
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## Examples
|
||||
|
||||
Title and Script Service Example:
|
||||
Button Card with a button name and a script that runs when card is tapped:
|
||||
|
||||
```yaml
|
||||
type: button
|
||||
@ -107,6 +134,6 @@ tap_action:
|
||||
```
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_entity_button_complex_card.png' alt='Screenshot of the button card'>
|
||||
Screenshot of the Button card with Title and Script Service.
|
||||
<img src='/images/lovelace/lovelace_entity_button_complex_card.png' alt='Screenshot of the Button card with Script Service'>
|
||||
Screenshot of the Button card with Script Service.
|
||||
</p>
|
||||
|
67
source/_lovelace/logbook.markdown
Normal file
@ -0,0 +1,67 @@
|
||||
---
|
||||
title: "Logbook Card"
|
||||
sidebar_label: Logbook
|
||||
description: "The Logbook card displays entries from the logbook for specific entities."
|
||||
---
|
||||
|
||||
The Logbook card displays entries from the logbook for specific entities.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_logbook.png' alt='Screenshot of the logbook card'>
|
||||
Screenshot of the Logbook card.
|
||||
</p>
|
||||
|
||||
To add the Logbook card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Logbook** from the card picker.
|
||||
|
||||
### Card Settings
|
||||
|
||||
|
||||
{% configuration_basic %}
|
||||
Entities:
|
||||
description: The entities whose logbook entries will show in the card.
|
||||
Title:
|
||||
description: The title that shows on the top of the card.
|
||||
Hours to show:
|
||||
description: The number of hours in the past that will be tracked in the card.
|
||||
Theme:
|
||||
description: Theme your card using any installed theme in your HA environment.
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
### YAML
|
||||
|
||||
This is for if you use YAML mode or prefer to use YAML in the Code Editor in the UI.
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: logbook
|
||||
type: string
|
||||
entities:
|
||||
required: true
|
||||
description: "The entities that will show in the card."
|
||||
type: list
|
||||
title:
|
||||
required: false
|
||||
description: Title of the card.
|
||||
type: string
|
||||
hours_to_show:
|
||||
required: false
|
||||
description: Number of hours in the past to track.
|
||||
type: integer
|
||||
default: 24
|
||||
theme:
|
||||
required: false
|
||||
description: "Set to any theme within `themes.yaml`."
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
type: logbook
|
||||
entities:
|
||||
- fan.ceiling_fan
|
||||
- fan.living_room_fan
|
||||
- light.ceiling_lights
|
||||
hours_to_show: 24
|
||||
```
|
@ -99,4 +99,20 @@ content: |
|
||||
Hello, {{user}}
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
{% endraw %}
|
||||
|
||||
## Icons
|
||||
|
||||
You can also use [materialdesignicons.com]() icons in the `content` of the card.
|
||||
|
||||
For example:
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
type: markdown
|
||||
content: |
|
||||
<ha-icon icon="mdi:home-assistant"></ha-icon>
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
@ -60,6 +60,7 @@ So, keep an eye on our social media for the announcement.
|
||||
- [Release 0.117.3 - November 4](#release-01173---november-4)
|
||||
- [Release 0.117.4 - November 4](#release-01174---november-4)
|
||||
- [Release 0.117.5 - November 5](#release-01175---november-5)
|
||||
- [Release 0.117.6 - November 11](#release-01176---november-11)
|
||||
- [If you need help...](#if-you-need-help)
|
||||
- [Breaking Changes](#breaking-changes)
|
||||
- [Farewell to the following](#farewell-to-the-following)
|
||||
@ -481,6 +482,24 @@ The following integrations are now available via the Home Assistant UI:
|
||||
[simplisafe docs]: /integrations/simplisafe/
|
||||
[tasmota docs]: /integrations/tasmota/
|
||||
|
||||
## Release 0.117.6 - November 11
|
||||
|
||||
- Remove unneeded state restoration of the physical device in rpi_gpio_pwm integration ([@soldag] - [#42804]) ([rpi_gpio_pwm docs])
|
||||
- Bump pwmled to v1.6.7 ([@soldag] - [#42903]) ([rpi_gpio_pwm docs])
|
||||
- Bump gTTS-token to 1.1.4 ([@hmmbob] - [#43015]) ([google_translate docs])
|
||||
- Fix Plex auth issues by setting header ([@jjlawren] - [#43081]) ([plex docs])
|
||||
|
||||
[#42804]: https://github.com/home-assistant/core/pull/42804
|
||||
[#42903]: https://github.com/home-assistant/core/pull/42903
|
||||
[#43015]: https://github.com/home-assistant/core/pull/43015
|
||||
[#43081]: https://github.com/home-assistant/core/pull/43081
|
||||
[@hmmbob]: https://github.com/hmmbob
|
||||
[@jjlawren]: https://github.com/jjlawren
|
||||
[@soldag]: https://github.com/soldag
|
||||
[google_translate docs]: /integrations/google_translate/
|
||||
[plex docs]: /integrations/plex/
|
||||
[rpi_gpio_pwm docs]: /integrations/rpi_gpio_pwm/
|
||||
|
||||
## If you need help...
|
||||
|
||||
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e).
|
||||
|
1671
source/_posts/2020-11-18-release-118.markdown
Normal file
38
source/_posts/2020-11-23-tplink-local-access.markdown
Normal file
@ -0,0 +1,38 @@
|
||||
---
|
||||
title: "[Better solution!] TP-Link offers way to add local API back"
|
||||
description: "TP-Link last week decided to publish a firmware upgrade that removed access to the local API. They are partially reverting this decision."
|
||||
date: 2020-11-23 00:01:00
|
||||
date_formatted: "November 23, 2020"
|
||||
author: Paulus Schoutsen
|
||||
author_twitter: balloob
|
||||
categories: Public-Service-Announcement
|
||||
og_image: /images/blog/2020-11-23-tplink/forum-post-send-ticket.png
|
||||
---
|
||||
|
||||
**Update Nov 26:** TP-Link has now announced that they are working on a new firmware that should solve it. DM them on Twitter for info.
|
||||
|
||||
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">We're sorry the recent firmware update has problems for the Kasa community. Since its release, we've been busy creating a Beta firmware that'll enable people to continue to use third-party smart home software & platforms using local APIs. Please DM if you'd like the Beta firmware</p>— TP-LINK UK (@TPLINKUK) <a href="https://twitter.com/TPLINKUK/status/1331970582901100544?ref_src=twsrc%5Etfw">November 26, 2020</a>
|
||||
</blockquote>
|
||||
|
||||
---
|
||||
|
||||
Last week TP-Link released an update for their HS100 and HS110 plugs that removed the local API. This was done because of a "security concern". I put this in quotes because it has not been verified and this reason has been given before when removing interoperability. TP-Link communicated this via Twitter in response to a user voicing their concern.
|
||||
|
||||
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">There were security vulnerabilities on the plug for the local management, the latest firmware version fixed these security issues. It is suggested to use the TP-Link official App KASA to manage the plug. If you have issues, pls feel free to let us know.</p>— TP-LINK UK (@TPLINKUK) <a href="https://twitter.com/TPLINKUK/status/1328687659133399043?ref_src=twsrc%5Etfw">November 17, 2020</a>
|
||||
</blockquote>
|
||||
|
||||
Lots of users, rightfully so, got angry. They bought the plugs assuming the local API was a feature. Removing this feature and forcing users through the TP-Link cloud sucks. It removes the one feature why TP-Link stood out among many smart plugs.
|
||||
|
||||
After a week of angry users, it looks like TP-Link has listened… _somewhat_. They are offering a temporary solution to roll back the firmware. We haven't found any public documentation, but there are forum posts by their employees [here](https://community.tp-link.com/en/home/forum/topic/236268#topic-reply-523030) and [here](https://community.tp-link.com/en/home/forum/topic/237614#topic-reply-520984) about it.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/blog/2020-11-23-tplink/forum-post-send-ticket.png' alt='TP-Link employee on the forums explaining how to downgrade the firmware'>
|
||||
<a href="https://community.tp-link.com/en/home/forum/topic/236268#topic-reply-523030">Forum post</a> by a TP-Link employee to send in a ticket.
|
||||
</p>
|
||||
|
||||
We are hoping for a better solution, but for now this is what you should do:
|
||||
|
||||
1. ~~Submit a ticket to [technical support](https://www.tp-link.com/en/support/contact-technical-support/#E-mail-Support). Make sure to include the MAC address of your plug.~~ We got an update from TP-Link that this step is no longer necessary.
|
||||
2. Go to the forums and send [this user](https://community.tp-link.com/en/home/uc/info/650029) a message with your TP-Link ID, model number, hardware version and MAC address.
|
||||
|
||||
TP-Link, if you're reading along, please reach out to us at hello@home-assistant.io so we can discuss a better long term solution for local control. Happy to talk!
|
@ -32,4 +32,7 @@ Recordings of the keynote and all tracks and sessions will be made available on
|
||||
|
||||
## Speakers & Schedule
|
||||
|
||||
_To be announced._
|
||||
The speakers and talks schedule is currently being finalized. Most of the
|
||||
schedule is complete and listed on our Hopin page.
|
||||
|
||||
[View the Home Assistant Conference schedule on Hopin](https://hopin.to/events/home-assistant-conference#schedule)
|
||||
|
@ -28,7 +28,7 @@ and make sure the first partition is available.
|
||||
```txt
|
||||
i2c-dev
|
||||
```
|
||||
- In the root of the USB drive edit the file called `config.txt` add two lines
|
||||
- In the root of the `hassos-boot` partition, edit the file called `config.txt` add two lines
|
||||
to it:
|
||||
```txt
|
||||
dtparam=i2c_vc=on
|
||||
|
@ -131,3 +131,8 @@ You often need a snapshot in case your system has crashed. If you only store the
|
||||
- [Samba backup](https://github.com/thomasmauerer/hassio-addons/tree/master/samba-backup)
|
||||
|
||||
- [Remote Backup (uses scp)](https://github.com/overkill32/hassio-remote-backup)
|
||||
|
||||
|
||||
### Lost Password and password reset
|
||||
|
||||
Please refer to the [I'm locked out!](https://www.home-assistant.io/docs/locked_out/#home-assistant-including-supervised) documentation page.
|
||||
|
@ -2,11 +2,15 @@
|
||||
title: "Home Assistant OS FAQ"
|
||||
description: "Frequently Asked Questions for Home Assistant OS"
|
||||
---
|
||||
## Is USB Boot for the Pi4 supported? Is the Pi4 with 8GB RAM supported?
|
||||
## Is USB Boot for the Raspberry Pi 4 supported?
|
||||
|
||||
The bootloader for Home Assistant OS (uboot) does not yet support Pi4 booting from USB. Support is likely a month or two away as of July 2020.
|
||||
Due to the complexity of USB and the USB mass storage device class booting from a USB device is brittle. Since booting from a USB drive this process has to be done multiple times (firmware/boot loader and the operating system), there is a high chance that this process doesn't complete in one of these stages. In general, the Linux USB stack is solid. Due to this, it is recommended to boot Home Assistant OS from an SD card and use a USB attached flash drive as data partition only. The `datactl` command, available on the OS shell, allows moving of the data partition.
|
||||
|
||||
The Pi4 with 8GB RAM is now supported on the 64-bit image.
|
||||
That said, booting Home Assistant OS completely from a USB drive (SSD or any other USB mass storage device) works with *some* USB devices. USB Devices that are known to work with Raspberry Pi OS (check the Raspberry Pi Forum) are more likely to work with Home Assistant OS. However, because Home Assistant OS has also U-Boot in the boot chain, there are devices which are known to work with Raspberry Pi OS but do *not* work with Home Assistant OS.
|
||||
|
||||
## Is the Raspberry Pi 4 with 8GB RAM supported?
|
||||
|
||||
The Raspberry Pi 4 with 8GB RAM is supported with Home Assistant OS 5.5 and later using the 32-bit and 64-bit image. The 64-bit is the better tested option at this point.
|
||||
|
||||
## How do I run a specific version of Home Assistant?
|
||||
|
||||
|
@ -14,7 +14,7 @@ The following will take you through the steps required to install Home Assistant
|
||||
- [Raspberry Pi 4 Model B (1 GB, 2 GB and 4 GB model) 32-bit][pi4-32] (32-bit is required for GPIO support)
|
||||
- [Raspberry Pi 4 Model B (1 GB, 2 GB, 4 GB and 8 GB model) 64-bit][pi4-64] (64-bit is required for 8 GB model)
|
||||
- [Tinkerboard][tinker]
|
||||
- [Odroid-C2][odroid-c2], [Odroid-N2][odroid-n2], [Odroid-XU4][odroid-xu4]
|
||||
- [Odroid-C2][odroid-c2], [Odroid-C4 (Beta)][odroid-c4], [Odroid-N2][odroid-n2], [Odroid-XU4][odroid-xu4]
|
||||
- [Intel NUC][intel-nuc]
|
||||
|
||||
- As a virtual appliance (x86_64/UEFI):
|
||||
@ -105,23 +105,24 @@ If you would like to test next release before anyone else, you can install the b
|
||||
|
||||
[balenaEtcher]: https://www.balena.io/etcher
|
||||
[hassos-network]: https://github.com/home-assistant/operating-system/blob/dev/Documentation/network.md
|
||||
[pi0-w]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_rpi0-w-4.15.img.gz
|
||||
[pi1]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_rpi-4.15.img.gz
|
||||
[pi2]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_rpi2-4.15.img.gz
|
||||
[pi3-32]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_rpi3-4.15.img.gz
|
||||
[pi3-64]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_rpi3-64-4.15.img.gz
|
||||
[pi4-32]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_rpi4-4.15.img.gz
|
||||
[pi4-64]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_rpi4-64-4.15.img.gz
|
||||
[tinker]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_tinker-4.15.img.gz
|
||||
[odroid-c2]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_odroid-c2-4.15.img.gz
|
||||
[odroid-n2]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_odroid-n2-4.15.img.gz
|
||||
[odroid-xu4]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_odroid-xu4-4.15.img.gz
|
||||
[intel-nuc]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_intel-nuc-4.15.img.gz
|
||||
[vmdk]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_ova-4.15.vmdk.gz
|
||||
[vhdx]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_ova-4.15.vhdx.gz
|
||||
[vdi]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_ova-4.15.vdi.gz
|
||||
[qcow2]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_ova-4.15.qcow2.gz
|
||||
[Virtual Appliance]: https://github.com/home-assistant/operating-system/releases/download/4.15/hassos_ova-4.15.ova
|
||||
[pi0-w]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi0-w-4.16.img.gz
|
||||
[pi1]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi-4.16.img.gz
|
||||
[pi2]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi2-4.16.img.gz
|
||||
[pi3-32]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi3-4.16.img.gz
|
||||
[pi3-64]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi3-64-4.16.img.gz
|
||||
[pi4-32]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi4-4.16.img.gz
|
||||
[pi4-64]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi4-64-4.16.img.gz
|
||||
[tinker]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_tinker-4.16.img.gz
|
||||
[odroid-c2]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_odroid-c2-4.16.img.gz
|
||||
[odroid-c4]: https://github.com/home-assistant/operating-system/releases/download/5.5/hassos_odroid-c4-5.5.img.gz
|
||||
[odroid-n2]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_odroid-n2-4.16.img.gz
|
||||
[odroid-xu4]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_odroid-xu4-4.16.img.gz
|
||||
[intel-nuc]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_intel-nuc-4.16.img.gz
|
||||
[vmdk]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_ova-4.16.vmdk.gz
|
||||
[vhdx]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_ova-4.16.vhdx.gz
|
||||
[vdi]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_ova-4.16.vdi.gz
|
||||
[qcow2]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_ova-4.16.qcow2.gz
|
||||
[Virtual Appliance]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_ova-4.16.ova
|
||||
[local]: http://homeassistant.local:8123
|
||||
[samba]: /addons/samba/
|
||||
[ssh]: /addons/ssh/
|
||||
|
@ -49,6 +49,8 @@ Looking for [talking points](/help/talking-points/) or [trivia](/help/trivia)?
|
||||
|
||||
Don't miss the regular [Home Assistant podcasts](https://hasspodcast.io/).
|
||||
|
||||
- [Why I use Home Assistant for open source home automation](https://opensource.com/article/20/11/home-assistant) - November 2020
|
||||
- [Thomas-Krenn-Award 2020: Dino, Teckids und Home Assistant](https://www.thomas-krenn.com/de/tkmag/allgemein/gewinner-thomas-krenn-award-2020/) - June 2020
|
||||
- [Magical Smart Home Upgrade Lets Muggles Control Their Homes With a Wand Too](https://gizmodo.com/magical-smart-home-upgrade-lets-muggles-control-their-h-1833941228) - April 2019
|
||||
- [Thomas-Krenn-Award 2019 – The winners](https://www.thomas-krenn.com/de/tkmag/tk-insights/thomas-krenn-award-2019-gewinner/) - March 2019
|
||||
- [How to set up and use Home Assistant: For Dummies edition](https://www.the-ambient.com/how-to/set-up-use-home-assistant-644) - October 2018
|
||||
|
BIN
source/images/blog/2020-11-0.118/grid-card.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
source/images/blog/2020-11-0.118/header-footer-editor.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
source/images/blog/2020-11-0.118/logbook-card.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
source/images/blog/2020-11-0.118/quickbar-navigate.png
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
source/images/blog/2020-11-0.118/social.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
source/images/blog/2020-11-0.118/supervisor-network.png
Normal file
After Width: | Height: | Size: 73 KiB |
BIN
source/images/blog/2020-11-23-tplink/forum-post-send-ticket.png
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
source/images/lovelace/lovelace_logbook.png
Normal file
After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 11 KiB |
BIN
source/images/screenshots/supervisor_registry_dockerhub.png
Normal file
After Width: | Height: | Size: 23 KiB |
@ -45,15 +45,6 @@ description:
|
||||
"
|
||||
></a>
|
||||
|
||||
<a
|
||||
class="material-card picture-promo"
|
||||
href="/blog/2020/10/01/hacktoberfest-2020/"
|
||||
style="
|
||||
background-image: url(/images/frontpage/hacktoberfest.png);
|
||||
padding-top: 57%;
|
||||
"
|
||||
></a>
|
||||
|
||||
<div class="material-card text">
|
||||
<h1>Alexa, turn on the lights</h1>
|
||||
Use Alexa to control Home Assistant.
|
||||
|
41
source/more-info/dockerhub-rate-limit.markdown
Normal file
@ -0,0 +1,41 @@
|
||||
---
|
||||
title: "Docker Hub Rate Limit"
|
||||
description: "Docker Hub is rate-limiting how many pull you can do."
|
||||
---
|
||||
|
||||
## The issue
|
||||
|
||||
Docker Hub enforces a limit on how much you are allowed to fetch container information from their container registry. [Read more about how it's handled here][docker-rate-limit].
|
||||
|
||||
Home Assistant uses Docker Hub as the container registry. When your IP address is rate limited updating our containers will fail.
|
||||
|
||||
## The solutions
|
||||
|
||||
If you are running watchtower or similar solutions to keep your containers up to date, you need to reconfigure them to check less often than the default configuration. If you are running a Supervised installation, you should also consider removing them completely since running those alongside the Supervisor is [not supported][unsupported-container].
|
||||
|
||||
When this is done, you need to wait until the limit has lifted, this can take up to 6 hours.
|
||||
|
||||
If you are sharing the IP address with other parties, their usage will also affect you. The Supervisor supports logging in to Docker Hub with an account, with this approach, all the fetches between the Supervisor and Docker Hub will be using authentication and will not be limited by the anonymous rate limits. Authenticated users are also rate limited, but that is a dedicated limit tied to your account.
|
||||
|
||||
_If you do not have a Docker Hub account [you can create one here][dockerhub-signup]._
|
||||
|
||||
To use your Docker Hub credentials with the Supervisor:
|
||||
|
||||
- You need to have the advanced user toggle enabled in your user profile setting.
|
||||
- Go to the Supervisor panel in the Home Assistant UI.
|
||||
- Next, to the "Add-on Store" tab.
|
||||
- Click the three dots in the top right corner of the screen, and select "Registries".
|
||||
|
||||
In the dialog that opens up, click on "Add new registry" and enter `hub.docker.com` as the registry followed by your credentials:
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/screenshots/supervisor_registry_dockerhub.png' alt='Adding authentication for Docker Hub in the Supervisor panel.'>
|
||||
Adding authentication for Docker Hub in the Supervisor panel
|
||||
</p>
|
||||
|
||||
_If you do not want to use the UI, this can also be done with the [CLI]_
|
||||
|
||||
[docker-rate-limit]: https://docs.docker.com/docker-hub/download-rate-limit/
|
||||
[dockerhub-signup]: https://hub.docker.com/signup
|
||||
[unsupported-container]: /more-info/unsupported/container.markdown
|
||||
[CLI]: https://github.com/home-assistant/cli
|