Schneider connect 2 paddle switch (4 button controller)

You can use the built-in component drivers for this

1 Like

Ok, I was wondering what they were for. I just Make a virtual device with the correct Component driver and associate with it? That simple?

You create it as a child device in your parent driver..

addChildDevice

Creates a new child device and returns that device from the method call.

Signature

ChildDeviceWrapper addChildDevice(String namespace, String typeName, String deviceNetworkId, Map properties = [:])

ChildDeviceWrapper addChildDevice(String typeName, String deviceNetworkId, Map properties = [:])

Parameters

namespace - The namespace of the child driver to add as a child device (optional, if not specified it will default the the namespace of the parent)

typeName - The name of the child driver to add as a child device

deviceNetworkId - unique identifier for this device

properties - optional parameters for this child device. Possible values listed below

Properties

boolean isComponent - true or false, if true, device will still show up in device list but will not be able to be deleted or edited in the UI. If false, device can be modified/deleted on the UI.

String name - name of child device, if not specified, driver name is used.

String label - label of child device, if not specified it is left blank.

Returns

ChildDeviceWrapper

Hello, I'm back at it again.
I am now able to create a childDevice but i have no idea what to do now. I have tried to associate with its nodeID but i haven't had any luck with that. I have tried several types of nodeID:s for the childDevice like: 4F-1, 14F and so on. I've even tried to give the child id 100 and then tried to associate with that, but i think the association doesn't even go through. I can how ever associate with "zwaveHubNodeId", then I can use the right button but it just does the same as the left one. And noticed that I can associate straight with a node id of a physical relay, with the nodeID given in the hub?!
Also I somehow managed to put the switch in a multicast mode, and got parsed messages like this:

parse description: zw device: 51, command: 2001, payload: FF , isMulticast: false

parse description: zw device: 51, command: 2001, payload: FF 1D 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 , isMulticast: true

parse description: zw device: 51, command: 2001, payload: 00 , isMulticast: false

parse description: zw device: 51, command: 2001, payload: 00 1D 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 , isMulticast: true

Ok, I ain't getting nowhere with this.

Is there a way to distinguish the commands sent from the group 1 and group 3?

What should the groups be associated with?

This is the switch i'm trying to get working.

@bcopeland Hey!

Do you know if MultiChannelAssociation v1 supports endpoints?
Becouse if not I think my efforts to get these things working through the hub are effortless.

Or there is something I'm missing here.

The whole point of multi-channel is endpoints.. So yes

And the endpoints will be identified in multi-channel encapsulation

Ok, thanks again!
I will dig in to that topic next.
There is just SO much info out there so it is very hard for me to find the right info pieces.

Ahh yes, my device doesn't support multi-channel. Or atleast it isn't mentioned in and out clusters:

  • nClusters: 0x72,0x86,0x70,0x85,0x8E
  • outClusters: 0x85,0x20,0x26,0x50

Or is it included in the MultiChannelAssociation V1 class?

If it supports multi-channel association.. It has to support multi-channel encapsulation..

1 Like

Ok, great!

Just making sure I don't bang my head against the wall next couple of days :smiley:

Interesting, I modified your parent driver to set the associations to my switch and now it has endpoints set to group 2 and 3. So, now i have to figure out how to use the encapsulation. Now the left paddle turns on the parent driver and the right can be configured to set the child driver.
And apparently the switch uses multi-instance rather than multi-channel:

skip: MultiInstanceCmdEncap(command:1, commandClass:32, instance:2, parameter:[0])

parse description: zw device: 53, command: 6006, payload: 02 20 01 00 , isMulticast: false

Uhhoh, I just can't wrap my head around this.
What are the commands for the parent to turn the child componen switch on and off?

def zwaveEvent(hubitat.zwave.commands.multichannelv3.MultiChannelCmdEncap cmd)
{
def result
if (cmd.parameter == 0) {
result = getChildDevice("53-1").createEvent(name: "switch", value: "off")
} else {
result = getChildDevice("53-1").createEvent(name: "switch", value: "on")
}
return result
}

Is this even close?

@bcopeland Sorry to bother you again :slight_smile:

No problem.. See this post:

Finally got it working!!
Thanks a million times @bcopeland

1 Like

anytime

@taneli.kaukoranta
I also have this Schneider switch, but I don't know anything about these programming things. Is it possible to share your driver?

Hello ugon,

I can share it, but it's not "consumer ready" for I just stiched it together and got it barely working. It's combination of two drivers, an alteration of @bcopeland s driver and one of my own. First you must use the copeland driver to associate and create the child devices. then you change the driver of the parent device and child device to my schneider driver.

@bcopeland Is it ok to share your driver with my alterations here, for I don't know how this works?