(EDGE Driver-Mc) Tuya Fingerbot Plus to Zigbee Switch Mc driver

Added Tuya Fingerbot Plus to Zigbee Switch Mc driver:

( mfr = “_TZ3210_dse8ogfy”, model = “TS0001”)
( mfr = “_TZ3210_j4pdtz9v”, model = “TS0001”)
Link to device


  • With CLI and testing batteries with different charge, I have been able to find the command and dp of the EF00 cluster that periodically (4 hours) sends the percentage of battery. Send it with command 0x05 and dp 0x69 (105)
    When the device is installed it may take up to 4 hours to send the battery information.
    To get an instantaneous battery reading you just have to remove and put the battery, this generates a battery message from the device
  • With this it is operative to use it as a momentary button.
  • In the TUYA App you can select the switch mode and invert the displayed state, but I have no information on how to configure the mode. I will leave it for the month of August or for the winter!
  • In the TUYA App you can also configure the % of displacement and the time that it remains downloaded. I think it does this by sending the command and arguments through cluster EF00 instead of cluster 0006 (on-off). I don’t think I can implement it without having information from Tuya.

  • Important for those who want to use it in routines and do not want the on and off status of the dummy physical device that it controls to be out of sync with the status displayed by the App:
    • When this device receives an On or Off command, it activates the fingerbot, regardless of the On or Off state it is in. Exactly the same as the physical button of the device.
  • So the solution is to always add the state precondition in the If part:
    • To send On command: If fingerbot is Off (precondition)
    • To send Off command: If fingerbot is On (precondition)
      This way it will only activate the fingerbot when it matches the state of the dummy device to control.

This the new driver version, it will bee updated automatically

 Name         Zigbee Switch Mc
 Version      2023-06-25T09:54:40.172902565        

As of today I will no longer update any Mc driver until the month of August or something else.
If something goes wrong with an update, I won’t be able to make changes without access to the CLI.

I will mark the requests and add them when I have access to the CLI


New driver version with all functions of the Tuya Fingerbot Plus

I finally took some time to add all the functions of using the FingerBot Plus, which are controlled with the EF00 cluster.
I have also opened a new thread recovering the original release for this device.

It has been a bit difficult to understand how to use the EF00 cluster in this device, since it sends messages with different commands and different lengths, 1 Dp, 2 dp’s or 3 dp’s without knowing why and when each one will be and that makes it difficult to capture correctly to manage them.

