Sonoff Zigbee BasicZBR3 not saving settings

Has anyone else had problems with Sonoff devices not saving settings in the ST App?
I have integrated a number of Sonoff Zigbee 3.0 Basic relays (BasicZBR3) into Smartthings to control lights, irrigation solenoids and lately my immersion heater. They all appear immediately in the app and can be controlled on and off either in the ST app or Alexa App. There are some basic settings i.e. timer behind the tile enabled by a slide switch e.g. you can set the relay to power off after 10min, 30min or custom where you can set a specific time. This is great as if I need a hot water boost I can ask alexa to turn on the immersion and know it will turn off after 30 mins. However for some reason these settings are not sticking. if I log out of ST I find that the relay is still activated a day later. Is this because the Sonoff devices are not natively supported?

What DTH/Edge Driver are you using?

I’m not is that the issue? In my ignorance I assumed as ST identified the device as a Zigbee 3.0 switch that was sufficient. Again I assumed if a device was not identified by ST then you had to use a device handler to make it work.

All Zigbee devices on a smartthings account are using a device type handler under the old architecture, and will be using an edge driver under the new architecture.

If you don’t specify one by adding custom code to your account, then at the time that you add a device to your network smartthings will see if it has one on file that matches and it will use that.

If it’s one that was created by Samsung and distributed for use by all customers, it’s referred to as a “stock” DTH.

Some of the stock DTH‘s are generic, just based on the device class. Some are specific to a particular brand/model.

It was also possible in the past for a device manufacturer to submit a custom DTH for smartthings approval which would then be available automatically when a matching device was added to a customer’s account. I’m not sure if they are going to do something similar for edge drivers or not.

But in any case, the point of all that is that your device is definitely using a DTH: that’s how smartthings formats the messages for it. But if you didn’t add a custom DTH to your account, it selected one of the stock choices.

If you sign into the ID E, you’ll be able to see what DTH was assigned to the relay by looking on your Devices list. If it says “placeholder“, that’s fine, that means that it’s using an edge driver from the new architecture and the details don’t show up in the IDE. but otherwise it should give the name of the DTH being used.

Many thanks JDRoberts
I’ve logged in to IDE and it appears as ZigBee Switch so I assume its using a stock DTH.


Interesting the devices with Placeholder are all the Sonoff WiFi devices which are integrated by linking eWeLink account and Smartthings account.
I just need to figure out why the timer settings option is not sticking. I wonder if it’s my understanding of how the option works. Maybe it’s a one off setting that has to be re-enabled every time you activate the switch but I can’t believe that to be the case. Hopefully someone else on this forum has used the timer option and can confirm either way or if a special DTH is required to activate this function reliably?

Is there a preferred way to find out if anyone has written a bespoke DTH for my Sonoff relay other than searching this forum?
Many thanks

1 Like

Not necessarily preferred, but it’s often fastest to start with the quick browse lists in the community-created wiki. However, I don’t think that’s going to help in this case. :thinking: Most people just seem to be using the stock DTH for your model.

https://thingsthataresmart.wiki/index.php?title=How_to_Quick_Browse_the_Community-Created_SmartApps_Forum_Section

So hopefully someone who has that device will respond to the question about the timer.

Thanks again JD Roberts for your help. I’ll keep everything crossed that someone responds to this post with a possible solution.
I did find this on GitHub but dont know if its any better than the default DTH. I’ll have to read up on installing a DTH in IDE.

1 Like

The following is old, so some of the examples may be out of date, but the concepts and process should still help if you do want to look for a groovy DTH.

FAQ: An Overview of Using Custom Code in SmartThings (SmartThings Classic, Groovy Code)

1 Like

It is indeed a one off ‘setting’ to turn the switch on or off in a certain period of time. It creates an automation, it is not a device setting.

If you always want it on a timer just go to the Favourites or Automations tab in the app and go to the + menu and add a routine saying words to the effect of ‘if Immersion Heater switch is on and remains on for 30 minutes then turn the switch off’.

1 Like

I’m using Sonoff ZBR3 with Edge driver made by @Mariano_Colmenarejo. No problems and it runs locally. Win win.

1 Like

Many thanks Orangebucket,
It just goes to show that a deeper understanding is sometimes necessary :face_with_hand_over_mouth:. Thank you for the tip on creating an automation.

1 Like

Thank you Sakari,
Funnily enough I came across this thread when searching the Forum as per JDRoberts suggestion. What threw me was the driver appears to cover a multitude of devices rather than just a switch. Again misunderstanding on my part. I assume it’s easier to combine more than one device type in a driver rather than writing hundreds of different drivers for individual devices?

I assume I will have to install the driver through IDE after first removing the ZBR3 and then pair it again so it uses the new driver?
As an aside how does the device know which driver to use? Does it look for a specific device identifier in all the Edge drivers or default DTH’s before choosing the most appropriate one?

OK so i’ve done a bit more reading and it appears I need an invitation to a driver channel?
Can I just use the beta invite here SmartThings. Add a little smartness to your things. or has that moved on and there are more specific channels i.e. does @Mariano_Colmenarejo. have his own channel and if so how do I get an invite?
I am sorry for all these questions but not sure where to start.

You can use this official smartthings channel and install the stock zigbee switch driver, which has that device.

follow the steps indicated when you open the link
When you install the driver on your Hub:

  • uninstall the device from the app
  • in the app, add new device and select search nearby.
  • When the device is paired, it will appear in the app without an assigned room.
1 Like

Installing and using Edge drivers sound more compilacted than it really is. Although Edge still is in beta stage I have 99% of my devices using Edge and only minor hiccups along the way.

1 Like

Many thanks Mariano_Colmenarejo

Many thanks Sakari.
As an aside does it matter if I install ALL the available Zigbee Edge drivers from the beta channel? I am assuming If i add another device later that is supported by one of the drivers it will automatically be applied to the new device.

I would recommend installing only the drivers you need.
Now there is a limit of 50 drivers per hub, I think.