[Edge drivers] MCO Home switch MH-S311, MH-S312 & MH-S314

Hi @Mariano_Colmenarejo

I have MCO Home switch MH-S311, MH-S312 & MH-S314 which I use with your Z-Wave Switch and Child Mc driver.

However I find that all the main & child switches control all the output together when turning on/off the switch. How can I get the child switch to control only single output each?

Hi @zamir_amran

I don’t know what devices these are and if they are in the driver or paired as generic.
I’ll look at it when I have access to the CLI in August.
Can you publish the information of the device emoarejandol with zwave thing mc?

Hi @Mariano_Colmenarejo ,

They are touch panel switch that comes in 1, 2 & 4 gang configuration.


This is the 4 gang


This is the 2 gang


This is the 1 gang

I manage to use your “Z-wave switch and child MC”. Just that all the main & child switches control all the output together instead of each child switch control single output.

Hi @zamir_amran

These 3 devices exist in the stock zwave switch driver, but with productId: 0x5102 instead of 0x5103.

The 0x3111 device has an error in the productId too

In my driver they are exactly the same, since it uses that driver as the base.

  - id: 015F/3111/5102
    deviceLabel: WYFY Switch 1
    manufacturerId: 0x015F
    productType: 0x3111
    productId: 0x3111
    deviceProfileName: switch-binary
  - id: 015F/3121/5102
    deviceLabel: WYFY Switch 1
    manufacturerId: 0x015F
    productType: 0x3121
    productId: 0x5102
    deviceProfileName: switch-binary
  - id: 015F/3141/5102
    deviceLabel: WYFY Switch 1
    manufacturerId: 0x015F
    productType: 0x3141
    productId: 0x5102
    deviceProfileName: switch-binary

therefore it is possible that it is paired as a generic device.

You can try installing the stock Z-wave Switch driver and even though it pairs as generic, it might work with the multichannel-device subdriver as 1, 2 and 4 channel device.

At the same time, I would open a report to smartthings to fix the support of productId: 0x5103.

In my driver, when I have access to the CLI, I will modify the endpoint mapping and fingerprints

1 Like

Hi @Mariano_Colmenarejo
It just so happen that if I use the stock Z-Wave Switch driver from ST, I wont be able to control on/off the switch from ST app at all. It will just have loading animation on switch tile but no on/off response.

At least with your driver I am able to on/off from ST app. Just that it control all output at once.

It only occurs to me that you ask @nayelyz or @AlejandroPadilla to see if the productId:0x5103 can be added to the stock driver, I don’t know what zwave region this productId is.

Hi, @zamir_amran
Did your device use to use a custom DTH?
If the exact fingerprint of the device isn’t present in the official Edge driver it can be because the manufacturer hasn’t certified it yet.

Hi @nayelyz
The device did not use custom DTH before. It just stop working 2 weeks ago.


Previously the device are connected to hub as above.


Now the device are connected to hub as above

In the original DTH you mentioned, I cannot find the fingerprint either: https://github.com/SmartThingsCommunity/SmartThingsPublic/blob/master/devicetypes/smartthings/zwave-multi-metering-switch.src/zwave-multi-metering-switch.groovy#L34

In the Groovy world, if the device was connected as a generic Z-Wave device, you could modify its device type (DTH) to one of the standard ones like “Z-Wave Multi Metering Switch” without its fingerprint to be included, that didn’t mean the device was officially supported.

If it stopped working recently, it’s possible that it was migrated and assigned to the driver that represented the closest match. I’ll still be looking around to see if there are traces of this device model being certified at some point.

I can check if it was migrated recently, can you enable support access to your account, please?

  1. Confirm the email account registered in the forum is the same one you use for SmartThings. If not, please share it with me over DM
  2. Enable support access to your account:
  1. Go to the SmartThings Web (my.smartthings.com)
  2. Log in to your Samsung Account
  3. Select Menu (⋮) and choose Settings
  4. Toggle on Account Data Access
  5. Select the time period and confirm - In this step, please select “Until turned off”, once the team finishes, we’ll let you know so you can disable it again.

