Hello,
I hope I am posting in the correct category. I am struggling a bit with Home Assistant and I would really appreciate if you could point me in the right direction.
I want to run a combined temperature / humidity sensor (Sensirion SHT45) from an ESP-01S, bare ESP-12F or an ESP32-C3 Super Mini (the board doesn’t really matter) and I want it to run as long as possible on batteries. I am already experimenting with deep sleep with the ESP-01S for another project and I am pretty happy with the autonomy.
To maximize battery life of my tiny weather station, I wanted the ESP to deep sleep most of the time, wake up every 5 minutes, take measurements and store them in the RTC memory. Every hour (every 12 cycles), the ESP would connect to WiFi and send the data to Home Assistant through MQTT.
This approach saves a lot of battery because the most energy consuming operation, WiFi networking, is only performed every hour instead of every 5 minutes.
However, my problem is I haven’t been able to get Home Assistant to ingest historical data. I send a payload that looks like this:
{“temperature”:23.96,“humidity”:58.92,“timestamp”:“2026-02-27T10:12:48Z”}
But Home Assistant ignores the timestamp and inserts all records at the time it consumes them from MQTT, and I haven’t been able to find out how to configure it to tell it to use the timestamp of the record.
I checked online, people were suggesting using InfluxDB or Spook, but that really feels like it’s overkill to just be able to process backdated data points. It also didn’t reassure me that some people apparently corrupted their whole HA instance when messing with Spook.
It seems like such a common use case, to be able to send a bunch of stored measurements from a device to HA, that I can’t believe there’s no native solution for that.
Am I missing something obvious? Is there a simpler approach that would work in my case?
Thanks!