Use of zwave / set_config_parameter in home assistant

Can anyone shed any more light on the use of the zwave “set_config_parameter” ?

I’d like to configure a aeotec multi sensor and change parameter 5 to 2 thus changing it to generate a binary report, the example on this site looks good:

eg:

{“entity_id”: “sensor.aetoec_multisensor_6_luminance_5”,
“parameter”: “5”,
“value”: “2”
}

but when trying it on my system i’ve added. eg:

{“entity_id”: “sensor.aeotec_zw074_multisensor_gen5_luminance_61”,
“parameter”: “5”,
“value”: “2”
}

I get an error in the OZW.log, eg:

2016-10-17 22:45:16.251 Warning, Invalid Index Set on ValueList

  • HA crashes completely with this to the home-assistant.log file:

16-10-17 22:47:31 homeassistant.core: Invalid service data for zwave.set_config_parameter: extra keys not allowed @ data[‘description’]. Got ‘Set a config parameter to a node on the Z-Wave network.’
extra keys not allowed @ data[‘fields’]. Got {‘parameter’: {‘description’: ‘5’}, ‘entity_id’: {‘description’: ‘sensor.aeotec_zw074_multisensor_gen5_luminance_61’}, ‘value’: {‘description’: ‘2’}}
required key not provided @ data[‘entity_id’]. Got None
required key not provided @ data[‘parameter’]. Got None
required key not provided @ data[‘value’]. Got None

The example on the UI looks like this:

{
“description”: “Set a config parameter to a node on the Z-Wave network.”,
“fields”: {
“entity_id”: {
“description”: “Name of entity to set config parameter to.”
},
“parameter”: {
“description”: “Parameter number to set (integer).”
},
“size”: {
“description”: “(Optional) The size of the value. Defaults to 2.”
},
“value”: {
“description”: “Value to set on parameter. (integer).”
}
}
}

Somthing isn’t right - any ideas??

1 Like

When I set up my Aeotec Multisensors (have 2 of them currently) I setup binary reporting in the settings in OZWCP from the drop down menu option at the top of the settings list. I didn’t have to manually send a command string and after updating the config it’s been reporting properly ever since.

1 Like

yep - infact i’ve done that for one of them and its working fine, but it does mean having to shut down HA and my user community moans :wink:

I’d like to see if I can do it in HA if I can, it looks like it can but the example syntax isn’t correct.

Any ideas?

Sorry, no idea. In fact I don’t think you can change the reporting without a restart. At least a service restart.
Could be wrong though.

Yeah I normally do a full restart after changing but still wondering the correct syntax for sending config changes via HA.

Anyone?

Looking at your log something is corrupted, because the example data is passed to service_data.
Either that, or you have just added the parameters below the example, and pasted that into the service data field.
The only thing that should be in Service Data field is:

"parameter": "5",
"value": "2"
}```

Hmm. Looks the same as the one I used

ok - so i retested, this is all I used:

{“entity_id”: “sensor.aeotec_zw074_multisensor_gen5_luminance_61”,
“parameter”: “5”,
“value”: “2”
}

And once executed HA process dies, nothing gets written to the “home-assistant.log” log file but there is a new entry in the “OZW_Log.txt” which is:

2016-10-18 18:05:41.856 Warning, Invalid Index Set on ValueList

Its basically exactly the same as whats on the HA site:

Any ideas?

bump

Re tested this on the new 31 version and it’s still an issue.

Can I help debug it somehow?

Thanks!

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?