Hi @nayelyz

I already DM you the email used for smartthings and enable support access.

Hi, @zamir_amran
Thank you for the information you provided.
I asked the team if they could check if your device “Z-Wave Device Multichannel” was migrated and they confirmed it was, specifically on 07/04/2023.
It was migrated to the SmartThings driver thanks to a generic fingerprint, which makes sense because its specific fingerprint isn’t present.

Despite the IDE showed it was using a standard DTH, it doesn’t mean it was officially supported. I don’t know if you remember selecting that DTH (type field) at some point when editing the device, that was very common in the Groovy world.
I looked for the fingerprint you mentioned in that DTH (here) and the productID “0x5103” doesn’t exist either:

If a device is connected to the SmartThings driver through a generic fingerprint, we cannot guarantee its correct functionality because it depends on the requirements of each device.
So, the suggestion here is to use a Custom driver that would handle correctly your device since it might need a special configuration to do so. You can wait for @Mariano_Colmenarejo’s help or download the SmartThings driver yourself and make the corresponding changes.

1 Like

Hi @nayelyz @zamir_amran

When I can I’ll add that productId 0x5103 to make it work like 0x5102 and I’ll fix the endpoint mapping, which I think is wrong in both my driver and stock.

Endpoint 0 is assigned to main component and I think it should be endpoint 1 on these devices, according @zamir_amran says, I’ll check when I can.

Also smartthings should fix the 0x3111 productId error.

1 Like

I’ll take a look at that, thank you for the reminder.

1 Like

Hi @nayelyz
Thank you for the explanation.

@Mariano_Colmenarejo really hoping you will be able to help on this soon. How hard is it to edit & publish own custom driver? I am not that knowledgeable in coding or anything but at this point I am willing to try.

You could try it with the stock zwave switch driver.

Here is a tutorial on how to modify the basics of a driver and what tools you need to install on your PC.

  • download the drivers to your pc from this github link
  • In the zwave-switch folder open the file fingerprints.yml
  • write # in front of the productId of the three devices of yours.
- id: 015F/3111/5102
    deviceLabel: WYFY Switch 1
    manufacturerId: 0x015F
    productType: 0x3111
    #productId: 0x3111
    deviceProfileName: switch-binary
  - id: 015F/3121/5102
    deviceLabel: WYFY Switch 1
    manufacturerId: 0x015F
    productType: 0x3121
    #productId: 0x5102
    deviceProfileName: switch-binary
  - id: 015F/3141/5102
    deviceLabel: WYFY Switch 1
    manufacturerId: 0x015F
    productType: 0x3141
    #productId: 0x5102
    deviceProfileName: switch-binary
  • This will allow devices to pair with the controller

  • open the scr folder

  • open the “multichannel-device” subdriver folder and open the init.lua file

  • on line 35 replace if src_channel == 0 then with if src_channel == 1 then

  • save the changes.

  • Open the config.yml file and change the name Z-Wave Switch to something different for you.

  • following the steps described in the tutorial:

  • with the CLI pack the modified driver.

  • Create your own channel

  • Assign the new driver to your channel

  • Install the new driver on your hub

  • Install the device.

This driver creates the child devices when it receives a report command from the device, so if they are not created by themselves, then turns the physical switches on or off and when the driver receives the status report they should be created in the same room as the hub.

Don’t be afraid to try, nothing will break
If you need more help, tell me

3 Likes

Hi @Mariano_Colmenarejo

I really appreciate your guide on this.
I already follow the steps given and sadly the switch still cant be controlled with the edited driver.


Here is the switch detail


The switch come out as such in app. Unable to control on/off and child switch is not present. Even after trying to on/off physically on switch.

Any advise on what else I can look at.

