Sonoff SNZB-02 Temp Sensor Reporting Interval

I don’t recall the exact method I used to install it. I do have access to the Z2M GUI, the dashboard, map, OTA and logs. But no Reporting tab. I just have to uninstall this version and install the newer version from the Github link. Hoping I won’t have to repair all my devices…

Reporting tab is one the several tabs available for each device.

Sir, you saved my day :wink: thanks!

Thanks a lot, your solution works perfect!!!

Hi all

Found this post by seeking for temp range supported by Sonoff (spoiler: I’ve put it in freezer a couple hours ago and it is still reporting ATM).
Regarding the refresh rate, I think the refresh frequency is simply linked to a hardcoded temp delta before reporting.

Using this query in SQLite Web

SELECT created, state
FROM "states"
where entity_id = 'sensor.sonde_garage_temperature'
order by created desc

We see the interval is looking random, but the temp is changing fast in such situation and the report is done when temperature changed by at least 0.5°C :


For humidity, this seems to be 0.1%


I’d add there’s a minimum delay of 30 secs between pushes.

1 Like

I’m using ZHA and I was able to configure the reporting manually using following command:

bellows -v INFO -d socket://192.168.192.47:8888 zcl -D /home/homeassistant/.homeassistant/zigbee.db '00:12:4b:00:23:ad:cf:a1' 1 1026 configure-reporting 0 10 1200 10

You have to stop home assistant so bellows can communicate with the gateway. The command won’t succeed when the sensor sleeps, so you’ll have to repeat it until you see following message in the output:

[[ConfigureReportingResponseRecord(status=0)]]

Btw. re-pairing sets the default reporting configuration back.

Hi!

I think I have the same situation.
I’ve bougth these devices

If I check the app eWeLink, the data is updated frequently (so the sensor works properly).
The problem is that the data don’t update in Home Assistant unless I update manually.

I added the device to HA loging HA in my eWeLink account.

Could I solve my problem using that lines?
Where do I have to write them?
which device belongs the ip address 192.168.192.47 to? the sensor?

I hope you can help me

192.168.192.47 is address of my Zigbee gateway. I’m using this one.

If I understand your setup correctly, you’re using cloud service and HA is getting the values from the cloud. In this case it’s not possible to use bellows to configure the reporting. You would need to get rid of the cloud and use the gateway directly, see this guide.

Finally it started working… I don’t know where the problem was, but now works :sweat_smile:

Anyway, thanks a lot.
If I have any problem I’ll test your suggestion.

Hi, when I try this I get this error:

Error Request 'zigbee2mqtt/bridge/request/device/configure_reporting' failed with error: 'Bind 0x00124b0023ad5c66/1 msRelativeHumidity from '0x00124b001cd49f89/1' failed (AREQ - ZDO - bindRsp after 10000ms)'

I have the same error and the values doesn’t update even though the temperature and humidity changed (I have put it inside and outside to test )….
How can I forget the sensor and pair it back?

I finaly found a way, I forced removed the sensor, and paired again…you may have to try 2 or 3 times…but I didn’t try to change the reporting interval for the moment.

I wonder if this would work with a Phoscon Raspbee. The Conbee is on Zigbee2MQTTs’ list of officially supported devices but the Raspbee isn’t listed there.

What’s bellows and where would I have to enter that command?
My aim is to connect Sonoffs’ temperature sensor to my Raspbee which uses ZHA. Do you know if that’s possible with your command?

Bellows library is used by ZHA when the Zigbee coordinator is based on Silicon Labs EmberZNet. If your coordinator uses different radio, you cannot use bellows to control it. To use the utility in your HA environment, you have to stop HA and enter venv, something like this:

$ sudo systemctl stop home-assistant@homeassistant
$ cd /srv/homeassistant
$ python3 -m venv .
$ source bin/activate

Hi, the Reporting tab is individual for each device. That means You should select your sensor from Devices tab first.

So I figured out how to fix this issue in ZHA, though it’s kind of not recommended since it involves sshing into the core and changing a line in the code.

The problem is the following line in the zha component of core:

Here we se that in the config for temperature Measurement a value of 50, or 0.5 degrees, is hardcoded into zha.

I have sshed into the core and changed this line by hand, afterwards you have to reconfigure or reconnect the device in ZHA, then you can enjoy the interval however you like.

I set it to 20 since it seems to give me messages when temp changes 0.1-0.2 degrees.

However this is not recommended since:

  1. don’t ever ssh into the core if you don’t know what you are doing
  2. this will probably break with every update to core.

Now what would be the next steps ?

Well imho, ZHA should do 2 Things:

  1. Add the Option to set those global Variables in configuration.yaml
  2. Add the option to set those values for each device individually inside of the zha GUI.

If someone can explain to me how to access data from configuration.yaml inside of the core code I might be able to build a PR for 1.

Can someone maybe tell me how to contact zha devs most efficently so this can be fixed asap ?

I think I understand how to pull values out of configurtion.yaml and might be able to add a PR.

2 Likes

Thanks @mikihacia! A funny thing I discovered is that my sensors seem to disable reporting for attributes whose reporting configuration is NOT updated during the same pairing cycle.

For example, if I updated the reporting configuration for temperature but not humidity I would gain reporting on temperature but lose reporting on humidity. My current workaround is to update all four attributes during the same cycle by pressing the Apply-button for each attribute in Zigbee2Mqtt and observe the response status in the gui.

Hi, i have a failure when trying to apply setting, even when device is still appairing.

Any clue?

You can submit a request at the Github site here:

Please do as I’m also interested in this being fixed properly.

1 Like