Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2023-04-05 20:15:53 +02:00
commit e2e978b880
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
39 changed files with 3478 additions and 118 deletions

View File

@ -132,7 +132,6 @@ source/_integrations/crownstone.markdown @Crownstone @RicArch97
source/_integrations/cups.markdown @fabaff
source/_integrations/dacia.markdown @epenet
source/_integrations/daikin.markdown @fredrike
source/_integrations/darksky.markdown @fabaff
source/_integrations/debugpy.markdown @frenck
source/_integrations/deconz.markdown @Kane610
source/_integrations/default_config.markdown @home-assistant/core
@ -197,6 +196,7 @@ source/_integrations/epson.markdown @pszafer
source/_integrations/epsonworkforce.markdown @ThaStealth
source/_integrations/eq3btsmart.markdown @rytilahti
source/_integrations/escea.markdown @lazdavila
source/_integrations/esera_onewire.markdown @garbled1 @epenet
source/_integrations/esphome.markdown @OttoWinter @jesserockz
source/_integrations/eufylife_ble.markdown @bdr99
source/_integrations/evil_genius_labs.markdown @balloob
@ -376,7 +376,7 @@ source/_integrations/light.markdown @home-assistant/core
source/_integrations/linux_battery.markdown @fabaff
source/_integrations/litejet.markdown @joncar
source/_integrations/litterrobot.markdown @natekspencer @tkdrob
source/_integrations/livisi.markdown @StefanIacobLivisi
source/_integrations/livisi.markdown @StefanIacobLivisi @planbnet
source/_integrations/local_calendar.markdown @allenporter
source/_integrations/local_ip.markdown @issacg
source/_integrations/lock.markdown @home-assistant/core
@ -447,7 +447,7 @@ source/_integrations/network.markdown @home-assistant/core
source/_integrations/nexia.markdown @bdraco
source/_integrations/nexity.markdown @imicknl @vlebourl @tetienne @nyroDev
source/_integrations/nextbus.markdown @vividboarder
source/_integrations/nextcloud.markdown @meichthys
source/_integrations/nextcloud.markdown @mib1185
source/_integrations/nextdns.markdown @bieniu
source/_integrations/nfandroidtv.markdown @tkdrob
source/_integrations/nibe_heatpump.markdown @elupus
@ -471,7 +471,7 @@ source/_integrations/nut.markdown @bdraco @ollo69
source/_integrations/nutrichef.markdown @bdraco
source/_integrations/nws.markdown @MatthewFlamm @kamiyo
source/_integrations/nzbget.markdown @chriscla
source/_integrations/obihai.markdown @dshokouhi
source/_integrations/obihai.markdown @dshokouhi @ejpenney
source/_integrations/octoprint.markdown @rfleming71
source/_integrations/ohmconnect.markdown @robbiet480
source/_integrations/ombi.markdown @larssont
@ -531,6 +531,7 @@ source/_integrations/qbittorrent.markdown @geoffreylagaisse
source/_integrations/qingping.markdown @bdraco @skgsergio
source/_integrations/qld_bushfire.markdown @exxamalte
source/_integrations/qnap_qsw.markdown @Noltari
source/_integrations/quadrafire.markdown @jeeftor
source/_integrations/quantum_gateway.markdown @cisasteelersfan
source/_integrations/qvr_pro.markdown @oblogic7
source/_integrations/qwikswitch.markdown @kellerza
@ -599,7 +600,7 @@ source/_integrations/senz.markdown @milanmeu
source/_integrations/serial.markdown @fabaff
source/_integrations/seven_segments.markdown @fabaff
source/_integrations/sfr_box.markdown @epenet
source/_integrations/sharkiq.markdown @JeffResc @funkybunch @AritroSaha10
source/_integrations/sharkiq.markdown @JeffResc @funkybunch
source/_integrations/shell_command.markdown @home-assistant/core
source/_integrations/shelly.markdown @balloob @bieniu @thecode @chemelli74 @bdraco
source/_integrations/shodan.markdown @fabaff
@ -630,6 +631,7 @@ source/_integrations/smarttub.markdown @mdz
source/_integrations/smarty.markdown @z0mbieprocess
source/_integrations/smhi.markdown @gjohansson-ST
source/_integrations/sms.markdown @ocalvo
source/_integrations/snapcast.markdown @luar123
source/_integrations/snooz.markdown @AustinBrunkhorst
source/_integrations/solaredge.markdown @frenck
source/_integrations/solaredge_local.markdown @drobtravels @scheric
@ -651,7 +653,7 @@ source/_integrations/squeezebox.markdown @rajlaud
source/_integrations/srp_energy.markdown @briglx
source/_integrations/starline.markdown @anonym-tsk
source/_integrations/starlink.markdown @boswelja
source/_integrations/statistics.markdown @fabaff @ThomDietrich
source/_integrations/statistics.markdown @ThomDietrich
source/_integrations/steam_online.markdown @tkdrob
source/_integrations/steamist.markdown @bdraco
source/_integrations/stiebel_eltron.markdown @fucm
@ -695,7 +697,6 @@ source/_integrations/thermoplus.markdown @bdraco
source/_integrations/thermopro.markdown @bdraco
source/_integrations/thethingsnetwork.markdown @fabaff
source/_integrations/thread.markdown @home-assistant/core
source/_integrations/threshold.markdown @fabaff
source/_integrations/tibber.markdown @danielhiversen
source/_integrations/tile.markdown @bachya
source/_integrations/tilt_ble.markdown @apt-itude
@ -738,7 +739,8 @@ source/_integrations/vallox.markdown @andre-richter @slovdahl @viiru-
source/_integrations/velbus.markdown @Cereal2nd @brefra
source/_integrations/velux.markdown @Julius2342
source/_integrations/venstar.markdown @garbled1
source/_integrations/verisure.markdown @frenck
source/_integrations/verisure.markdown @frenck @niro1987
source/_integrations/vermont_castings.markdown @jeeftor
source/_integrations/versasense.markdown @flamm3blemuff1n
source/_integrations/version.markdown @ludeeus
source/_integrations/vesync.markdown @markperdue @webdjoe @thegardenmonkey
@ -747,6 +749,7 @@ source/_integrations/vilfo.markdown @ManneW
source/_integrations/vivotek.markdown @HarlemSquirrel
source/_integrations/vizio.markdown @raman325
source/_integrations/vlc_telnet.markdown @rodripf @MartinHjelmare
source/_integrations/voice_assistant.markdown @balloob @synesthesiam
source/_integrations/volumio.markdown @OnFreund
source/_integrations/volvooncall.markdown @molobrakos
source/_integrations/vulcan.markdown @Antoni-Czaplicki
@ -771,7 +774,7 @@ source/_integrations/withings.markdown @vangorra
source/_integrations/wiz.markdown @sbidy
source/_integrations/wled.markdown @frenck
source/_integrations/wolflink.markdown @adamkrol93
source/_integrations/workday.markdown @fabaff
source/_integrations/workday.markdown @fabaff @gjohansson-ST
source/_integrations/worldclock.markdown @fabaff
source/_integrations/ws66i.markdown @ssaenger
source/_integrations/xbox.markdown @hunterjm