I see that it has been successfully paired with the switch binary profile

Following the steps of the tutorial, capture the log with the CLI of when you physically press switch 1 and then switch2

capture another log when you press the switch in the app

Hi @Mariano_Colmenarejo

2023-07-16T09:35:11.673687261+00:00 TRACE Z-Wave Switch INT Z-Wave Device: b78b300e-bdac-4498-a8be-abe7ea3b92f5
Manufacturer: 0x015F Product Type: 0x3141 Product ID: 0x5103
[0]: CENTRAL_SCENE, BASIC, SWITCH_MULTILEVEL, ZWAVEPLUS_INFO, ASSOCIATION, ASSOCIATION_GRP_INFO, MULTI_CHANNEL_ASSOCIATION, MULTI_CHANNEL, TRANSPORT_SERVICE, VERSION, MANUFACTURER_SPECIFIC, DEVICE_RESET_LOCALLY, POWERLEVEL, SWITCH_BINARY, SWITCH_ALL, CONFIGURATION, SCENE_ACTUATOR_CONF, SCENE_ACTIVATION, CENTRAL_SCENE, BASIC, FIRMWARE_UPDATE_MD [1]: CENTRAL_SCENE, BASIC, SWITCH_MULTILEVEL, ZWAVEPLUS_INFO, ASSOCIATION, ASSOCIATION_GRP_INFO, MULTI_CHANNEL_ASSOCIATION, MULTI_CHANNEL, TRANSPORT_SERVICE, VERSION, MANUFACTURER_SPECIFIC, DEVICE_RESET_LOCALLY, POWERLEVEL, SWITCH_BINARY, SWITCH_ALL, CONFIGURATION, SCENE_ACTUATOR_CONF, SCENE_ACTIVATION, CENTRAL_SCENE, BASIC, FIRMWARE_UPDATE_MD [2]: CENTRAL_SCENE, BASIC, SWITCH_MULTILEVEL, ZWAVEPLUS_INFO, ASSOCIATION, ASSOCIATION_GRP_INFO, MULTI_CHANNEL_ASSOCIATION, MULTI_CHANNEL, TRANSPORT_SERVICE, VERSION, MANUFACTURER_SPECIFIC, DEVICE_RESET_LOCALLY, POWERLEVEL, SWITCH_BINARY, SWITCH_ALL, CONFIGURATION, SCENE_ACTUATOR_CONF, SCENE_ACTIVATION, CENTRAL_SCENE, BASIC, FIRMWARE_UPDATE_MD [3]: CENTRAL_SCENE, BASIC, SWITCH_MULTILEVEL, ZWAVEPLUS_INFO, ASSOCIATION, ASSOCIATION_GRP_INFO, MULTI_CHANNEL_ASSOCIATION, MULTI_CHANNEL, TRANSPORT_SERVICE, VERSION, MANUFACTURER_SPECIFIC, DEVICE_RESET_LOCALLY, POWERLEVEL, SWITCH_BINARY, SWITCH_ALL, CONFIGURATION, SCENE_ACTUATOR_CONF, SCENE_ACTIVATION, CENTRAL_SCENE, BASIC, FIRMWARE_UPDATE_MD
2023-07-16T09:35:11.675411927+00:00 TRACE Z-Wave Switch INT Received event with handler _resync
2023-07-16T09:35:11.676798594+00:00 TRACE Z-Wave Switch INT Received event with handler environment_info
2023-07-16T09:35:11.678028594+00:00 DEBUG Z-Wave Switch INT Z-Wave hub node ID environment changed.
2023-07-16T09:35:11.733119928+00:00 TRACE Z-Wave Switch INT Found DeviceLifecycleDispatcher handler in zwave_switch
2023-07-16T09:35:11.733947594+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:35:11.735898261+00:00 TRACE Z-Wave Switch INT Received event with handler environment_info
2023-07-16T09:35:11.758635261+00:00 TRACE Z-Wave Switch INT Received event with handler device_lifecycle
2023-07-16T09:35:11.767522928+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received lifecycle event: added
2023-07-16T09:35:11.769282928+00:00 TRACE Z-Wave Switch INT Found DeviceLifecycleDispatcher handler in zwave_switch
2023-07-16T09:35:11.770430928+00:00 TRACE Z-Wave Switch INT Found CapabilityCommandDispatcher handler in zwave_switch
2023-07-16T09:35:11.853353261+00:00 TRACE Z-Wave Switch INT Z-Wave command(a5d0a2f5) queued for radio transmission: CC:Switch Binary, CID:0x02
2023-07-16T09:35:11.863606928+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> sending Z-Wave command: {args={}, cmd_class=“SWITCH_BINARY”, cmd_id=“GET”, dst_channels={}, encap=“AUTO”, payload=“”, src_channel=0, version=1}
2023-07-16T09:35:11.884323594+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:35:11.887592594+00:00 TRACE Z-Wave Switch INT Received event with handler device_lifecycle
2023-07-16T09:35:11.892849594+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received lifecycle event: doConfigure
2023-07-16T09:35:11.898194594+00:00 TRACE Z-Wave Switch INT Found DeviceLifecycleDispatcher handler in zwave_switch
2023-07-16T09:35:11.899841261+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:35:11.906872261+00:00 TRACE Z-Wave Switch INT Received event with handler unnamed
2023-07-16T09:35:11.907848928+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received Z-Wave command: {args={current_value=0, duration=0, target_value=0, value=0}, cmd_class=“BASIC”, cmd_id=“REPORT”, dst_channels={}, encap=“NONE”, payload=“\x00\x00\x00”, src_channel=0, version=2}
2023-07-16T09:35:11.922517928+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:35:11.953979261+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:35:11.955031928+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> emitting event: {“component_id”:“main”,“state”:{“value”:“off”},“attribute_id”:“switch”,“capability_id”:“switch”}
2023-07-16T09:35:11.965129928+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:35:11.969685594+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:35:11.970940928+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:35:11.972281594+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Contact Sensor
2023-07-16T09:35:11.981156261+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:35:11.982290928+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Motion Sensor
2023-07-16T09:35:11.984894261+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:35:11.987467928+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Water Sensor
2023-07-16T09:35:11.990128594+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:35:12.000247594+00:00 TRACE Z-Wave Switch INT Z-Wave command(a5d0a2f5) transmit status: TRANSMIT_COMPLETE_OK
2023-07-16T09:35:12.023896928+00:00 TRACE Z-Wave Switch INT Received event with handler unnamed
2023-07-16T09:35:12.025124261+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received Z-Wave command: {args={value=“OFF_DISABLE”}, cmd_class=“SWITCH_BINARY”, cmd_id=“REPORT”, dst_channels={}, encap=“NONE”, payload=“\x00”, src_channel=0, version=1}
2023-07-16T09:35:12.050547928+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:35:12.057225594+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> emitting event: {“component_id”:“main”,“state”:{“value”:“off”},“attribute_id”:“switch”,“capability_id”:“switch”}
2023-07-16T09:35:12.061825928+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:35:12.062657594+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:35:13.242810595+00:00 TRACE Z-Wave Switch INT Received event with handler device_lifecycle
2023-07-16T09:35:13.244252595+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received lifecycle event: infoChanged
2023-07-16T09:35:13.256172928+00:00 TRACE Z-Wave Switch INT Found DeviceLifecycleDispatcher handler in zwave_switch
2023-07-16T09:35:13.259293262+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:07.509164954+00:00 TRACE Z-Wave Switch INT Received event with handler device_lifecycle
2023-07-16T09:36:07.562689954+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received lifecycle event: infoChanged
2023-07-16T09:36:07.681495621+00:00 TRACE Z-Wave Switch INT Found DeviceLifecycleDispatcher handler in zwave_switch
2023-07-16T09:36:07.706108954+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:14.726982958+00:00 TRACE Z-Wave Switch INT Received event with handler unnamed
2023-07-16T09:36:14.728411958+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received Z-Wave command: {args={key_attributes=“KEY_RELEASED”, scene_number=1, sequence_number=73, slow_refresh=false}, cmd_class=“CENTRAL_SCENE”, cmd_id=“NOTIFICATION”, dst_channels={}, encap=“NONE”, payload=“\x49\x01\x01”, src_channel=0, version=3}
2023-07-16T09:36:14.740497291+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:14.743627958+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Button
2023-07-16T09:36:14.752405958+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:14.758073291+00:00 TRACE Z-Wave Switch INT Received event with handler unnamed
2023-07-16T09:36:14.761800624+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received Z-Wave command: {args={value=255}, cmd_class=“BASIC”, cmd_id=“REPORT”, dst_channels={1}, encap=“NONE”, payload=“\xFF”, src_channel=1, version=1}
2023-07-16T09:36:14.793223291+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:14.794055291+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> emitting event: {“component_id”:“main”,“state”:{“value”:“on”},“attribute_id”:“switch”,“capability_id”:“switch”}
2023-07-16T09:36:14.802216291+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:14.809167291+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Switch Level
2023-07-16T09:36:14.813879958+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:14.815514624+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:14.816708958+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Contact Sensor
2023-07-16T09:36:14.818651291+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:14.824794624+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Motion Sensor
2023-07-16T09:36:14.826454958+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:14.829203624+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Water Sensor
2023-07-16T09:36:14.832058624+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:21.282378294+00:00 TRACE Z-Wave Switch INT Received event with handler unnamed
2023-07-16T09:36:21.284248627+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received Z-Wave command: {args={value=255}, cmd_class=“BASIC”, cmd_id=“REPORT”, dst_channels={2}, encap=“NONE”, payload=“\xFF”, src_channel=2, version=1}
2023-07-16T09:36:21.343229961+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:21.344058961+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> emitting event: {“component_id”:“main”,“state”:{“value”:“on”},“attribute_id”:“switch”,“capability_id”:“switch”}
2023-07-16T09:36:21.358212627+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:21.375599627+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Switch Level
2023-07-16T09:36:21.376946961+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:21.378545961+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:21.379735627+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Contact Sensor
2023-07-16T09:36:21.381495961+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:21.382664627+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Motion Sensor
2023-07-16T09:36:21.390165627+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:21.391420961+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Water Sensor
2023-07-16T09:36:21.393091961+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:21.394254627+00:00 TRACE Z-Wave Switch INT Received event with handler unnamed
2023-07-16T09:36:21.395508627+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received Z-Wave command: {args={key_attributes=“KEY_RELEASED”, scene_number=2, sequence_number=74, slow_refresh=false}, cmd_class=“CENTRAL_SCENE”, cmd_id=“NOTIFICATION”, dst_channels={}, encap=“NONE”, payload=“\x4A\x01\x02”, src_channel=0, version=3}
2023-07-16T09:36:21.407324294+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:21.408151961+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Button
2023-07-16T09:36:21.415957627+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:24.410846962+00:00 TRACE Z-Wave Switch INT Received event with handler unnamed
2023-07-16T09:36:24.422450962+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received Z-Wave command: {args={value=255}, cmd_class=“BASIC”, cmd_id=“REPORT”, dst_channels={3}, encap=“NONE”, payload=“\xFF”, src_channel=3, version=1}
2023-07-16T09:36:24.436935629+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:24.437745296+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> emitting event: {“component_id”:“main”,“state”:{“value”:“on”},“attribute_id”:“switch”,“capability_id”:“switch”}
2023-07-16T09:36:24.485920629+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:24.486762629+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Switch Level
2023-07-16T09:36:24.488878296+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:24.490078629+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:24.491221296+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Contact Sensor
2023-07-16T09:36:24.502936962+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:24.504102962+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Motion Sensor
2023-07-16T09:36:24.506217629+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:24.507425296+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Water Sensor
2023-07-16T09:36:24.509095296+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:24.510627629+00:00 TRACE Z-Wave Switch INT Received event with handler unnamed
2023-07-16T09:36:24.511896296+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received Z-Wave command: {args={key_attributes=“KEY_RELEASED”, scene_number=3, sequence_number=75, slow_refresh=false}, cmd_class=“CENTRAL_SCENE”, cmd_id=“NOTIFICATION”, dst_channels={}, encap=“NONE”, payload=“\x4B\x01\x03”, src_channel=0, version=3}
2023-07-16T09:36:24.521631962+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:24.522447629+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Button
2023-07-16T09:36:24.525372962+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:26.793801963+00:00 TRACE Z-Wave Switch INT Received event with handler unnamed
2023-07-16T09:36:26.801866963+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received Z-Wave command: {args={key_attributes=“KEY_RELEASED”, scene_number=4, sequence_number=76, slow_refresh=false}, cmd_class=“CENTRAL_SCENE”, cmd_id=“NOTIFICATION”, dst_channels={}, encap=“NONE”, payload=“\x4C\x01\x04”, src_channel=0, version=3}
2023-07-16T09:36:26.825423630+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:26.826322297+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Button
2023-07-16T09:36:26.828017630+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:26.842480630+00:00 TRACE Z-Wave Switch INT Received event with handler unnamed
2023-07-16T09:36:26.843321630+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received Z-Wave command: {args={value=255}, cmd_class=“BASIC”, cmd_id=“REPORT”, dst_channels={}, encap=“NONE”, payload=“\xFF”, src_channel=0, version=1}
2023-07-16T09:36:26.873231297+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:26.874056630+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> emitting event: {“component_id”:“main”,“state”:{“value”:“on”},“attribute_id”:“switch”,“capability_id”:“switch”}
2023-07-16T09:36:26.885849963+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:26.895990630+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Switch Level
2023-07-16T09:36:26.898881963+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:26.912156630+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:26.913364963+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Contact Sensor
2023-07-16T09:36:26.915088963+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:26.916304963+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Motion Sensor
2023-07-16T09:36:26.918429630+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:26.919643963+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Water Sensor
2023-07-16T09:36:26.923689297+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:26.924530963+00:00 TRACE Z-Wave Switch INT Received event with handler unnamed
2023-07-16T09:36:26.925791630+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received Z-Wave command: {args={value=255}, cmd_class=“BASIC”, cmd_id=“REPORT”, dst_channels={4}, encap=“NONE”, payload=“\xFF”, src_channel=4, version=1}
2023-07-16T09:36:26.942261630+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:26.952613630+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> emitting event: {“component_id”:“main”,“state”:{“value”:“on”},“attribute_id”:“switch”,“capability_id”:“switch”}
2023-07-16T09:36:26.960979630+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:26.975054630+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Switch Level
2023-07-16T09:36:26.976884297+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:26.978093297+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:26.980189297+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Contact Sensor
2023-07-16T09:36:26.983126297+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:26.984365630+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Motion Sensor
2023-07-16T09:36:26.992796630+00:00 TRACE Z-Wave Switch INT Found ZwaveDispatcher handler in zwave_switch
2023-07-16T09:36:26.994044630+00:00 WARN Z-Wave Switch INT Attempted to generate event for b78b300e-bdac-4498-a8be-abe7ea3b92f5.main but it does not support capability Water Sensor
2023-07-16T09:36:26.996022963+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:31.413288632+00:00 TRACE Z-Wave Switch INT Received event with handler capability
2023-07-16T09:36:31.444333299+00:00 TRACE Z-Wave Switch INT Z-Wave command(f87f07e8) queued for radio transmission: CC:Switch Multi-level, CID:0x01
2023-07-16T09:36:31.450492299+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received command: {“args”:{},“positional_args”:{},“command”:“off”,“component”:“main”,“capability”:“switch”}2023-07-16T09:36:31.458609299+00:00 TRACE Z-Wave Switch INT Found CapabilityCommandDispatcher handler in zwave_switch
2023-07-16T09:36:31.459810632+00:00 TRACE Z-Wave Switch INT SWITCH_MULTILEVEL supported.
2023-07-16T09:36:31.463771632+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> sending Z-Wave command: {args={duration=“default”, value=“OFF_DISABLE”}, cmd_class=“SWITCH_MULTILEVEL”, cmd_id=“SET”, dst_channels={}, encap=“AUTO”, payload=“\x00\xFF”, src_channel=0, version=2}
2023-07-16T09:36:31.472379299+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:31.473252299+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:31.539433966+00:00 TRACE Z-Wave Switch INT Z-Wave command(f87f07e8) transmit status: TRANSMIT_COMPLETE_OK
2023-07-16T09:36:36.476962968+00:00 TRACE Z-Wave Switch INT Z-Wave command(3d12de7d) queued for radio transmission: CC:Switch Multi-level, CID:0x02
2023-07-16T09:36:36.483614301+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> sending Z-Wave command: {args={}, cmd_class=“SWITCH_MULTILEVEL”, cmd_id=“GET”, dst_channels={}, encap=“AUTO”, payload=“”, src_channel=0, version=1}
2023-07-16T09:36:36.485197968+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:36.639372968+00:00 TRACE Z-Wave Switch INT Z-Wave command(3d12de7d) transmit status: TRANSMIT_COMPLETE_OK
2023-07-16T09:36:52.083167375+00:00 TRACE Z-Wave Switch INT Received event with handler capability
2023-07-16T09:36:52.107390480+00:00 TRACE Z-Wave Switch INT Z-Wave command(7d6ce952) queued for radio transmission: CC:Switch Multi-level, CID:0x01
2023-07-16T09:36:52.113808688+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> received command: {“args”:{},“positional_args”:{},“command”:“off”,“component”:“main”,“capability”:“switch”}2023-07-16T09:36:52.115609254+00:00 TRACE Z-Wave Switch INT Found CapabilityCommandDispatcher handler in zwave_switch
2023-07-16T09:36:52.116758162+00:00 TRACE Z-Wave Switch INT SWITCH_MULTILEVEL supported.
2023-07-16T09:36:52.117888393+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> sending Z-Wave command: {args={duration=“default”, value=“OFF_DISABLE”}, cmd_class=“SWITCH_MULTILEVEL”, cmd_id=“SET”, dst_channels={}, encap=“AUTO”, payload=“\x00\xFF”, src_channel=0, version=2}
2023-07-16T09:36:52.129859376+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:52.130929911+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:52.239781643+00:00 TRACE Z-Wave Switch INT Z-Wave command(7d6ce952) transmit status: TRANSMIT_COMPLETE_OK
2023-07-16T09:36:57.146067895+00:00 TRACE Z-Wave Switch INT Z-Wave command(6f030a9b) queued for radio transmission: CC:Switch Multi-level, CID:0x02
2023-07-16T09:36:57.148855288+00:00 INFO Z-Wave Switch INT <ZwaveDevice: b78b300e-bdac-4498-a8be-abe7ea3b92f5 [35] (WYFY Switch 1)> sending Z-Wave command: {args={}, cmd_class=“SWITCH_MULTILEVEL”, cmd_id=“GET”, dst_channels={}, encap=“AUTO”, payload=“”, src_channel=0, version=1}
2023-07-16T09:36:57.155757404+00:00 DEBUG Z-Wave Switch INT WYFY Switch 1 device thread event handled
2023-07-16T09:36:57.239501255+00:00 TRACE Z-Wave Switch INT Z-Wave command(6f030a9b) transmit status: TRANSMIT_COMPLETE_OK

I am not sure if this is how i should share the log. Sorry if it is long and messy like this. I am testing 4 gang switch here for your information.

1 Like

There are more changes to make, I thought I would use the multichannel-device subdriver and I looked at is wrong, it seems that it has to use the multi-metering-switch subdriver.

Several changes have to be made.
now I send them to you

@zamir_amran, tru this

  • Open the folder multi-metering-switch and open the init.lua:
  • replace the code from line 35 to 45:
local MULTI_METERING_SWITCH_FINGERPRINTS = {
   {mfr=0x0086, prod=0x0003, model=0x0084}, -- Aeotec Nano Switch 1
   {mfr=0x0086, prod=0x0103, model=0x0084}, -- Aeotec Nano Switch 1
   {mfr=0x0086, prod=0x0203, model=0x0084}, --AU Aeotec Nano Switch 1
   {mfr=0x027A, prod=0xA000, model=0xA004}, --Zooz ZEN Power Strip 1
   {mfr=0x015F, prod=0x3102, model=0x0201}, --WYFY Touch 1-button Switch
   {mfr=0x015F, prod=0x3102, model=0x0202}, --WYFY Touch 2-button Switch
   {mfr=0x015F, prod=0x3102, model=0x0204}, --WYFY Touch 4-button Switch
   {mfr=0x015F, prod=0x3111, model=0x5102}, --WYFY Touch 1-button Switch
   {mfr=0x015F, prod=0x3121, model=0x5102}, --WYFY Touch 2-button Switch
   {mfr=0x015F, prod=0x3141, model=0x5102} -- WYFY Touch 4-button Switch
}
  • Replace it with this other code by copying and pasting
local MULTI_METERING_SWITCH_FINGERPRINTS = {
   {mfr=0x0086, prod=0x0003, model=0x0084}, -- Aeotec Nano Switch 1
   {mfr=0x0086, prod=0x0103, model=0x0084}, -- Aeotec Nano Switch 1
   {mfr=0x0086, prod=0x0203, model=0x0084}, --AU Aeotec Nano Switch 1
   {mfr=0x027A, prod=0xA000, model=0xA004}, --Zooz ZEN Power Strip 1
   {mfr=0x015F, prod=0x3102, model=0x0201}, --WYFY Touch 1-button Switch
   {mfr=0x015F, prod=0x3102, model=0x0202}, --WYFY Touch 2-button Switch
   {mfr=0x015F, prod=0x3102, model=0x0204}, --WYFY Touch 4-button Switch
   {mfr=0x015F, prod=0x3111, model=0x5102}, --WYFY Touch 1-button Switch
   {mfr=0x015F, prod=0x3121, model=0x5102}, --WYFY Touch 2-button Switch
   {mfr=0x015F, prod=0x3141, model=0x5102}, --WYFY Touch 4-button Switch
{mfr=0x015F, prod=0x3111, model=0x5103}, --WYFY Touch 1-button Switch
   {mfr=0x015F, prod=0x3121, model=0x5103}, --WYFY Touch 2-button Switch
   {mfr=0x015F, prod=0x3141, model=0x5103} -- WYFY Touch 4-button Switch
}
  • save the changes and close the file.

  • Open the multi_metering_switch_configurations.lua file and make these changes:

    • lines 91, 101 and 111:
      product_ids = {0x5102, 0x5103}
  • Save the changes

  • in folder src, open the configurations.lua file and make these changes:

    • line 138:
      product_ids = {0x0201, 0x0202, 0x0204, 0x3111, 0x5102, 0x5103}
  • Save the changes

With the CLI:

  • packs the driver

  • assign it to your channel

  • Install it on your hub with the command, smartthings edge:drivers:install

  • you can see the driver installation process by opening a window with logcat

  • The new driver will be installed overwriting the old driver and in approximately 30 seconds it will be operational.