Thanks to the tuya DP’s information from @dotan_shai and being able to use and modify the function to send commands to the EF00 cluster that @iquix uses in its zigbee blinds driver, I have managed to add the functions:

  • Mode: Click or Switch (default: Click)
  • Sustain time pressed: 0 sec to 10 sec (default: 0 sec)
  • DOWN finger movement: 50% to 100% (default: 85%)
  • UP finger movement: 0% to 50% (default: 0%)
  • Reverse status: UP-On or UP- Off ((default: UP-On)

I have implemented the functions with custom capabilities, which can be modified from routines as well.
I cannot use the preferences, as I had done, because the device itself modifies the percentages of finger movement and the reverse status depending on the Click (Momentary) or Switch mode (fixed positions down and up) and since the preferences are read-only They are not updated with the real value that the device itself modifies and sends and everything remained out of sync.

When the new driver is installed and the capabilities values are not updated, they can be easily updated by removing and replacing the battery, then the device sends a report of all the Data Point values.

  • When we select the “Click” mode, the device automatically sets these values, which can be modified later if necessary:
    • DOWN finger movement: 85%
    • UP finger movement: 0%
    • Reverse status: Up-On

  • When we select the “Switch” mode, the device automatically sets these values, which can be modified later if necessary:
    • DOWN finger movement: 80%
    • UP finger movement: 30%
    • Reverse status: Up-On

  • When the values of the UP and DOWN movement are modified, sometimes the device itself modifies them if values does not like it, I don’t know the criteria it uses.

  • The Sustain Time value only has an effect with the “Click” mode

  • The Reverse Status value only has an effect in “Switch” mode and is instantaneous in the App when the value is changed.

  • With “Switch” Mode and fingerBot adapters it can be used for toggle or rocker switches.

I have tried it and it works well, in my opinion better than with the original Tuya application, hahahaha…
I hope it is useful

This is the new driver version with modification

 Name         Zigbee Switch Mc
 Version      2023-10-12T14:08:48.900600395        

Link to my shared Channel



This is SUPER great news !!
Dear @Mariano_Colmenarejo , is this means that you can now deal also with devices that uses EF00 cluster ?
If yes, I have a boiler switch , that need a better. Just let me know if you can help…


This means that it has been possible to manage the DP’s of the EF00 cluster of this device, thanks to trial, error and success, seeing a multitude of CLI logs from the device with responses to different commands and actions. :face_with_spiral_eyes:

Each device and manufacturer chooses which Dp’s it uses, what it uses them for and what values it assigns to them.

I do not plan to develop anything else, since there is a generic driver for devices that use that EF00 cluster and I do not think it is necessary to duplicate efforts. Just seeing the complexity of @w35l3y driver scares me, believe me!


Where can I download this?

Hi @86_MYM

This is the link to my shared Channel


Great work creating driver, I am looking to use this on a toggle switch but I don’t see the option in smartthing app to change to switch mode.

Fingerbot mode button is greyed out. Default seems to be momentary switch and the finger returns to same position instead of staying up for on and down for off.

Do I need to do anything to enable this mode?

Uninstalled device and added again, that did the trick. Device now allows to function as a button or toggle switch. Driver has everything needed for automating toggle switch on and off. Thanks for supporting this device.


Hello everyone
I found the Fingerbot settings under the driver itself to be greyed out after the initial setup on smartthings. Then once I created a routine, the device settings became ungreyed and fully modifiable. I then deleted the routine.
This is a great driver, super happy with it and finally my old roomba vaccum is now smart!
Thanks @Mariano_Colmenarejo for sharing all of your valuable worl with with the community :slight_smile: I’ve used many of your drivers lately which saved the day !!

1 Like

I have found a functioning problem in the Tuya fingerbot plus, which you should take into account and check if it also happens to you.

With the battery at a level of approximately 80%, with a measured voltage of 2.82vdc, the fingerbot does not move the actuator but the state changes in the App do work.

This seems like a bad design of the device since with 2.8 vdc in the battery it does not have enough charge to move the actuator motor and yet the firmware sends confirmation of the state change without having feedback that the movement has been executed and the actuator is in the correct physical position.

Therefore, you must find a way to verify that the action has been carried out by means other than the app.


Thanks for the warning. I will have to add some limit switch contacts in my project.

1 Like

I can’t seem to change the fingerbot mode. When I run an automation to turn on the switch, and it is already on, it is pressed again and it turns off. Please help. Thanks!

Add a precondition to your routines to confirm it is off before your automation tries to turn it on.

I think the switch mode is supposed to deal with it better. It is just greyed out for me. Doing the precondition would really complicate matters. For instance, I have a routine that presses the button when I’m leaving the house to turn it off. The one routine has over 20 actions. I would need to create a separate routine for each one. That also doesn’t help voice control, when I say to turn on the device, and it turns it off, because it is already on.


Changing modes changes how the arm works. I don’t know why it is grayed out, it seems that the capability has not been initialized.

You can try a refresh or send the mode change with a scene so that it is activated and you could then use it in the details view.

To avoid resynchronizing with the actual state of the dumb device, you should do what @Paul_Oliver says, put a precondition to confirm that the current state is the opposite of the one you are going to send.

Changing it via a routine worked. However, switch mode isn’t what I need. Anyway I can keep it on click mode and have a setting that doesn’t activate the actuator if the routine is telling it to do what it is already doing? Otherwise, I’d need to duplicate a bunch of my routines or create a virtual switch for each of these fingerbot and use the idea above. It seems like this can be enhanced at the driver lever.

Can we treat these like a valve? Where it doesn’t turn off when you turn it on, when it is already on?

I’m actually seeing the opposite. The device got disconnected from the hub, but the actuator still works when triggering it manually. Any thoughts? I took out the old battery and put it back in. It worked for 4.5 hours and then got disconnected.
Any way to trigger a routine when the signal metrics data isn’t received after a certain amount of time?

The driver already does this automatically by activating the healt Check when no messages are received from the monitored attributes of the device and attribute 0000 of cluster 0006 is read, in this case.

The battery should report every 4 hours.

For this to work, the device must have been directly paired with the driver, so that the device is configured and the attribute monitoring is configured. It is not worth making a driver change from another driver

try uninstalling the device and reinstalling it