Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2021-12-27 20:51:43 +01:00
commit b0d25401a2
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
114 changed files with 5382 additions and 444 deletions

View File

@ -57,12 +57,14 @@ source/_integrations/axis.markdown @Kane610
source/_integrations/azure_devops.markdown @timmo001
source/_integrations/azure_event_hub.markdown @eavanvalkenburg
source/_integrations/azure_service_bus.markdown @hfurubotten
source/_integrations/balboa.markdown @garbled1
source/_integrations/beewi_smartclim.markdown @alemuro
source/_integrations/bitcoin.markdown @fabaff
source/_integrations/bizkaibus.markdown @UgaitzEtxebarria
source/_integrations/blebox.markdown @bbx-a @bbx-jp
source/_integrations/blink.markdown @fronzbot
source/_integrations/blueprint.markdown @home-assistant/core
source/_integrations/bluesound.markdown @thrawnarn
source/_integrations/bmp280.markdown @belidzs
source/_integrations/bmw_connected_drive.markdown @gerard33 @rikroe
source/_integrations/bond.markdown @bdraco @prystupa @joshs85
@ -74,6 +76,7 @@ source/_integrations/brunt.markdown @eavanvalkenburg
source/_integrations/bsblan.markdown @liudger
source/_integrations/bt_smarthub.markdown @jxwolstenholme
source/_integrations/buienradar.markdown @mjj4791 @ties @Robbie1221
source/_integrations/button.markdown @home-assistant/core
source/_integrations/cast.markdown @emontnemery
source/_integrations/cert_expiry.markdown @Cereal2nd @jjlawren
source/_integrations/circuit.markdown @braam
@ -108,6 +111,7 @@ source/_integrations/denonavr.markdown @ol-iver @starkillerOG
source/_integrations/derivative.markdown @afaucogney
source/_integrations/device_automation.markdown @home-assistant/core
source/_integrations/devolo_home_control.markdown @2Fake @Shutgun
source/_integrations/devolo_home_network.markdown @2Fake @Shutgun
source/_integrations/dexcom.markdown @gagebenne
source/_integrations/dhcp.markdown @bdraco
source/_integrations/dht.markdown @thegardenmonkey
@ -135,6 +139,7 @@ source/_integrations/emby.markdown @mezz64
source/_integrations/emoncms.markdown @borpin
source/_integrations/emonitor.markdown @bdraco
source/_integrations/emulated_kasa.markdown @kbickar
source/_integrations/energy.markdown @home-assistant/core
source/_integrations/enigma2.markdown @fbradyirl
source/_integrations/enocean.markdown @bdurrer
source/_integrations/enphase_envoy.markdown @gtdiehl
@ -145,6 +150,7 @@ source/_integrations/epson.markdown @pszafer
source/_integrations/epsonworkforce.markdown @ThaStealth
source/_integrations/eq3btsmart.markdown @rytilahti
source/_integrations/esphome.markdown @OttoWinter @jesserockz
source/_integrations/evil_genius_labs.markdown @balloob
source/_integrations/evohome.markdown @zxdavb
source/_integrations/ezviz.markdown @RenierM26 @baqs
source/_integrations/faa_delays.markdown @ntilley905
@ -170,7 +176,7 @@ source/_integrations/freebox.markdown @hacf-fr @Quentame
source/_integrations/freedompro.markdown @stefano055415
source/_integrations/fritz.markdown @mammuth @AaronDavidSchneider @chemelli74
source/_integrations/fritzbox.markdown @mib1185 @flabbamann
source/_integrations/fronius.markdown @nielstron
source/_integrations/fronius.markdown @nielstron @farmio
source/_integrations/frontend.markdown @home-assistant/frontend
source/_integrations/garages_amsterdam.markdown @klaasnicolaas
source/_integrations/gdacs.markdown @exxamalte
@ -215,7 +221,7 @@ source/_integrations/homematic.markdown @pvizeli @danielperna84
source/_integrations/honeywell.markdown @rdfurman
source/_integrations/http.markdown @home-assistant/core
source/_integrations/huawei_lte.markdown @scop @fphammerle
source/_integrations/hue.markdown @balloob @frenck
source/_integrations/hue.markdown @balloob @marcelveldt
source/_integrations/huisbaasje.markdown @dennisschroer
source/_integrations/humidifier.markdown @home-assistant/core @Shulyaka
source/_integrations/hunterdouglas_powerview.markdown @bdraco
@ -247,6 +253,7 @@ source/_integrations/irish_rail_transport.markdown @ttroy50
source/_integrations/islamic_prayer_times.markdown @engrbm87
source/_integrations/isy994.markdown @bdraco @shbatm
source/_integrations/izone.markdown @Swamp-Ig
source/_integrations/jellyfin.markdown @j-stienstra
source/_integrations/jewish_calendar.markdown @tsvi
source/_integrations/juicenet.markdown @jesserockz
source/_integrations/kaiterra.markdown @Michsior14
@ -406,6 +413,7 @@ source/_integrations/raincloud.markdown @vanstinator
source/_integrations/rainforest_eagle.markdown @gtdiehl @jcalbert
source/_integrations/rainmachine.markdown @bachya
source/_integrations/random.markdown @fabaff
source/_integrations/rdw.markdown @frenck
source/_integrations/recollect_waste.markdown @bachya
source/_integrations/recorder.markdown @home-assistant/core
source/_integrations/rejseplanen.markdown @DarkFox
@ -413,6 +421,7 @@ source/_integrations/renault.markdown @epenet
source/_integrations/repetier.markdown @MTrab
source/_integrations/rflink.markdown @javicalle
source/_integrations/rfxtrx.markdown @danielhiversen @elupus @RobBie1221
source/_integrations/ridwell.markdown @bachya
source/_integrations/ring.markdown @balloob
source/_integrations/risco.markdown @OnFreund
source/_integrations/rituals_perfume_genie.markdown @milanmeu
@ -503,12 +512,15 @@ source/_integrations/syslog.markdown @fabaff
source/_integrations/system_bridge.markdown @timmo001
source/_integrations/tado.markdown @michaelarnauts @noltari
source/_integrations/tag.markdown @balloob @dmulcahey
source/_integrations/tahoma.markdown @philklei
source/_integrations/tailscale.markdown @frenck
source/_integrations/tankerkoenig.markdown @guillempages
source/_integrations/tapsaff.markdown @bazwilliams
source/_integrations/tasmota.markdown @emontnemery
source/_integrations/tautulli.markdown @ludeeus
source/_integrations/tellduslive.markdown @fredrike
source/_integrations/template.markdown @PhracturedBlue @tetienne @home-assistant/core
source/_integrations/tesla_wall_connector.markdown @einarhauks
source/_integrations/tfiac.markdown @fredrike @mellado
source/_integrations/thethingsnetwork.markdown @fabaff
source/_integrations/threshold.markdown @fabaff
@ -517,11 +529,11 @@ source/_integrations/tile.markdown @bachya
source/_integrations/time_date.markdown @fabaff
source/_integrations/tmb.markdown @alemuro
source/_integrations/todoist.markdown @boralyl
source/_integrations/tolo.markdown @MatthiasLohr
source/_integrations/totalconnect.markdown @austinmroczek
source/_integrations/tplink.markdown @rytilahti @thegardenmonkey
source/_integrations/traccar.markdown @ludeeus
source/_integrations/tractive.markdown @Danielhiversen @zhulik @bieniu
source/_integrations/tradfri.markdown @janiversen
source/_integrations/trafikverket_train.markdown @endor-force
source/_integrations/trafikverket_weatherstation.markdown @endor-force
source/_integrations/transmission.markdown @engrbm87 @JPHutchins
@ -557,6 +569,7 @@ source/_integrations/vizio.markdown @raman325
source/_integrations/vlc_telnet.markdown @rodripf @dmcc @MartinHjelmare
source/_integrations/volkszaehler.markdown @fabaff
source/_integrations/volumio.markdown @OnFreund
source/_integrations/volvooncall.markdown @molobrakos @decompil3d
source/_integrations/wake_on_lan.markdown @ntilley905
source/_integrations/wallbox.markdown @hesselonline
source/_integrations/waqi.markdown @andrey-git

View File

@ -91,7 +91,7 @@ GEM
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.5)
rouge (3.26.1)
rouge (3.27.0)
ruby-enum (0.9.0)
i18n
ruby2_keywords (0.0.5)

View File

@ -107,9 +107,9 @@ social:
# Home Assistant release details
current_major_version: 2021
current_minor_version: 11
current_minor_version: 12
current_patch_version: 5
date_released: 2021-11-19
date_released: 2021-12-23
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
@ -178,10 +178,7 @@ toc:
# Configuration for installation pages
installation:
container:
base: "ghcr.io/home-assistant/home-assistant"
raspberrypi3: "ghcr.io/home-assistant/raspberrypi3-homeassistant"
raspberrypi4: "ghcr.io/home-assistant/raspberrypi4-homeassistant"
container: "ghcr.io/home-assistant/home-assistant"
versions:
python: "3.9"
types:

View File

@ -97,7 +97,7 @@ module Jekyll
major = split_ver[0]
minor = split_ver[1]
if minor.length == 1
if major.length == 4 || minor.length == 1
"#{major}.X"
else
"#{major}.#{minor.chop}X"

View File

@ -342,7 +342,7 @@ automation:
### Triggering on attribute changes
When the `attribute` option is specified, the trigger only fires
when the specified attribut changes. Changes to other attributes or the
when the specified attribute changes. Changes to other attributes or the
state are ignored.
For example, this trigger only fires when the boiler has been heating for 10 minutes:

View File