View File

@ -109,9 +109,9 @@ social:
# Home Assistant release details
current_major_version: 2023
current_minor_version: 3
current_patch_version: 6
date_released: 2023-03-22
current_minor_version: 4
current_patch_version: 0
date_released: 2023-04-05
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -63,19 +63,19 @@ Jinja supports a set of language extensions that add new functionality to the la
To improve the experience of writing Jinja templates, we have enabled the following
extensions:
* [Loop Controls](https://jinja.palletsprojects.com/en/3.0.x/extensions/#loop-controls) (`break` and `continue`)
- [Loop Controls](https://jinja.palletsprojects.com/en/3.0.x/extensions/#loop-controls) (`break` and `continue`)
### Reusing Templates
You can write reusable Jinja templates by adding them to a `custom_jinja` folder under your
You can write reusable Jinja templates by adding them to a `custom_templates` folder under your
configuration directory. All template files must have the `.jinja` extension and be less than 5MiB.
Templates in this folder will be loaded at startup. To reload the templates without
restarting Home Assistant, invoke the `homeassistant.reload_custom_jinja` service.
restarting Home Assistant, invoke the `homeassistant.reload_custom_templates` service.
Once the templates are loaded, Jinja [includes](https://jinja.palletsprojects.com/en/3.0.x/templates/#include) and [imports](https://jinja.palletsprojects.com/en/3.0.x/templates/#import) will work
using `config/custom_jinja` as the base directory.
using `config/custom_templates` as the base directory.
For example, you might define a macro in a template in `config/custom_jinja/formatter.jinja`:
For example, you might define a macro in a template in `config/custom_templates/formatter.jinja`:
{% raw %}

View File

@ -16,7 +16,7 @@ away.
{% details "Manual configuration steps" %}
{% if include.discovery or page.ha_dhcp or page.ha_homekit or page.ha_ssdp or page.ha_zeroconf or page.ha_mqtt %}
If there wasn't any discovered automatically, don't worry! You can set up a
If it wasn't discovered automatically, don't worry! You can set up a
manual integration entry:
{% else %}
If the above My button doesn't work, you can also perform the following steps

View File

@ -8,7 +8,8 @@ ha_release: 0.107
ha_domain: edl21
ha_platforms:
- sensor
ha_integration_type: integration
ha_integration_type: hub
ha_config_flow: true
---
The `edl21` integration lets you read German EDL21 smart meters using [SML](https://de.wikipedia.org/wiki/Smart_Message_Language) from Home Assistant.

View File

@ -1,6 +1,6 @@
---
title: ESERA 1-Wire
description: Instructions on how to integrate ESERA 1-Wire sensors into Home Assistant.
description: Connect and control your ESERA 1-Wire devices using the 1-Wire integration
ha_category:
- DIY
ha_domain: esera_onewire

View File

@ -89,4 +89,4 @@ This renders the usage of [UNDOK] almost impossible for these older devices, as
[MD 87466]: https://www.conrad.com/p/medion-p83302-md-87466-internet-kitchen-radio-dab-fm-aux-internet-radio-dlna-compatible-white-1434428
[Radio 3sixty (2019)]: https://teufel.de/radio-3sixty-2019-105437000
[SIRD 14 C2 (archived website)]: https://web.archive.org/web/20191011141311/https://www.silvercrest-multiroom.de/produkte/stereo-internet-radio/
[Roberts Stream 94i]: https://www.robertsradio.com/en-gb/stream-94i
[Roberts Stream 94i]: https://www.robertsradio.com/en-gb/stream-94i

View File

@ -29,14 +29,14 @@ Reload all YAML configuration that can be reloaded without restarting Home Assis
It calls the `reload` service on all domains that have it available. Additionally,
it reloads the core configuration (equivalent to calling
`homeassistant.reload_core_config`), themes (`frontend.reload_themes`), and custom Jinja (`homeassistant.reload_custom_jinja`).
`homeassistant.reload_core_config`), themes (`frontend.reload_themes`), and custom Jinja (`homeassistant.reload_custom_templates`).
Prior to reloading, a basic configuration check is performed. If that fails, the reload
will not be performed and will raise an error.
### Service `homeassistant.reload_custom_jinja`
### Service `homeassistant.reload_custom_templates`
Reload all Jinja templates in the `config/custom_jinja` directory. Changes to these templates
Reload all Jinja templates in the `config/custom_templates` directory. Changes to these templates
will take effect the next time an importing template is rendered.
### Service `homeassistant.reload_config_entry`

View File

@ -180,4 +180,4 @@ template:
{% endraw %}
By making small changes to the regular expressions defined above, a similar structure can parse other types of data out of the body text of other emails.
By making small changes to the regular expressions defined above, a similar structure can parse other types of data out of the body text of other emails.

View File

@ -16,7 +16,8 @@ ha_platforms:
- switch
ha_codeowners:
- '@joncar'
ha_integration_type: integration
ha_integration_type: hub
ha_quality_scale: platinum
---
LiteJet is a centralized lighting system that predates most home automation technology. All lights and wall switches are wired to a central panel. This central panel has a serial port interface that allows a computer to control the system via LiteJet's third party protocol. Home Assistant integrates the LiteJet 3rd party protocol and allows you to get the status and control the connected lights. This integration also supports the Centralite Elegance and Centralite Jetstream.

View File

@ -10,6 +10,7 @@ ha_release: 2022.12
ha_config_flow: true
ha_codeowners:
- '@StefanIacobLivisi'
- '@planbnet'
ha_domain: livisi
ha_platforms:
- binary_sensor

View File

@ -9,6 +9,7 @@ ha_config_flow: true
ha_domain: local_calendar
ha_platforms:
- calendar
- diagnostics
ha_codeowners:
- '@allenporter'
ha_integration_type: integration

View File

@ -9,7 +9,7 @@ ha_release: 0.108
ha_domain: nextcloud
ha_config_flow: true
ha_codeowners:
- '@meichthys'
- '@mib1185'
ha_platforms:
- binary_sensor
- sensor

View File

@ -4,7 +4,7 @@ description: Instructions on how to integrate a Nuki Smart Lock devices.
ha_category:
- Lock
ha_release: 0.38
ha_iot_class: Local Push
ha_iot_class: Local Polling
ha_codeowners:
- '@pschmitt'
- '@pvizeli'

View File

@ -11,6 +11,7 @@ ha_codeowners:
- '@ejpenney'
ha_domain: obihai
ha_platforms:
- button
- sensor
ha_integration_type: integration
---

View File

@ -12,6 +12,8 @@ ha_domain: prosegur
ha_config_flow: true
ha_platforms:
- alarm_control_panel
- camera
- diagnostics
ha_integration_type: integration
---
@ -30,4 +32,3 @@ There is currently support for the following device types within Home Assistant:
### Service `camera.request_image`
This service will have Prosegur cloud service "Request image" from your local camera. This service should only be called seldom, as Prosegur tends to throttle this service for long periods of time, resulting in errors for both this integration and your Prosegur mobile application.

View File

@ -11,7 +11,7 @@ ha_codeowners:
- '@geoffreylagaisse'
ha_platforms:
- sensor
ha_integration_type: integration
ha_integration_type: service
---
The `qbittorrent` platform allows you to monitor your downloads with [qBittorrent](https://www.qbittorrent.org/) from within Home Assistant and setup automations based on the information.

View File

@ -1,6 +1,6 @@
---
title: "Quadra-Fire"
description: Connect and control your Monessen fireplace using the IntelliFire integration
title: Quadra-Fire
description: Connect and control your Quadra-Fire devices using the IntelliFire integration
ha_category:
- Binary Sensor
- Climate
@ -13,9 +13,10 @@ ha_domain: quadrafire
ha_integration_type: virtual
ha_supporting_domain: intellifire
ha_supporting_integration: IntelliFire
ha_release: 2022.3
ha_release: 2022.2
ha_codeowners:
- '@jeeftor'
ha_config_flow: true
ha_platforms:
- binary_sensor
- climate
@ -25,6 +26,7 @@ ha_platforms:
- sensor
- switch
ha_iot_class: Local Polling
ha_dhcp: true
---
{% include integrations/supported_brand.md %}

View File

@ -12,8 +12,13 @@ ha_codeowners:
ha_config_flow: true
ha_platforms:
- binary_sensor
- button
- camera
- light
- number
- select
- siren
- switch
- update
ha_integration_type: integration
ha_dhcp: true

View File

@ -10,6 +10,8 @@ ha_config_flow: true
ha_platforms:
- media_player
ha_integration_type: integration
ha_codeowners:
- '@luar123'
---
The Snapcast integration allows you to control [Snapcast](https://github.com/badaix/snapcast) from Home Assistant.

View File

@ -25,4 +25,3 @@ The SolarEdge Monitoring API has a daily rate limit of 300 requests. In order to
</div>
{% include integrations/config_flow.md %}

View File

@ -16,6 +16,7 @@ ha_domain: starlink
ha_platforms:
- binary_sensor
- button
- diagnostics
- sensor
- switch
ha_integration_type: integration

View File

@ -11,6 +11,8 @@ ha_iot_class: Calculated
ha_domain: sun
ha_config_flow: true
ha_integration_type: integration
ha_platforms:
- sensor
---
The sun integration will use the location as

View File

@ -8,8 +8,6 @@ ha_category:
ha_iot_class: Local Polling
ha_release: 0.34
ha_quality_scale: internal
ha_codeowners:
- '@fabaff'
ha_domain: threshold
ha_config_flow: true
ha_platforms:

View File

@ -3,6 +3,7 @@ title: TP-Link Omada
description: Instructions on integrating TP-Link Omada SDN networking devices to Home Assistant.
ha_category:
- Hub
- Update
ha_release: 2023.3
ha_iot_class: Local Polling
ha_config_flow: true
@ -11,6 +12,7 @@ ha_codeowners:
ha_domain: tplink_omada
ha_platforms:
- switch
- update
ha_integration_type: hub
---

View File

@ -14,6 +14,7 @@ ha_iot_class: Cloud Polling
ha_domain: verisure
ha_codeowners:
- '@frenck'
- '@niro1987'
ha_platforms:
- alarm_control_panel
- binary_sensor

View File

@ -1,6 +1,6 @@
---
title: "Vermont Castings"
description: Connect and control your Vermont Casings fireplace using the IntelliFire integration
title: Vermont Castings
description: Connect and control your Vermont Castings devices using the IntelliFire integration
ha_category:
- Binary Sensor
- Climate
@ -13,9 +13,10 @@ ha_domain: vermont_castings
ha_integration_type: virtual
ha_supporting_domain: intellifire
ha_supporting_integration: IntelliFire
ha_release: 2022.3
ha_release: 2022.2
ha_codeowners:
- '@jeeftor'
ha_config_flow: true
ha_platforms:
- binary_sensor
- climate
@ -25,6 +26,7 @@ ha_platforms:
- sensor
- switch
ha_iot_class: Local Polling
ha_dhcp: true
---
{% include integrations/supported_brand.md %}

View File

@ -14,6 +14,7 @@ ha_codeowners:
- '@thegardenmonkey'
ha_domain: vesync
ha_platforms:
- diagnostics
- fan
- light
- sensor

View File

@ -5,12 +5,12 @@ ha_category:
- Voice
ha_iot_class: Local Push
ha_release: '2023.4'
ha_config_flow: false
ha_codeowners:
- '@balloob'
- '@synesthesiam'
ha_domain: voice_assistant
ha_integration_type: integration
ha_quality_scale: internal
---
The Voice Assistant integration contains logic for running *pipelines*, which perform the common steps of a voice assistant like [Assist](/docs/assist/).

View File

@ -9,6 +9,7 @@ ha_release: 0.41
ha_quality_scale: internal
ha_codeowners:
- '@fabaff'
- '@gjohansson-ST'
ha_domain: workday
ha_platforms:
- binary_sensor

View File

@ -44,18 +44,56 @@ ha_integration_type: hub
ha_zeroconf: true
---
This integration allows you to control a Z-Wave network via the [Z-Wave JS](https://zwave-js.github.io/node-zwave-js/#/) driver.
The Z-Wave integration allows you to control a Z-Wave network via the [Z-Wave JS](https://zwave-js.github.io/node-zwave-js/#/) driver.
To Run Z-Wave 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 integration.
## Overview
{% include integrations/config_flow.md %}
To run a Z-Wave network, you need the following elements:
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).
* A [supported Z-Wave controller](/docs/z-wave/controllers/#supported-z-wave-usb-sticks--hardware-modules). First-time user? For recommendations on what to buy, go [here](integrations/zwave_js/#which-z-wave-controller-should-i-buy).
* A running Z-Wave JS server.
* An installed Z-Wave integration in Home Assistant.
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.
## Setting up a Z-Wave JS server
The easiest way to get started is by using the built-in Z-Wave JS add-on in Home Assistant.
For other ways to setup a Z-Wave server, refer to the [advanced installation instructions](#advanced-installation-instructions).
Follow these steps:
1. Open the Home Assistant user interface.
1. Plug the Z-Wave dongle into the device running Home Assistant.
* Most likely, your dongle will be recognized automatically. On the user interface, you will be asked if you want to set up this device with the Z-Wave JS add-on. Select **Submit**.
* If your dongle is not recognized, follow these steps:
{% details "Manual setup steps" %}
Use this My button:
{% my config_flow_start badge domain="zwave_js" %}, or follow these steps:
* Browse to your Home Assistant instance.
* In the sidebar click on _**{% my config icon %}**_.
* From the configuration menu select: _**{% my integrations %}**_.
* In the bottom right, click on the
_**{% my config_flow_start icon domain="zwave_js" %}**_ button.
* From the list, search and select _**"Z-Wave"**_.
* Follow the instructions on screen to complete the set up.
{% enddetails %}
3. Wait for the installation to complete.
1. You are prompted for network security keys.
* If you are using Z-Wave for the first time, leave all the fields empty and select **Submit**. The system will generate network security keys for you.
* If this Z-Wave dongle 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 dongle to another device. Copy and paste them somewhere safe.
1. Wait for the Z-Wave JS add-on to start up.
1. Once the installation is complete, the **Device info** of the Z-Wave controller is shown.
* You successfully installed the Z-Wave integration and the Z-Wave JS add-on.
* You can now add devices to the Z-Wave network.
<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.
While your Z-Wave mesh is permanently stored on your dongle, 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 dongle, 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 button press on those devices (see their manual). It is not necessary to exclude and re-include devices from the mesh.
</p>
## Services
@ -64,14 +102,14 @@ While your Z-Wave mesh is permanently stored on your stick, the additional metad
This service will update a configuration parameter. To update multiple partial parameters in a single call, use the `zwave_js.bulk_set_partial_config_parameters` service.
| Service Data Attribute | Required | Description |
|------------------------ |----------- |------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Entity (or list of entities) to set the configuration parameter on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `device_id` | no | Device ID (or list of device IDs) to set the configuration parameter on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `area_id` | no | Area ID (or list of area IDs) for devices/entities to set the configuration parameter on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `parameter` | yes | The parameter number or the name of the property. The name of the property is case sensitive. |
| `bitmask` | no | The bitmask for a partial parameter in hex (0xff) or decimal (255) format. If the name of the parameter is provided, this is not needed. |
| `value` | yes | The target value for the parameter as the integer value or the state label. The state label is case sensitive. |
| Service Data Attribute | Required | Description |
|------------------------ |----------- |------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Entity (or list of entities) to set the configuration parameter on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `device_id` | no | Device ID (or list of device IDs) to set the configuration parameter on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `area_id` | no | Area ID (or list of area IDs) for devices/entities to set the configuration parameter on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `parameter` | yes | The parameter number or the name of the property. The name of the property is case sensitive. |
| `bitmask` | no | The bitmask for a partial parameter in hex (0xff) or decimal (255) format. If the name of the parameter is provided, this is not needed. |
| `value` | yes | The target value for the parameter as the integer value or the state label. The state label is case sensitive. |
#### Examples of setting a single parameter value
@ -117,13 +155,13 @@ data:
This service will bulk set multiple partial configuration parameters. Be warned that correctly using this service requires advanced knowledge of Z-Wave to use correctly.
| Service Data Attribute | Required | Description |
|------------------------ |----------- |------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Entity (or list of entities) to bulk set partial configuration parameters on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `device_id` | no | Device ID (or list of device IDs) to bulk set partial configuration parameters on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `area_id` | no | Area ID (or list of area IDs) for devices/entities to bulk set partial configuration parameters on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `parameter` | yes | The parameter number of the property. The name of the property is case sensitive. |
| `value` | yes | Either the raw integer value that you want to set for the entire parameter, or a dictionary where the keys are either the bitmasks (in integer or hex form) or the partial parameter name and the values are the value you want to set on each partial (either the integer value or a named state when applicable). Note that when using a dictionary, and bitmasks that are not provided will be set to their currently cached values. |
| Service Data Attribute | Required | Description |
|------------------------ |----------- |------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Entity (or list of entities) to bulk set partial configuration parameters on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `device_id` | no | Device ID (or list of device IDs) to bulk set partial configuration parameters on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `area_id` | no | Area ID (or list of area IDs) for devices/entities to bulk set partial configuration parameters on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `parameter` | yes | The parameter number of the property. The name of the property is case sensitive. |
| `value` | yes | Either the raw integer value that you want to set for the entire parameter, or a dictionary where the keys are either the bitmasks (in integer or hex form) or the partial parameter name and the values are the value you want to set on each partial (either the integer value or a named state when applicable). Note that when using a dictionary, and bitmasks that are not provided will be set to their currently cached values. |
#### Examples of bulk setting partial parameter values
@ -206,58 +244,58 @@ data:
This service will refresh the value(s) for an entity. This service will generate extra traffic on your Z-Wave network and should be used sparingly. Updates from devices on battery may take some time to be received.
| Service Data Attribute | Required | Description |
|------------------------ |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | yes | Entity or list of entities to refresh values for. |
| `refresh_all_values` | no | Whether all values should be refreshed. If `false`, only the primary value will be refreshed. If `true`, all watched values will be refreshed. |
| Service Data Attribute | Required | Description |
|------------------------ |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | yes | Entity or list of entities to refresh values for. |
| `refresh_all_values` | no | Whether all values should be refreshed. If `false`, only the primary value will be refreshed. If `true`, all watched values will be refreshed. |
### Service `zwave_js.set_value`
This service will set a value on a Z-Wave device. It is for advanced use cases where you need to modify the state of a node and can't do it using native Home Assistant entity functionality. Be warned that correctly using this service requires advanced knowledge of Z-Wave. The service provides minimal validation and blindly calls the Z-Wave JS API, so if you are having trouble using it, it is likely because you are providing an incorrect value somewhere. To set a config parameter, you should use the `zwave_js.set_config_parameter` or `zwave_js.bulk_set_partial_config_parameters` services instead of this one.
| Service Data Attribute | Required | Description |
|------------------------ |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Entity (or list of entities) to set the value on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `device_id` | no | Device ID (or list of device IDs) to set the value on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `area_id` | no | Area ID (or list of area IDs) for devices/entities to set the value on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `command_class` | yes | ID of Command Class that you want to set the value for. |
| `property` | yes | ID of Property that you want to set the value for. |
| `property_key` | no | ID of Property Key that you want to set the value for. |
| `endpoint` | no | ID of Endpoint that you want to set the value for. |
| `value` | yes | The new value that you want to set. |
| `options` | no | Set value options map. Refer to the Z-Wave JS documentation for more information on what options can be set. |
| `wait_for_result` | no | Boolean that indicates whether or not to wait for a response from the node. If not included in the payload, the integration will decide whether to wait or not. If set to `true`, note that the service call can take a while if setting a value on an asleep battery device. |
| Service Data Attribute | Required | Description |
|------------------------ |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Entity (or list of entities) to set the value on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `device_id` | no | Device ID (or list of device IDs) to set the value on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `area_id` | no | Area ID (or list of area IDs) for devices/entities to set the value on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `command_class` | yes | ID of Command Class that you want to set the value for. |
| `property` | yes | ID of Property that you want to set the value for. |
| `property_key` | no | ID of Property Key that you want to set the value for. |
| `endpoint` | no | ID of Endpoint that you want to set the value for. |
| `value` | yes | The new value that you want to set. |
| `options` | no | Set value options map. Refer to the Z-Wave JS documentation for more information on what options can be set. |
| `wait_for_result` | no | Boolean that indicates whether or not to wait for a response from the node. If not included in the payload, the integration will decide whether to wait or not. If set to `true`, note that the service call can take a while if setting a value on an asleep battery device. |
### Service `zwave_js.multicast_set_value`
This service will set a value on multiple Z-Wave devices using multicast. It is for advanced use cases where you need to set the same value on multiple nodes simultaneously. Be warned that correctly using this service requires advanced knowledge of Z-Wave. The service provides minimal validation beyond what is necessary to properly call the Z-Wave JS API, so if you are having trouble using it, it is likely because you are providing an incorrect value somewhere.
| Service Data Attribute | Required | Description |
|------------------------ |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Entity (or list of entities) to set the value on via multicast. At least two `entity_id` or `device_id` must be resolved if not broadcasting the command. |
| `device_id` | no | Device ID (or list of device IDs) to set the value on via multicast. At least two `entity_id` or `device_id` must be resolved if not broadcasting the command. |
| `area_id` | no | Area ID (or list of area IDs) for devices/entities to set the value on via multicast. At least two `entity_id` or `device_id` must be resolved if not broadcasting the command. |
| Service Data Attribute | Required | Description |
|------------------------ |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Entity (or list of entities) to set the value on via multicast. At least two `entity_id` or `device_id` must be resolved if not broadcasting the command. |
| `device_id` | no | Device ID (or list of device IDs) to set the value on via multicast. At least two `entity_id` or `device_id` must be resolved if not broadcasting the command. |
| `area_id` | no | Area ID (or list of area IDs) for devices/entities to set the value on via multicast. At least two `entity_id` or `device_id` must be resolved if not broadcasting the command. |
| `broadcast` | no | Boolean that indicates whether you want the message to be broadcast to all nodes on the network. If you have only one Z-Wave network configured, you do not need to provide a `device_id` or `entity_id` when this is set to true. When you have multiple Z-Wave networks configured, you MUST provide at least one `device_id` or `entity_id` so the service knows which network to target. |
| `command_class` | yes | ID of Command Class that you want to set the value for. |
| `property` | yes | ID of Property that you want to set the value for. |
| `property_key` | no | ID of Property Key that you want to set the value for. |
| `endpoint` | no | ID of Endpoint that you want to set the value for. |
| `value` | yes | The new value that you want to set. |
| `options` | no | Set value options map. Refer to the Z-Wave JS documentation for more information on what options can be set. |
| `command_class` | yes | ID of Command Class that you want to set the value for. |
| `property` | yes | ID of Property that you want to set the value for. |
| `property_key` | no | ID of Property Key that you want to set the value for. |
| `endpoint` | no | ID of Endpoint that you want to set the value for. |
| `value` | yes | The new value that you want to set. |
| `options` | no | Set value options map. Refer to the Z-Wave JS documentation for more information on what options can be set. |
### Service `zwave_js.invoke_cc_api`
Call this service to use the Command Class API directly. In most cases, the `zwave_js.set_value` service will accomplish what you need to, but some Command Classes have API commands that can't be accessed via that service. Refer to the [Z-Wave JS Command Class documentation](https://zwave-js.github.io/node-zwave-js/#/api/CCs/index) for the available APIs and arguments. Be sure to know what you are doing when calling this service.
| Service Data Attribute | Required | Description |
|------------------------ |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Entity (or list of entities) to ping. At least one `entity_id`, `device_id`, or `area_id` must be provided. If `endpoint` is specified, that endpoint will be used to make the CC API call for all devices, otherwise the primary value endpoint will be used for each entity. |
| `device_id` | no | Device ID (or list of device IDs) to ping. At least one `entity_id`, `device_id`, or `area_id` must be provided. If `endpoint` is specified, that endpoint will be used to make the CC API call for all devices, otherwise the root endpoint (0) will be used for each device. |
| `area_id` | no | Area ID (or list of area IDs) for devices/entities to ping. At least one `entity_id`, `device_id`, or `area_id` must be provided. If `endpoint` is specified, that endpoint will be used to make the CC API call for all devices, otherwise the root endpoint (0) will be used for each `zwave_js` device in the area. |
| `command_class` | yes | ID of Command Class that you want to set the value for. |
| `endpoint` | no | The endpoint to call the CC API against. |
| `method_name` | yes | The name of the method that is being called from the CC API. |
| `parameters` | yes | A list of parameters to pass to the CC API method. |
| Service Data Attribute | Required | Description |
|------------------------ |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Entity (or list of entities) to ping. At least one `entity_id`, `device_id`, or `area_id` must be provided. If `endpoint` is specified, that endpoint will be used to make the CC API call for all devices, otherwise the primary value endpoint will be used for each entity. |
| `device_id` | no | Device ID (or list of device IDs) to ping. At least one `entity_id`, `device_id`, or `area_id` must be provided. If `endpoint` is specified, that endpoint will be used to make the CC API call for all devices, otherwise the root endpoint (0) will be used for each device. |
| `area_id` | no | Area ID (or list of area IDs) for devices/entities to ping. At least one `entity_id`, `device_id`, or `area_id` must be provided. If `endpoint` is specified, that endpoint will be used to make the CC API call for all devices, otherwise the root endpoint (0) will be used for each `zwave_js` device in the area. |
| `command_class` | yes | ID of Command Class that you want to set the value for. |
| `endpoint` | no | The endpoint to call the CC API against. |
| `method_name` | yes | The name of the method that is being called from the CC API. |
| `parameters` | yes | A list of parameters to pass to the CC API method. |
### Service `zwave_js.reset_meter`
@ -335,6 +373,7 @@ These are notification events fired by devices using the Notification command cl
These are notification events fired by devices using the Multilevel Switch command class. There are events for start level change and stop level change. These would typically be used in a device like the Aeotec Nano Dimmer with an external switch to respond to long button presses.
##### Start Level Change
```json
{
"domain": "zwave_js",
@ -350,6 +389,7 @@ These are notification events fired by devices using the Multilevel Switch comma
```
##### Stop Level Change
```json
{
"domain": "zwave_js",
@ -415,9 +455,9 @@ Due to some devices not following the Z-Wave Specification, there are scenarios
The following devices currently support this event:
| Make | Model | Entity Domain |
|----------------- |---------------------------------- |--------------- |
| Vision Security | ZL7432 In Wall Dual Relay Switch | `switch` |
| Make | Model | Entity Domain |
|----------------- |---------------------------------- |--------------- |
| Vision Security | ZL7432 In Wall Dual Relay Switch | `switch` |
Value Updated example:
@ -557,28 +597,28 @@ All of these features can be accessed either in the Z-Wave integration configura
The following features can be accessed from the integration configuration panel:
- **Add device:** Allows you to pre-provision a SmartStart device or start the inclusion process for adding a new device to your network.
- **Remove device:** Starts the exclusion process for removing a device from your network.
- **Heal network:** Forces your network to rediscover routes to the controller from each device. This is useful when devices or the controller have moved to a new location, or if you are having significant problems with your network, but it also generates a lot of network traffic and should be used sparingly.
- **Third party data opt-in/out:** Allows you to opt-in or out of telemetry that the zwave-js project collects to help inform development decisions, influence manufacturers, etc. This telemetry is disabled by default and has to be opted in to be activated.
- **[Controller statistics](https://zwave-js.github.io/node-zwave-js/#/api/controller?id=quotstatistics-updatedquot):** Provides statistics about communication between the controller and other devices, allowing you to troubleshoot your network's RF quality.
* **Add device:** Allows you to pre-provision a SmartStart device or start the inclusion process for adding a new device to your network.
* **Remove device:** Starts the exclusion process for removing a device from your network.
* **Heal network:** Forces your network to rediscover routes to the controller from each device. This is useful when devices or the controller have moved to a new location, or if you are having significant problems with your network, but it also generates a lot of network traffic and should be used sparingly.
* **Third-party data opt-in/out:** Allows you to opt-in or out of telemetry that the Z-Wave JS project collects to help inform development decisions, influence manufacturers, etc. This telemetry is disabled by default and has to be opted in to be activated.
* **[Controller statistics](https://zwave-js.github.io/node-zwave-js/#/api/controller?id=quotstatistics-updatedquot):** Provides statistics about communication between the controller and other devices, allowing you to troubleshoot your network's RF quality.
### Device Panel
The following features can be accessed from the device panel of a Z-Wave device:
- **Configure:** Provides an easy way to look up and update configuration parameters for the device. While there is an existing service for setting configuration parameter values, this UI may sometimes be quicker to use for one off changes.
- **Re-interview:** Forces the device to go through the interview process again so that zwave-js can discover all of its capabilities. Can be helpful if you don't see all the expected entities for your device.
- **Heal:** Forces the device to rediscover its optimal route back to the controller. Use this if you think you are experiencing unexpected delays or RF issues with your device. Your device may be less responsive during this process.
- **Remove failed:** Forces the controller to remove the device from the controller. Can be used when a device has failed and it can't go through the normal exclusion process.
- **[Statistics](https://zwave-js.github.io/node-zwave-js/#/api/node?id=quotstatistics-updatedquot):** Provides statistics about communication between this device and the controller, allowing you to troubleshoot RF issues with the device.
- **Update firmware:** Updates a device's firmware using a manually uploaded firmware file. Only some devices support this feature (controllers and devices with the Firmware Update Metadata Command Class).
* **Configure:** Provides an easy way to look up and update configuration parameters for the device. While there is an existing service for setting configuration parameter values, this UI may sometimes be quicker to use for one off changes.
* **Re-interview:** Forces the device to go through the interview process again so that zwave-js can discover all of its capabilities. Can be helpful if you don't see all the expected entities for your device.
* **Heal:** Forces the device to rediscover its optimal route back to the controller. Use this if you think you are experiencing unexpected delays or RF issues with your device. Your device may be less responsive during this process.
* **Remove failed:** Forces the controller to remove the device from the controller. Can be used when a device has failed and it can't go through the normal exclusion process.
* **[Statistics](https://zwave-js.github.io/node-zwave-js/#/api/node?id=quotstatistics-updatedquot):** Provides statistics about communication between this device and the controller, allowing you to troubleshoot RF issues with the device.
* **Update firmware:** Updates a device's firmware using a manually uploaded firmware file. Only some devices support this feature (controllers and devices with the Firmware Update Metadata Command Class).
## Advanced installation instructions
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 integration will connect.
### Running [Z-Wave JS Server](https://github.com/zwave-js/zwave-js-server).
### Running [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. The Home Assistant Z-Wave integration connects to this server via a websocket connection. You need to run this Z-Wave JS server before you can use the integration.
@ -654,10 +694,10 @@ Some Z-Wave USB sticks can be auto-discovered, which can simplify the Z-Wave set
| Device | Identifier | Vendor |
| -------| ---------- | ------ |
| Aeotec Z-Stick Gen5+ | 0658:0200 | https://aeotec.com/products/aeotec-z-stick-gen5/ |
| 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/ |
| Z-WaveMe UZB | 0658:0200 | https://z-wave.me/products/uzb/ |
| Aeotec Z-Stick Gen5+ | 0658:0200 | <https://aeotec.com/products/aeotec-z-stick-gen5/> |
| 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/> |
| 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.
@ -767,9 +807,9 @@ Your device might not send automatic status updates to the controller. While the
Z-Wave 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 Z-Wave JS UI 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 Z-Wave JS UI but not in the official add-on.
- Z-Wave JS UI 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.
* Z-Wave JS UI 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 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.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB