New sonoff zigbee

Hi @DHar,
Did you already find a solution?

Hi @Mariano_Colmenarejo, no I haven’t found a solution yet. My current workaround is setting the max reporting time to be 15 minutes for temp so that I’m never more than 15 minutes out of date. It’s not very intelligent and It will hit the battery fairly hard though, which is a shame, but means I can automate the control of my heating.

@Mariano_Colmenarejo I should point out that humidity sensing works perfectly. Every time i have a 2% change in humidity I get an updated humidity percentage, all within the time constraints as set out in the configuration, exactly as expected.

I’m going to expand a bit, but I think there are several considerations to take into account:

  • I think there are several models of sonoff sensors under the same generic name, for example model TH01 or model 66666, manufactured by ewelink and have different figerprint. I don’t know what yours will be.
  • Are you using the last DTH posted by mvevitsis?, I think theDTH code has changed sometime, with the same link.
  • If you are going to use device to control the heating, you would have to assume a higher battery consumption to achieve an acceptable precision.
    Many thermostats are accurate to +/- 0.5ºC and work well with systems that do not have a lot of thermal inertia.
    If it is the radiant floor type, I would recommend more precision or cut 0.5ºC before the desired temperature, since it has a lot of thermal inertia and the temperature will continue to rise even if the switch has cut off the heating and it will also take a long time to reheat. The thermal amplitude will be great and the comfort will be low.
    If you use ºF it would be double approximately +/- 1ºF.
  • I would configure the minimum time report: 60 sec, maximum: 600 sec.
    The temperature change always reported for ºC would put it between 30 to 50 (0.3ºC or 0.5ºC). zigbee.temperatureConfig (60, 600, 50)
  • When you make the Configuration changes in DTH, you save and publish them for yourself, you have to force the Configure() execution in order the data sent to device and device has to accept them and send its response.
    Device Configure(), as the Hub software now works, is only done when the device is installed, or the DTH is installed, reinstalled, or upgraded.

How to force device configuration and make sure it has been received?

  1. Place the device near the hub or make sure, by looking at its metrics in IDE, that it has a good connection with the Hub and there are not many failed transmissions.
  2. Modify in IDE the configuration data in the DTH “SONOFF SNZB-02”. Save and publish.
  3. Open a window with IDE live logging.
  4. Open another window with IDE and the device page.
  5. If the type of DTH “SONOFF SNZB-02” you want is selected, click on the version field and change to “Draft” version and click on update.
  6. In live logging select the device and you will see these messages appear:
  • log.debug: Starting configuration …
  • log.debug: … setting health check interval …
  • log.debug: … configuring reporting settings …
  • log.debug: Configuration ( {device.deviceNetworkId} {device.zigbeeId}) finished …
  1. Wait a few seconds for the device’s response and the device’s responses should be displayed. among them you should see this:
  • log.debug: "TEMP REPORTING CONFIG RESPONSE: followed by the received data.
  1. In the App, open the device’s event history, you should see a temperature and humidity event with this time.
  2. Once the device has been configured, set the DTH version back to Published to run locally.

It is a bit confusing, but nowadays in smartthings to change the configuration of zigbee devices is complicated and sometimes it fails, due to a bad signal, if the device goes through repeaters, etc …
See if it works!

1 Like

Thanks so much for this. Apologies for the delay in getting back to you - life got in my way. I’ll try and find some time to try our your suggestions this week.


I’ve been playing with the SNZB-01, which identifies as the eWeLink WB01. I’ve used the stock Zigbee Button as a starting point but essentially I’ve replicated what Darren Blanchard has in his DTH, which has the same source. There may have been a better stock DTH to base it on as it doesn’t look like it has had much attention lately. It doesn’t even respect supportedButtonValues for example.


  • I only seem to get it to silently onboard.
  • The long press is really very, very long indeed. Way beyond a typical ‘held’.
  • There may be some superfluous stuff in there that doesn’t do the button any favours.
  • I think the problem with battery reporting is that the Zigbee Button code considers 2.1V as 0%, which seems way to low for any device I’ve used, 3.0V as 100% which also seems rather low, and rejects voltages over 3.0V which just seems unnecessary and quite harmful. I suspect the button is actually doing the bog standard reporting of voltage in 100mV units. So my new battery is showing 3.8V which apparently isn’t unprecedented for a 2450. So just telling the code not to reject perfectly sensible voltages may be all that is needed.
1 Like

Is anybody using a Sonoff/ewelink button that identifies as manufacturer: "eWeLink", model: "KF01"? it was just added to the default zigbee non-holdable button DTH but i can’t figure out which Sonoff/ewelink model it is.

My Sonoff Button is identified as manufacturer: “eWeLink”, model: “WB01”

Me neither, and I’ve had a good look around. It just seems to have a ‘pushed’ action so I am thinking something like an SOS/panic button.

If you get one labeled for sale in the US it will have to have the FCC license number on it somewhere (often inside the battery compartment) and then you can get the model number from that. But I don’t think there’s an equivalent UK/EU label. And that doesn’t tell you the firmware level.

Have you tried contacting Sonoff?

(And of course if you bought if from AliExpress it could be a counterfeit, that’s why Aqara stopped honouring warranties on those purchases.)

I’m not sure it’s even Sonoff branded since eWeLink has several brands. Maybe i’ll try finding a contact for eWeLink.

1 Like

I have purchased the door sensor SNZB-04. Like other report elsewhere had issues. It paired no problem. However it would not update the status. This includes in front of the hub (not a distance problem). It would eventually update after hours and sometimes immediately. But most times no update for a long time. I am using the orvibo DTH. I already restarted the hub and also replaced the battery. I also tried first installing via scan and later via select.
SmartThings show lots of errors on the IDE

  • Messages Transmitted to Device: 22
  • Messages Transmitted to Device (Failures): 22
    PS. I have another generic zigbee device branded livingwise that uses the same DTH and never worked well. It also shows the same errors
    I kind of gave up on this but in case somebody has some advise. I have aqara sensors that work flawlessly

I am looking for small devices that run local on the V3 hub in the US.
Looking at getting the snzb-03 motion sensors and snzb-04 contact sensors. After reading this thread and all the talk about custom DTHs, I just want to make sure that I am understanding this correctly.

To add AND run local:

Pair by scanning nearby
Go into IDE and change device type to SmartSense Motion (not sensor) and SmartSense Open/Close
Repair device (without removing original)

This will show battery and device status?

I’ve only got the SNZB-04. That identifies as a eWeLink DS01 which is fingerprinted in the Orvibo Contact Sensor handler which runs locally. I believe you can pair it as a eWeLink but you can certainly Scan Nearby. I prefer to pair via brands as it asks me which room to put it in. No re-pairing or anything is needed.