@ -15,6 +15,8 @@ If you prefer to use a file editor on your computer, use the {% my supervisor_ad
_If you use Home Assistant Container, you can find `configuration.yaml` in the config folder that you mounted in your container._
_If you use Home Assistant Operating System, you can find `configuration.yaml` in the `/config` folder of the installation._
_If you use Home Assistant Core, you can find `configuration.yaml` in the config folder passed to the `hass` command (default is `~/.homeassistant`)._
## Reloading changes

View File

@ -634,11 +634,14 @@ These functions are used to process raw value's in a `bytes` format to values in
The `pack` and `unpack` functions can also be used as a filter. They make use of the Python 3 `struct` library.
See: https://docs.python.org/3/library/struct.html
- Filter `value | pack(format_string)` will convert a native type to a `bytes` type object. This will call function `struct.pack(format_string, value)`. Returns `None` if an error occurs or the `format_string` is invalid.
- Function `pack(value, format_string)` will convert a native type to a `bytes` type object. This will call function `struct.pack(format_string, value)`. Returns `None` if an error occurs or the `format_string` is invalid.
- Filter `value | unpack(format_string, offset=0)` will try to convert a `bytes` object into a native Python object. The `offset` parameter defines the offset position in bytes from the start of the input `bytes` based buffer. This will call function `struct.unpack_from(format_string, value, offset=offset)`. Returns `None` if an error occurs or the `format_string` is invalid.
- Function `unpack(value, format_string, offset=0)` will try to convert a `bytes` object into a native Python object. The `offset` parameter defines the offset position in bytes from the start of the input `bytes` based buffer. This will call function `struct.unpack_from(format_string, value, offset=offset)`. Returns `None` if an error occurs or the `format_string` is invalid.
- Filter `value | pack(format_string)` will convert a native type to a `bytes` type object. This will call function `struct.pack(format_string, value)`. Returns `None` if an error occurs or when `format_string` is invalid.
- Function `pack(value, format_string)` will convert a native type to a `bytes` type object. This will call function `struct.pack(format_string, value)`. Returns `None` if an error occurs or when `format_string` is invalid.
- Filter `value | unpack(format_string, offset=0)` will try to convert a `bytes` object into a native Python object. The `offset` parameter defines the offset position in bytes from the start of the input `bytes` based buffer. This will call function `struct.unpack_from(format_string, value, offset=offset)`. Returns `None` if an error occurs or when `format_string` is invalid.
- Function `unpack(value, format_string, offset=0)` will try to convert a `bytes` object into a native Python object. The `offset` parameter defines the offset position in bytes from the start of the input `bytes` based buffer. This will call function `struct.unpack_from(format_string, value, offset=offset)`. Returns `None` if an error occurs or when `format_string` is invalid.
<div class='note'>
Some examples:
{% raw %}
- `{{ 0xDEADBEEF | pack(">I") }}` - renders as `b"\xde\xad\xbe\xef"`
@ -648,6 +651,8 @@ See: https://docs.python.org/3/library/struct.html
{% endraw %}
</div>
### String filters
- Filter `urlencode` will convert an object to a percent-encoded ASCII text string (e.g., for HTTP requests using `application/x-www-form-urlencoded`).
@ -743,7 +748,7 @@ The following overview contains a couple of options to get the needed values:
# Timestamps
{{ value_json.tst | timestamp_local }}
{{ value_json.tst | timestamp_utc }}
{{ value_json.tst | timestamp_custom('%Y' True) }}
{{ value_json.tst | timestamp_custom('%Y', True) }}
```
{% endraw %}

View File

@ -5,18 +5,30 @@ description: "Extended instructions how to setup Z-Wave."
## Supported Z-Wave USB Sticks & Hardware Modules
You need to have a compatible Z-Wave stick or module installed. This needs to be a *static controller*, which most Z-Wave sticks and modules will be, and not a *bridge* device. The following devices have been confirmed to work:
You need to have a compatible Z-Wave stick or module installed. The following devices have been confirmed to work with Z-Wave JS:
- Aeotec Z-Stick Gen5 (see note below)
- Everspring USB stick - Gen 5
- GoControl HUSBZB-1 stick
- Sigma Designs UZB stick
- Silicon Labs SLUSB7000A
- Vision USB stick - Gen5
- ZWave.me Razberry Board
- ZWave.me UZB1 stick
- 700 series controllers
- Aeotec Z-Stick 7
- Zooz ZST10 700
- Silicon Labs SLUSB7000A
We recommend that you purchase a [Z-Wave Plus](https://z-wavealliance.org/z-wave_plus_certification/) controller, to take advantage of the improvements this provides.
- 500 series controllers
- Aeotec Z-Stick Gen5 (see note below)
- Everspring USB stick - Gen 5
- GoControl HUSBZB-1 stick
- Sigma Designs UZB stick
- Vision USB stick - Gen5
- ZWave.me UZB1 stick
- Rasberry Pi Modules
- Aeotec Z-Pi 7 (700 series)
- ZWave.me Razberry Board (500 series)
If you are just starting out, we recommend that you purchase a 700 series controller to take advantage of the latest improvements. At the very least, you should purchase a [Z-Wave Plus](https://z-wavealliance.org/z-wave_plus_certification/) controller.
<div class='note'>
Not all of the above devices are supported by the deprecated Z-Wave integration.
</div>
<div class='note'>
If you're using Home Assistant OS, Supervised, or Container, it's recommended to use a USB stick, not a module. Passing a module through Docker is more complicated than passing a USB stick through.

View File

@ -40,7 +40,7 @@ If you would like to test next release before anyone else, you can install the b
{% elsif page.installation == "container" %}
```bash
docker pull {{ site.installation.container.base }}:beta
docker pull {{ site.installation.container }}:beta
```
**[You then need to recreate the container with the new image.](/installation/linux#install-home-assistant-container)**

View File

@ -31,7 +31,7 @@ If you want to stay on the bleeding-edge Home Assistant Core development branch,
{% elsif page.installation == "container" %}
```bash
docker pull {{ site.installation.container.base }}:dev
docker pull {{ site.installation.container }}:dev
```
**[You then need to recreate the container with the new image.](/installation/linux#install-home-assistant-container)**

View File

@ -1,6 +1,6 @@
## Configuring access to files
Your Home Assistant Operating server includes two repositories by default: The official core add-on repository, and the community add-on repository. All of the add-ons mentioned here can be installed by navigating to the add-on store using {% my supervisor_addon_store title="Configuration > Add-ons & Backups > Add-on Store" %} in the UI.
Your Home Assistant Operating server includes two repositories by default: The official core add-on repository, and the community add-on repository. All of the add-ons mentioned here can be installed by navigating to the add-on store using {% my supervisor_store title="Configuration > Add-ons & Backups > Add-on Store" %} in the UI.
One of the first things to take care of after installing Home Assistant OS is to provide yourself access to files. There are several add-ons commonly used for this, and most users employ a mix of various add-ons. Default directories on the host are mapped to the add-ons so that they can be accessed by the services any particular add-on might provide. On the host system these directories exist on the `/data` partition at `/mnt/data/supervisor/`.

View File

@ -13,7 +13,7 @@ ha core update --version {{current_version}}
{% elsif page.installation == "container" %}
```bash
docker pull {{ site.installation.container.base }}:{{current_version}}
docker pull {{ site.installation.container }}:{{current_version}}
```
**[You then need to recreate the container with the new image.](/installation/linux#install-home-assistant-container)**

View File

@ -44,13 +44,7 @@ To update Home Assistant Core when you run Home Assistant {{ page.installation_n
**First start with pulling the new container.**
```bash
docker pull {{ site.installation.container.base }}:stable
```
You can also use specific containers for your hardware. Like Raspberry Pi 4:
```bash
docker pull {{ site.installation.container.raspberrypi4 }}:stable
docker pull {{ site.installation.container }}:stable
```
**[You then need to recreate the container with the new image.](/installation/linux#install-home-assistant-container)**

View File

@ -20,18 +20,8 @@ Installation with Docker is straightforward. Adjust the following command so tha
{% endif %}
{% if page.installation_type == 'raspberrypi' %}
#### Raspberry pi 3
{% include installation/container/cli.md image=site.installation.container.raspberrypi3 %}
#### Raspberry pi 4
{% include installation/container/cli.md image=site.installation.container.raspberrypi4 %}
{% elsif page.installation_type == 'alternative' %}
{% if page.installation_type == 'alternative' %}
{% include installation/container/alternative.md %}
{% else %}
{% include installation/container/cli.md %}
{% endif %}
@ -76,17 +66,7 @@ If you change the configuration you have to restart the server. To do that you h
As the Docker command becomes more complex, switching to `docker-compose` can be preferable and support automatically restarting on failure or system restart. Create a `docker-compose.yml` file:
{% if page.installation_type == 'raspberrypi' %}
#### Raspberry pi 3
{% include installation/container/compose.md image=site.installation.container.raspberrypi3 %}
#### Raspberry pi 4
{% include installation/container/compose.md image=site.installation.container.raspberrypi4 %}
{% else %}
{% include installation/container/compose.md %}
{% endif %}
{% include installation/container/compose.md %}
Start it by running:

View File

@ -42,7 +42,7 @@ Adjust the following Terminal command as follows :
Run it in Terminal.
```bash
sudo docker run --restart always -d --name homeassistant -v /PATH_TO_YOUR_CONFIG:/config --device=/PATH_TO_YOUR_USB_STICK -e TZ=Australia/Melbourne --net=host {{ site.installation.container.base }}:stable
sudo docker run --restart always -d --name homeassistant -v /PATH_TO_YOUR_CONFIG:/config --device=/PATH_TO_YOUR_USB_STICK -e TZ=Australia/Melbourne --net=host {{ site.installation.container }}:stable
```
Complete the remainder of the Z-Wave configuration by [following the instructions here.](/integrations/zwave_js)
@ -104,7 +104,7 @@ If you want to use a USB Bluetooth adapter or Z-Wave USB stick with Home Assista
- Run Docker command:
```bash
docker run --init --name homeassistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e TZ=Europe/London --device /dev/ttyACM0 {{ site.installation.container.base }}:stable
docker run --init --name homeassistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e TZ=Europe/London --device /dev/ttyACM0 {{ site.installation.container }}:stable
```
`-v` is your configuration path
@ -125,7 +125,7 @@ That will tell Home Assistant where to look for our Z-Wave radio.
- Run Docker command:
```bash
docker run --init --name homeassistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e TZ=Europe/London -v /dev/bus/usb:/dev/bus/usb -v /var/run/dbus:/var/run/dbus {{ site.installation.container.base }}:stable
docker run --init --name homeassistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e TZ=Europe/London -v /dev/bus/usb:/dev/bus/usb -v /var/run/dbus:/var/run/dbus {{ site.installation.container }}:stable
```
First `-v` is your configuration path

View File

@ -11,7 +11,7 @@
-e TZ=MY_TIME_ZONE \
-v /PATH_TO_YOUR_CONFIG:/config \
--network=host \
{{ include.image | default: site.installation.container.base }}:{{ include.tag | default: 'stable' }}
{{ site.installation.container }}:{{ include.tag | default: 'stable' }}
```
- title: Update
@ -19,7 +19,7 @@
```bash
# if this returns "Image is up to date" then you can stop here
docker pull {{ include.image | default: site.installation.container.base }}:{{ include.tag | default: 'stable' }}
docker pull {{ site.installation.container }}:{{ include.tag | default: 'stable' }}
```
```bash
@ -41,7 +41,7 @@
-e TZ=MY_TIME_ZONE \
-v /PATH_TO_YOUR_CONFIG:/config \
--network=host \
{{ include.image | default: site.installation.container.base }}:{{ include.tag | default: 'stable' }}
{{ site.installation.container }}:{{ include.tag | default: 'stable' }}
```
{% endtabbed_block %}

View File

@ -3,7 +3,7 @@
services:
homeassistant:
container_name: homeassistant
image: "{{ include.image | default: site.installation.container.base }}:{{ include.tag | default: 'stable' }}"
image: "{{ include.image | default: site.installation.container }}:{{ include.tag | default: 'stable' }}"
volumes:
- /PATH_TO_YOUR_CONFIG:/config
- /etc/localtime:/etc/localtime:ro

View File

@ -184,10 +184,11 @@ _All these can be extended if your usage calls for more resources._
- title: VirtualBox
content: |
1. Create a new virtual machine
2. Select “Other Linux (64Bit)
3. Select “Use an existing virtual hard disk file”, select the VDI file from above
4. Edit the “Settings” of the VM and go “System” then Motherboard and Enable EFI
5. Then “Network” “Adapter 1” Bridged and your adapter.
2. Select Type “Linux” and Version “Other Linux (64-bit)”
3. Select “Use an existing virtual hard disk file”, select the unzipped VDI file from above
4. Edit the “Settings” of the VM and go “System” then “Motherboard” and select “Enable EFI”
5. Then go to “Network” “Adapter 1” choose “Bridged Adapter” and choose your Network adapter
6. Then go to “Audio” and choose “Intel HD Audio” as Audio Controller.
- title: KVM
content: |

View File

@ -13,6 +13,7 @@ ha_platforms:
- binary_sensor
- camera
- sensor
- switch
ha_codeowners:
- '@flacjacket'
---

View File

@ -22,13 +22,9 @@ The ASUSWRT integration can connect Home Assistant to a ASUS router that runs on
There is currently support for the following device types within Home Assistant:
- **Presence Detection** - The ASUSWRT platform offers presence detection by looking at connected devices to a ASUSWRT based router.
- **Sensor** - The ASUSWRT sensor platform allows you to get upload and download data from your ASUSWRT within Home Assistant.
- **Sensor** - The ASUSWRT sensors platform allows you to get information from your ASUS router within Home Assistant.
## Configuration
To add your ASUSWRT devices into your Home Assistant installation, go to:
**Configuration** -> **Devices & Services** in the UI, click the button with `+` sign and from the list of integrations select **ASUSWRT**.
{% include integrations/config_flow.md %}
<div class='note warning'>
@ -36,7 +32,7 @@ You need to enable telnet on your router if you choose to use `protocol: telnet`
</div>
### Sensor Configuration
### Sensors Configuration
These sensors are automatically created and associated to the router device:
@ -46,21 +42,29 @@ These sensors are automatically created and associated to the router device:
- Upload sensor (unit_of_measurement: Gigabyte - *Daily accumulation*)
- Upload Speed sensor (unit_of_measurement: Mbit/s)
- Load average sensors (1min, 5min, 15min)
- Temperature sensors (2ghz, 5ghz, cpu). NB: only temperature sensors available on your router will be created
Only `Connected devices sensor` is created in status **enabled**, all other sensors are created in status **disabled**.
To use them, simply **enable** on the devices page.
Only `Connected devices sensor` is created in status **enabled**, all other sensors are created in status **disabled**. To use them, simply **enable** on the devices page.
## Integration Options
{% include integrations/option_flow.md %}
{% configuration_basic %}
Consider home:
description: Number of seconds that must elapse before considering a disconnected device `not at home`.
Track unknown:
description: Enable this option to track also devices that do not have a name. Name will be replaced by mac address.
Interface:
description: The interface that you want statistics from (e.g. eth0,eth1 etc).
Dnsmasq:
description: The location in the router of the `dnsmasq.leases` file.
Require IP:
description: If devices must have IP (this option is available only for access point mode).
{% endconfiguration_basic %}
It is possible to change some behaviors through the integration options. These can be changed at **ASUSWRT** -> **Options** on the Integrations page.
<div class='note'>
- **Consider home**: Number of seconds that must elapse before considering a disconnected device "not at home"
- **Track unknown**: Enable this option to track also devices that do not have a name. Name will be replaced by mac address.
- **Interface**: The interface that you want statistics from (e.g. eth0,eth1 etc)
- **Dnsmasq**: The location in the router of the dnsmasq.leases files
- **Require IP**: If devices must have IP (this option is available only for access point mode)
If you don't want to automatically track new detected device, disable the integration system option `Enable new added entities`
**Note**: if you don't want to automatically track new detected device, disable the integration system option `Enable new added entities`
</div>
## Padavan custom firmware (The rt-n56u project)

View File

@ -27,13 +27,16 @@ The `august` integration allows you to integrate your [August](https://august.co
## Known Working Devices
- August Wi-Fi Smart Lock (Gen 4)
- August Smart Lock Pro (Gen 3)
- August Smart Lock (Gen 2)
- August Doorbell Cam (Gen 1, Gen2)
- August View
- Yale Assure Locks with August/Yale Connect Module
- Yale Conexis L1 with August/Yale Connect Module
| Device | Requires [Connect Bridge](https://august.com/products/august-connect/) or Doorbell |
| --------------------------------- | ------------------------------------|
| August Wi-Fi Smart Lock (Gen 4) | yes |
| August Smart Lock Pro (Gen 3) | yes |
| August Smart Lock (Gen 2) | yes |
| August Smart Lock (Gen 1) | no |
| August Doorbell Cam (Gen 1, Gen2) | no |
| August View | no |
| Yale Assure Locks with August/Yale Connect Module | yes |
| Yale Conexis L1 with August/Yale Connect Module | yes |
There is currently support for the following device types within Home Assistant:
@ -44,7 +47,7 @@ There is currently support for the following device types within Home Assistant:
- Lock
<div class='note'>
August Lock 2nd Gen will need either August Connect or Doorbell to connect to Home Assistant.
Most devices will need either August Connect Bridge or Doorbell to connect to Home Assistant.
</div>
## Known Unsupported Devices

View File

@ -1,6 +1,6 @@
---
title: "Balboa Spa"
description: "Instructions on how to integrate Balboa Spa WiFi within Home Assistant."
title: Balboa Spa Client
description: Instructions on how to integrate Balboa Spa WiFi within Home Assistant.
ha_category:
- Binary Sensor
- Climate

View File

@ -8,6 +8,8 @@ ha_iot_class: Local Polling
ha_domain: bluesound
ha_platforms:
- media_player
ha_codeowners:
- '@thrawnarn'
---
The `bluesound` platform allows you to control your [Bluesound](https://www.bluesound.com/) HiFi wireless speakers and audio integrations from Home Assistant.

View File

@ -19,7 +19,6 @@ ha_platforms:
- remote
- sensor
- switch
- light
ha_dhcp: true
---

View File

@ -188,11 +188,10 @@ button:
- platform: mqtt
unique_id: bedroom_switch_reboot_btn
name: "Restart Bedroom Switch"
state_topic: "home/bedroom/switch1"
command_topic: "home/bedroom/switch1/commands"
payload_press: "restart"
availability:
- topic: "home/bedroom/switch1/available"
payload_press: "restart"
qos: 0
retain: false
entity_category: "config"

View File

@ -74,6 +74,18 @@ command_timeout:
default: 15
{% endconfiguration %}
## Execution
The `command` is executed within the [configuration directory](/docs/configuration/).
<div class='note'>
If you are using [Home Assistant Operating System](https://github.com/home-assistant/operating-system), the commands are executed in the `homeassistant` container context. So if you test or debug your script, it might make sense to do this in the context of this container to get the same runtime environment.
</div>
With a `0` exit code, the output (stdout) of the command is used as `value`. In case a command results in a non `0` exit code or is terminated by the `command_timeout`, the result is only logged to Home Assistant log and the sensors value is not updated.
## Examples
In this section you find some real-life examples of how to use this sensor.

View File

@ -15,6 +15,7 @@ ha_platforms:
- binary_sensor
- calendar
- camera
- button
- climate
- cover
- device_tracker
@ -23,6 +24,7 @@ ha_platforms:
- light
- lock
- media_player
- geo_location
- notify
- number
- remote

View File

@ -54,6 +54,7 @@ Known supported devices:
- Denon AVR-S710W
- Denon AVR-S720W
- Denon AVR-S750H
- Denon AVR-S760H
- Denon AVR-S960H
- Denon DN-500AV
- Marantz M-CR510

View File

@ -4,13 +4,16 @@ description: Instructions on how to integrate devolo Home Network devices with H
ha_category:
- Sensor
ha_release: '2021.12'
ha_iot_class: Local Pull
ha_iot_class: Local Polling
ha_config_flow: true
ha_codeowners:
- '@2Fake'
- '@Shutgun'
ha_domain: devolo_home_network
ha_quality_scale: platinum
ha_platforms:
- sensor
ha_zeroconf: true
---
The devolo Home Network integration allows you to monitor your PLC network.

View File

@ -74,7 +74,7 @@ Connection can be done directly to the meter via a USB to serial connector, or t
Docker users have to allow Docker access to the USB to serial converter by adding `--device /dev/ttyUSB21:/dev/ttyUSB21` to the run command:
```hass
$ docker run --device /dev/ttyUSB0:/dev/ttyUSB0 -d --name="home-assistant" -v /home/USERNAME/hass:/config -v /etc/localtime:/etc/localtime:ro --net=host {{ site.installation.container.base }}
$ docker run --device /dev/ttyUSB0:/dev/ttyUSB0 -d --name="home-assistant" -v /home/USERNAME/hass:/config -v /etc/localtime:/etc/localtime:ro --net=host {{ site.installation.container }}
```
#### Serial to network proxies:

View File

@ -12,6 +12,7 @@ ha_quality_scale: platinum
ha_domain: elgato
ha_zeroconf: true
ha_platforms:
- button
- light
---

View File

@ -8,4 +8,6 @@ ha_quality_scale: internal
ha_codeowners:
- '@home-assistant/core'
ha_domain: energy
ha_platforms:
- sensor
---

View File

@ -21,3 +21,5 @@ A sensor platform for the [Enphase Envoy](https://enphase.com/en-us/products-and
### Obtaining the password
For newer models, the username `envoy` without a password will grant access to the device. For older models, the password for the `installer` user can be obtained with this: [tool](https://thecomputerperson.wordpress.com/2016/08/28/reverse-engineering-the-enphase-installer-toolkit/).
In some cases, you need to use the username `envoy` with the last 6 digits of the unit's serial number as password. See [the enphase documentation](https://www4.enphase.com/en-us/support/faq/what-username-and-password-administration-page-envoy-local-interface) for more details on other units.

View File

@ -15,6 +15,7 @@ ha_zeroconf: true
ha_platforms:
- binary_sensor
- camera
- button
- climate
- cover
- fan

View File

@ -13,6 +13,7 @@ ha_platforms:
- button
- light
- select
- number
- switch
ha_codeowners:
- '@icemanch'
@ -125,8 +126,9 @@ The following models have been tested with integration.
| 0x06 | Controller RGBW | |
| 0x07 | Controller RGBCW | |
| 0x08 | Controller RGB with MIC | |
| 0x09 | Switch 1c | |
| 0x0E | Floor Lamp RGBCW | |
| 0x10 | Christmas Light | |
| 0x1A | Christmas Light | |
| 0x1C | Table Light CCT | |
| 0x21 | Bulb Dimmable | |
| 0x25 | Controller RGB/WW/CW | Supports RGB,RGBW,RGBWW,CW,DIM |
@ -149,19 +151,19 @@ The following models have not been tested with integration but may work.
| Model | Description | Notes |
| ----- | --------------------------- | ------------------------------- |
| 0x09 | Ceiling Light CCT | |
| 0x10 | Christmas Light | |
| 0x16 | Magnetic Light CCT | |
| 0x17 | Magnetic Light Dimmable | |
| 0x19 | Socket 2 USB | |
| 0x1A | Christmas Light | |
| 0x18 | Plant Light | |
| 0x1B | Spray Light | |
| 0x62 | Controller CCT | May be discontinued |
| 0x52 | Bulb CCT | May be discontinued |
| 0x95 | Switch 2c | |
| 0x96 | Switch 4c | |
| 0xD1 | Digital Light | |
| 0xE1 | Ceiling Light | |
| 0xE2 | Ceiling Light Assist | |
| 0xA4 | Addressable v4 | |
### Effects

View File

@ -13,6 +13,8 @@ ha_domain: fronius
ha_iot_class: Local Polling
ha_platforms:
- sensor
ha_quality_scale: platinum
ha_dhcp: true
---
The `fronius` integration polls a [Fronius](https://www.fronius.com/) solar inverter or datalogger to allow you to get details from your Fronius SolarNet setup and integrate it in your Home Assistant installation.

View File

@ -11,6 +11,7 @@ ha_codeowners:
- '@exxamalte'
ha_domain: gdacs
ha_platforms:
- geo_location
- sensor
---

View File

@ -65,6 +65,7 @@ content_type:
framerate:
description: The number of frames-per-second (FPS) of the stream. Can cause heavy traffic on the network and/or heavy load on the camera.
required: false
default: 2
type: integer
verify_ssl:
description: Enable or disable SSL certificate verification. Set to false to use an http-only camera, or you have a self-signed SSL certificate and haven't installed the CA certificate to enable verification.

View File

@ -8,6 +8,8 @@ ha_release: 0.79
ha_domain: geo_json_events
ha_codeowners:
- '@exxamalte'
ha_platforms:
- geo_location
---
The `geo_json_events` platform lets you integrate GeoJSON feeds. It retrieves events from a feed and shows information of those events filtered by distance to Home Assistant's location.

View File

@ -11,6 +11,7 @@ ha_codeowners:
- '@exxamalte'
ha_domain: geonetnz_quakes
ha_platforms:
- geo_location
- sensor
---

View File

@ -429,7 +429,7 @@ The following integrations are currently supported:
# Device Triggers
Devices that support triggers can be added to the bridge by accessing options for the bridge in **{% my integrations title="Configuration >> Integrations" %}**.
Devices that support triggers can be added to the bridge by accessing options for the bridge in **{% my integrations title="Configuration >> Integrations" %}**. To use this feature, Advanced Mode must be enabled in your user profile.
Bridged device triggers are represented as a single press button on stateless programmable switches. This allows a HomeKit automation to run when a device trigger fires. Because the Apple Home app currently only shows the number of the button and not the name, users may find it easier to identify the name of the button in the `Eve for HomeKit` app.

View File

@ -26,6 +26,7 @@ ha_platforms:
- alarm_control_panel
- binary_sensor
- camera
- button
- climate
- cover
- fan

View File

@ -11,7 +11,6 @@ ha_config_flow: true
ha_quality_scale: platinum
ha_codeowners:
- '@balloob'
- '@frenck'
- '@marcelveldt'
ha_domain: hue
ha_ssdp: true
@ -19,8 +18,9 @@ ha_homekit: true
ha_platforms:
- binary_sensor
- light
- sensor
- scene
- sensor
- switch
ha_zeroconf: true
---

View File

@ -13,8 +13,6 @@ ha_platforms:
- sensor
---
[IAMMETER](https://www.iammeter.com/) provides both a bi-directional single-phase energy meter([WEM3080](https://www.iammeter.com/products/single-phase-meter)) and a bi-directional three-phase energy monitor ([WEM3080T](https://www.iammeter.com/products/three-phase-meter)). Both of them can be integrated into Home Assistant.

View File

@ -8,6 +8,8 @@ ha_release: 0.92
ha_codeowners:
- '@exxamalte'
ha_domain: ign_sismologia
ha_platforms:
- geo_location
---
The `ign_sismologia` platform lets you integrate a GeoRSS feed provided by the

View File

@ -12,7 +12,7 @@ ha_domain: jellyfin
---
The Jellyfin integration exposes a [Jellyfin](https://jellyfin.org/) server as a Media Source in Home Assistant.
Support is currently limited to music libraries only. Other libraries will not appear in the Media Browser. This integration has been tested with Jellyfin server version 10.6.4, but should support older versions as well.
Support is currently limited to music libraries only. Other libraries will not appear in the Media Browser. This integration has been tested with Jellyfin server version 10.6.4 and later.
{% include integrations/config_flow.md %}
@ -24,9 +24,3 @@ Username:
Password:
description: The password of the supplied user.
{% endconfiguration_basic %}
## Jellyfin server configuration
The Jellyfin integration retrieves media items from your Jellyfin libraries using an Artist -> Album -> Track hierarchy. In order for the Media Browser to display thumbnails for artists and albums, Jellyfin has to include metadata for artists and albums. This is not enabled by default.
To enable this, navigate to the Jellyfin dashboard and select Plugins. Choose which provider you would like to use for metadata retrieval (AudioDB and MusicBrainz are the two default providers) and select Settings. Enable the checkbox for "Enable this provider for metadata searches on artists and albums.".

View File

@ -38,6 +38,7 @@ ha_platforms:
- select
- switch
- weather
ha_config_flow: true
---
The [KNX](https://www.knx.org) integration for Home Assistant allows you to connect to KNX/IP devices.

View File

@ -10,6 +10,8 @@ ha_codeowners:
ha_domain: kostal_plenticore
ha_platforms:
- sensor
- select
- switch
---
The Kostal Plenticore integration allows you to get data from [Kostal Plenticore](https://www.kostal-solar-electric.com/) solar inverters and integrate them into your Home Assistant installation. It allows you also to change some of settings values of the inverter.

View File

@ -15,8 +15,8 @@ ha_codeowners:
ha_domain: litterrobot
ha_platforms:
- button
- select
- sensor
- select
- switch
- vacuum
---

View File

@ -113,8 +113,9 @@ Documentation:
Example of calling media_player service with title and image set:
```yaml
entity_id: media_player.chromecast
service: media_player.play_media
target:
entity_id: media_player.chromecast
data:
media_content_type: music
media_content_id: "https://fake-home-assistant.io.stream/aac"

View File

@ -14,6 +14,7 @@ ha_platforms:
- alarm_control_panel
- binary_sensor
- camera
- button
- climate
- cover
- fan

View File

@ -23,40 +23,23 @@ ha_platforms:
- sensor
---
The `nest` integration allows you to integrate your [Google Nest](https://store.google.com/us/category/connected_home?) devices in Home Assistant. This integration uses the [Smart Device Management](https://developers.google.com/nest/device-access/api) API and Google's Cloud Pubsub to efficiently listen for changes in device state or other events.
The `nest` integration allows you to integrate your [Google Nest](https://store.google.com/us/category/connected_home?) devices in Home Assistant. This integration uses the [Smart Device Management](https://developers.google.com/nest/device-access/api) API and Google's Cloud Pubsub to efficiently listen for changes in device state or other events. See [Supported Devices](https://developers.google.com/nest/device-access/supported-devices) for all devices supported by the SDM API.
There is currently support for the following device types within Home Assistant:
- [Camera](#camera)
- [Climate](#climate)
- [Sensor](#sensor)
- [Camera](#camera)
Cameras and Doorbells support [Automation and Device Triggers](#automation-and-device-triggers) and a [Media Source](#media-source) for viewing recent events.
<div class='note'>
The Nest Smart Device Management (SDM) API *requires a US$5 fee*.
</div>
## Overview: Supported Devices
Home Assistant is integrated with the following devices through the SDM API:
- Thermostat Devices
- Every thermostat is exposed as a `climate` entity
- A Temperature `sensor` entity. Note: Additional Nest Temperature Sensors are not supported by the SDM API.
- A Humidity `sensor` entity.
- Example devices: All Google Nest Thermostat models
- Display, Camera, and Doorbell Devices
- The camera live stream is available as a `camera` entity
- Device Triggers for use in automations such as Person detected, Motion detected and Doorbell pressed
- Example devices: All wired & battery Google Nest Cam models, wired & battery Nest Doorbells, and Google Nest Hub Max.
Cameras and Doorbells use [Automation and Device Triggers](#automation-and-device-triggers) for events and a [Media Source](#media-source) for capturing media images on supported devices. Other device types like Smoke and CO Alarms or Security systems are not currently supported by the SDM API.
You are in control of the information and capabilities exposed to Home Assistant. You can authorize a single device, multiple devices, or different levels of functionality such as motion events, live streams, for any particular device. The integration is flexible enough to adapt based on what you allow.
Others devices like Smoke and CO Alarms or Security systems are not currently
supported by the SDM API.
<div class='note'>
The full detailed instructions for account setup are available in the [Device Access Registration](https://developers.google.com/nest/device-access/registration) Quick Start Guide. The instructions below are included to make this complex setup process a bit easier to follow.
The Nest Smart Device Management (SDM) API **requires a US$5 fee**.
</div>
## Device Access Registration
@ -140,8 +123,7 @@ Secret* as these are needed in later steps.
{% details "Create a Device Access project_id [Device Access Console]" %}
Now that you have authentication configured, you will create a Nest Device Access Project which *requires a US$5 fee*.
Once completed, you will have a device access `project_id` needed for later steps and the *Topic Name* needed to
configure Pub/Sub.
Once completed, you will have a device access `project_id` needed for later steps.
1. Go to the [Device Access Registration](https://developers.google.com/nest/device-access/registration) page. Click on the button **[Go to the Device Access Console](https://console.nest.google.com/device-access/)**.
![Screenshot of Device Access Registration](/images/integrations/nest/device_access.png)
@ -166,8 +148,6 @@ configure Pub/Sub.
1. Take note of the *Project ID* as you will it later. At this point you have the `project_id`, `client_id` and `client_secret` configuration options needed for Home Assistant.
1. Take note of the *Pub/Sub Topic* which is later entered manually as the *Topic Name* when configuring Pub/Sub in a follow up step.
{% enddetails %}
## Configuration
@ -184,7 +164,7 @@ nest:
project_id: PROJECT_ID
```
Then make sure to restart Home Assistant under _**Server Controls**_. {% my server_controls badge %}
Then make sure to restart Home Assistant under _**Server Controls**_. {% my server_controls badge %}
{% configuration %}
client_id:
@ -229,7 +209,7 @@ your Home Assistant to access your account and Nest devices.
In this section you will authorize Home Assistant to access your account by generating an *Authentication Token*.
1. Choose **OAuth for Apps** since you created *Desktop App* credentials above in the Google Cloud Console. Note that *OAuth for Web* still exists if you previously created *Web Application* credentials and want to keep using them.
1. Choose **OAuth for Apps** since you created *Desktop App* credentials above in the Google Cloud Console. Note that *OAuth for Web* still exists if you previously created *Web Application* credentials and want to keep using them.
![Screenshot of Integration setup on OAuth type step](/images/integrations/nest/integration_oauth_type.png)
@ -238,9 +218,9 @@ In this section you will authorize Home Assistant to access your account by gene
![Screenshot of Integration setup on Link Accounts step](/images/integrations/nest/integration_link_account.png)
1. A new tab opens, allowing you to chooce a Google account. This should be the same developer account you configured above.
1. A new tab opens, allowing you to choose a Google account. This should be the same developer account you configured above.
1. The *Google Nest permissions* screen will allow you to choose which devices to configure. You likely want to enable everything, however, you can leave out any feature you do not wish to use with Home Assistant. You can select devices from multiple homes using the drop down.
1. The *Google Nest permissions* screen will allow you to choose which devices to configure and lets you select devices from multiple homes. You likely want to enable everything, however, you can leave out any feature you do not wish to use with Home Assistant.
![Screenshot of Nest permissions authorization](/images/integrations/nest/oauth_approve.png)
@ -275,8 +255,139 @@ In this section you will authorize Home Assistant to access your account by gene
{% enddetails %}
## Climate
All Google Nest Thermostat models are exposed as a `climate` entity that use the [Thermostat Traits](https://developers.google.com/nest/device-access/traits/device/thermostat-hvac) in the SDM API. State changes to the thermostat are reported to Home Assistant through the Cloud Pubsub subscriber.
Given a thermostat named `Upstairs` then the climate entity is created with a name such as `climate.upstairs`
- *Error 400: redirect_uri_mismatch*: This means you have an existing *Web Application* credential. It is recommended to delete the existing OAuth Client id and create a new *Desktop App* credential using the instructions above. This has the advantage of not requiring SSL or a public DNS name.
- *Thermostat does not appear or is unavailable* happens due to a bug where the SDM API does return the devices. A common fix get the API to work again is to:
This feature is enabled by the following permissions:
- Restart the Thermostat device. See [How to restart or reset a Nest thermostat](https://support.google.com/googlenest/answer/9247296) for more details.
- In the official Nest app or on https://home.nest.com: Move the Thermostat to a different or fake/temporary room.
- Reload the integration in Home Assistant: Navigate to **Configuration** then **Devices & Services**, click `...` next to *Nest* and choose **Reload**.
</div>
## Sensor
All Google Nest Thermostat models have traits exposed from the SDM API. The initial values of the sensors are fetched on startup, then updated regularly using the Cloud Pubsub subscriber. The following traits are supported with sensors:
- [Temperature](https://developers.google.com/nest/device-access/traits/device/temperature)
- [Humidity](https://developers.google.com/nest/device-access/traits/device/humidity)
Given a thermostat named `Upstairs` then sensors are created with names such as `sensor.upstairs_temperature` or `sensor.upstairs_humidity`.
<div class='note'>
This feature is enabled by the following permissions:
- *Allow Home Assistant to access and control your thermostat*
</div>
<div class='note'>
Additional Nest Temperature Sensors are not supported by the SDM API.
</div>
## Camera
Home Assistant supports all SDM API features. However, every Camera or Doorbell device has a different set of built-in capabilities. A Camera device has one of the following live stream types:
- **RTSP**: These devices have an HLS stream served by the Home Assistant Core. These cameras support server-side `camera` services like stream recording or image preview. See [Low Latency HLS](/integrations/stream#ll-hls) as a great option to enable to reduce stream latency.
- **WebRTC**: These devices support direct browser to camera communication and a super low latency stream. A [Picture Glance Card](/lovelace/picture-glance/) can show the live stream in the grid with the *Camera View* set to `live` (not recommended for battery-powered cameras). `camera` services like stream recording are *not supported*.
<div class='note'>
This feature is enabled by the following permissions:
- *Allow Home Assistant to see and display your cameras livestream*
- *Other permissions in the Nest or Google Home apps*.
</div>
All cameras have motion and person triggers, however only some support capturing snapshots for events. The table below summarizes the [Supported SDM API features](https://developers.google.com/nest/device-access/supported-devices) for each device.
| Device | Live Stream | Triggers / Events | Media Source<br> for Triggers / Events |
| ------ | :---------: | :------: | :--------------------: |
| Nest Cam (indoor, wired)<br>Nest Cam (outdoor, battery) | WebRTC | Motion<br>Person | N/A |
| Nest Cam Indoor<br>Nest Cam IQ Indoor<br>Nest Cam IQ Outdoor<br>Nest Cam Outdoor | RTSP<br>Recording | Motion<br>Person<br>Sound | Snapshot (jpg) |
| Nest Cam with floodlight | WebRTC | Motion<br>Person | N/A |
| Nest Doorbell (battery) | WebRTC | Motion<br>Person<br>Chime | Clip Preview (mp4) |
| Nest Doorbell (wired) | RTSP<br>Recording | Motion<br>Person<br>Sound<br>Chime | Snapshot (jpg) |
| Nest Hub Max | RTSP<br>Recording | Motion<br>Person<br>Sound<br><sub><sup>* [SDM API known issue](https://github.com/home-assistant/core/issues/58482)</sup></sub> | Snapshot (jpg) |
Given a camera named `Front Yard` then the camera is created with a name such as `camera.front_yard`.
## Automation and Device Triggers
The Nest integration makes [device triggers](/docs/automation/trigger/#device-triggers) available to enable automation
in Home Assistant. You should review the [Automating Home Assistant](/getting-started/automation/) getting started guide on automations or the [Automation](/docs/automation/) documentation for full details.
{% my automations badge %}
![Screenshot Device Triggers](/images/integrations/nest/device_triggers.png)
<div class='note'>
This feature is enabled by the following permissions:
- *Allow Home Assistant to know when there's a camera event*
- *Allow Home Assistant to know when there's a doorbell event*
- *Other permissions in the Nest or Google Home apps*.
</div>
## Example
This automation will trigger when a `nest_event` event type with a type of `camera_motion` is received from the specified `device_id`.
```yaml
alias: "motion alert"
trigger:
- platform: event
event_type: nest_event
event_data:
device_id: YOUR_DEVICE_ID
type: camera_motion
action:
- service: notify.mobile_app_pixel_2
data:
title: motion detected
message: front door motion detected
data:
image: /api/camera_proxy/camera.front_door
```
The action in this section uses the [Android Companion App](https://companion.home-assistant.io/docs/notifications/notifications-basic/) and the camera proxy to send a notification with a snapshot from the camera.
## Media Source
The Nest [Media Source](/integrations/media_source) platform allows you to browse clips for recent camera events. Home Assistant is not intended to be a Network Video Recorder (NVR) platform, however, basic support for capturing recent events is supported.
The table above describes which devices support event image snapshots or 10-frame mp4 video clips for recent events.
<div class='note'>
This feature is enabled by the following permissions:
- *Based on the events you've selected to share from this device, allow Home Assistant to access camera video clips*
- *Based on the events you've selected to share from this device, allow Home Assistant to access camera snapshots*
- *Other permissions in the Nest or Google Home apps*.
</div>
## Troubleshooting
- You can manage devices and permissions granted to Home Assistant in the Nest [Partner Connections Manager](https://nestservices.google.com/partnerconnections). Restart Home Assistant to make new devices available. See the [SDM API Troubleshooting](https://developers.google.com/nest/device-access/authorize#modify_account_permissions) documentation for more details.
- For general trouble with the SDM API OAuth authorization flow with Google, see [Troubleshooting](https://developers.google.com/nest/device-access/authorize#troubleshooting).
- Check **Configuration** then **Logs** to see if there are any error messages or misconfigurations then see the error messages below.
@ -334,93 +445,9 @@ logger:
google_nest_sdm.device_manager: debug
google_nest_sdm.google_nest_subscriber: debug
google_nest_sdm.event: debug
google.cloud.pubsub_v1: debug
```
## Camera
All Google Nest Cam models, Google Nest Doorbell models, Google Nest Hub Max expose a [CameraLiveStream](https://developers.google.com/nest/device-access/traits/device/camera-live-stream) via the SDM API.
Given a camera named `Front Yard` then the camera is created with a name such as `camera.front_yard`.
Cameras either support an `RTSP` stream served via `HLS` by Home Assistant, or support a `WebRTC` stream. See the [Nest SDM API: CameraLiveStream Schema](https://developers.google.com/nest/device-access/traits/device/camera-live-stream) for details on which camera devices support which types of streams. WebRTC cameras do not support image previews or stream recording in Home Assistant as the stream communication is client-side, directly from the browser to the device.
See [Automation and Device Triggers](#automation-and-device-triggers) and [Media Source](#media-source) below for additional camera features.
## Climate
All Google Nest Thermostat models are exposed as a `climate` entity that use the [Thermostat Traits](https://developers.google.com/nest/device-access/traits/device/thermostat-hvac) in the SDM API. State changes to the thermostat are reported to Home Assistant through the Cloud Pubsub subscriber.
Given a thermostat named `Upstairs` then the climate entity is created with a name such as `climate.upstairs`
## Sensor
All Google Nest Thermostat models have traits exposed from the SDM API. The initial values of the sensors are fetched on startup, then updated regularly using the Cloud Pubsub subscriber. The following traits are supported with sensors:
- [Temperature](https://developers.google.com/nest/device-access/traits/device/temperature)
- [Humidity](https://developers.google.com/nest/device-access/traits/device/humidity)
Given a thermostat named `Upstairs` then sensors are created with names such as `sensor.upstairs_temperature` or `sensor.upstairs_humidity`.
## Automation and Device Triggers
The Nest integration makes [device triggers](/docs/automation/trigger/#device-triggers) available to enable automation
in Home Assistant. You should review the [Automating Home Assistant](/getting-started/automation/) getting started guide on automations or the [Automation](/docs/automation/) documentation for full details.
![Screenshot Device Triggers](/images/integrations/nest/device_triggers.png)
All Google Nest Cam models and the Google Nest Hello Video Doorbell support device triggers:
- **Motion detected**
- **Person detected**
- **Sound detected**
- **Doorbell pressed** *for Doorbell only*
The lower level Pub/Sub subscriber receives events in real time and internally fires `nest_event` events within Home Assistant:
| Device Trigger | Pub/Sub Event | `nest_event` |
| -------------- | ----- | ------------- |
| Motion detected | [CameraMotion](https://developers.google.com/nest/device-access/traits/device/camera-motion#events) | `motion_detected` |
| Person detected | [CameraPerson](https://developers.google.com/nest/device-access/traits/device/camera-person#events) | `person_detected` |
| Sound detected | [CameraSound](https://developers.google.com/nest/device-access/traits/device/camera-sound#events) | `sound_detected` |
| Doorbell pressed | [DoorbellChime](https://developers.google.com/nest/device-access/traits/device/doorbell-chime#events) | `doorbell_chime` |
## Example
This automation will trigger when a `nest_event` event type with a type of `camera_motion` is received from the specified `device_id`.
```yaml
alias: "motion alert"
trigger:
- platform: event
event_type: nest_event
event_data:
device_id: YOUR_DEVICE_ID
type: camera_motion
action:
- service: notify.mobile_app_pixel_2
data:
title: motion detected
message: front door motion detected
data:
image: /api/camera_proxy/camera.front_door
```
The action in this section uses the [Android Companion App](https://companion.home-assistant.io/docs/notifications/notifications-basic/) and the camera proxy to send a notification with a snapshot from the camera.
## Media Source
The Nest [Media Source](/integrations/media-source) platform allows you to browse clips for recent camera events. Home Assistant is not intended to be a Network Video Recorder (NVR) platform, however, basic support for capturing recent events is supported.
See [Device Access: Supported Devices](https://developers.google.com/nest/device-access/supported-devices) for details on Image Support for various devices in the API. Not all cameras support event snapshots, and the Nest Doorbell battery camera supports 10-frame video clips for events.
The Nest media source only displays the most recent event for each camera at the moment.
## Manual Pub/Sub subscription
It is recommended to let Home Assistant create the Pub/Sub subscription for you. However, if you would like more control you can enter a `susbcriber_id` in the configuration.
See [Subscribe to Events](https://developers.google.com/nest/device-access/subscribe-to-events) for more instructions on how to manually create a subscription and use the full subscription name in the Home Assistant configuration e.g. `projects/gcp-project-name/subscriptions/subscription-id`
- It is recommended to let Home Assistant create the Pub/Sub subscription for you. However, if you would like more control you can enter a `susbcriber_id` in the configuration. See [Subscribe to Events](https://developers.google.com/nest/device-access/subscribe-to-events) for more instructions on how to manually create a subscription and use the full subscription name in the Home Assistant configuration e.g. `projects/gcp-project-name/subscriptions/subscription-id`
# Legacy Works With Nest API

View File

@ -8,6 +8,8 @@ ha_release: 0.81
ha_codeowners:
- '@exxamalte'
ha_domain: nsw_rural_fire_service_feed
ha_platforms:
- geo_location
---
The `nsw_rural_fire_service_feed` platform lets you integrate a GeoJSON feed provided by the [NSW Rural Fire Service](https://www.rfs.nsw.gov.au/fire-information/fires-near-me) with information about bush fires, grass fires, hazard reductions and more. It retrieves incidents from a feed and shows information of those incidents filtered by distance to Home Assistant's location.

View File

@ -56,7 +56,7 @@ command_template:
type: template
command_topic:
description: The MQTT topic to publish commands to change the number.
required: false
required: true
type: string
device:
description: "Information about the device this Number is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device."

View File

@ -22,7 +22,7 @@ ha_platforms:
{% include integrations/config_flow.md %}
### API Key
For the integration to work, please check that the plugin Discovery is enabled.
The Octoprint integration will attempt to register itself via the [application keys plugin](https://docs.octoprint.org/en/master/bundledplugins/appkeys.html). After submitting the configuration UI in Home Assistant, open the Octoprint UI and click allow on the prompt.
## Binary Sensor

View File

@ -8,6 +8,8 @@ ha_release: 0.95
ha_codeowners:
- '@exxamalte'
ha_domain: qld_bushfire
ha_platforms:
- geo_location
---
The `qld_bushfire` platform lets you integrate a

View File

@ -6,7 +6,7 @@ ha_category:
- Car
- Sensor
ha_release: 2021.12
ha_iot_class: Cloud Poll
ha_iot_class: Cloud Polling
ha_config_flow: true
ha_quality_scale: platinum
ha_codeowners:

View File

@ -15,6 +15,7 @@ ha_codeowners:
ha_domain: renault
ha_platforms:
- binary_sensor
- button
- device_tracker
- sensor
- select

View File

@ -18,6 +18,7 @@ ha_platforms:
- binary_sensor
- climate
- light
- number
- sensor
- switch
---

View File

@ -56,6 +56,18 @@ json_attributes:
type: [string, list]
{% endconfiguration %}
## Execution
The `command` is executed within the [configuration directory](/docs/configuration/).
<div class='note'>
If you are using [Home Assistant Operating System](https://github.com/home-assistant/operating-system), the commands are executed in the `homeassistant` container context. So if you test or debug your script, it might make sense to do this in the context of this container to get the same runtime environment.
</div>
With a `0` exit code, the output (stdout) of the command is used as `value`. In case a command results in a non `0` exit code or is terminated by the `command_timeout`, the result is only logged to Home Assistant log and the value of the sensor is not updated.
## Examples
In this section you find some real-life examples of how to use this sensor.
@ -189,3 +201,4 @@ sensor:
```
{% endraw %}

View File

@ -24,7 +24,7 @@ The type of data a sensor returns impacts how it is displayed in the frontend. T
- **carbon_monoxide**: Carbon Monoxide in CO (Gas CNG/LPG)
- **current**: Current in A.
- **date**: Date string (ISO 8601).
- **energy**: Energy in Wh or kWh.
- **energy**: Energy in Wh, kWh or MWh.
- **frequency**: Frequency in Hz, kHz, MHz or GHz.
- **gas**: Gasvolume in m³ or ft³.
- **humidity**: Percentage of humidity in the air.

View File

@ -39,6 +39,16 @@ Any service data passed into the service call to activate the shell command will
`stdout` and `stderr` output from the command are both captured and will be logged by setting the [log level](/integrations/logger/) to debug.
## Execution
The `command` is executed within the [configuration directory](/docs/configuration/).
<div class='note'>
If you are using [Home Assistant operating system](https://github.com/home-assistant/operating-system), the commands are executed in the `homeassistant` container context. So if you test or debug your script, it might make sense to do this in the context of this container to get the same runtime environment.
</div>
With a `0` exit code, the output (stdout) of the command is used as `value`. In case a command results in a non `0` exit code or is terminated by the `command_timeout`, the result is only logged to Home Assistant log and the value of the sensor is not updated.
## Examples
### Defining multiple shell commands

View File

@ -21,6 +21,7 @@ ha_zeroconf: true
ha_platforms:
- binary_sensor
- button
- climate
- cover
- light
- sensor

View File

@ -15,6 +15,7 @@ ha_platforms:
- binary_sensor
- lock
- sensor
ha_dhcp: true
---
The `simplisafe` integration integrates [SimpliSafe home security](https://simplisafe.com) (V2 and V3) systems into Home Assistant. Multiple SimpliSafe accounts can be accommodated.

View File

@ -16,6 +16,7 @@ ha_ssdp: true
ha_platforms:
- binary_sensor
- media_player
- number
- sensor
- switch
ha_zeroconf: true

View File

@ -24,7 +24,7 @@ Assuming the [`recorder`](/integrations/recorder/) integration is running, histo
## Characteristics
The following statistical characteristics are available. Pay close attention to the right configuration of `sampling_size` and `max_age`, as most characterists are directly related to the count of samples or the age of processed samples.
The following statistical characteristics are available. Pay close attention to the right configuration of `sampling_size` and `max_age`, as most characteristics are directly related to the count of samples or the age of processed samples.
### Numeric Source Sensor

View File

@ -178,13 +178,13 @@ automation:
- sensor.temp_sensor_room
- sensor.tado_temperature
# Check if the room temp is more than 0.5 higher than the tado thermostat reading
# Check if the room temp is more than 0.5 away from the tado thermostat reading condition. The sensors default to room temperature (20) when the reading is in error:
condition:
- condition: template
value_template: >
{% set tado_temp = states('sensor.tado_temperature')|float %}
{% set room_temp = states('sensor.temp_sensor_room')|float %}
{{ (tado_temp - room_temp) > 0.5 }}
{% set tado_temp = states('sensor.tado_temperature')|float(20) %}
{% set room_temp = states('sensor.temp_sensor_room')|float(20) %}
{{ (tado_temp - room_temp) | abs > 0.5 }}
# Work out what the new offset should be (tado temp less the room temp but add the current offset value) and turn that to a negative value for setting as the new offset
action:
@ -193,9 +193,9 @@ automation:
entity_id: climate.tado
data:
offset: >
{% set tado_temp = states('sensor.tado_temperature')|float %}
{% set room_temp = states('sensor.temp_sensor_room')|float %}
{% set tado_temp = states('sensor.tado_temperature')|float(20) %}
{% set room_temp = states('sensor.temp_sensor_room')|float(20) %}
{% set current_offset = state_attr('climate.tado', 'offset_celsius') %}
{{ (-(tado_temp - room_temp) + current_offset)|round }}
{{ (-(tado_temp - room_temp) + current_offset)|round(1) }}
```
{% endraw %}

View File

@ -3,7 +3,7 @@ title: TEMPer
description: Instructions on how to integrate TEMPer sensors into Home Assistant.
ha_category:
- DIY
ha_iot_class: Local Push
ha_iot_class: Local Polling
ha_release: pre 0.7
ha_domain: temper
ha_platforms:

View File

@ -251,7 +251,7 @@ template:
# Define state-based template entities
- sensor:
...
binary_sensor:
- binary_sensor:
...
# Define trigger-based template entities

View File

@ -1,7 +1,7 @@
---
title: TOLO Sauna
description: Control your TOLO Sauna and TOLO Steam Bath with Home Assistant.
ha_release: "2021.12"
ha_release: '2021.12'
ha_category:
- Climate
- Health
@ -10,14 +10,15 @@ ha_domain: tolo
ha_config_flow: true
ha_codeowners:
- '@MatthiasLohr'
ha_iot_class: "Local Polling"
ha_iot_class: Local Polling
ha_platforms:
- binary_sensor
- button
- climate
- fan
- light
- select
- sensor
- select
ha_dhcp: true
---

View File

@ -19,8 +19,6 @@ ha_platforms:
- light
- sensor
- switch
ha_codeowners:
- '@janiversen'
---
The `tradfri` integration allows you to connect your IKEA Trådfri Gateway to Home Assistant. The gateway can control compatible Zigbee-based lights (certified Zigbee Light Link products) connected to it. Home Assistant will automatically discover the gateway's presence on your local network if `discovery:` is present in your `configuration.yaml` file.

View File

@ -28,6 +28,7 @@ ha_codeowners:
ha_platforms:
- binary_sensor
- camera
- button
- climate
- cover
- fan
@ -60,7 +61,7 @@ This is a separate account from the one you made for the app. You cannot log in
1. Log in to the [Tuya IoT Platform](https://iot.tuya.com/).
2. In the left navigation bar, click `Cloud` > `Development`.
3. On the page that appears, click `Create Cloud Project`.
4. In the `Create Cloud Project` dialog box, configure `Project Name`, `Description`, `Industry`, and `Data Center`. For the `Development Method` field, select `Smart Home` from the dropdown list. For the `Data Center` field, select the zone you are located in.
4. In the `Create Cloud Project` dialog box, configure `Project Name`, `Description`, `Industry`, and `Data Center`. For the `Development Method` field, select `Smart Home` from the dropdown list. For the `Data Center` field, select the zone you are located in. Refer to the country/data center mapping list [here](https://github.com/tuya/tuya-home-assistant/blob/main/docs/regions_dataCenters.md) to choose the right data center for the country you are in.
![](/images/integrations/tuya/image_001.png)
5. Click `Create` to continue with the project configuration.
6. In Configuration Wizard, make sure you add `Device Status Notification` API. The list of API should look like this:
@ -117,7 +118,7 @@ Click the created project to enter the `Project Overview` page and get the `Auth
description: >
- App account not linked with cloud project: On the [Tuya IoT Platform](https://iot.tuya.com/cloud/), you have linked devices by using Tuya Smart or Smart Life app in your cloud project. For more information, see [Link devices by app account](https://developer.tuya.com/en/docs/iot/Platform_Configuration_smarthome?id=Kamcgamwoevrx&_source=7a356dd493196a01bb9021b7680a2a45#title-3-Link%20devices%20by%20app%20account).
- Incorrect username or password: Enter the correct account and password of the Tuya Smart or Smart Life app in the **Account** and **Password** fields. Note that the app account depends on which app (Tuya Smart or Smart Life) you used to link devices on the [Tuya IoT Platform](https://iot.tuya.com/cloud/).
- Incorrect username or password: Enter the correct account and password of the Tuya Smart or Smart Life app in the **Account** and **Password** fields (social login, which the Tuya Smart app allows, may not work, and thus should be avoided for use with the Home Assistant integration). Note that the app account depends on which app (Tuya Smart or Smart Life) you used to link devices on the [Tuya IoT Platform](https://iot.tuya.com/cloud/).
- Incorrect country. You must select the region of your account of the Tuya Smart app or Smart Life app.

View File

@ -12,6 +12,7 @@ ha_codeowners:
ha_domain: twentemilieu
ha_platforms:
- sensor
ha_quality_scale: platinum
---
The Twente Milieu integration allows you to track the next scheduled waste

View File

@ -8,6 +8,8 @@ ha_release: 0.84
ha_codeowners:
- '@exxamalte'
ha_domain: usgs_earthquakes_feed
ha_platforms:
- geo_location
---
The `usgs_earthquakes_feed` platform lets you integrate a GeoJSON feed provided by the [U.S. Geological Survey](https://earthquake.usgs.gov/) with information about seismic events like earthquakes. It retrieves incidents from a feed and shows information of those incidents filtered by distance to Home Assistant's location.

View File

@ -249,7 +249,7 @@ template:
unit_of_measurement: kWh
state: >
{% if is_number(states('sensor.daily_energy_offpeak')) and is_number(states('sensor.daily_energy_peak')) %}
{{ (states('sensor.daily_energy_offpeak') + states('sensor.daily_energy_peak')) | float }}
{{ states('sensor.daily_energy_offpeak') | float + states('sensor.daily_energy_peak') | float }}
{% else %}
None
{% endif %}
@ -259,7 +259,7 @@ template:
unit_of_measurement: kWh
state: >
{% if is_number(states('sensor.monthly_energy_offpeak')) and is_number(states('sensor.monthly_energy_peak')) %}
{{ (states('sensor.monthly_energy_offpeak') + states('sensor.monthly_energy_peak')) | float }}
{{ states('sensor.monthly_energy_offpeak') | float + states('sensor.monthly_energy_peak') | float }}
{% else %}
None
{% endif %}

View File

@ -101,7 +101,7 @@ VeSync air purifiers will expose the following details depending on the features
## Extracting Attribute data
In order to get the attributes readings from supported devices, such as energy from outlets or fan attributes, you'll have to create a [template sensor](/integrations/switch.template/).
In order to get the attributes readings from supported devices, such as energy from outlets or fan attributes, you'll have to create a [template sensor](/integrations/template#state-based-template-sensors/).
In the example below, change all of the `vesync_switch`'s to match your device's entity ID.

View File

@ -13,6 +13,7 @@ ha_platforms:
- climate
- sensor
- water_heater
ha_dhcp: true
---
The `ViCare` integration lets you control [Viessmann](https://www.viessmann.com) devices via the Viessmann ViCare (REST) API.

View File

@ -12,6 +12,9 @@ ha_platforms:
- lock
- sensor
- switch
ha_codeowners:
- '@molobrakos'
- '@decompil3d'
---
The `volvooncall` integration offers integration with the [Volvo On Call](https://www.volvocars.com/intl/why-volvo/human-innovation/future-of-driving/connectivity/volvo-on-call) cloud service and offers presence detection as well as sensors such as odometer and fuel level.

View File

@ -14,6 +14,8 @@ ha_codeowners:
ha_domain: wled
ha_zeroconf: true
ha_platforms:
- binary_sensor
- button
- light
- number
- sensor

View File

@ -13,6 +13,7 @@ ha_config_flow: true
ha_domain: yamaha_musiccast
ha_platforms:
- media_player
- number
---
The Yamaha MusicCast integration allows you to control [Yamaha MusicCast Receivers](https://usa.yamaha.com/products/audio_visual/musiccast/index.html) from Home Assistant.

View File

@ -105,7 +105,7 @@ Some other Zigbee coordinator hardware may not support a firmware that is capabl
<div class="note warning">
The **EZSP** protocol requires a stable connection to the serial port. With _ITEAD Sonoff ZBBridge_ connecting over the WiFi network
it is expected to see `NCP entered failed state. Requesting APP controller restart` in the logs. This is a normal part of the operation and indicates there was a drop in communication between ZHA and SonOff bridge.
it is expected to see `NCP entered failed state. Requesting APP controller restart` in the logs. This is a normal part of the operation and indicates there was a drop in communication between ZHA and Sonoff bridge.
</div>
@ -348,7 +348,9 @@ To add a new device:
1. Reset your Zigbee devices according to the device instructions provided by the manufacturer (e.g., turn on/off lights up to 10 times, switches usually have a reset button/pin). It might take a few seconds for the devices to appear. You can click on **Show logs** for more verbose output.
1. Once the device is found, it will appear on that page and will be automatically added to your devices. You can optionally change its name and add it to an area (you can change this later). You can search again to add another device, or you can go back to the list of added devices.
### Best practices for avoiding pairing difficulties
### Best practices to avoid pairing/connection difficulties
Verify that you try to follow recommended best practices to avoid pairing and/or connection issues:
- If possible try to pair your Zigbee devices in their intended final location, (and not pair it next to the Zigbee coordinator and then need to move it after).
- Pairing a Zigbee device next to the Zigbee coordinator and then moving it later can result in dropped/lost connections or other issues.
@ -357,7 +359,7 @@ To add a new device:
- Some people have reported replacing the battery on their newly received Xiaomi/Aqara devices solved pairing issues.
- Check that you have enough Zigbee router devices (also known as Zigbee signal repeaters or range extenders) and if you do not have any, invest and add some mains-powered devices that will work as Zigbee routers.
- Aim to start out with mains-powered devices before adding battery-operated devices as a "weak" Zigbee network mesh (e.g., the device is too far from the Zigbee coordinator or a Zigbee router) may prevent some devices from being paired. Zigbee router devices are also needed to increase the maximum of devices that can be connected to your Zigbee mesh network.
- Note that some Zigbee devices are not fully compatible with all brands of Zigbee router devices. Xiaomi/Aqara devices are for example known not to work with Zigbee router devices from Centralite, General Electrics, Iris, Ledvance/OSRAM/ LIGHTIFY/Sylvania, Orvibo, PEQ, Securifi, and SmartThings/Samsung. Better results can usually be achieved by using mains-powered devices IKEA and Nue/3A Home or dedicated DIY routing devices based on Texas Instruments CC253x/CC26x2 and XBee Series 2/3 Zigbee radios.
- Note that some Zigbee devices are not fully compatible with all brands of Zigbee router devices. Xiaomi/Aqara devices are for example known not to work with Zigbee router devices from Centralite, General Electrics, Iris, Ledvance/OSRAM, LIGHTIFY/Sylvania, Orvibo, PEQ, Securifi, and SmartThings/Samsung. Better results can usually be achieved by using mains-powered devices IKEA and Nue/3A Home or dedicated DIY routing devices based on Texas Instruments CC253x/CC26x2 and XBee Series 2/3 Zigbee radios.
- Be patient as the pairing of some Zigbee devices may require multiple attempts and you may sometimes need to try again and again.
- Some devices, like example those from Xiaomi/Aqara, are known to not be 100% compliant with the standard Zigbee specifications and may therefore require many paring attempts over 10-20 minutes or longer.

View File

@ -35,43 +35,20 @@ ha_platforms:
- switch
---
This integration allows you to control a Z-Wave network via the [Z-Wave JS](https://zwave-js.github.io/node-zwave-js/#/) driver. This is our recommended Z-Wave integration for Home Assistant.
This integration allows you to control a Z-Wave network via the [Z-Wave JS](https://zwave-js.github.io/node-zwave-js/#/) driver. This is our recommended Z-Wave integration for Home Assistant. If you're migrating from the deprecated `zwave` or `ozw` integrations, see [our migration instructions](#migrating-from-previous-z-wave-implementations).
Please review the limitations [below](/integrations/zwave_js/#current-limitations) before you get started as a few devices still may not work or only work partially.
## Quick start (Home Assistant including Supervisor)
To add Z-Wave JS to your installation, plug the Z-Wave stick into the device that runs Home Assistant. Then Go to {% my integrations title="Configuration > Devices & Services" %} in the UI. Click the "Add integration" button in the bottom right and from the list of integrations, select "Z-Wave JS" and follow the instructions shown.
Note: A new network key is automatically generated for you. If this Z-Wave stick has already paired with secure devices, you need to enter the previously used network key. Make sure that you keep a backup of this key in a safe place in case you need to move your Z-Wave stick to another device.
If you do not run Home Assistant OS (the default installation type) or Home Assistant Supervised, please see the [advanced installation instructions](#advanced-installation-instructions).
### Discovery via USB
Some devices can be auto-discovered, which can simplify the Z-Wave JS setup process. The following devices have been tested with discovery, and offer a quick setup experience:
| Device | Identifier | Vendor |
| -------| ---------- | ------ |
| Aeotec Z-Stick Gen5+ | 0658:0200 | https://aeotec.com/z-wave-usb-stick/ |
| Nortek HUSBZB-1 | 10C4:8A2A | https://www.nortekcontrol.com/products/2gig/husbzb-1-gocontrol-quickstick-combo/ |
| Zooz ZST10 | 10C4:EA60 | https://www.getzooz.com/zooz-zst10-s2-stick.html |
| Z-WaveMe UZB | 0658:0200 | https://z-wave.me/products/uzb/ |
Additional devices may be discoverable, however only devices that have been confirmed discoverable are listed above.
## Using Z-Wave
When the Z-Wave integration starts up, it will interview your entire Z-Wave network. Depending on the number of devices paired with the Z-Wave stick, this can take a while. Information about your devices is stored in cache files by Z-Wave JS. Be aware that (re)starting the Z-Wave server will cause your network to be (partially) unresponsive until the interview process is done.
While your Z-Wave mesh is permanently stored on your stick, the additional metadata is not. When you lose the cache files (for example by switching between any of the below-mentioned ways to run the server) all your nodes will have to be re-interviewed again before they can be properly controlled. You can speed up this process by manually waking up your battery-powered devices. Most of the time this is a press on the button on those devices (see their manual). It is not needed to exclude/re-include devices from the mesh. Just be patient and the devices will appear.
<p class='note'>
Advanced users: Make sure that the server started successfully by inspecting the logs. Give the Z-Wave controller some time to start.
</p>
To Run Z-Wave JS you will need a [Supported Z-Wave dongle](/docs/z-wave/controllers/#supported-z-wave-usb-sticks--hardware-modules), a running Z-Wave JS server (using only **one** of the add-ons or installation methods described below), and the Z-Wave JS integration.
{% include integrations/config_flow.md %}
If you run Home Assistant Container, Home Assistant Core, or you don't want to use the built-in Z-Wave JS Server add-on, please see the [advanced installation instructions](#advanced-installation-instructions).
For new installations, network security keys will be automatically generated for you. If this Z-Wave stick has already been paired with secure devices, you need to enter the previously used network key as the S0 network key. S2 security keys will be automatically generated for you. Make sure that you keep a backup of these keys in a safe place in case you need to move your Z-Wave stick to another device.
<p class='note'>
While your Z-Wave mesh is permanently stored on your stick, the additional metadata is not. When the Z-Wave integration starts up the first time, it will interview your entire Z-Wave network. Depending on the number of devices paired with the Z-Wave stick, this can take a while. You can speed up this process by manually waking up your battery-powered devices. Most of the time this is a press on the button on those devices (see their manual). It is not necessary to exclude/re-include devices from the mesh.
</p>
## Services
### Service `zwave_js.set_config_parameter`
@ -433,16 +410,16 @@ action:
## Automations
### Device automations
The `Z-Wave JS` integration provides its own trigger platforms which can be used in automations.
Z-Wave JS has support for device triggers and conditions. To use a device automation, use the automation UI to select the "Device" trigger/condition type, and then pick your Z-Wave JS device. Under trigger/condition types, you will see Z-Wave JS specific entries.
### `zwave_js.value_updated`
### `zwave_js.value_updated` trigger
This trigger platform can be used to trigger automations on any Z-Wave JS value update, including Z-Wave values that aren't supported in Home Assistant via entities. While they can't be authored from the automation UI, they can be authored in YAML directly in your `configuration.yaml`.
Z-Wave JS provides the `zwave_js.value_updated` trigger platform which can be used to trigger automations on any Z-Wave JS value update, including Z-Wave values that aren't supported in Home Assistant via entities. While they can't be authored from the automation UI, they can be authored in YAML directly in your `configuration.yaml`.
#### Example automation trigger configuration
```yaml
# Example automation trigger that fires whenever the `latchStatus` value changes from `closed` to `opened` on the three devices (devices will be derived from an entity ID).
# Fires whenever the `latchStatus` value changes from `closed` to `opened` on the three devices (devices will be derived from an entity ID).
trigger:
platform: zwave_js.value_updated
# At least one `device_id` or `entity_id` must be provided
@ -483,43 +460,33 @@ In addition to the [standard automation trigger data](/docs/automation/templatin
| `trigger.current_value` | The current value for this Z-Wave value (translated to a state name when possible). |
| `trigger.current_value_raw` | The raw current value for this Z-Wave value (the key of the state when a state is named). |
## Current Limitations
- While support for the most common devices is working, some command classes are not yet (fully) implemented in Z-Wave JS. You can track the status [here](https://github.com/zwave-js/node-zwave-js/issues/6).
You can keep track of the Roadmap for the Z-Wave JS integration [here](https://github.com/home-assistant-libs/zwave-js-server-python/issues/56).
## Migrating from previous Z-Wave implementations
If you're new to Home Assistant, use Z-Wave JS.
The `zwave` and `ozw` integrations have been marked as deprecated and will no longer receive any updates.
It is perfectly doable to switch over from one of the above mentioned previous integrations to the new Z-Wave JS integration. The good news is that your entire Z-Wave network is **stored on your stick** so you will not have to run through your house to recreate your network.
If you are currently running the [`zwave`](/integrations/zwave/) or [`ozw`](/integrations/ozw/) Z-Wave integration we recommend you to migrate to Z-Wave JS. All development focus now goes to Z-Wave JS. The previous implementations are provided as-is. They will not be removed without proper notice but in time there might come technical dependencies that render one or both of those integrations unusable.
If you are switching from the `zwave` or `ozw` integrations to the new Z-Wave JS integration, you will not need to recreate your entire network, as the network is **stored on your stick**. A few things, such as how you receive [central scene events](#events) will work differently than they did before.
### Automatic migration wizard
For the `zwave` integration there is a migration wizard that will help you set up the Z-Wave JS integration, remove the `zwave` integration and migrate the entities and devices that can be mapped from the `zwave` integration to the Z-Wave JS integration. Some entities may not be able to migrate automatically and you will need to rename the corresponding available Z-Wave JS entities manually, after the migration. Before completing the migration you will be shown a list of entities that could not be migrated automatically, and you'll have the option to abort or continue with the migration. The migration wizard is available from the `zwave` integration configuration panel in the GUI.
If you are using the `zwave` integration, there is a migration wizard that will help you set up the Z-Wave JS integration, remove the `zwave` integration and migrate the entities and devices that can be mapped from the `zwave` integration to the Z-Wave JS integration. The migration wizard is available from the `zwave` integration configuration panel in the GUI.
Some entities may not be able to migrate automatically and you will need to rename the corresponding available Z-Wave JS entities manually. Before completing the migration you will be shown a list of entities that could not be migrated automatically, and you'll have the option to abort or continue with the migration.
There is no automatic migration wizard for the `ozw` integration. Please follow the manual migration path below if you want to migrate from `ozw` to Z-Wave JS.
### In a nutshell this is what the migration path looks like
### Manual migration path
1) Make a **backup** of your Home Assistant configuration. If you're running the supervisor this is very easy to do by creating a backup. You should do this so you'll be able to quickly revert if you may run into unexpected problems.
1) Make a **backup** of your Home Assistant configuration. You should do this so you'll be able to quickly revert if you encounter unexpected problems.
<div class='note info'>Write down/copy your Z-Wave network key somewhere, you are going to need it later.</div>
<div class='note info'>Write down/copy your Z-Wave network key somewhere, you are going to need it later.</div>
<div class='note info'>Make a list of what node ID belongs to each device. Your network (Nodes and their config etc) is stored on the stick but the names you gave your devices and entities are not. This step is optional but will save you a lot of time later.</div>
<div class='note info'>Make a list of what node ID belongs to each device. Your network (Nodes and their config etc) is stored on the stick but the names you gave your devices and entities are not. This step is optional but will save you a lot of time later.</div>
2) Remove the Z-Wave integration from Home Assistant: Configuration --> Integrations --> Z-Wave (or OpenZWave) --> Press the three dots and click Delete.
<div class='note info'>
<div class='note info'>
If you have configured Z-Wave manually, make sure to also remove the `zwave:` section from your `configuration.yaml`.
If you have configured Z-Wave manually, make sure to also remove the `zwave:` section from your `configuration.yaml`.
</div>
</div>
3) If you were running the OpenZWave beta, make sure to stop (or even remove) the OpenZWave add-on, also make sure it doesn't start automatically at startup.
@ -527,15 +494,23 @@ There is no automatic migration wizard for the `ozw` integration. Please follow
5) Install the Z-Wave JS Server of your choice. If you run the supervisor and you'd like to run the standard add-on, you can skip this step if you want. The add-on is installed automatically for you when you choose so in the integration set-up. Remember to fill in the network key you've saved before.
6) Set up the Z-Wave JS integration and connect it to the server. You should see your nodes being detected by Home Assistant. Carefully watch if the status of the node is "ready". This means it's been fully interviewed (and those details cached) by the Z-Wave JS driver. Battery-powered nodes will only be interviewed when they wake up (at scheduled intervals) which can take from a few hours to a few days. To speed that up, you might want to consider waking the device up once. The manual of your device will tell you how to do a manual wake.
6) Set up the Z-Wave JS integration and connect it to the server. You should see your nodes being detected by Home Assistant. Carefully watch if the status of the node is "ready". This means it's been fully interviewed (and those details cached) by the Z-Wave JS driver. Battery-powered nodes will only be interviewed when they wake up (at scheduled intervals) or if you manually wakeup the device (refer to the device's manual for instructions).
7) Once a node hits the ready state, the entities will be created (so not before). Only at this point, is it safe to rename the device (and so its entities). You will thank yourself at this point for having that list noted down of nodes and their names. This is actually the only real hard part of the migration as you will need to name all your devices again.
<div class='note info'>
Activating a battery powered sensor, such as opening a door sensor, is *not* the same as waking up the device.
</div>
7) Once a node is ready, the entities will be created. Only at this point, is it safe to rename the device (and so its entities). This is actually the only real hard part of the migration as you will need to name all your devices again.
8) Enjoy your super fast up-to-date Z-Wave network in Home Assistant with support for all modern devices!
#### Need more help with your migration to Z-Wave JS?
There are a few topics created on the forums that might be of your interest:
Please see our [Frequently Asked Questions](#frequently-asked-questions).
There are also a few topics created on the forums that might be helpful:
- [OpenZwave (beta) -> Z-Wave JS Official add-on](https://community.home-assistant.io/t/switching-from-openzwave-beta-to-zwave-js/276723)
@ -549,81 +524,96 @@ You can also visit the `#zwave` channel on [our discord](/join-chat/).
## Advanced installation instructions
The above instructions won't work if you are using Home Assistant Container, Home Assistant Core, or you don't want to use the built-in Z-Wave JS Server add-on. Below you'll find the more detailed set-up instructions that covers all use cases.
If you are using Home Assistant Container, Home Assistant Core, or you don't want to use the built-in Z-Wave JS Server add-on, you will need to run the Z-Wave JS server yourself, to which the Z-Wave JS integration will connect.
### Requirements
### Running [Z-Wave JS Server](https://github.com/zwave-js/zwave-js-server).
Controlling your Z-Wave network using the Z-Wave JS integration has the following requirements:
This application provides the connection between your Z-Wave USB stick and Home Assistant. The Home Assistant Z-Wave JS integration connects to this server via a websocket connection. You need to run this Z-Wave server before you can use the integration.
1. Run [Z-Wave JS Server](https://github.com/zwave-js/zwave-js-server). This application provides the connection between your Z-Wave USB stick and Home Assistant. This server runs separately from Home Assistant so your Z-Wave mesh will keep running if you restart or stop Home Assistant. The Home Assistant Z-Wave JS integration connects to this server via a websocket connection. You need to run this Z-Wave server before you can use the integration.
There are multiple ways to run this server:
2. [Supported Z-Wave dongle](/docs/z-wave/controllers/#supported-z-wave-usb-sticks--hardware-modules). The Z-Wave controller dongle should be connected to the same host as where the Z-Wave JS server is running. In the configuration for the Z-Wave server you need to provide the path to this stick. It's recommended to use the `/dev/serial-by-id/yourdevice` version of the path to your stick, to make sure the path doesn't change over reboots. The most common known path is `/dev/serial/by-id/usb-0658_0200-if00`.
3. A **network key**. This key is used in order to connect securely to compatible devices. The network key consists of 32 hexadecimal characters, for example `2232666D100F795E5BB17F0A1BB7A146` (do not use this one, pick a random one). Without a network key security enabled devices cannot be added securely and will not function correctly. You must provide this network key in the configuration part of the Z-Wave JS Server. For new installations, a unique default key will be auto generated for you. TIP: You could use a site like random.org to create your own random network key. Make sure that you keep a backup of this key in a safe place. You will need to enter the same key to be able to access the securely paired devices.
4. The Z-Wave JS integration in Home Assistant. This integration connects to the Z-Wave JS Server to retrieve the info from your Z-Wave network and turns it into Home Assistant devices and entities.
### Running the Z-Wave JS Server
As stated in the above requirements, you need to run the Z-Wave JS Server somewhere in your network. There are multiple ways to run this server, we'll explain the most common ways below:
#### 1. The official Z-Wave JS add-on, available from the add-on store
**Option 1: The official Z-Wave JS add-on, as described above**
_This option is only available for Home Assistant OS (the recommended installation type) and Home Assistant Supervised installations._
This add-on runs the Z-Wave JS server. It can be automatically installed and configured by Home Assistant as part of setting up the integration. You can also set it up manually.
This add-on can only be configured via the built-in Z-Wave JS control panel in Home Assistant.
The Z-Wave network can be configured via the built-in Z-Wave JS control panel in Home Assistant.
#### 2. The Z-Wave JS to MQTT add-on installed available from the community add-on store
**Option 2: The Zwavejs2Mqtt (aka "Z-Wave JS to MQTT") add-on installed from the community add-on store**
_This option is only available for Home Assistant OS (the recommended installation type) and Home Assistant Supervised installations._
This add-on includes the Z-Wave JS Server as part of the Z-Wave JS 2 MQTT application. Despite the name, MQTT is not required to run this add-on.
This add-on includes the Z-Wave JS Server as part of the Zwavejs2Mqtt application. Despite the name, MQTT is not required to run this add-on and both provide the same Z-Wave JS driver.
The Z-Wave network can be configured via the built-in Z-Wave JS control panel in Home Assistant and via the Z-Wave JS control panel built into Z-Wave JS 2 MQTT.
The Z-Wave network can be configured via the built-in Z-Wave JS control panel in Home Assistant and alternatively via the Z-Wave JS control panel built into Zwavejs2Mqtt. It provides you with a full-fledged, attractive, and feature-complete UI to manage your Z-Wave nodes and settings, which may support more advanced use cases as development continues on the Z-Wave JS control panel.
Despite what the name suggests, you can actually run this add-on without MQTT enabled. In that case, it will provide you with a full-fledged, attractive and feature-complete UI to manage your Z-Wave nodes and settings.
**Option 3: The Zwavejs2Mqtt Docker container**
This is the recommended approach if you're running Home Assistant Container. See the [Zwavejs2Mqtt documentation](https://zwave-js.github.io/Zwavejs2Mqtt/#/getting-started/quick-start) for instructions.
#### 3. The Z-Wave JS to MQTT Docker container
This method provides the same server application and UI as the Zwavejs2Mqtt add-on. After installing the Docker image, make sure you enable the WS Server in the Home Assistant section of Settings page.
This is the recommended approach if you're running Home Assistant Container. See the [zwavejs2mqtt documentation](https://zwave-js.github.io/zwavejs2mqtt/#/getting-started/quick-start) for instructions.
**Option 4: Run the Z-Wave server yourself**
After installing the Docker image, make sure you enable the Z-Wave JS Server in the configuration.
This is considered a very advanced use case. In this case you run the Z-Wave JS Server or Zwavejs2Mqtt NodeJS application directly. Installation and maintaining this is out of scope for this document. See the [Z-Wave JS server](https://github.com/zwave-js/zwave-js-server) or [Zwavejs2Mqtt](https://github.com/zwave-js/zwavejs2mqtt) GitHub repository for information.
#### 4. Run the Z-Wave server yourself
<div class='note info'>
This is considered a very advanced use case. In this case you run the Z-Wave JS Server or zwavejs2mqtt NodeJS application directly. Installation and maintaining this is out of scope for this document. See the [Z-Wave JS server](https://github.com/zwave-js/zwave-js-server) or [zwavejs2mqtt](https://github.com/zwave-js/zwavejs2mqtt) GitHub repository for information.
[Supported Z-Wave dongle](/docs/z-wave/controllers/#supported-z-wave-usb-sticks--hardware-modules). The Z-Wave controller dongle should be connected to the same host as where the Z-Wave JS server is running. In the configuration for the Z-Wave server, you need to provide the path to this stick. It's recommended to use the `/dev/serial-by-id/yourdevice` version of the path to your stick, to make sure the path doesn't change over reboots. The most common known path is `/dev/serial/by-id/usb-0658_0200-if00`.
</div>
<div class='note info'>
**Network keys** are used to connect securely to compatible devices. The network keys consist of 32 hexadecimal characters, for example, `2232666D100F795E5BB17F0A1BB7A146` (do not use this one, pick a random one). Without network keys security enabled devices cannot be added securely and will not function correctly. You must provide these network keys in the configuration part of the Z-Wave JS Server.
For new installations, unique default keys will be auto-generated for you by the Z-Wave JS add-on. You can also generate those network keys in the Settings section of Zwavejs2Mqtt.
If migrating from the `zwave` or `ozw` integrations, your network key from those integration should be entered as the S0 network key. Those integrations did not support S2 security, so you will not yet have S2 network keys to configure.
Make sure that you keep a backup of these keys in a safe place. You will need to enter the same keys to be able to access securely paired devices.
</div>
### Installing and configuring the Z-Wave JS integration in Home Assistant
Once you have the Z-Wave server up and running, it's time to configure the integration in Home Assistant. This integration can be configured using the integrations in the Home Assistant frontend:
Once you have the Z-Wave server up and running, you need to install and configure the integration in Home Assistant (as described above).
1. Click on the `+` sign to add an integration and click on **Z-Wave JS**.
If you're running full Home Assistant with supervisor, you will be presented with a dialog that asks if you want to use the Z-Wave JS Supervisor add-on. You **must** uncheck this box if you are running the Z-Wave JS server in any manner other than the official Z-Wave JS add-on, including using Z-Wave JS to MQTT add-on.
2. If you're running full Home Assistant with supervisor, you will be presented with a dialog that asks if you want to use the Z-Wave JS Supervisor add-on. Check the box if you prefer this option. If you run the server yourself, or prefer the alternative zwavejs2mqtt addon, uncheck this box. After completing the configuration flow, the Z-Wave JS integration will be
available.
3. If you're not running the supervisor or you've unchecked the above mentioned box, you will be asked to enter a websocket URL (defaults to ws://localhost:3000). It is very important that you fill in the correct (docker) IP/hostname here. For example for the Z-Wave JS to MQTT add-on this is `ws://a0d7b954-zwavejs2mqtt:3000`.
If you're not running the supervisor or you've unchecked the above mentioned box, you will be asked to enter a websocket URL (defaults to ws://localhost:3000). It is very important that you fill in the correct (docker) IP/hostname here. For example for the Z-Wave JS to MQTT add-on this is `ws://a0d7b954-zwavejs2mqtt:3000`.
## Frequently Asked Questions
### What Z-Wave devices are currently supported?
### Supported Devices and Command Classes
See the [Z-Wave JS device database](https://devices.zwave-js.io/).
### Can I switch between the Official Z-Wave JS add-on and Z-Wave JS to MQTT?
While there is support for the most common devices, some command classes are not yet (fully) implemented in Z-Wave JS. You can track the status [here](https://github.com/zwave-js/node-zwave-js/issues/6).
You can, but you cannot run them at the same time. Only one of them can be active at the same time.
You can also keep track of the Roadmap for the Z-Wave JS integration [here](https://github.com/home-assistant-libs/zwave-js-server-python/issues/56).
When you switch add-ons, re-add the Z-Wave integration to Home Assistant with the new/updated WebSocket URL. There will be a popup raised that this Z-Wave network is already configured but "under the hood" the WebSocket URL is adjusted.
### Installation and Configuration
### I do not see any entities created for my device in Home Assistant
#### Which Z-Wave controller should I buy?
Entities will be created only after the node hits the ready state (interview is completed). Also, note that some devices (like button remotes) do not create any entities but will only provide events when a button is pressed. See the events section on how to handle those events in your automations. If you are certain that your device should have entities and you do not see them (even after a restart of Home Assistant Core), that will be the time to create an issue about your problem on the GitHub issue tracker, see below section of troubleshooting issues.
Z-Wave JS supports all known 500 and 700 series Z-Wave controllers. If you are just starting out, we recommend that you purchase a 700 series controller to take advantage of the latest improvements.
### Is there a way to easily export a dump of all my current Z-Wave nodes before I migrate?
For more information, see [Supported Z-Wave dongles](/docs/z-wave/controllers/#supported-z-wave-usb-sticks--hardware-modules)
#### Why was I (or why was I not) automatically prompted to install Z-Wave JS?
Some Z-Wave USB sticks can be auto-discovered, which can simplify the Z-Wave JS setup process. The following devices have been tested with discovery, and offer a quick setup experience; however, these are **not** all of the devices supported by Z-Wave JS:
| Device | Identifier | Vendor |
| -------| ---------- | ------ |
| Aeotec Z-Stick Gen5+ | 0658:0200 | https://aeotec.com/z-wave-usb-stick/ |
| Nortek HUSBZB-1 | 10C4:8A2A | https://www.nortekcontrol.com/products/2gig/husbzb-1-gocontrol-quickstick-combo/ |
| Zooz ZST10 | 10C4:EA60 | https://www.getzooz.com/zooz-zst10-s2-stick.html |
| Z-WaveMe UZB | 0658:0200 | https://z-wave.me/products/uzb/ |
Additional devices may be discoverable, however only devices that have been confirmed discoverable are listed above.
#### Is there a way to easily export a dump of all my current Z-Wave nodes before I migrate?
You can run the script below in the Developer Tools to get a full oversight of your nodes and their entities.
@ -640,7 +630,54 @@ Node {{ node }};{{ s.name }};{{ s.entity_id }}{% endfor %}
{% endraw %}
### How can I add (include) a new device to my Z-Wave network?
#### Can I switch between the Official Z-Wave JS add-on and Zwavejs2Mqtt?
You can, but you cannot run them both at the same time. Only one of them can be active at the same time.
#### How do I switch between the Official Z-Wave JS add-on and Zwavejs2Mqtt?
Switching does not require renaming your devices.
1. Disable the Z-Wave JS integration. **Do not remove the Z-Wave JS integration or you will lose all device and entity naming.** This will automatically stop the official Z-Wave JS add-on.
2. Note your network security keys from the official add-on.
3. Install and configure the Z-Wave JS to MQTT add-on, including setting the location of your Z-Wave device and the network security keys.
4. Add the Z-Wave JS integration again (even though it is still installed), and uncheck the "Use the Z-Wave JS Supervisor add-on". Enter the correct address for the community add-on in the URL field in the next step.
5. Uninstall the official Z-Wave JS add-on.
6. Enable the Z-Wave JS integration.
#### What's the benefit of using Zwavejs2Mqtt over the official Add-On?
The official add-on provides the Z-Wave Server in its bare minimum variant, just enough to serve the Home Assistant integration.
The Zwavejs2Mqtt project includes the Z-Wave JS Server for convenience but also provides a Z-Wave Control panel and the ability (hence its name) to serve your Z-Wave network to MQTT. You can leave the MQTT Gateway disabled and only use the Control panel but you can even have the MQTT features enabled at the same time. For example to interact with Z-Wave from other devices, while the Home Assistant integration still works (as long as you keep the WS Server enabled in Zwavejs2Mqtt).
#### Zwavejs2Mqtt seems to provide discovery of Home Assistant devices on its own too, now I'm confused
Correct, the Zwavejs2Mqtt project existed before Home Assistant had plans to move to the Z-Wave JS Driver. You should use the integration for device discovery and _not_ the MQTT discovery provided by Zwavejs2Mqtt.
#### Can I run Zwavejs2Mqtt only for the control panel and nothing else?
Sure, in the settings of Zwavejs2Mqtt, make sure to enable "WS Server" and disable "Gateway".
#### How do I use my OZW network key in Zwavejs2Mqtt?
You can use your existing network key in Zwavejs2Mqtt but you need to slightly adjust it.
The OZW looks like this: `0x01, 0x02, 0x03 etc.` while the network key format accepted in Zwavejs2Mqtt looks like this `0102030405 etc.`. You can simply edit your existing key and remove the `"0x"` part and the `", "` part so it becomes one large string of numbers.
#### Should I name my devices in Home Assistant, or in Zwavejs2Mqtt?
Ultimately, this is a personal decision. If you provide a name or location for a device in the Zwavejs2Mqtt UI, that name will be imported into Home Assistant when the integration is reloaded or Home Assistant is restarted. Any entity names, however, will not change if the device has already been set up by Home Assistant. Names set in Zwavejs2Mqtt _will not_ overwrite changes that have already been made in Home Assistant.
Names set in Home Assistant will not import into Zwavejs2Mqtt.
### Using Z-Wave JS
#### How can I add (include) a new device to my Z-Wave network?
1. In Home Assistant: open Configuration -> Integrations -> Z-Wave JS -> Configure.
2. Press `Add node`.
@ -649,11 +686,22 @@ Node {{ node }};{{ s.name }};{{ s.entity_id }}{% endfor %}
5. The UI should confirm that the node was added and it will be immediately visible in Home Assistant. After a short while (seconds to minutes) the entities should also be created.
6. If the controller fails to add/find your device, cancel the inclusion process (to unblock your network again). In some cases it might help to first remove a node (exclusion) before you add it, even when the device has not been added to this Z-Wave network yet. Another approach would be to factory reset the device. Info about that is in the manual of your device.
<div class='note info'>
While adding devices, you have the option to use `secure inclusion`, this means that the traffic between the controller and the device will be encrypted. This adds additional overhead to the Z-Wave network so use this option with care. As a general rule of thumb it is advised to only securely include devices that actually NEED this kind of protection. A good example is a Z-Wave door lock.
</div>
If your device is included using S2 security, you may be prompted to enter a PIN number provided with your device. Often, this PIN is provided with the documentation _and_ is also printed on the device itself.
### How can I remove (exclude) a device from my Z-Wave network?
**Warning:**
1. **Do not move your Z-Wave stick to include devices.** This is no longer necessary and leads to broken routes.
2. **Do not initiate device inclusion from the Z-Wave stick itself.** This is no longer supported.
#### Should I use `Secure Inclusion`?
That depends. There are two generations of Z-Wave security, S0, and S2.
S0 security imposes significant additional traffic on your mesh and is recommended only for devices that require security, such as door locks.
S2 security does not impose additional network traffic and provides additional benefits, such as detecting packet corruption. By default, Z-Wave JS attempts S2 security during inclusion if supported, falling back to S0 security only when necessary.
#### How do I remove (exclude) a device from my Z-Wave network?
1. In Home Assistant: open Configuration -> Integrations -> Z-Wave JS -> Configure.
2. Press `Remove node`.
@ -661,66 +709,49 @@ While adding devices, you have the option to use `secure inclusion`, this means
4. Put the device you want to remove in exclusion mode. Refer to its manual how this is done.
5. The UI should confirm that the node was removed and the device and entities will be removed from Home Assistant.
### Where do I need to enter the network key?
### Troubleshooting
- You enter the network key during integration setup if you do not have the add-on installed.
- Official Z-Wave JS add-on: In the add-on configuration, directly in the supervisor.
- Z-Wave JS 2 MQTT: In the web UI, go to Settings -> Z-Wave -> Network Key.
#### I'm having a problem, what should I do first?
### How can I use my OZW network key in zwavejs2mqtt?
_Many_ reported issues result from RF interference caused by the system's USB ports. This can manifest in many ways, including devices that won't include at all, devices that won't include securely, sensors with erroneous values (packets corrupted), delayed control of devices, or no ability to control devices. These problems can be intermittent, and they may be newly apparent after switching from `ozw`, though they existed before, as Z-Wave JS interviews devices and reports errors differently.
You can use your existing network key in zwavejs2mqtt but you need to slightly adjust it.
The OZW looks like this: `0x01, 0x02, 0x03 etc.` while the network key format accepted in zwavejs2mqtt looks like this `0102030405 etc.`. You can simply edit your existing key and remove the `"0x"` part and the `", "` part so it becomes one large string of numbers.
**All users are encouraged to use a USB extension cable to prevent such interference.** Please try such a cable before opening an issue or requesting support on Discord. It will nearly always be the first troubleshooting step that we ask you to take anyway.
### What's the benefit of using Z-Wave JS to MQTT over the official Add-On?
After ensuring you are using an extension cable, perform a network heal.
The official add-on provides the Z-Wave Server in it's bare minimum variant, just enough to serve the Home Assistant integration.
The Z-Wave JS to MQTT project includes the Z-Wave JS Server for convenience but also provides a Z-Wave Control panel and the ability (hence its name) to serve your Z-Wave network to MQTT. You can leave the MQTT Gateway disabled and only use the Control panel but you can even have the MQTT features enabled at the same time. For example to interact with Z-Wave from other devices, while the Home Assistant integration still works (as long as you keep the WS Server enabled in zwavejs2mqtt).
The combination of these two steps corrects a large number of reported difficulties.
### Z-Wave JS to MQTT seems to provide Home Assistant integration on its own too, now I'm confused
#### I have an Aeotec Gen5 controller, and it isn't detected on my Raspberry Pi 4?
Correct, the Z-Wave (JS) to MQTT project existed before Home Assistant even had plans to move to the Z-Wave JS Driver.
The Home Assistant integration that exists in zwavejs2mqtt is based on MQTT discovery.
The official Z-Wave JS integration is not based on MQTT and is talking directly to the Z-Wave JS Driver (using the WS Server). This gives a better experience.
The first-generation Gen5 controller has a known bug when plugged into a Pi 4 and possibly other systems. Aeotec released the Gen5+ stick to correct this bug. Gen5 users can plug their sticks into a USB 2.0 hub in order to overcome the issue.
### Can I run Z-Wave JS to MQTT only for the control panel and nothing else?
#### I do not see any entities created for my device in Home Assistant
Sure, in the settings of zwavejs2mqtt, make sure to enable "WS Server" and disable "Gateway".
Entities will be created only after the node is ready (the interview is completed). Also, note that some devices (like button remotes) do not create any entities but will only provide events when a button is pressed. See the events section on how to handle those events in your automations.
### My device does not automatically update its status in HA if I control it manually
If you are certain that your device should have entities and you do not see them (even after a restart of Home Assistant Core), create an issue about your problem on the GitHub issue tracker.
Your device might not send automatic status updates to the controller. While the best advice would be to update to recent Z-Wave Plus devices, there is a workaround with active polling (request the status) at some interval. See the section below for more info about this.
#### My device does not automatically update its status in HA if I control it manually
### What about polling of devices?
Your device might not send automatic status updates to the controller. While the best advice would be to update to recent Z-Wave Plus devices, there is a workaround with active polling (request the status).
Some legacy devices don't report all their values automatically and require polling to get updated values when controlled manually. Z-Wave JS does not automatically poll devices on a regular basis without user interaction. Polling can quickly lead to network congestion and should be used very sparingly and only where necessary.
Z-Wave JS does not automatically poll devices on a regular basis. Polling can quickly lead to network congestion and should be used very sparingly and only where necessary.
- We provide a `zwave_js.refresh_value` service to allow you to manually poll a value, for example from an automation that only polls a device when there is motion in that same room. If you **really** need polling, you can enable this in zwavejs2mqtt but not in the official add-on.
- We provide a `zwave_js.refresh_value` service to allow you to manually poll a value, for example from an automation that only polls a device when there is motion in that same room. If you **really** need polling, you can enable this in Zwavejs2Mqtt but not in the official add-on.
- zwavejs2mqtt allows you to configure scheduled polling on a per-value basis, which you can use to keep certain values updated. It also allows you to poll individual values on-demand from your automations, which should be preferred over blindly polling all the time if possible.
- Zwavejs2Mqtt allows you to configure scheduled polling on a per-value basis, which you can use to keep certain values updated. It also allows you to poll individual values on-demand from your automations, which should be preferred over blindly polling all the time if possible.
<div class='note warning'>
Polling is considered bad practice and should only be used as a last resort when you use it with care and accept the negative impact on your network. Z-Wave is a very low speed network and poll requests can easily flood your network and slow down your commands.
Polling should only be used as a last resort. You must use it with care and accept the negative impact on your network. Z-Wave is a very low speed network and poll requests can easily flood your network and slow down your commands.
</div>
### My device is recognized as Unknown Manufacturer and/or some of its functionalities do not work in Z-Wave JS
#### My device is recognized as Unknown Manufacturer and/or some of its functionalities do not work in Z-Wave JS
When your device is not yet fully interviewed, this info will not yet be present. So make sure your device is interviewed at least once. Is the state of your device reported as ready and you still see Unknown Manufacturer, read on.
When your device is not yet fully interviewed, this info will not yet be present. So make sure your device is interviewed at least once.
Z-Wave JS keeps a database of all devices it supports, including any special treatments they need. These are called the device configuration files and they are contributed mainly by the community. Is your device not fully supported, consider [contributing the device configuration file](https://zwave-js.github.io/node-zwave-js/#/config-files/contributing-files).
If the interview is complete, then the device does not yet have a device file for Z-Wave JS. Unlike other Z-Wave drivers, your device may very well work as intended even without such a file. If your device not fully supported, consider [contributing the device configuration file](https://zwave-js.github.io/node-zwave-js/#/config-files/contributing-files).
### I get a lot of sensor entities for my device that I'm probably never going to use
The integration will add as many usable entities for you as possible from the information it retrieves from your Z-Wave devices. Entities that you don't want/like, can be disabled within the Home Assistant interface.
### I renamed my devices in Z-Wave JS 2 MQTT but those names are not visible in Home Assistant
The names are only loaded when the Z-Wave JS integration is started. For Home Assistant
to pick up those new names, either reload the integration or restart Home Assistant.
## Troubleshooting Issues
### Get a dump of the current network state
#### How do I get a dump of the current network state?
When trying to determine why something isn't working as you expect, or when reporting an issue with the integration, it is helpful to know what Z-Wave JS sees as the current state of your Z-Wave network. To get a dump of your current network state, follow the menu:

View File

@ -0,0 +1,65 @@
---
type: card
title: "Area Card"
sidebar_label: Area
description: "The Area card gives control of your entities in a specified area."
---
The Area card lets you control and monitor an individual area.
<p class='img'>
<img src='/images/blog/2021-12/area-card.png' alt='Screenshot of the Area card'>
Screenshot of the Area card.
</p>
To add the Area card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Area** from the card picker. All options for this card can be configured via the user interface.
Buttons will appear on the card for the entities in the area including fan, light and switch. A motion sensor icon will appear in the top left if a motion sensor is in the area and motion is detected by the motion sensor.
If a camera is added to the area you can show the camera feed instead of the area pictue.
{% configuration %}
type:
required: true
description: "`area`"
type: string
area:
required: true
description: ID of the `area`.
type: string
show_camera:
required: false
description: Changes the area picture to a live feed of the camera set for the area.
type: boolean
default: false
navigation_path:
required: false
description: link to Lovelace view. For more information about views, see the [view documentation](/lovelace/views/)
type: string
theme:
required: false
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
type: string
{% endconfiguration %}
## Example
Alternatively, the card can be configured using YAML:
Basic example:
```yaml
- type: area
area: bedroom
```
Complex example
```yaml
- type: area
area: bedroom
navigation_path: my_bedroom
show_camera:true
theme: green
```

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,22 @@
---
title: "Multi-server support in iOS 2021.12"
description: "Configure multiple servers and easily switch between them."
date: 2021-12-18 00:00:00
date_formatted: "December 18, 2021"
author: Zac West
author_twitter: zacwest
categories: Release-Notes
og_image: /images/blog/2021-12-ios/social.png
---
![Screenshot of the settings screen showing multiple servers](/images/blog/2021-12-ios/social.png)
Today we're releasing Home Assistant companion app for iOS 2021.12. The big new feature: multiple server support. Find it in the app settings on iOS and Mac. Pro-tip: Swipe with three fingers left, right, or up to quickly switch between servers. [Full release notes.](https://github.com/home-assistant/iOS/releases/tag/release%2F2021.12%2F2021.322)
<a href="https://apps.apple.com/us/app/home-assistant/id1099568401?itsct=apps_box_badge&amp;itscg=30200" style="display:inline-block;width:200px"><img class="download-badge" src="https://tools.applemediaservices.com/api/badges/download-on-the-app-store/black/en-us?size=250x83&amp;releaseDate=1492214400&amp;h=3ef4307fa479838e52fe9bd8bd17913b" alt="Download on the App Store" width="175" style='box-shadow:none;border:0'></a>
At the State of the Open Home I gave a quick demo, which I have embedded below:
<div class='videoWrapper'>
<iframe width="560" height="315" src="https://www.youtube.com/embed/6ZMXE5PXPqU?start=7589" frameborder="0" allowfullscreen></iframe>
</div>

View File

@ -0,0 +1,134 @@
---
title: "Android 2021.12: Wear OS Beta!"
description: "Wear OS Beta, Instant Update Widgets and more!"
date: 2021-12-20 00:00:00
date_formatted: "December 20, 2021"
comments: true
author: Daniel Shokouhi
categories: Release-Notes
og_image: /images/blog/2021-12-21-android-december-2021/Companion.png
---
![Screenshot of the Android app](/images/blog/2021-12-21-android-december-2021/Companion.png)
Hey Everyone! It's time for the December 2021 Android release. It has been a while since the last Android release as the team has been very busy working on many new and exciting features. To kick things off we would like to announce that there is now a Wear OS app that you can find in the Play Store alongside todays phone app release!
<a href="https://play.google.com/store/apps/details?id=io.homeassistant.companion.android&amp;pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1&amp;pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1" style="display:inline-block"><img width="200" class="download-badge" alt="Get it on Google Play" src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" style='box-shadow:none;border:0'></a>
## Wear OS Beta
For the past couple of months the Android repo has been seeing a lot new contributors coming and bringing in some amazing work. There is now a Wear OS Beta app released in the Play Store! A big thank you to [leroyboerefijn], [dshokouhi], [JBassett], [Kisty], [apo-mak],
[SkechyWolf] and [HunterX86] for all your hard work! A lot of work has been done to share the codebase between the phone and the watch because we wanted the watch to also have a standalone experience in case you are not near your phone. The app will remain as a Beta for several months but we feel in its current state it is ready for you to enjoy. The reason we have decided to keep it with a beta label for now is because there is more work to be done and some of the underlying libraries being used have not received a stable release yet.
![Screenshot of Wear OS on wrist](/images/blog/2021-12-21-android-december-2021/wear.jpg)
As of today you can login to the app using either the watch or you can open up the phone app and head over to App Configuration and login using the new Wear OS settings section! Once you are logged in you will see a brief loading screen while we get your entities ready. To avoid some of the loading delays we have a Favorites feature that will allow you to add your most used entities to appear at the top of the app for quick and easy access. You can add/remove these entities using the Settings screen in the watch app or you can add/remove and change the order using the phone app. We highly recommend setting up your favorite entities as they will be available during the loading process.
<p class='img'>
<img src='/images/blog/2021-12-21-android-december-2021/wear_home.png' alt='Screenshot of Wear OS Home Screen'>
Screenshot of Wear OS Home Screen
</p>
The Wear OS app also offers a tile for even faster access to execute or toggle your devices without needing to open the app. You can select up to 7 entities to toggle or execute inside the settings portion of the app. We recommend using custom MDI icons to easily distinguish between your entities as the default will make it hard to tell apart when you have 2 lights side by side.
<p class='img'>
<img src='/images/blog/2021-12-21-android-december-2021/wear_tile.png' alt='Screenshot of Wear OS Tile'>
Screenshot of Wear OS Tile
</p>
Initial support for sensors has also been added! Upon logging in the default battery sensors will be registered in your Home Assistant server. The app will wait for a network connection to provide an update so you won't have to worry about it constantly maintaining a connection. Soon we will be looking into adding a UI to enable/disable sensors as well as evaluating all current phone sensors and adding whichever ones we can!
One thing to keep in mind is that its important to ensure both the phone and watch are on the same version in order for some of the features to work as expected. Feel free to [join the beta] and help development by finding bugs and submitting feature requests! Be on the look out for future updates to the Wear OS app!
<p class='img'>
<img src='/images/blog/2021-12-21-android-december-2021/phone_wear.png' alt='Screenshot of Wear OS Settings in Phone app'>
Screenshot of Wear OS Settings in Phone app
</p>
## Websockets and Instant Widget Updates
A very big internal feature was also added to both apps this release and that is the introduction of websockets! Websockets is one of the many APIs that Home Assistant offers. With this new API the app can now do cool things like register for entity updates to have instant widgets! Previous versions of the app relied on the Home Assistant REST API to do things like get an entity state or execute a service call. Now with websockets the app will no longer need to poll the server requesting for entity updates as needed, instead we now get a constant stream of entity updates. This allows us to keep your widgets up to date with the latest state or template and also allows us to keep the Android Power Menu up to date. The Wear OS app also benefits by having instant updates on the home screen.
<p class='img'>
<img src='/images/blog/2021-12-21-android-december-2021/instant_updates.gif' alt='GIF of instant updates'>
GIF of instant updates
</p>
There is still a lot more to be done with respect to websockets but the good news is that foundation is there for more developers to come and consume the API. We have already seen some interest and PRs so I would expect this feature to improve even further over time! Big thank you to [JBassett] for getting this done!
## Theme and UI Updates
In this release we had a lot of changes being done to the overall theme of the app to better fit with the design of the Home Assistant frontend theme. The status and navigation bar will now match your theme of choice. The overall loading experience has also had some improvements to align more closely to the browser loading experience. Thank you to [LasseRosenow] for all your hard work here!
With the release of [Jetpack Compose] we have decided to start migrating all UI elements to Compose. If you are familiar with Android Development then you will remember that the UI is always built with XML and then referenced in your activities/fragments. Now with Compose, XML is no longer needed and bulding robust UI's becomes a breeze. We find these new libraries to be very easy to use and it has allowed us to improve upon our internal architecture to make things easier for new and upcoming features.
In the phone app the entire onboarding experience has been rewritten in Compose, including a brand new welcome screen to help first time users understand what Home Assistant is all about. The notification detail page found in notification history has also received a compose update. The Wear OS home screen is actually built using compose including the new settings screens found in the phone app.
<p class='img'>
<img src='/images/blog/2021-12-21-android-december-2021/welcome.png' alt='Screenshot of welcome screen'>
Screenshot of welcome screen
</p>
## Other Changes
With so many changes since the last update its impossible to list all of the other cool new features but here is a list of some welcomed improvements:
* New sensor to report the state of [High Accuracy Mode] by [dshokouhi]
* New notification parameters to change the [Status Bar Icon] and also to [alert once] for any given notification by [dshokouhi]
* New [WebView] settings to keep the screen on and to auto play videos by [dshokouhi] and [skynetua]
* New [notification command] to keep the screen on by [skynetua]
* Updated notification commands to accept URL encoding in extras by [mvn23]
* [BLE Transmitter] improvements to power output and adverister mode by [Alfiegerner] and [amadeo-alex]
* Quick Settings Tile limit increased from 5 to 12 by [dshokouhi]
* Support for Android 12 by [dshokouhi]
* Updated design for Media Player Widget by [jannis3005]
<p class='img'>
<img src='/images/blog/2021-12-21-android-december-2021/media_player.png' alt='Screenshot of Media Player Widget'>
Screenshot of Media Player Widget
</p>
* Support for cookie based authentication by [duncf]
* Setting to always try the internal URL first. This is helpful to those who like to leave location off by [dshokouhi]
* Support for entity category and state class in sensors by [dshokouhi]
Big thank you to everyone involved. Please keep those bug reports and feature requests coming! Be sure to watch the State of the Open Home address for what to expect in 2022 and a live demo of some of the features above!
<div class='videoWrapper'>
<iframe width="560" height="315" src="https://www.youtube.com/embed/6ZMXE5PXPqU?start=9291" frameborder="0" allowfullscreen></iframe>
</div>
## Changelog
- 2021.5.1 - https://github.com/home-assistant/android/releases/tag/2021.5.1
- 2021.6.2 - https://github.com/home-assistant/android/releases/tag/2021.6.2
- 2021.9.0 - https://github.com/home-assistant/android/releases/tag/2021.9.0
- 2021.10.0 - https://github.com/home-assistant/android/releases/tag/2021.10.0
- 2021.12.0 - https://github.com/home-assistant/android/releases/tag/2021.12.0
- 2021.12.1 - https://github.com/home-assistant/android/releases/tag/2021.12.1
[leroyboerefijn]: https://github.com/leroyboerefijn
[dshokouhi]: https://github.com/dshokouhi
[JBassett]: https://github.com/JBassett
[Kisty]: https://github.com/Kisty
[apo-mak]: https://github.com/apo-mak
[SkechyWolf]: https://github.com/SkechyWolf
[HunterX86]: https://github.com/HunterX86
[LasseRosenow]: https://github.com/LasseRosenow
[jannis3005]: https://github.com/jannis3005
[mvn23]: https://github.com/mvn23
[Alfiegerner]: https://github.com/Alfiegerner
[amadeo-alex]: https://github.com/amadeo-alex
[duncf]: https://github.com/duncf
[skynetua]: https://github.com/skynetua
[High Accuracy Mode]: https://companion.home-assistant.io/docs/core/sensors#high-accuracy-mode
[Status Bar Icon]: https://companion.home-assistant.io/docs/notifications/notifications-basic#notification-status-bar-icon
[alert once]: https://companion.home-assistant.io/docs/notifications/notifications-basic#alert-once
[WebView]: https://companion.home-assistant.io/docs/integrations/android-webview
[notification command]: https://companion.home-assistant.io/docs/notifications/notification-commands
[BLE Transmitter]: https://companion.home-assistant.io/docs/core/sensors#bluetooth-sensors
[Jetpack Compose]: https://android-developers.googleblog.com/2021/07/jetpack-compose-announcement.html
[join the beta]: https://play.google.com/apps/testing/io.homeassistant.companion.android

View File

@ -0,0 +1,27 @@
---
title: "Demo: Genie, privacy-preserving virtual assistant by Stanford"
description: "The demo from the State of the Open Home."
date: 2021-12-21 00:01:00
date_formatted: "December 21, 2021"
author: Paulus Schoutsen
author_twitter: balloob
categories: Video
og_image: /images/blog/2021-12-stanford-genie/social.png
---
Last week we hosted the [State of the Open Home](/state-of-the-open-home/) and it included a demo of [Genie](https://genie.stanford.edu).
Genie is an open, privacy-preserving virtual assistant by [Stanford OVAL](https://oval.cs.stanford.edu/). During the impressive demo they showed it's latest capabilities. The demos run on a Baidu speaker with custom firmware and on a Pi Zero. In both cases it connects to the Genie server running as an official Home Assistant add-on to do it's magic.
<div class='videoWrapper'>
<iframe width="560" height="315" src="https://www.youtube.com/embed/6ZMXE5PXPqU?start=9691" frameborder="0" allowfullscreen></iframe>
</div>
Genie is the successor to the Almond project. With the help of various grants and sponsors Stanford is working on making Genie ready for general use.
If you want to learn more, check out the Genie [website](https://genie.stanford.edu) and the [getting started guide](https://wiki.genie.stanford.edu/getting-started/installation-guide) on how to make your own. To get in touch with other Genie users and their dev team, check their [Discord](https://discord.gg/anthtR4)
or [community forums](https://community.almond.stanford.edu/).
If you end up using Genie at home, don't forget to share the love and share your demo's and tutorials.
![Genie logo](/images/blog/2021-12-stanford-genie/social.png)

View File

@ -0,0 +1,48 @@
---
title: "The Open Home"
description: "Our vision for the smart home: privacy, choice and durability."
date: 2021-12-23 00:01:00
date_formatted: "December 23, 2021"
author: Paulus Schoutsen
author_twitter: balloob
categories: Video
og_image: /images/blog/2021-12-open-home/social.png
---
<img src='/images/blog/2021-12-open-home/header.png' style='box-shadow:none;border:0'>
The Open Home is our vision for the smart home. It defines the values that we put at the heart of every decision we make at Home Assistant. It's woven into our architecture, licensing, community and everything else.
The Open Home is about **privacy**, **choice** and **durability**.
_If you prefer video, skip [to the end](#state-of-the-open-home)._
## Privacy
Your home should be your safe space. A place where you can be your true self without having to bother about what the world thinks of you. A place where you don't need to act differently to avoid an algorithm categorizing your behavior.
**Privacy** for the Open Home means that devices need to work locally. No one else needs to know if you turn on a light bulb or change the thermostat.
It is okay for a product to offer a cloud connection, but it should be extra and opt-in.
## Choice
Devices in your home gather data about itself and their surroundings. Your data. Vendors shouldn't be able to limit your access to your data or limit the interoperability of your devices with the rest of your smart home.
**Choice** for the Open Home means that devices need to make the gathered data available through local APIs. This avoids vendor lock-in and allows users to create their own smart home with devices from different manufacturers.
## Durability
If there is one thing that technology firms are very good at, it is launching new products. However, maintaining the products and making sure they keep working is an afterthought for most. The result is that vendors can decide to no longer support your device, crippling it's features or even prevent it from working at all.
As we install more and more devices in our home, durability is becoming more and more important. We shouldn't have to buy everything new every couple of years because the manufacturer decided to move on.
**Durability** for the Open Home means that devices are designed and built to keep working. Not just this year, but for the next decade.
## State of the Open Home
At the State of the Open Home, we presented our vision and how we, together with our friends from open source and academia, are working towards achieving it.
<div class='videoWrapper'>
<iframe width="560" height="315" src="https://www.youtube.com/embed/6ZMXE5PXPqU?start=512" frameborder="0" allowfullscreen></iframe>
</div>

View File

@ -658,11 +658,7 @@ Nope! We are committed to keep supporting all platforms that are currently avail
<div>Hardkernel</div>
<div>Located in Korea</div>
</div>
<svg width="24" height="24" viewBox="0 0 24 24">
<path
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
/>
</svg>
<div>Sold out</div>
</div>
</a>
<a
@ -675,11 +671,7 @@ Nope! We are committed to keep supporting all platforms that are currently avail
<div>ameriDroid</div>
<div>Located in USA</div>
</div>
<svg width="24" height="24" viewBox="0 0 24 24">
<path
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
/>
</svg>
<div>Sold out</div>
</div>
</a>
<a
@ -692,11 +684,7 @@ Nope! We are committed to keep supporting all platforms that are currently avail
<div>m.nu</div>
<div>Located in Sweden</div>
</div>
<svg width="24" height="24" viewBox="0 0 24 24">
<path
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
/>
</svg>
<div>Sold out</div>
</div>
</a>
<a href="https://www.webhallen.com/329102" target="_blank">

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Some files were not shown because too many files have changed in this diff Show More