Use of zwave / set_config_parameter in home assistant

Docs were incorrect. They have been updated now to be correct.

Payload should look like:

{
  "node_id": 42,
  "parameter": 5,
  "value": 2
}

Notice that none of the keys are strings either. The backend will coerce anything to int but just to be safe i’d suggest making everything int from the get go.

1 Like

OK great thanks, I’ll test this tonight and let you know.

Cheers!

Seems to work great - thanks! Results below for the two PIR sensors I have now set to 2 minutes:

Fibaro PIR Sensor Config set to 2 minutes:

{
“node_id”: 38,
“parameter”: 6,
“value”: 120
}

Log file:

2016-10-24 18:01:18.487 Info, Node038, Value::Set - COMMAND_CLASS_CONFIGURATION - Motion alarm cancellation delay - 6 - 1 - 120
2016-10-24 18:01:18.488 Info, Node038, Configuration::Set - Parameter=6, Value=120 Size=2
2016-10-24 18:01:18.488 Detail,
2016-10-24 18:01:18.488 Detail, Node038, Queuing (WakeUp) ConfigurationCmd_Set (Node=38): 0x01, 0x0d, 0x00, 0x13, 0x26, 0x06, 0x70, 0x04, 0x06, 0x02, 0x00, 0x78, 0x25, 0xb7, 0x5b
2016-10-24 18:01:18.488 Detail,
2016-10-24 18:01:18.488 Detail, Node038, Queuing (WakeUp) ConfigurationCmd_Get (Node=38): 0x01, 0x0a, 0x00, 0x13, 0x26, 0x03, 0x70, 0x05, 0x06, 0x25, 0xb8, 0x2d

Aeotec ZW074 Multisensor Gen5 set to 2 minutes:

{
“node_id”: 61,
“parameter”: 3,
“value”: 120
}

log file:

2016-10-24 18:11:12.434 Info, Node061, Value::Set - COMMAND_CLASS_CONFIGURATION - On time - 3 - 1 - 120
2016-10-24 18:11:12.434 Info, Node061, Configuration::Set - Parameter=3, Value=120 Size=2
2016-10-24 18:11:12.434 Detail,
2016-10-24 18:11:12.434 Detail, Node061, Queuing (WakeUp) ConfigurationCmd_Set (Node=61): 0x01, 0x0d, 0x00, 0x13, 0x3d, 0x06, 0x70, 0x04, 0x03, 0x02, 0x00, 0x78, 0x25, 0xd3, 0x21
2016-10-24 18:11:12.434 Detail,
2016-10-24 18:11:12.434 Detail, Node061, Queuing (WakeUp) ConfigurationCmd_Get (Node=61): 0x01, 0x0a, 0x00, 0x13, 0x3d, 0x03, 0x70, 0x05, 0x03, 0x25, 0xd4, 0x5f

Cheers!

UPDATE: This is really neat! I just setup an Aeon Labs Minimote (just used “add node”) and then changed it to be a scene controller purely in HA by setting Parameter FA (250 in dec), Value 1 via:

{
“node_id”: 81,
“parameter”: 250,
“value”: 1
}

Before this I had to mess around stopping / starting OZWCP / Add then also use zensys-tools to set a custom parameter. No more! :slight_smile:

1 Like

Nice! How would you do this in an automation? I have a Aeon labs Sirene that has multiple sounds and this would be nice to use to change the sounds.

1 Like

@mark.carline Hi Mark, Did you have a chance to look at my question? Would love to know this. Thx

A quick look at the manual shows you need to change parameter 37 and value1 with 0 through 5 as settings. 0 is no change so 1 through 5 would change the sound. You can also change volume by using value2 and numbers 0 through 5 with 0 being no change.

@zarthan thanks for this but I probably was not clear. I mean; How do I use this setting (example below) of a parameter (or parameters) in an automation?

{
"node_id": 81,
"parameter": 250,
"value": 1
}

I would suggest you try
‘’‘{
“node_id”: 81,
“parameter”: 37,
“value1”: 2
}’‘’
Changing the node ID to match yours and making value1 somewhere between 0 and 5, again 0 being no change.
just copy the information and paste it into the services /zwave/set_config_parameter under “Service Data” and then click the Call Service button.

Sorry. You want it in an automation. I have no idea how you would do this.

@Tyfoon Something you might want to take into consideration, as you contemplate automating a siren sound change. If the siren is a warning sound, what might happen if something went wrong during a change, rendering the siren silent?

Fallback, but it’d work - Create a bash script and use cURL to access the API call. You’ll have to create a script for each version of the sound you’d like.

Good suggestion! I guess this is with the command line switch? Did not use this yet.

shell_command

I have an automation like this:

- alias: Set Doorbell Volume to 1
  trigger:
    - platform: state
      entity_id: input_select.doorbell_volume
      to: '1 - Quietest'
  action:
    service: zwave.set_config_parameter
    data_template: {
      "node_id": 20,
      "parameter": 8,
      "value": 1
      }
      
- alias: Set Doorbell Volume to 2
  trigger:
    - platform: state
      entity_id: input_select.doorbell_volume
      to: '2'
  action:
    service: zwave.set_config_parameter
    data_template: {
      "node_id": 20,
      "parameter": 8,
      "value": 2
      }

This is how I am setting default parameters for my ZW056 Doorbell from the HA webpage using an input select. Works great, but this is a plug in device and unsure how responsive any battery powered device would be.

Hope it helps!

5 Likes

@lordsiris Very nice! Thanks you! My Siren is a ZW-089 from the same brand (also plugin) so should work similar. Still in the original packaging, this is a good reason to test it.

I encountered the problem at the start of this thread. haas was crashing when I set parameter 5 to a value of 2 on a Multisensor 6. The issue seems to be that openzwave configures parameter as a list, not a byte. A patch to your zwcfg along these lines will fix it:

<                               <Value type="byte" genre="config" instance="1" index="5" label="Command Options" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="1" max="2" value="2">
---
>                               <Value type="list" genre="config" instance="1" index="5" label="Command Options" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="1" max="2" vindex="0" size="1">

@Tyfoon Did you get the Aeon Siren to work with different sounds in an automation?

I am considering buying it to use as both an alarm and a doorbell so the multiple sounds would be ideal.

@skptic Actually never tested this. Just use it as a siren (very loud by the way) with one sound and did not get around implementing the other stuff.

I think I am nearly there with the set_config_parameter in the Aeotec Siren.

In theory it should work as described here but I seem to be stuck with something on the HA side of things.