Yagusmart 4 button Scene Switch

I have one of these - arrived today from Amazon. Fortunately a reviewer put me on to the fact that they arrive without batteries! Inserted battery, pressed button 1 until all LEDs starting flashing. Virtually instant pairing with the hub. Happy bunny indeed! Now working out how many more I need... BTW, I’m in the UK in case that makes a difference.

I can confirm that the Moe's scene/button controller works with the stock driver but without held and battery status. Too soon to report on stability.

Apparently the button does send Held but it takes 3-4 seconds (the indicator light goes out when you've held it long enough), and then if you'd felt like holding it that long, will also send release when you let go. But Mike Maxwell who wrote the driver didn't feel Held would be useful due to the long hold required. I'd have preferred to have the feature but it is what it is,

I agree, 5 seconds is way too long but the no battery level does suck thou

I have the same issue here (in UK also), same product but the Tuya driver and the shared drivers in this forum do not work. I'll keep trying stuff :-/

Does anyone else have the model returned as "TS004F" and not "TS0044" for the 4 button version. TS0044 is what is within the driver code as posted within this forum.

Also I have a longer list of inClusters and outClusters:

  • inClusters: 0000,0001,0003,0004,0006,1000
  • outClusters: 0019,000A,0003,0004,0005,0006,0008,1000

Mike Maxwell a developer said that an exact inCluster match is essential, I have made the change but not working yet. (How is fingerprint used to identify driver?)

Essential for selecting a matching driver, it has no effect on the drivers operation though...

1 Like

"TS004F" has totally different behavior if compared to TS0044 Scene Switch.
TS004F does not work with Hubitat. Probably due to similar reasons IKEA button controllers do not work in HE.

My workaround was to connect the TS004F switch to my old SmartThings V3 hub, I had to write a custom driver for it, based on Zemismart DH code. Then using HubConnect the scene switch can be exposed to HE. Buttons 1 and 4 generate single click events. Buttons 2 and 3 generate singe click ('pushed''), held and one common release event that I mapped to ST "up_hold" event. The held and up_hold events can be used in HE to ramp/up down bulbs or group of bulbs using the ABC controller app or a custom Rule Machine. The 'held' events are generated when buttons 2 and 3 are pressed for about 2 seconds.

The SmartThings DH can be downloaded from here: https://raw.githubusercontent.com/kkossev/SmartThings/main/PoweredByTuyaTS004F.groovy

Looking at your driver, I don’t see anything, that with a little modification shouldn’t run natively on HE. Would need to add capabilities HoldableButton and PushableButton instead of Button, and Health Check becomes HealthCheck. Other than, it appears that it should port over pretty much as is.

1 Like

Unfortunately, it is not that easy. The differences between ST and HE in some capabilities naming are well known and documented. Here the problem is that the catchall messages have different values in ST and HE. parseDescriptionAsMap() method returns nonsense values even in ST, but they are persistent enough to apply the trial-and-error method and be able to distinguish between the actions of the different buttons.
At the same time, in the catchall messages in HE all the payloads are identical with the exception of a sequence number in the data section. See for example this post: Yagusmart 4 button Scene Switch - #37 by mr.murraybrandon Pay attention to the important fact, that in HE this thing stops to send any zigbee messages after the first button press, until the zigbee.onOffRefresh() + zigbee.onOffConfig() methods are called again. Or more probably it is the HE zigbee stack that stops receiving the new messages (I don't have any zigbee scanner to be sure) - that's really weird....

Seems like this 'Powered by Tuya' zigbee thing has something very specific or non-standard , so it is a matter of the specific zigbee stack implementation in the different manufactures hubs how the zigbee messages will be read or mapped or interpereted.. I don't know, I don't have enough knowledge in this field.

Thanks for the info, how annoying that there is a variation such as TS004F vs TS0044 but yet the look identical in every other way. I wonder if I can distinguish between them on Amazon and try to find a TS0044.

I have edited the driver code and established exactly the same scenario as you have described, all data returned is the same, I can't distinguish between different buttons at all. It also stops sending new button presses like you say until I refresh. If you've not found a fix for this within Hubitat then I don't think will.

I don't think that there is a way to know in advance what model of the scene switch you will receive. Seems like that sellers that have supplied TS0044 model before, now are shipping the new TS004F under the same product description and same pictures. Which is incorrect and misleading, as the new model has very different behavior.

Yea looks like it, well I have ordered the actual "Yagusmart" from Amazon, will see what turns up. Only in white though, so might take the grey shell of this one and swop them over.

Update, my replacement turned up and it is indeed the correct version a TS0044 and works perfectly, the driver was also automatically identified, seamless.

Link to what I purchased (in the UK): https://www.amazon.co.uk/gp/product/B08J3TMGJH/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1

Not sure this will be of any use to anyone, but here is the Yagusmart TS0044 alongside the "other" TS004F. There are some small differences on the board but essentially the circuit has a different part number. Anyway, buying the Yagusmart in white (all I could find) and swopping with the "other" brand grey casing worked perfectly, still cheaper than a Zwave device and by drilling 2 holes they fit perfectly on to a UK standard wall pattress. :smile:

Hi @kkossev - thanks for this. I have been struggling to get this working with my TS004F. Do you have a link to the HE Custom Driver code you ended up creating as I'm having some issues working with the ST version and modifying it. Many thanks....Lee.

Hi @leepearson1977 - unfortunately, I was not able to make a working HE driver for TS004F. I started my attempts with HE as it is my main hub, but obviously, there is something non-standard with the zigbee protocol implementation inside this scene switch model. So, the workaround for me was to pair it to ST and use HubConnect to expose the buttons actions to HE.

Is anyone working on a driver that WILL work for the TS004F? I got a couple of these from eBay for next to nothing and it would be great if I could get them to work. Meantime though, I've ordered what I hope will be a TS0044...

I think that only Hubitat developers can answer this question, as supporting this (and others) non-standard Zigbee protocol devices may require changes / workarounds in HE Zigbee libraries. Similar to what has been done for SmartThings where this scene switch works.