[ST Edge] Personal Tuya Devices - Generic EF00 Device

Since June 24th 2023, I am not able to maintain the driver as I used to because my mother was really interested in automating her house and I think there isn’t any better hub to unexperienced users other than SmartThings, so I gave mine to her.
It was ok to me as I have been using another platform exclusivelly for the last 2 years or so.
I will try to keep some minor changes, but don’t expect to much.
I will work more on documenting and merging than developing things.
So, be welcome to fork the repository and support new devices.

Just to let people know that I just published in my public channel a very simple and generic way to integrate devices that works with 0xEF00 tuya cluster.

It requires a little intuitive skills because the driver exposes a way to control tuya datapoints directly.

# Step Yes No Considerations
1 Did the driver detect your device automatically? :green_circle: Go to step 2
2 Is there EF00 in “Server clusters” list? Go to step 3 Go to step 4 Check Detail View
3 Did any profile in settings work for your device? :green_circle: Go to step 4 Check Configurations menu from Detail View
4 Is there “Datapoints” list already? :green_circle: Go to step 5 Check Detail View
Send screenshot of the WHOLE Detail View, including manufacturer, model and datapoints (*)
5 Did you interact with the device interfaces enough? :red_circle: Go to step 4 Actuators and sensors in general
Anything that make the device to change its current state
Compatible devices should report its states and update Datapoints list

(*) Also, report everything you detected in your interaction with the device, for example:

  • DP 4 appeared as true when I closed the contact sensor. It changed to false when I did the opposite.
  • DP 1 decreased to MIN when I moved my hand near to illuminance sensor. It increased to MAX when I turned on a flash light near the sensor.
  • DP 8 appeared as 1 when I pressed button X. It changed to 0 when I pressed it again.

These are just some examples that help a lot the development.


  • Support to some stock capabilities
    • switch
    • switchLevel
    • airQualitySensor
    • alarm
    • audioVolume
    • battery
    • button
    • carbonDioxideMeasurement
    • contactSensor
    • currentMeasurement
    • doorControl
    • dustSensor
    • energyMeter
    • fineDustSensor
    • formaldehydeMeasurement
    • illuminanceMeasurement
    • keypadInput
    • motionSensor
    • occupancySensor
    • powerMeter
    • presenceSensor
    • relativeHumidityMeasurement
    • temperatureMeasurement
    • thermostatCoolingSetpoint
    • thermostatHeatingSetpoint
    • thermostatMode
    • thermostatOperatingState
    • tvocMeasurement
    • valve
    • veryFineDustSensor
    • voltageMeasurement
    • waterSensor / leakSensor
    • windowShade
    • windowShadeLevel
    • windowShadePreset
  • Support to generic tuya data types
    • boolean
    • enumeration
    • value
    • string
    • bitmap
    • raw

Known limitations

  • Can’t have 2+ components of the same exact device referencing the exact same datapoint.
    For example, you can’t map the same datapoint as switch and contact sensor at the same time for the same device.

This is how your device will be detected if there isn’t any predefined datapoints mapped in the code.
You may force open this screen by selecting profile “Generic” in the settings.

This is how your device could be detected if there is predefined datapoints in the code

Buy me a slice of pizza

Invitation link

Details on how to use it (Very important reading!)


I’ve been looking for this, I’ll have a play.

Got my generic TUYA 3 gang switch connected with each switch as a child under the generic EFOO. Made my day. Great work @w35l3y


Share prints of detailView and the configurations you did to help others.

1 Like

This is great. Thank you

I’ll do it tonight, your morning.

Thanks for developing this driver. I’m trying to get my Tuya mmwave presence sensor to work with Smartthings. I’ve looked online for datapoints that others have used and came across this forum:

I used datapoints 102, 105, 119, and 141. After putting those in under the presence sensor the device still did not work. Any help you can offer to get this working is greatly appreciated. Thanks again for all your hard work.

I found a bug in the driver that was expecting datapoints starting from 1.
I will update it. Thanks for letting me know.

EDIT: Fixed. You may try again by reinstalling the driver or waiting 12 hours.

Now, it should show up all datapoints found during pairing process.

1 Like

This driver doesn’t seem to work with smartthings wifi I installed the driver but when I search for new devices it does not discover it

Only for zigbee devices that use 0xEF00 tuya cluster.
If you are pairing a zigbee device, it probably doesn’t expose 0xEF00 server cluster.

I believe @Robert_Singh is referring to his smartthings hub model, which is the Wi-Fi mesh version. Not to the tuya Zigbee device He is trying to connect to it.

1 Like

Hi, great work.
I have a tuya metter with ct. I add it. How i know what endpoint?

For my 3 gang switch i just guessed on data points 1,2 and 3 and it worked as 3 seperate child switches.

1 Like

Support this ground soil sensor

US $28.39 32%OFF | Tuya Zigbee Wireless Soil Moisture Meter Temperature Humidity Tester Plant Monitor IP67 Waterproof Detector for Garden Planting

Connect it properly before pairing it and the device should report some datapoints automatically.
Sometimes it doesn’t happen, you may try pairing it again.
Consider triggering physical interfaces with the device, like buttons, switches, sensors, …
Datapoints aren’t informed in the manual or anything. You will need to search on the internet.
Try to follow the steps I added in the “How to use” and let me know if you had any trouble.

Have you tried this driver for this ground soil sensor ?

Yes, it is working

1 Like

Share print of detail view and configuration to help others.

1 Like

Toya soil sensor


@w35l3y first up great work on this especially with the datapoints now showing, it will make things a lot easier. Just out of curiosity I guessed my switch data points as 1,2 and 3 which worked but these do not match the datapoints found. Is this because they are not generic data points? Let me know if there’s an explanation or if you want me to try changing my datapoints to match the ones found, if it helps your work.