diff --git a/source/_integrations/zwave_js.markdown b/source/_integrations/zwave_js.markdown index abe5f86a0cd..b68ec215ca6 100644 --- a/source/_integrations/zwave_js.markdown +++ b/source/_integrations/zwave_js.markdown @@ -57,7 +57,7 @@ Advanced users: Make sure that the server started successfully by inspecting the ### Service `zwave_js.set_config_parameter` -This service will update a configuration parameter. At this time, it is not possible to update multiple partial parameters in a single call, but we hope to add support for that in the future. +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 | |------------------------ |----------- |------------------------------------------------------------------------------------------------------------------------------------------- | @@ -72,6 +72,7 @@ This service will update a configuration parameter. At this time, it is not poss Let's use parameter 31 for [this device](https://devices.zwave-js.io/?jumpTo=0x000c:0x0203:0x0001:0.0) as an example to show examples of different ways that the `LED 1 Blink Status (bottom)` partial parameter can be set. Note that in places where we are using different values for the same key, the different values are interchangeable across the examples. We can, for instance, use `1` or `Blink` interchangeably for the `value` in all of the examples. Example 1: + ```yaml service: zwave_js.set_config_parameter target: @@ -83,6 +84,7 @@ data: ``` Example 2: + ```yaml service: zwave_js.set_config_parameter target: @@ -94,6 +96,7 @@ data: ``` Example 3: + ```yaml service: zwave_js.set_config_parameter target: @@ -104,6 +107,66 @@ data: value: "Blink" ``` +### Service `zwave_js.bulk_set_partial_config_parameters` + +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 set the configuration parameter on. At least one `entity_id` or `device_id` must be provided. | +| `device_id` | no | ID of device to set the configuration parameter on. At least one `entity_id` or `device_id` must be provided. | +| `parameter` | yes | The parameter number or the name 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 the bitmasks (in integer or hex form) and the values are the value you want to set on each partial. 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 + +Let's use parameter 21 for [this device](https://devices.zwave-js.io/?jumpTo=0x031e:0x000a:0x0001:0.0) as an example to show how partial parameters can be bulk set. In this case, we want to set `0xff` to `127`, `0x7f00` to `10`, and `0x8000` to `1` (or the raw value of `4735`). + +