ESP 360 Remote

A powerful ESP32-based IR/RF remote with sensors and easy integration into Home Assistant

Apr 11, 2023

Project update 6 of 12

Big Improvements on Temperature Readings

by Alessandro A

I wanted to sincerely thank and welcome all the new supporters of the campaign! The ESP 360 Remote fan family is growing more and more, and I couldn’t be more excited about it.

As I mentioned in the last update, I have tested a software solution to improve the stability of temperature and humidity sensor readings for a while now, and I am very happy to bring you good news. The modification made at the code level is as follows:

  - platform: shtcx
      name: "Living Room Temperature"
      id: "Temperature"
        - median: 
            window_size: 5
            send_every: 1
        - offset: -3.7

It is an ESPHome filter that allows calculating the median of a total of 5 sensor readings. Practically, it sorts the 5 collected values in ascending order and sends only the central value to Home Assistant, discarding meaningless values such as instant spikes up or down. In this way, on paper, a much "cleaner" and less vulnerable graph should be obtained, also avoiding unwanted triggers of our automation. The send_every option is set to 1 and indicates how often to calculate the median values. By setting it to 1, every time a new value is "sampled", the median is calculated on the last 5 collected values.

I wanted to make a direct comparison with this reference sensor, which seems to update the temperature every 5 minutes on Home Assistant, so the scan_interval is set to 300s. Obviously, if you want more frequent updates, you can set a lower value.

Once the ESP 360 Remote has been updated with the new settings, this is the result:

The graph clearly shows the before and after the update. The difference that I personally appreciated the most is that, after the modification, if the temperature in the room is actually dropping (or rising), the temperature reported on Home Assistant is consistent and follows only the path downwards (or upwards). Take the uphill ramp before the modification and the downhill ramp after the modification as an example. Before, on the uphill, you can see that the reported temperatures were a bit erratic, going up and down, with a general upward trend anyway. The downhill ramp, on the other hand, went down consistently all the time, without ever reporting a higher value than the previous one.

In this graph, on the other hand, you can see the comparison with the reference sensor. ESP 360 Remote is in blue and the other one is in purple.

The results are very good. Consistent readings, not at all erratic, with a maximum difference of 0.3°C. I believe that these small differences are not so much reading errors of the ESP 360 Remote, but rather a result of more "aggressive" filters of the reference sensor since it is battery-powered, to make it less subject to variations.

As always, you can find the updated configuration on Github, and this time I have also added the configuration of my ESP 360 Remote. You can find it here.

We are almost at the end of the campaign, and some reflection is necessary. The goal was achieved and exceeded within the first 24 hours, so it was immediately known that the project would come to life. But now, just over a week from the end, we have raised over $15,000, and many ESP 360 Remotes will be going around the world, and this is super exciting! The project is completely open-source, born for the community, lives for the community, and thanks to this, it can continue to live. Advice, discussions, and sharing are important community contributions to these projects because only in this way can they grow quickly and satisfy more and more community needs.

Therefore, for any doubts, questions, or suggestions, please contact me through the campaign page or on the GitHub repository.

Have a great week, and take care!

Sign up to receive future updates for ESP 360 Remote.

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects