[Device Handler] Moes 2 and 3 gang Zigbee wall switch ( cluster EF00)

@iwry

Could you please validate that your driver version is already updated and test switches again?
Thanks

Hi @ygerlovin, Now I have version 2.0 (2022-0511T22:21:36.988981), and seems to be working with minor bugs on the main switch. Please find a video testing here.

@iwry
Is the main switch behaviour with Edge driver different, compared to what you’ve seen with DTH?
Do you see fast responses from the load (lights) when you press the button and only delayed update in the app? Or lights response slowly as well?
What signal strength values do you see for the device?
MOES switches do not report the main switch, therefore the driver calculates it, based on the current state of all gangs (if all gangs are off it will be off, otherwise it will be on).

Thanks

@ygerlovin
Yes, in the DTH I cannot see this behavior. But checking again I couldn’t reproduce the error again for now.
Regarding delays, it is extremely faster compared to DTH.

I’m having some issues with routines. I have 2 Moes with the Edge driver now. 1 module has a switch as “virtual switch” that switches on/off the other module’s switch. Sometimes the routine is triggered and sometimes it isn’t.

Please find below a screenshot of the routine

and here you can see the behavior in a video.

@ygerlovin
Another thing that I noticed is that since this driver is not creating separate children like the DTH, we cannot use for example Google Home to switch a specific lamp. It switches on/off both of them at the same time.

@iwry

Unfortunately, this is Edge limitation. However, you can workaround this with virtual things edge driver.

  1. Install virtual things edge driver
  2. Create virtual switch
  3. Create 2 automations
    3a. If virtual switch is on - turn on switch X on multigang switch
    3b If virtual switch is off - turn off switch X on multigang switch
    Do not use toggle option in automation, it might not work
  4. If you need a feedback for the gang status for your virtual switch, create another 2 automations for the same gang

I realise that creating 4 automations manually for each gang is a lot of work, but this is what we currently have.
Regards

P.S.
Below is the link to my virtual things driver, but you can use any virtual switch (DTH or Edge) to achieve this

1 Like

@iwry

Try to define 2 separate routines, one for On and another for Off

Hi, I’ve got a Moes 3 gang dimmer switch and whilst I’ve read through all of these posts and installed the parent and child handlers I’m unable to get the 2nd or 3rd switch to work from the app. Switch 1 works fine but the other 2 when I press the button just spins for ages and then eventually says “A network or server error occurred. Try again later” Any suggestions?

@Andrew4
Unfortunately, dimmers are not supported by my DTH.

Hi @ygerlovin,

Thank you for the advice. Regarding the toggle option in automation, my virtual switches are working as expected after using two separate rules.

I have installed the virtual things edge driver, and I’ve created some virtual switches for controlling the devices via Google Home. Something that I couldn’t manage was to make a rule that “refreshes” the status of the virtual switch if I manually press the button. It’s frustrating to see the device as “On” in the Google Home app if the lamp is off.

As you mentioned, I tried creating another two rules for refreshing the status, but somehow it is triggering the other first two rules for the virtual switches.

About the possibility of managing the backlight in routines, unfortunately, it’s not working. If I change the backlight mode from the multi-gang switch page, it works as expected. But when trying to create a rule, when I hit the save button, I get the following error: “There was a connection problem. Try it again later”. Please check the screenshot of the routine.

Hi @iwry

I’m pretty sure I tested it during development, but I will retest it again. Could be an issue with recent hub updates. What fw version do you have installed on your hub?

I would suggest first to test the backlight automation with virtual switch and see how it goes. I will also try to test it on my side

Regards

Hi @iwry,

Some updates.
I have 42.00007 installed on my hub.
I have 2 gangs Tuya module (not Moes), which is very similar to Moes switch.
I created a virtual switch “vSwitch Gang1” to control switch1 on Tuya module.
Then I created 4 routines:
Tuya switch1, vGang1 On - if switch1 on Tuya is On - turn vGang1 on
Tuya switch1, vGang1 Off - if switch1 on Tuya is Off - turn vGang1 off
vGang1, Tuya switch1 On - if vGang1 is on - turn on switch1 on Tuya
vGang1, Tuya switch1 Off - if vGang1 is on - turn on switch1 off Tuya

Tuya switch1, vGang1 On looks like this.


The IF statement is for switch1 (gang1).

4 routines for a single gang seems to be working fine, even though with a slight delay. One thing to mention, I always wait for the previous operation to complete, before sending a new command.
Could you please check that you are creating routines the same?

Thanks

1 Like

@ygerlovin

Thank you for sharing your setup. I was probably doing something wrong unconsciously because I did recreate the 4 rules and it is working now.

About the hub, I also have the version 42.00007 installed on my hub.

I tried using a virtual routine but I’m getting the same error. Please check the screenshot below.

Hi @iwry,

Thank you for testing.

Cool, I’m glad it works now.

I don’t have a touch panel connected right now, but I was able to reproduce the error with another my custom capability (power on state).
I probably doing something wrong when defining my capabilities.
I will keep you updated

1 Like

Another question, will the edge driver be compatible with the 3 gangs and 4 gangs switches?

I can test for the 3 gangs if needed. (My 4 gangs switch burned out today :sleepy:)

Another comment, not really sure if it is possible, it would be great if we could rename Switch1 and Switch2 on the main page.

Moes 3 gangs should be working, even though I never tested 3 gangs modules.

I think a change request for this was opened a couple of months ago. Not sure whether ST team is planning to implement this

1 Like

Hi @ygerlovin I have a few updates.

I’m getting an “Open” and “Closed” status on the virtual devices. This impacts on the security system of smartthings for example.

Also in Google Home I get the status open and closed instead of on and off. And when I hit button an error occurs. (With voice command it is working)

About the moes 3 gangs I could add the device and it was recognized as 3 gangs but buttons were not working. And now the device got disconnected. I will try again tomorrow and I’ll collect logs if it fails.

@iwry

This is the current behaviour of virtual switch. Virtual switch was designed to serve as routine trigger in Alexa ( in addition to other things) and Alexa does not allow this for regular switches. Hence a hiden contact sensor capability was added to vSwitch.
There is a feature request in virtual switch driver thread tor this

And there is ongoing discussion how to solve this

@iwry

To investigate the error I will need a log from both drivers

Hello @ygerlovin ,

Please find log dump for Moes 1 gang with the off vs on command data

application: 42
endpointId: 01
manufacturer: _TZE200_amp6tsvy
model: TS0601

- ON COMMAND -
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:52:44 pm: debug [raw:0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00350F04000102, profileId:0104, clusterId:EF00, sourceEndpoint:01, destinationEndpoint:01, options:0000, messageType:00, dni:FBF2, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:01, direction:01, data:[00, 35, 0F, 04, 00, 01, 02], clusterInt:61184, commandInt:1]
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:52:44 pm: warn DID NOT PARSE MESSAGE for description : catchall: 0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00350F04000102
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:52:44 pm: debug description is catchall: 0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00350F04000102
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:52:44 pm: debug [raw:0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00340E04000100, profileId:0104, clusterId:EF00, sourceEndpoint:01, destinationEndpoint:01, options:0000, messageType:00, dni:FBF2, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:01, direction:01, data:[00, 34, 0E, 04, 00, 01, 00], clusterInt:61184, commandInt:1]
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:52:44 pm: warn DID NOT PARSE MESSAGE for description : catchall: 0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00340E04000100
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:52:44 pm: debug description is catchall: 0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00340E04000100
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:52:44 pm: debug [raw:0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00330101000101, profileId:0104, clusterId:EF00, sourceEndpoint:01, destinationEndpoint:01, options:0000, messageType:00, dni:FBF2, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:01, direction:01, data:[00, 33, 01, 01, 00, 01, 01], clusterInt:61184, commandInt:1]
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:52:44 pm: warn DID NOT PARSE MESSAGE for description : catchall: 0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00330101000101
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:52:44 pm: debug description is catchall: 0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00330101000101

- OFF COMMAND -
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:53:42 pm: debug [raw:0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00370F04000102, profileId:0104, clusterId:EF00, sourceEndpoint:01, destinationEndpoint:01, options:0000, messageType:00, dni:FBF2, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:01, direction:01, data:[00, 37, 0F, 04, 00, 01, 02], clusterInt:61184, commandInt:1]
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:53:42 pm: warn DID NOT PARSE MESSAGE for description : catchall: 0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00370F04000102
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:53:42 pm: debug description is catchall: 0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00370F04000102
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:53:42 pm: debug [raw:0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00360E04000100, profileId:0104, clusterId:EF00, sourceEndpoint:01, destinationEndpoint:01, options:0000, messageType:00, dni:FBF2, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:01, direction:01, data:[00, 36, 0E, 04, 00, 01, 00], clusterInt:61184, commandInt:1]
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:53:42 pm: warn DID NOT PARSE MESSAGE for description : catchall: 0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00360E04000100
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:53:42 pm: debug description is catchall: 0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00360E04000100
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:53:42 pm: debug [raw:0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00350101000100, profileId:0104, clusterId:EF00, sourceEndpoint:01, destinationEndpoint:01, options:0000, messageType:00, dni:FBF2, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:01, direction:01, data:[00, 35, 01, 01, 00, 01, 00], clusterInt:61184, commandInt:1]
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:53:42 pm: warn DID NOT PARSE MESSAGE for description : catchall: 0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00350101000100
[b0edb04e-e988-47b0-9719-236e4a665e49] 9:53:42 pm: debug description is catchall: 0104 EF00 01 01 0000 00 FBF2 01 00 0000 01 01 00350101000100