(EDGE Driver-Mc): Z-Wave Device Config Mc

(New Release) New Edge Driver Z-Wave Device Config Mc

Important note:

If your device uses the Z-Wave Switch and Child Mc or Z-Wave Sensor and Child Thermostat Mc driver then they already have this driver built in to configure any parameter or association group creating a virtual configurator device and you don’t need to change to this driver:

  • Link to post release Z-Wave Switch and Child Mc and Z-Wave Sensor and Child Thermostat Mc device config built in

My Recommendation:

The parameters that can be changed with the preferences of the driver used by the device is better to change them in its driver, since if you change them with the driver Z-Wave Device Config Mc, when you return to the original driver, the preferences values will not coincide with the real values in the device. Driver Preferences values are not dynamically updated by reading the value of the parameter on the device

How does it work?

  • Make a driver change to Z-Wave Device Config Mc on the device you want to configure. Initial all values ​​displayed will be 0.
    Note:
    If you have automations that affect this device, they may be missing or disabled. Add a virtual device on them so they don’t get lost.
    Before the update of the android app they remained as an unknown action.
    Now the device will disappear from the automation and if in actions or conditions there is only this device, the automation is deleted. If there are more devices it will only be disabled

  • If you want to read one device parameter value:
    1. Enter the number of the parameter to verify
    2. In Select Config Parameter Action, select β€œGet”
    3. The value and size in Bytes of the parameter will be shown in its fields
    • If you want to Get another parameter, perform step 1 and before step 2 select the value β€œSelect” and then β€œGet”. (I’ll improve this when I find how to send a value to a custom capability command)

  • To write a device parameter value:
    1. Enter the number of the parameter to write
    2. Enter the size in Bytes of the parameter according to the device manual. (0 to 7)
    3. In field Select Config Parameter Action, select β€œSend”
    4. The value and size in Bytes of the parameter will be sent to the device and will be displayed in its fields
    • If you want to write another parameter, do step 1 and 2 and before step 3 select the value β€œSelect” and then β€œSend”. (I’ll improve this when I find how to send a value to a custom capability command)

When you are done setting the desired parameters, you then change the driver back to the previous one for the device and check device Routines

If necessary I will modify the driver to add read and modify the association groups and wake_up settings

Driver version

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Driver Id   β”‚ 7ca45ba9-7cfe-4547-b752-fe41a0efb848 β”‚
β”‚ Name        β”‚ Z-Wave Device Config Mc              β”‚
β”‚ Package Key β”‚ zwave-device-config                  β”‚
β”‚ Version     β”‚ 2022-08-12T15:22:52.957122001        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Link to Shared Channel:
https://api.smartthings.com/invitation-web/accept?id=6b68563b-1905-4654-8d2b-e677a2997424

6 Likes

very cool! I assume once you are done setting the desired parameters, you then change the driver back to the previous one for the device?

3 Likes

Mariano, the parameter value is limited to 100, I was trying to change the parameters (time) to 360 seconds and 3600 seconds and discovered this limit

1 Like

I had not noticed! thank you
In the capability and its presentation there is no limit for that attribute which is an integer. I don’t know why the app puts a limit from 0 to 100.

Will I have to make a presentation with other limits? @nayelyz

1 Like

Mmmm is it a custom capability? Can you share its ID, please?
Also, I’m curious about the content of the VID to see if there appears something, if we don’t set a limit in any place for the custom capability, there shouldn’t be a range predefined…
Did you ever set that limit but modified the configuration after a while?

Only legendabsolute60149.parameterSize has a limit from 0 to 7 in the definition, but in the presentations there is no limit placed on either.
At three he has set the limit from 0 to 100

legendabsolute60149.deviceParameter
legendabsolute60149.parameterValue
legendabsolute60149.parameterSize

Excellent work! And, yes, The ability to read and change associations would be great. :sunglasses:

I don’t know if this is what’s going on, but in the past there have sometimes been problems when the ST UI assumed that a value was a percentage, hence the limits from 0 to 100, but in fact it was just a numeric value.

You might also want to make sure that the field can accept negative values, as these are required for some zwave parameters. Temperature range is a common example. (Some manufacturers like Fibaro do use two’s complement values for negative numbers in unsigned fields, of course, in which case you will see very large values in the field.)

Tomorrow I will try to make a vid to change the limits. Today I am going to close the kiosk

and I will apply the solution for the negative values that I made in the zwave drivers

1 Like

Good evening Mariano. Could you increase the range of parameter values?. I have devices with parameters from 101 to 255.Thanks.

Please read the rest of the thread… Thats literally what they’re talking about…

2 Likes

Hello everyone

I have modified the presentations of the custom capabilities for Z-Wave Device Config Mc and they have been updated perfectly just by clearing the cache of the android app. This is good news.

I have set the limits shown in the default libraries for c.c. version 4 configuration:

--- @field public parameter_number integer [0.65535]
--- @field public size integer [0.7]
--- @field public parameter integer [-2147483648,2147483647]

Although the Size limit, i think, should be set from 1 to 7 since if you enter 0 it gives a fatal error because that value is not allowed.

