From looking at the device it looks really cool and can do quite a bit, but @jdroberts is absolutely right that this is not easily supported in Smarthings. I think it can be but it would take a TON of Groovy coding. JD definitely knows a lot more about Zwave and the overall Smarthings platform platform then I do, but from my experience with updating DTH code for Zwave devices, every incoming Zwave command needs to be coded as a method using Groovy programming in the device handler so Smarthings knows exactly what to do with it. This device from the log posted by the OP shows it sends a ton of information, and anything a DTH isn’t specifically coded to handle will just come in as an “unhandled command”
That being said, it appears @Khhh doesn’t need full functionality of the device, which is good so there’s a chance we can get this working for what they need. It seems another DTH already gets the device’s relays to turn on, so based on this statement:
Sounds like you can get them to turn on, but just need them to turn off automatically in X seconds? Parameter values are here from the Zwave alliance - Product Configuration Capabilities If that’s the case you might just need to set parameters 16, 17, and 18 (control for relay 1,2,3) to a value of 5 (Timer: On>Off Mode: Relay output switches to ON state (contacts are closed) then after a specified time switches back to OFF state (contacts are open). The time is specified in parameters 35-39) and then set parameters to the number of seconds before the relay turns back off. That should be easy enough, but reading further in the Zwave alliance site reveals some typos and inconsistencies with the parameter numbers not making sense, so that could complicate things. I’m thinking paremeters 21,22, and 23 are the time in seconds to turn off. They probably jumbled them up at some point and didn’t update all the references. Or, I’m just not understanding the device. This is tough for me to figure out without having the device to test. By doing the following modifications to whatever DTH you’re using, you might be able to get it work, but it could be a long shot:
in the preferences() method, create preferences for adding the seconds until off for each relay (add the method if not already there or add to the existing preferences () method):
input "relaytime1", "number", title: "Turn off delay for relay 1", description: "Turn off delay for relay 1 in seconds", required: false, range: "0..43200"
input "relaytime2", "number", title: "Turn off delay for relay 2", description: "Turn off delay for relay 2 in seconds", required: false, range: "0..43200"
input "relaytime3", "number", title: "Turn off delay for relay 3", description: "Turn off delay for relay 3 in seconds", required: false, range: "0..43200"
These preferences then pass to the updated() method, so add these lines to the updated() method, or create an updated() method if not already in your DTH. This will get the Smarthings hub to send the values to the device’s parameters:
if (settings.relaytime1 != null) {
def relaytime1= Math.max(Math.min(relaytime1, 43200), 0)
sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV2.configurationSet(scaledConfigurationValue: 5, parameterNumber: 16, size: 1).format()))
sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV2.configurationSet(scaledConfigurationValue: relaytime1, parameterNumber: 21, size: 2).format()))
sendEvent(name: "relaytime1", value: relaytime1, displayed: false)
}
if (settings.relaytime2 != null) {
def relaytime2= Math.max(Math.min(relaytime2, 43200), 0)
sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV2.configurationSet(scaledConfigurationValue: 5, parameterNumber: 17, size: 1).format()))
sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV2.configurationSet(scaledConfigurationValue: relaytime2, parameterNumber: 22, size: 2).format()))
sendEvent(name: "relaytime2", value: relaytime2, displayed: false)
}
if (settings.relaytime3 != null) {
def relaytime3= Math.max(Math.min(relaytime3, 43200), 0)
sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV2.configurationSet(scaledConfigurationValue: 5, parameterNumber: 18, size: 1).format()))
sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV2.configurationSet(scaledConfigurationValue: relaytime3, parameterNumber: 23, size: 2).format()))
sendEvent(name: "relaytime3", value: relaytime3, displayed: false)
}
Hopefully that works, or honestly this device might just be too complex to setup on Smarthings and if you have an alternative, that might just be better to go with. Let me know what you think.