diff --git a/Gemfile b/Gemfile
index db889a318ae..7c74274d80f 100644
--- a/Gemfile
+++ b/Gemfile
@@ -4,7 +4,7 @@ ruby '> 2.5.0'
group :development do
gem 'rake', '13.0.1'
- gem 'jekyll', '4.1.0'
+ gem 'jekyll', '4.1.1'
gem 'compass', '1.0.3'
gem 'sass-globbing', '1.1.5'
gem 'stringex', '2.8.5'
diff --git a/Gemfile.lock b/Gemfile.lock
index 192a66e674b..01b6bb635c5 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -31,7 +31,7 @@ GEM
http_parser.rb (0.6.0)
i18n (1.8.3)
concurrent-ruby (~> 1.0)
- jekyll (4.1.0)
+ jekyll (4.1.1)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
@@ -60,7 +60,7 @@ GEM
jekyll
jekyll-watch (2.2.1)
listen (~> 3.0)
- kramdown (2.2.1)
+ kramdown (2.3.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
@@ -121,7 +121,7 @@ PLATFORMS
DEPENDENCIES
compass (= 1.0.3)
- jekyll (= 4.1.0)
+ jekyll (= 4.1.1)
jekyll-commonmark (= 1.3.1)
jekyll-paginate (= 1.1.0)
jekyll-redirect-from (= 0.16.0)
diff --git a/source/_docs/authentication/providers.markdown b/source/_docs/authentication/providers.markdown
index 21f2375f473..0e825b19cda 100644
--- a/source/_docs/authentication/providers.markdown
+++ b/source/_docs/authentication/providers.markdown
@@ -87,8 +87,8 @@ trusted_users:
required: false
type: map
keys:
- IP_ADDRESS:
- description: List of users available to select on this IP address or network.
+ USER_ID:
+ description: List of user ids available to select on this IP address or network.
required: false
type: [list, string]
allow_bypass_login:
diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown
index cb960d21c09..1b01d155153 100644
--- a/source/_docs/automation/trigger.markdown
+++ b/source/_docs/automation/trigger.markdown
@@ -180,7 +180,7 @@ The `for` template(s) will be evaluated when an entity changes as specified.
-Use quotes around your values for `from` and `to` to avoid the YAML parser interpreting values as booleans.
+Use quotes around your values for `from` and `to` to avoid the YAML parser from interpreting values as booleans.
diff --git a/source/_docs/installation/docker.markdown b/source/_docs/installation/docker.markdown
index f6f27f989a8..82e639884cc 100644
--- a/source/_docs/installation/docker.markdown
+++ b/source/_docs/installation/docker.markdown
@@ -16,10 +16,29 @@ Note that Docker command line option `--net=host` or the compose file equivalent
Installation with Docker is straightforward. Adjust the following command so that `/PATH_TO_YOUR_CONFIG` points at the folder where you want to store your configuration and run it:
+## Autostart using Docker
+
+
+
+Do not try to combine Docker `restart` policies with host-level process managers (such as `systemd`), because this creates conflicts.
+
+
+
+Add `--restart=always` to your `docker run` command before homeassistant/home-assistant:stable. See [the Docker autostart documentation](https://docs.docker.com/config/containers/start-containers-automatically/) for details and more options.
+
### Linux
```bash
-docker run --init -d --name="home-assistant" -e "TZ=America/New_York" -v /PATH_TO_YOUR_CONFIG:/config --net=host homeassistant/home-assistant:stable
+docker run -d --name="home-assistant" -v /PATH_TO_YOUR_CONFIG:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant:stable
+```
+
+Updating:
+
+```bash
+docker pull homeassistant/home-assistant:stable # if this returns "Image is up to date" then you can stop here
+docker stop home-assistant # stop the running container
+docker rm home-assistant # remove it from Docker's list of containers
+docker run -d --name="home-assistant" -v /PATH_TO_YOUR_CONFIG:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant:stable # finally, start a new one
```
### Raspberry Pi 3 (Raspberry Pi OS)
diff --git a/source/_docs/mqtt.markdown b/source/_docs/mqtt.markdown
index bc403b15b66..9ef86f4038a 100644
--- a/source/_docs/mqtt.markdown
+++ b/source/_docs/mqtt.markdown
@@ -23,6 +23,5 @@ For detailed setup instructions, please refer to the [MQTT broker](/docs/mqtt/br
- [Birth and last will messages](/docs/mqtt/birth_will/)
- [Testing your setup](/docs/mqtt/testing/)
- [Logging](/docs/mqtt/logging/)
-- [Processing JSON](/docs/mqtt/processing_json/)
See the [MQTT example component](/cookbook/python_component_mqtt_basic/) how to integrate your own component.
diff --git a/source/_docs/mqtt/broker.markdown b/source/_docs/mqtt/broker.markdown
index 3e71ff41e7e..a1c036ae62f 100644
--- a/source/_docs/mqtt/broker.markdown
+++ b/source/_docs/mqtt/broker.markdown
@@ -12,6 +12,14 @@ This is the most private option, is running your own MQTT broker.
The recommended setup method is to use the [Mosquitto MQTT broker add-on](https://github.com/home-assistant/hassio-addons/blob/master/mosquitto/DOCS.md).
+
+
+
+
+There is [an issue](https://github.com/rabbitmq/rabbitmq-mqtt/issues/154) with the RabbitMQ MQTT Plugin which break MQTT message retention. Don't use the RabbitMQ MQTT plugin, instead use another broker like Mosquitto.
+
+
+
## Configuration
```yaml
diff --git a/source/_docs/mqtt/processing_json.markdown b/source/_docs/mqtt/processing_json.markdown
deleted file mode 100644
index 776ff37bd08..00000000000
--- a/source/_docs/mqtt/processing_json.markdown
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title: "Processing JSON"
-description: "Instructions on how to process the MQTT payload."
-logo: mqtt.png
----
-
-The MQTT [switch](/integrations/switch.mqtt/) and [sensor](/integrations/sensor.mqtt/) platforms support processing JSON over MQTT messages and parsing them using JSONPath. JSONPath allows you to specify where in the JSON the value resides that you want to use. The following examples will always return the value `100`.
-
-| JSONPath query | JSON |
-| -------------- | ---- |
-| `somekey` | `{ 'somekey': 100 }`
-| `somekey[0]` | `{ 'somekey': [100] }`
-| `somekey[0].value` | `{ 'somekey': [ { value: 100 } ] }`
-
-To use this, add the following key to your `configuration.yaml`:
-
-```yaml
-switch:
- platform: mqtt
- state_format: 'json:somekey[0].value'
-```
-It is also possible to extract JSON values by using a value template:
-
-```yaml
-switch:
- platform: mqtt
- value_template: '{% raw %}{{ value_json.somekey[0].value }}{% endraw %}'
-```
-
-More information about the full JSONPath syntax can be found [in their documentation](https://github.com/kennknowles/python-jsonpath-rw#jsonpath-syntax).
diff --git a/source/_docs/z-wave/device-specific.markdown b/source/_docs/z-wave/device-specific.markdown
index dc0ac20212d..45395b5a4fa 100644
--- a/source/_docs/z-wave/device-specific.markdown
+++ b/source/_docs/z-wave/device-specific.markdown
@@ -161,6 +161,17 @@ Here's a handy configuration for the Aeon Labs Minimote that defines all possibl
Some models of the Zooz Toggle switches ship with an instruction manual with incorrect instruction for Z-Wave inclusion/exclusion. The instructions say that the switch should be quickly switched on-off-on for inclusion and off-on-off for exclusion. However, the correct method is on-on-on for inclusion and off-off-off for exclusion.
+### Inovelli Light/Fan Combo (LZW36)
+Follow the [instructions](https://support.inovelli.com/portal/kb/articles/installation-setup-lzw36-fan-light-red-series-gen-2-home-assistant-hass-io) provided by Inovelli. You will need to uncomment command class 38 in the imported configuration file.
+
+```xml
+
+
+
+
+
+```
+
## Central Scene configuration
To provide Central Scene support you need to **stop your Z-Wave network** and modify your `zwcfg_*.xml` file according to the following guides. Start your Z-Wave network again after editing `zwcfg_*.xml`.
diff --git a/source/_integrations/binary_sensor.xiaomi_aqara.markdown b/source/_integrations/binary_sensor.xiaomi_aqara.markdown
index f5e72c23ba0..4493f42eb6b 100644
--- a/source/_integrations/binary_sensor.xiaomi_aqara.markdown
+++ b/source/_integrations/binary_sensor.xiaomi_aqara.markdown
@@ -24,7 +24,7 @@ The requirement is that you have setup the [`xiaomi aqara` integration](/integra
| Gas Leak Detector | natgas | JTQJ-BF-01LM/BW | on, off | | | |
| Water Leak Sensor | sensor_wleak.aq1 | SJCGQ11LM | on, off | | | |
| Button (1st gen) | switch | WXKG01LM | on (through long_click_press), off | `xiaomi_aqara.click`| `click_type`| `long_click_press`, `long_click_release`, `hold`, `single`, `double` |
-| Button (2nd gen) | sensor_switch.aq2, remote.b1acn01 | WXKG11LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single`, `double` |
+| Button (2nd gen) | sensor_switch.aq2, remote.b1acn01 | WXKG11LM | on (through long_click_press), off | `xiaomi_aqara.click` | `click_type` | `single`, `double`, `long_click_press`, `hold` |
| Button (2nd gen, model b) | sensor_switch.aq3 | WXKG12LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single`, `double`, `long_click_press`, `shake` |
| Aqara Wireless Switch (Single) | 86sw1 | WXKG03LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single` |
| Aqara Wireless Switch (Double) | 86sw2 | WXKG02LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single`, `both` |
@@ -154,7 +154,7 @@ The requirement is that you have setup the [`xiaomi aqara` integration](/integra
#### Xiaomi Wireless Button
-As indicated in the table on top of this page there are 3 versions of the button. For the round shaped button the available events are `single`, `double`, `hold`, `long_click_press` and `long_click_release`. Aqara branded buttons are square shaped. Model WXKG11LM only supports `single` and `double` events. WXKG12LM supports `single`, `double`, `long_click_press` and `shake` events. For the Aqara versions the delay between two clicks to generate a double click must be larger than with the round button. Clicking too quickly generates a single click event.
+As indicated in the table on top of this page there are 3 versions of the button. For the round shaped button the available events are `single`, `double`, `hold`, `long_click_press` and `long_click_release`. Aqara branded buttons are square shaped. Model WXKG11LM only supports `single`, `double`, `long_click_press`and `hold` events. WXKG12LM supports `single`, `double`, `long_click_press` and `shake` events. For the Aqara versions the delay between two clicks to generate a double click must be larger than with the round button. Clicking too quickly generates a single click event.
```yaml
- alias: Toggle dining light on single press
diff --git a/source/_integrations/denonavr.markdown b/source/_integrations/denonavr.markdown
index 0cd55e8978c..1d120f96758 100644
--- a/source/_integrations/denonavr.markdown
+++ b/source/_integrations/denonavr.markdown
@@ -25,6 +25,7 @@ Known supported devices:
- Denon AVR-X2300W
- Denon AVR-X3300W
- Denon AVR-X3400H
+- Denon AVR-X3600H
- Denon AVR-X4100W
- Denon AVR-X4300H
- Denon AVR-X4500H
@@ -34,6 +35,7 @@ Known supported devices:
- Denon AVR-3312
- Denon AVR-4810
- Denon AVR-S710W
+- Denon AVR-S720W
- Denon AVR-S750H
- Marantz M-CR510
- Marantz M-CR603
diff --git a/source/_integrations/homekit.markdown b/source/_integrations/homekit.markdown
index 9526edd0359..9f54099ab72 100644
--- a/source/_integrations/homekit.markdown
+++ b/source/_integrations/homekit.markdown
@@ -611,6 +611,8 @@ If you have any iOS 12.x devices signed into your iCloud account, media player e
#### Accessories are all listed as not responding
+There are reports where the IGMP settings in a router were causing issues with HomeKit. This resulted in a situation where all of the Home Assistant HomeKit accessories stopped responding a few minutes after Home Assistant (re)started. Double check your router's IGPM settings if you experiencing this issue. The default IGMP settings typically work best.
+
See [specific entity doesn't work](#specific-entity-doesnt-work)
#### Accessory not responding - after restart or update
diff --git a/source/_integrations/input_datetime.markdown b/source/_integrations/input_datetime.markdown
index c89b15e6b6e..31c723729c1 100644
--- a/source/_integrations/input_datetime.markdown
+++ b/source/_integrations/input_datetime.markdown
@@ -111,7 +111,7 @@ automation (note that you will need a
automation:
trigger:
platform: template
- value_template: "{{ states('sensor.time') == (state_attr('input_datetime.bedroom_alarm_clock_time', 'timestamp') | int | timestamp_custom('%H:%M', True)) }}"
+ value_template: "{{ states('sensor.time') == (state_attr('input_datetime.bedroom_alarm_clock_time', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}"
action:
service: light.turn_on
entity_id: light.bedroom
diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown
index b2d5b055d7c..03ee9aa4503 100644
--- a/source/_integrations/mqtt.markdown
+++ b/source/_integrations/mqtt.markdown
@@ -37,4 +37,3 @@ mqtt:
- [Birth and last will messages](/docs/mqtt/birth_will/)
- [Testing your setup](/docs/mqtt/testing/)
- [Logging](/docs/mqtt/logging/)
-- [Processing JSON](/docs/mqtt/processing_json/)
diff --git a/source/_integrations/nut.markdown b/source/_integrations/nut.markdown
index 43ee723be42..822fb8b9cec 100644
--- a/source/_integrations/nut.markdown
+++ b/source/_integrations/nut.markdown
@@ -41,6 +41,11 @@ sensor:
required: false
default: 3493
type: integer
+ name:
+ description: Custom name of the sensor
+ required: false
+ default: NUT UPS
+ type: string
alias:
description: Name of the UPS on the NUT server.
required: false
diff --git a/source/_integrations/onvif.markdown b/source/_integrations/onvif.markdown
index de197942f09..b517a78af4a 100644
--- a/source/_integrations/onvif.markdown
+++ b/source/_integrations/onvif.markdown
@@ -26,7 +26,7 @@ If running Home Asssistant Core in a venv, ensure that libxml2 and libxslt pytho
### Configuration Notes
-Most of the ONVIF devices support more than one audio/video profile. Each profile provides different image quality, or in the case of an NVR, separate connected cameras. This integration will add entities for all compatible profiles with the video encoding set to H254. Usually, the first profile has the highest quality and it is the profile used by default. However, you may want to use a lower quality image. You may disable unwanted entities through the Home Assistant UI.
+Most of the ONVIF devices support more than one audio/video profile. Each profile provides different image quality, or in the case of an NVR, separate connected cameras. This integration will add entities for all compatible profiles with the video encoding set to H.264. Usually, the first profile has the highest quality and it is the profile used by default. However, you may want to use a lower quality image. You may disable unwanted entities through the Home Assistant UI.
### Extra configuration of the integration
diff --git a/source/_integrations/xiaomi_aqara.markdown b/source/_integrations/xiaomi_aqara.markdown
index 9f9468176cb..621484d22c0 100644
--- a/source/_integrations/xiaomi_aqara.markdown
+++ b/source/_integrations/xiaomi_aqara.markdown
@@ -235,6 +235,8 @@ That means that Home Assistant is not getting any response from your Xiaomi gate
- Turn on the gateway (220V).
- Open a serial terminal application (e.g., PuTTY) and connect to the serial port assigned to the USB-UART module (baudrate: 115200).
- Wait until the gateway is booted up, connect the RX, TX and GND wires to the UART module (don't connect the Vcc (power) wire!).
+ - RX on UART to TX on gateway
+ - TX on UART to RX on gateway
- You will see all the messages from the gateway.
- Send the command `psm-set network open_pf 3` (the command has to end with a `CR` newline character).
- Check your settings executing the command `psm-get network open_pf` to be sure it's OK.
diff --git a/source/_integrations/yi.markdown b/source/_integrations/yi.markdown
index 856320725df..9cfd99c49e2 100644
--- a/source/_integrations/yi.markdown
+++ b/source/_integrations/yi.markdown
@@ -23,7 +23,8 @@ To successfully implement this platform, the Home Assistant host should be capab
### Installing Alternative Firmware
-In order to integrate the camera with Home Assistant, it is necessary to install a custom firmware on the device. Instructions for doing so can be found via the [yi-hack-v3 GitHub project](https://github.com/shadow-1/yi-hack-v3) or if you have a 2019 version camera [yi-hack-6FUS_4.5.0 GitHub project](https://github.com/roleoroleo/yi-hack-6FUS_4.5.0).
+In order to integrate the camera with Home Assistant, it is necessary to install a custom firmware on the device. Instructions for doing so can be found via the [yi-hack-v3 GitHub project](https://github.com/shadow-1/yi-hack-v3).
+If you have a 2019/2020 version camera use [yi-hack-MStar GitHub project](https://github.com/roleoroleo/yi-hack-MStar) or [yi-hack-Allwinner GitHub project](https://github.com/roleoroleo/yi-hack-Allwinner). In this case configure the cam as ONVIF and read the wiki for further details.
Once installed, please ensure that you have enabled FTP and Telnet on your device.