WARNING For devices that use this parameter values ans sizes:

  • value: 0 to 65535 and Size: 2 Byte:

    • When Doing Get: for values ​​32768 to 65535 , you will see a negative value between -1 and -32768 (-1 = 65535 and -32768 = 32768 that has the device saved)
    • When sending the value you have to send a value between 0 and 65535 as the manual says
  • Value: 0 to 255 and Size: 1 Byte:

    • When doing Get: for values ​​128 to 255, you will see a negative value between -1 and -128 (-1= 255 and -128 = 128 that has the device saved)
    • When sending the value you have to send a value between 0 and 255 as the manual says

I put a link to the post to see if smartthings gives a solution

This is the version with the changes.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Name        β”‚ Z-Wave Device Config Mc              β”‚
β”‚ Version     β”‚ 2022-08-13T09:42:28.107547483        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

UPDATE:
A fast and safe method to modify a parameter that is not affected by the problem of negative values and size:

  • Enter the value of the parameter to modify
  • Click on Get
  • It will show the value and the correct size that the device sends
  • Modify the value of the parameter that we want to change
  • Click on Send
  • Once it shows β€œNew Action Click Select” press Get again and I will confirm that the value shown is the one you entered

Thank you all for the comments of the errors to improve it

1 Like

What are some use cases for this driver?

If you have a Z-wave device paired with an edge driver and it does not have all the configuration parameters available in preferences and you need to change some of those that are not shown in the driver preferences

4 Likes

Same use cases as the old Groovy Zwave Tweaker.

Many zwave devices have configurable parameters that are not exposed in the official edge drivers. Since zwave parameters are stored in the firmware of the device, if there’s a parameter you want to set that is not available through the official edge driver, you should be able to switch temporarily to this edge driver, set the parameter, then switch back to the original driver for everyday use. :sunglasses:

See the Fibaro multisensor for a good example of a zwave device with a lot of advanced parameters:

2 Likes

That’s precisely what Mariano just said :sunglasses:

@JDRoberts I’m assuming this would work for something like the zooz switches?

This does not appear to be working on an Aeotec TriSensor, I woke up the device and tried to get and change the parameters, but it does not appear to have done anything. It’s an outdoor mounted unit and it is hot now so I will play with it in the morning and report back.

Many battery powered zwave devices only accept configuration changes at the time they are joined to the network unless you do what is called a β€œforced wake up. β€œ

And still others have a fairly long waiting period in between when they will accept configuration changes. All of this is done to save battery life.

Normally, the Aeotec trisensor only accepts configuration changes every four hours. So even if the edge Driver does a forced wake up (I don’t know whether it does or not) it could be four hours before you see the changes take effect.

Sometimes the manufacturer will have included a forced wake up button on the device itself, and then holding that in will cause the device to immediately process any pending changes. But you have to check the user manual to find out if there’s a specific tap pattern or length of time you have to hold it.

The Aeotec trisensor does have a button of this type, it’s described in the user manual.

So it’s possible that your changes are still pending and just haven’t taken effect yet.

As always, the first rule of home automation applies: β€œthe model number matters.β€œ You’ll have to check the user manual for any batterypowered device you want to use this edge driver with to see if there’s anything special you need to do to get the changes accepted. (since Mains-powered devices don’t have to worry about battery life, they will generally accept a reconfiguration request at pretty much any time.) :thinking:

Here’s the old Groovy DTH, where you can see the same issue is being discussed. There won’t be any difference between an edge driver and a groovy DTH in this regard, the issue comes from the way the device itself is manufactured.

1 Like

New Update for Edge driver Z-wave Device Config Mc:

Improvements and changes:

  • The Device Parameters configuration function is maintained
  • Added the presentation of the fingerprint and end points information (same as the Z-wave Thing Mc)

  • Added scanning function of all the values ​​of the device configuration parameters (1 to 255). You can choose the search range. (For the 255 parameters it takes about 15 or 20 sec to process)

NOTE:
Remember that the default libraries only understand signed integer values and therefore negative values can actually be the 2’s complement of the actual value on the device. You have to check with the device manual the range of values of these parameters to know the real value stored and the one we have to send when changing it. (See this Post)

  • These functions are accessed from preferences. Choosing one of them changes to a specific profile for that function. This requires that to see the new profile you have to close the device and reopen it in a few seconds.

  • In the Device Parameters configuration function I have added a button to execute the Get, Send or Select action chosen in the list. This is because the app command handles selecting values ​​from the list has changed and it no longer send repeated commands.

Update:

  • Added Visibility to false to all events so they don’t show up in device history

As I have not seen any problems being updated, the driver update will be done automatically, but you will have to clear the app’s cache to see the new profiles correctly.

New version is this:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Name        β”‚ Z-Wave Device Config Mc              β”‚
β”‚ Version     β”‚ 2022-08-18T20:03:38.502231317        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

I’ll be adding more features like, association groups as I learn how to do it. I don’t quite understand how association groups work with other devices and searching for information in libraries and documentation is tedious.
Only know how made the device association group with Hub

If anyone knows and wants to help, they are welcome.

4 Likes