Setting z-wave device configuration

Hi,
I need to set a few configuration parameters to Z-wave devices. I would like to have that done at HA startup but the only way I have found is via automations.
So I tested to set “AlwaysOn” on 2 Fibaro wall plugs (used for energy meter) with the trigger to run every 2 minutes.
However the plugs isn’t turned on or even reject when turned on/off.

The automation:

- id: '1590415872222'
  alias: Configure Z-wave devices
  description: Configure Z-wave devices
  trigger:
  - minutes: /2
    platform: time_pattern
  condition: []
  action:
  - data:
      node_id: 14
      parameter: 1
      size: 1
      value: 0
    service: zwave.set_config_parameter
  - data:
      node_id: 13
      parameter: 1
      size: 1
      value: 0
    service: zwave.set_config_parameter

I see in logs:

2020-07-15 22:10:00 INFO (MainThread) [homeassistant.components.automation] Configure Z-wave devices: Executing step call service
2020-07-15 22:10:00 INFO (SyncWorker_12) [homeassistant.components.zwave] Setting configuration parameter 1 on Node 14 with list selection 0
2020-07-15 22:10:00 INFO (MainThread) [homeassistant.components.automation] Configure Z-wave devices: Executing step call service
2020-07-15 22:10:00 INFO (SyncWorker_2) [homeassistant.components.zwave] Setting configuration parameter 1 on Node 13 with list selection 0

Any idea why it isn’t working?
Any better way to configure Z-wave devices?

You need to set value to exactly the same strings that you see in the control panel. size is unnecessary.

1 Like

@freshcoast thanks but a stupid question - what do you mean by control panel?

1 Like

If all you’re doing is just setting a config parameter one time, just use the control panel, no need for an automation.

1 Like

Ah, tested to set the parameter via control panel and it works and in the logs I get:

2020-07-15 22:49:22 INFO (SyncWorker_17) [homeassistant.components.zwave] Setting configuration parameter 1 on Node 13 with list selection function activated

When sending via automations I get in the logs:

2020-07-15 22:50:00 INFO (MainThread) [homeassistant.components.automation] Configure Z-wave devices: Executing step call service
2020-07-15 22:50:00 INFO (SyncWorker_7) [homeassistant.components.zwave] Setting configuration parameter 1 on Node 13 with list selection 0

I checked in zwcfg_xxxxxx.xml before and after this change in control panel but no difference.
Is the settings stored in the device or elsewhere?
If in device (I have excluded and included them when migrating from openHAB to HA) then I should be be fine by doing it in control panel once.

Config parameters are stored on the device. The XML is simply a cache, it will show the last value that was set or read. It won’t change until you save the configuration from the control panel or restart.

1 Like

It worked to change the automation:

from value: 0 to value: "function activated"

- id: '1590415872222'
  alias: Configure Z-wave devices
  description: Configure Z-wave devices
  trigger:
  - minutes: /2
    platform: time_pattern
  condition: []
  action:
  - data:
      node_id: 14
      parameter: 1
      value: "function activated"
    service: zwave.set_config_parameter
  - data:
      node_id: 13
      parameter: 1
      value: "function activated"
    service: zwave.set_config_parameter

I think it would be better to stick to device values instead of HA specific ones

Thanks a lot @freshcoast for your help and sorted this out :smiley:

Is there a way to do this in the new zwave-js? I have a device that shows to have 8 adjustable parameters, but only 4 show up in HA.