Add remark linter for prohibited strings (#28126)

* Add remark linter for prohibited strings

* Formated .remarkrc with prettier
This commit is contained in:
Franck Nijhof 2023-07-07 13:38:35 +02:00 committed by GitHub
parent 14f43344f6
commit 298bdbaeab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 179 additions and 131 deletions

View File

@ -3,3 +3,10 @@ _source/developers/credits.markdown
# Third party # Third party
sass/inuitcss/* sass/inuitcss/*
# Changelogs are made out of commit messages
# We don't want to correct them
source/changelogs
# Lots of older changelogs we don't want to change/update
source/_posts

View File

@ -1,18 +1,33 @@
var remarkrc = { var remarkrc = {
settings: { settings: {
bullet: '-', bullet: "-",
commonmark: true, commonmark: true,
emphasis: '_', emphasis: "_",
fence: '`', fence: "`",
incrementListMarker: true, incrementListMarker: true,
listItemIndent: 1, listItemIndent: 1,
strong: '*' strong: "*",
}, },
plugins: [ plugins: [
["frontmatter"], ["frontmatter"],
["lint-fenced-code-flag"], ["lint-fenced-code-flag"],
["lint-no-shell-dollars"] ["lint-no-shell-dollars"],
] [
"remark-lint-prohibited-strings",
[
{ no: "[Hh]ome [Aa]ss?s?istant", yes: "Home Assistant" },
{ no: "[Ww]eb[Ss]ocket", yes: "WebSocket" },
{ no: "Github", yes: "GitHub" },
{
no: "https://www.home-assistant.io/",
yes: "/",
ignoreNextTo: ['"', '"'],
},
{ no: "Speech-[Tt]o-Text", yes: "Speech-to-text" },
{ no: "Text-[Tt]o-Speech", yes: "Text-to-speech" },
],
],
],
}; };
module.exports = remarkrc; module.exports = remarkrc;

26
package-lock.json generated
View File

@ -13,6 +13,7 @@
"remark-lint": "^9.1.2", "remark-lint": "^9.1.2",
"remark-lint-fenced-code-flag": "^3.1.2", "remark-lint-fenced-code-flag": "^3.1.2",
"remark-lint-no-shell-dollars": "^3.1.2", "remark-lint-no-shell-dollars": "^3.1.2",
"remark-lint-prohibited-strings": "^3.1.0",
"remark-stringify": "^10.0.3", "remark-stringify": "^10.0.3",
"textlint": "^13.3.3", "textlint": "^13.3.3",
"textlint-filter-rule-comments": "^1.2.2", "textlint-filter-rule-comments": "^1.2.2",
@ -3538,6 +3539,31 @@
"url": "https://opencollective.com/unified" "url": "https://opencollective.com/unified"
} }
}, },
"node_modules/remark-lint-prohibited-strings": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/remark-lint-prohibited-strings/-/remark-lint-prohibited-strings-3.1.0.tgz",
"integrity": "sha512-zwfDDdYl7ye0gEHcwhdkv1ZGXj1ibw4gnLLZkkvySnDdTz2tshY3fOJLY5NikbVseaIRVGOr5qa+8J9WNQT/fA==",
"dev": true,
"dependencies": {
"escape-string-regexp": "^5.0.0",
"unified-lint-rule": "^2.0.0",
"unist-util-position": "^4.0.1",
"unist-util-visit": "^4.0.0",
"vfile-location": "^4.0.1"
}
},
"node_modules/remark-lint-prohibited-strings/node_modules/escape-string-regexp": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
"dev": true,
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/remark-message-control": { "node_modules/remark-message-control": {
"version": "7.1.1", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/remark-message-control/-/remark-message-control-7.1.1.tgz", "resolved": "https://registry.npmjs.org/remark-message-control/-/remark-message-control-7.1.1.tgz",

View File

@ -8,6 +8,7 @@
"remark-lint": "^9.1.2", "remark-lint": "^9.1.2",
"remark-lint-fenced-code-flag": "^3.1.2", "remark-lint-fenced-code-flag": "^3.1.2",
"remark-lint-no-shell-dollars": "^3.1.2", "remark-lint-no-shell-dollars": "^3.1.2",
"remark-lint-prohibited-strings": "^3.1.0",
"remark-stringify": "^10.0.3", "remark-stringify": "^10.0.3",
"textlint": "^13.3.3", "textlint": "^13.3.3",
"textlint-filter-rule-comments": "^1.2.2", "textlint-filter-rule-comments": "^1.2.2",

View File

@ -163,7 +163,7 @@ In this section you find some real-life examples of how to use this sensor. Ther
### Home Assistant ### Home Assistant
The current release Home Assistant is published on [https://www.home-assistant.io/](/) The current release Home Assistant is published on [homepage](/)
{% raw %} {% raw %}

View File

@ -53,7 +53,7 @@ We recommend using `unicast` for communication. To enable this, enter the local
## Shelly device configuration (generation 2) ## Shelly device configuration (generation 2)
Generation 2 devices use the `RPC` protocol to communicate with the integration. Battery powered devices need manual outbound websocket configuration, Navigate to the local IP address of your Shelly device, **Settings** >> **Connectivity** >> **Outbound websocket** and check the box **Enable Outbound Websocket**, under server enter the following address: Generation 2 devices use the `RPC` protocol to communicate with the integration. Battery powered devices need manual outbound WebSocket configuration, Navigate to the local IP address of your Shelly device, **Settings** >> **Connectivity** >> **Outbound WebSocket** and check the box **Enable Outbound WebSocket**, under server enter the following address:
`ws://` + `Home_Assistant_local_ip_address:Port` + `/api/shelly/ws` (for example: `ws://192.168.1.100:8123/api/shelly/ws`), click **Apply** to save the settings. `ws://` + `Home_Assistant_local_ip_address:Port` + `/api/shelly/ws` (for example: `ws://192.168.1.100:8123/api/shelly/ws`), click **Apply** to save the settings.

View File

@ -38,7 +38,7 @@ api_url:
required: true required: true
type: string type: string
ws_url: ws_url:
description: URL of the SPC Web Gateway websocket, e.g., `ws://<ip>:8088/ws/spc`. description: URL of the SPC Web Gateway WebSocket, e.g., `ws://<ip>:8088/ws/spc`.
required: true required: true
type: string type: string
{% endconfiguration %} {% endconfiguration %}

View File

@ -12,7 +12,7 @@ ha_integration_type: integration
--- ---
The `twilio_call` notification platform enables sending notifications via Voice, powered by [Twilio](https://twilio.com). The `twilio_call` notification platform enables sending notifications via Voice, powered by [Twilio](https://twilio.com).
Passed message will be read by Text-To-Speech service. Passed message will be read by Text-to-speech service.
The requirement is that you have setup [Twilio](/integrations/twilio/). The requirement is that you have setup [Twilio](/integrations/twilio/).

View File

@ -257,37 +257,37 @@ Below are the accepted identifiers to resolve media. Since events do not necessa
Sets the default doorbell message. This will be the message that is automatically selected when a message "expires". Sets the default doorbell message. This will be the message that is automatically selected when a message "expires".
| Service data attribute | Optional | Description | | Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------ | | ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------- |
| `device_id` | No | Any device from the UniFi Protect instance you want to change. In case you have multiple Protect instances. | | `device_id` | No | Any device from the UniFi Protect instance you want to change. In case you have multiple Protect instances. |
| `message` | No | The default message for your Doorbell. Must be less than 30 characters. | | `message` | No | The default message for your Doorbell. Must be less than 30 characters. |
### Service unifiprotect.add_doorbell_text ### Service unifiprotect.add_doorbell_text
Adds a new custom message for Doorbells. Adds a new custom message for Doorbells.
| Service data attribute | Optional | Description | | Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------ | | ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------- |
| `device_id` | No | Any device from the UniFi Protect instance you want to change. In case you have multiple Protect instances. | | `device_id` | No | Any device from the UniFi Protect instance you want to change. In case you have multiple Protect instances. |
| `message` | No | New custom message to add for Doorbells. Must be less than 30 characters. | | `message` | No | New custom message to add for Doorbells. Must be less than 30 characters. |
### Service unifiprotect.remove_doorbell_text ### Service unifiprotect.remove_doorbell_text
Removes an existing message for Doorbells. Removes an existing message for Doorbells.
| Service data attribute | Optional | Description | | Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------ | | ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------- |
| `device_id` | No | Any device from the UniFi Protect instance you want to change. In case you have multiple Protect instances. | | `device_id` | No | Any device from the UniFi Protect instance you want to change. In case you have multiple Protect instances. |
| `message` | No | Existing custom message to remove for Doorbells. | | `message` | No | Existing custom message to remove for Doorbells. |
### Service unifiprotect.set_chime_paired_doorbells ### Service unifiprotect.set_chime_paired_doorbells
Use to set the paired doorbell(s) with a smart chime. Use to set the paired doorbell(s) with a smart chime.
| Service data attribute | Optional | Description | | Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------ | | ---------------------- | -------- | ------------------------------------------------------------------------------------------------------- |
| `device_id` | No | The device ID of the Chime you want to pair or unpair doorbells to. | | `device_id` | No | The device ID of the Chime you want to pair or unpair doorbells to. |
| `doorbells` | Yes | A target selector for any number of doorbells you want to pair to the chime. No value means unpair all. | | `doorbells` | Yes | A target selector for any number of doorbells you want to pair to the chime. No value means unpair all. |
## Views ## Views
@ -295,9 +295,9 @@ The integration provides two proxy views to proxy media content from your Home A
These URLs work great when trying to send notifications. Home Assistant will automatically sign the URLs and make them safe for external consumption if used in an automation or [notify service](/integrations/notify/). These URLs work great when trying to send notifications. Home Assistant will automatically sign the URLs and make them safe for external consumption if used in an automation or [notify service](/integrations/notify/).
| View URL | Description | | View URL | Description |
| ------------------------------------------------------------ | -------------------------------------------------- | | ------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `/api/unifiprotect/thumbnail/{nvr_id}/{event_id}` | Proxies a JPEG event thumbnail from UniFi Protect. | | `/api/unifiprotect/thumbnail/{nvr_id}/{event_id}` | Proxies a JPEG event thumbnail from UniFi Protect. |
| `/api/unifiprotect/video/{nvr_id}/{camera_id}/{start}/{end}` | Proxies a MP4 video clip from UniFi Protect for a specific camera. Start and end must be in [ISO 8601 format](https://www.iso.org/iso-8601-date-and-time-format.html). | | `/api/unifiprotect/video/{nvr_id}/{camera_id}/{start}/{end}` | Proxies a MP4 video clip from UniFi Protect for a specific camera. Start and end must be in [ISO 8601 format](https://www.iso.org/iso-8601-date-and-time-format.html). |
`nvr_id` can either be the UniFi Protect ID of your NVR or the config entry ID for your UniFi Protect integration. `camera_id` can either be the UniFi Protect ID of your camera or an entity ID of any entity provided by the UniFi Protect integration that can be reversed to a UniFi Protect camera (i.e., an entity ID of a detected object sensor). `nvr_id` can either be the UniFi Protect ID of your NVR or the config entry ID for your UniFi Protect integration. `camera_id` can either be the UniFi Protect ID of your camera or an entity ID of any entity provided by the UniFi Protect integration that can be reversed to a UniFi Protect camera (i.e., an entity ID of a detected object sensor).
@ -306,7 +306,7 @@ These URLs work great when trying to send notifications. Home Assistant will aut
### Delay in Video Feed ### Delay in Video Feed
The default settings on the stream integration will give you a 5-15+ second delay. You can reduce this delay to 1-3 seconds, by enabling [LL-HLS in the stream integration](/integrations/stream/#ll-hls). You will also want to put an HTTP/2 reserve proxy in front of Home Assistant so you can have connection pooling. If you do not add a reverse proxy, you may start to get "Waiting for Websocket..." messages while trying to view too many camera streams at once. One way to do this is using the official NGINX Proxy Add-on: The default settings on the stream integration will give you a 5-15+ second delay. You can reduce this delay to 1-3 seconds, by enabling [LL-HLS in the stream integration](/integrations/stream/#ll-hls). You will also want to put an HTTP/2 reserve proxy in front of Home Assistant so you can have connection pooling. If you do not add a reverse proxy, you may start to get "Waiting for WebSocket..." messages while trying to view too many camera streams at once. One way to do this is using the official NGINX Proxy Add-on:
{% my supervisor_addon addon="core_nginx_proxy" badge %} {% my supervisor_addon addon="core_nginx_proxy" badge %}

View File

@ -183,14 +183,14 @@ The following features can be accessed from the device panel of a Z-Wave device:
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. 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 | | 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. | | `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. | | `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. | | `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. | | `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. | | `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. | | `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 #### Examples of setting a single parameter value
@ -236,13 +236,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. 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 | | 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. | | `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. | | `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. | | `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. | | `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. | | `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 #### Examples of bulk setting partial parameter values
@ -325,68 +325,68 @@ 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. 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 | | Service Data Attribute | Required | Description |
|------------------------ |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- | | ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `entity_id` | yes | Entity or list of entities to refresh values for. | | `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. | | `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` ### 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. 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 | | 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. | | `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. | | `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. | | `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. | | `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` | 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. | | `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. | | `endpoint` | no | ID of Endpoint that you want to set the value for. |
| `value` | yes | The new value that you want to set. | | `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. | | `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. | | `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` ### 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. 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 | | 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. | | `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. | | `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. | | `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. | | `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. | | `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` | 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. | | `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. | | `endpoint` | no | ID of Endpoint that you want to set the value for. |
| `value` | yes | The new value that you want to set. | | `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. | | `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` ### 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. 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 | | 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. | | `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. | | `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. | | `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. | | `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. | | `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. | | `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. | | `parameters` | yes | A list of parameters to pass to the CC API method. |
### Service `zwave_js.reset_meter` ### Service `zwave_js.reset_meter`
This service will reset the meters on a device that supports the Meter Command Class. This service will reset the meters on a device that supports the Meter Command Class.
| Service Data Attribute | Required | Description | | Service Data Attribute | Required | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------ | | ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------- |
| `entity_id` | yes | Entity (or list of entities) for the meters you want to reset. | | `entity_id` | yes | Entity (or list of entities) for the meters you want to reset. |
| `meter_type` | no | If supported by the device, indicates the type of meter to reset. Not all devices support this option. | | `meter_type` | no | If supported by the device, indicates the type of meter to reset. Not all devices support this option. |
| `value` | no | If supported by the device, indicates the value to reset the meter to. Not all devices support this option. | | `value` | no | If supported by the device, indicates the value to reset the meter to. Not all devices support this option. |
### Service `zwave_js.set_lock_usercode` ### Service `zwave_js.set_lock_usercode`
@ -536,9 +536,9 @@ Due to some devices not following the Z-Wave Specification, there are scenarios
The following devices currently support this event: The following devices currently support this event:
| Make | Model | Entity Domain | | Make | Model | Entity Domain |
|----------------- |---------------------------------- |--------------- | | --------------- | -------------------------------- | ------------- |
| Vision Security | ZL7432 In Wall Dual Relay Switch | `switch` | | Vision Security | ZL7432 In Wall Dual Relay Switch | `switch` |
Value Updated example: Value Updated example:
@ -613,7 +613,7 @@ trigger:
In addition to the [standard automation trigger data](/docs/automation/templating/#all), the `zwave_js.value_updated` trigger platform has additional trigger data available for use. In addition to the [standard automation trigger data](/docs/automation/templating/#all), the `zwave_js.value_updated` trigger platform has additional trigger data available for use.
| Template variable | Data | | Template variable | Data |
|------------------------------|--------------------------------------------------------------------------------------------| | ---------------------------- | ------------------------------------------------------------------------------------------ |
| `trigger.device_id` | Device ID for the device in the device registry. | | `trigger.device_id` | Device ID for the device in the device registry. |
| `trigger.node_id` | Z-Wave node ID. | | `trigger.node_id` | Z-Wave node ID. |
| `trigger.command_class` | Command class ID. | | `trigger.command_class` | Command class ID. |
@ -660,13 +660,13 @@ trigger:
In addition to the [standard automation trigger data](/docs/automation/templating/#all), the `zwave_js.event` trigger platform has additional trigger data available for use. In addition to the [standard automation trigger data](/docs/automation/templating/#all), the `zwave_js.event` trigger platform has additional trigger data available for use.
| Template variable | Data | | Template variable | Data |
|------------------------------|--------------------------------------------------------------------------------------------| | ---------------------- | -------------------------------------------------------------------------------- |
| `trigger.device_id` | Device ID for the device in the device registry (only included for node events). | | `trigger.device_id` | Device ID for the device in the device registry (only included for node events). |
| `trigger.node_id` | Z-Wave node ID (only included for node events). | | `trigger.node_id` | Z-Wave node ID (only included for node events). |
| `trigger.event_source` | Source of event (node, controller, or driver). | | `trigger.event_source` | Source of event (node, controller, or driver). |
| `trigger.event` | Name of event. | | `trigger.event` | Name of event. |
| `trigger.event_data` | Any data included in the event. | | `trigger.event_data` | Any data included in the event. |
## Advanced installation instructions ## Advanced installation instructions
@ -674,7 +674,7 @@ If you are using Home Assistant Container, Home Assistant Core, or you don't wan
### 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. 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.
There are multiple ways to run this server: There are multiple ways to run this server:
The chart below illustrates Options 1 and 2, which are available for Home Assistant OS only. The chart below illustrates Options 1 and 2, which are available for Home Assistant OS only.
@ -725,7 +725,7 @@ Once you have the Z-Wave JS server up and running, you need to install and confi
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 UI add-on. 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 UI add-on.
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 UI 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 UI add-on this is `ws://a0d7b954-zwavejs2mqtt:3000`.
## Frequently Asked Questions ## Frequently Asked Questions
@ -749,12 +749,12 @@ For more information, see [Supported Z-Wave dongles](/docs/z-wave/controllers/#s
Some Z-Wave USB sticks can be auto-discovered, which can simplify the Z-Wave 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: Some Z-Wave USB sticks can be auto-discovered, which can simplify the Z-Wave 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:
| Device | Identifier | Vendor | | Device | Identifier | Vendor |
| -------| ---------- | ------ | | -------------------- | ---------- | ---------------------------------------------------------------------------------- |
| Aeotec Z-Stick Gen5+ | 0658:0200 | <https://aeotec.com/products/aeotec-z-stick-gen5/> | | 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/> | | 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/> | | Zooz ZST10 | 10C4:EA60 | <https://www.getzooz.com/zooz-zst10-s2-stick/> |
| Z-WaveMe UZB | 0658:0200 | <https://z-wave.me/products/uzb/> | | 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. Additional devices may be discoverable, however only devices that have been confirmed discoverable are listed above.
@ -882,10 +882,10 @@ Z-Wave JS writes details to its logs. To access these logs, follow these steps:
For some of the concepts, you may come across different terminology in Z-Wave than in Home Assistant. For some of the concepts, you may come across different terminology in Z-Wave than in Home Assistant.
The table below provides equivalents for some of those terms. The table below provides equivalents for some of those terms.
| Z-Wave functionality | Home Assistant | | Z-Wave functionality | Home Assistant |
| -------------------------------------- | ------------------------------------------------------------------------| | -------------------- | --------------------------------------------------------------- |
| inclusion | add | | inclusion | add |
| exclusion | remove | | exclusion | remove |
| barrier operator | cover | | barrier operator | cover |
| window covering | cover | | window covering | cover |
| multilevel switch | represented by different entity types: cover, fan, dimmer, etc. | | multilevel switch | represented by different entity types: cover, fan, dimmer, etc. |

View File

@ -97,7 +97,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- SolarEdge sensors: This PR changes the **entity names** of this sensor and the **monitoring condition keys** in the configuration: `sensor.solaredge_current_power` -> `sensor.solaredge_current_power`, `sensor.solaredge_last_day_data` -> `sensor.solaredge_energy_today`, `sensor.solaredge_last_month_data` -> `sensor.solaredge_energy_this_month`, `sensor.solaredge_last_year_data` -> `sensor.solaredge_energy_this_year`, `sensor.solaredge_life_time_data` -> `sensor.solaredge_lifetime_energy`, ([@LouisMT] - [#20109]) ([sensor.solaredge docs]) (breaking change) - SolarEdge sensors: This PR changes the **entity names** of this sensor and the **monitoring condition keys** in the configuration: `sensor.solaredge_current_power` -> `sensor.solaredge_current_power`, `sensor.solaredge_last_day_data` -> `sensor.solaredge_energy_today`, `sensor.solaredge_last_month_data` -> `sensor.solaredge_energy_this_month`, `sensor.solaredge_last_year_data` -> `sensor.solaredge_energy_this_year`, `sensor.solaredge_life_time_data` -> `sensor.solaredge_lifetime_energy`, ([@LouisMT] - [#20109]) ([sensor.solaredge docs]) (breaking change)
- Geolocation is no longer creating a default group. ([@exxamalte] - [#20338]) ([geo_location docs]) (breaking change) - Geolocation is no longer creating a default group. ([@exxamalte] - [#20338]) ([geo_location docs]) (breaking change)
- The Dovado sensor platform has been broken up into a Dovado component with sensor and notify platforms. The configuration variables have been changed. Please refer to the documentation for the correct configuration. ([@rohankapoorcom] - [#20339]) ([dovado docs]) ([sensor.dovado docs]) (breaking change) - The Dovado sensor platform has been broken up into a Dovado component with sensor and notify platforms. The configuration variables have been changed. Please refer to the documentation for the correct configuration. ([@rohankapoorcom] - [#20339]) ([dovado docs]) ([sensor.dovado docs]) (breaking change)
- Brottsplatskartan: The incident type count is reset every day. Before this change, it didn't reset until you restarted Home assistant. ([@chrillux] - [#20117]) ([sensor.brottsplatskartan docs]) (breaking change) - Brottsplatskartan: The incident type count is reset every day. Before this change, it didn't reset until you restarted Home Assistant. ([@chrillux] - [#20117]) ([sensor.brottsplatskartan docs]) (breaking change)
- Ambient PWS has new configuration and entity IDs will change. Configure it now via the integrations page. ([@bachya] - [#20332]) ([ambient_station docs]) ([sensor.ambient_station docs]) (breaking change) - Ambient PWS has new configuration and entity IDs will change. Configure it now via the integrations page. ([@bachya] - [#20332]) ([ambient_station docs]) ([sensor.ambient_station docs]) (breaking change)
- New Transmission component. With the introduction of the Transmission component, the configuration for Transmission sensor and switch has been moved to the component configuration. Configuration must be changed accordingly. ([@MatteGary] - [#19230]) ([transmission docs]) ([sensor.transmission docs]) (breaking change) (new-platform) - New Transmission component. With the introduction of the Transmission component, the configuration for Transmission sensor and switch has been moved to the component configuration. Configuration must be changed accordingly. ([@MatteGary] - [#19230]) ([transmission docs]) ([sensor.transmission docs]) (breaking change) (new-platform)
- The alarm control panel will now flag mistyped configs from `configuration.yaml` correctly as invalid, instead of just ignoring them. ([@emontnemery] - [#20224]) ([alarm_control_panel docs]) (breaking change) - The alarm control panel will now flag mistyped configs from `configuration.yaml` correctly as invalid, instead of just ignoring them. ([@emontnemery] - [#20224]) ([alarm_control_panel docs]) (breaking change)

View File

@ -167,7 +167,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
language: french language: french
``` ```
- **TotalConnect** - Total Connect Client was upgraded to support more than one alarm panel and allow future support for additional sensors. Previous `alarm_control_panel` entries must be removed, and a new totalconnect entry must be added to configuration.yaml. See https://www.home-assistant.io/integrations/totalconnect/ for configuration details. ([@austinmroczek] - [#24427]) ([totalconnect docs]) - **TotalConnect** - Total Connect Client was upgraded to support more than one alarm panel and allow future support for additional sensors. Previous `alarm_control_panel` entries must be removed, and a new totalconnect entry must be added to configuration.yaml. See </integrations/totalconnect/> for configuration details. ([@austinmroczek] - [#24427]) ([totalconnect docs])
- **Nuki** - The `lock.nuki_unlatch` service has been removed. It has been replaced by the `lock.open` service. The `lock.nuki_lock_n_go` service has been renamed to `nuki.lock_n_go`. Users that are using the removed or renamed services in automations need to replace them with the new services. ([@franfos] - [#22888]) ([nuki docs]) - **Nuki** - The `lock.nuki_unlatch` service has been removed. It has been replaced by the `lock.open` service. The `lock.nuki_lock_n_go` service has been renamed to `nuki.lock_n_go`. Users that are using the removed or renamed services in automations need to replace them with the new services. ([@franfos] - [#22888]) ([nuki docs])
- **Snapcast** - This changes adds multiroom support for the snapcast component. It adds 2 services `media_player.snapcast_join` and `media_player.snapcast_unjoin` to group/ungroup a client with another client. Also added source selection support in the snapcast clients as the groups are unusable due to their dynamic nature. ([@lyghtnox] - [#24061]) ([snapcast docs]) - **Snapcast** - This changes adds multiroom support for the snapcast component. It adds 2 services `media_player.snapcast_join` and `media_player.snapcast_unjoin` to group/ungroup a client with another client. Also added source selection support in the snapcast clients as the groups are unusable due to their dynamic nature. ([@lyghtnox] - [#24061]) ([snapcast docs])
- **Ambient Weather Station** - The `unique_id` for Ambient sensors uses a new formula, meaning that even though they have the same friendly names, new sensors will be created. The integration will automatically perform this migration under the hood, but if you've altered the entity IDs of any Ambient PWS entities, you'll need do the same to the new entities upon creation. Additionally, the `monitored_keys` configuration option is no longer supported in `configuration.yaml`. The integration will now create sensors for all conditions supported by the particular device. - **Ambient Weather Station** - The `unique_id` for Ambient sensors uses a new formula, meaning that even though they have the same friendly names, new sensors will be created. The integration will automatically perform this migration under the hood, but if you've altered the entity IDs of any Ambient PWS entities, you'll need do the same to the new entities upon creation. Additionally, the `monitored_keys` configuration option is no longer supported in `configuration.yaml`. The integration will now create sensors for all conditions supported by the particular device.

View File

@ -51,7 +51,7 @@ Another option is to use our powerful CLI, that is shipped with the SSH add-on.
After some confusion about the statement of supporting virtual environments and running Hass.io on top of a custom Linux; so let's clarify it. After some confusion about the statement of supporting virtual environments and running Hass.io on top of a custom Linux; so let's clarify it.
The supported ways to run Hass.io are documented here: <https://www.home-assistant.io/hassio/installation/> The supported ways to run Hass.io are [documented here](/installation/)
This also includes running Hass.io on Linux using the [Generic Linux](https://github.com/home-assistant/hassio-installer) installer, which is a supported method. This also includes running Hass.io on Linux using the [Generic Linux](https://github.com/home-assistant/hassio-installer) installer, which is a supported method.

View File

@ -392,8 +392,8 @@ Experiencing issues introduced by this release? Please report them in our [issue
- **Fortigate** *(Deprecated)* - The Fortigate integration will be removed in - **Fortigate** *(Deprecated)* - The Fortigate integration will be removed in
0.112.0 and has a replacement in the FortiOS integration. 0.112.0 and has a replacement in the FortiOS integration.
Please refer to the fortios integration on how to configure the new Please refer to the [fortios integration](/integrations/fortios) on how to configure the new
parameters: https://www.home-assistant.io/integrations/fortios/ - parameters. -
([@kifeo] - [#34854]) ([@kifeo] - [#34854])
- **Raspberry Pi Camera** - To align with ADR-0007, configuration has been - **Raspberry Pi Camera** - To align with ADR-0007, configuration has been

View File

@ -51,7 +51,7 @@ So, keep an eye on our social media for the announcement.
- [Compact header](#compact-header) - [Compact header](#compact-header)
- [Script and automation YAML editor](#script-and-automation-yaml-editor) - [Script and automation YAML editor](#script-and-automation-yaml-editor)
- [Xbox integration](#xbox-integration) - [Xbox integration](#xbox-integration)
- [Counters & Timers available as helpers in the UI](#counters--timers-available-as-helpers-in-the-ui) - [Counters \& Timers available as helpers in the UI](#counters--timers-available-as-helpers-in-the-ui)
- [Native types support for templates (Beta)](#native-types-support-for-templates-beta) - [Native types support for templates (Beta)](#native-types-support-for-templates-beta)
- [Other noteworthy changes](#other-noteworthy-changes) - [Other noteworthy changes](#other-noteworthy-changes)
- [New Integrations](#new-integrations) - [New Integrations](#new-integrations)
@ -738,8 +738,7 @@ Options are now set through the UI (global options/add device/remove device/chan
For newly added or detected devices, `device_class` cannot be set. For newly added or detected devices, `device_class` cannot be set.
Instead, it should be set by customizing entities: Instead, it should be set by [customizing entities](/docs/configuration/customizing-devices/).
<https://www.home-assistant.io/docs/configuration/customizing-devices/>
The debug key is removed as option for the integration. Instead, log level The debug key is removed as option for the integration. Instead, log level
for the library can be set by configuring the logger (see below). for the library can be set by configuring the logger (see below).