The whole time I have been putting this together I've though that it is exactly the kind of project that Nick1911 would post about.
Before anyone pushes up their glasses, scrunches their nose, and whines "Accchhhtuuallly", yes, I'm sure there are 15 brazillion better and cheaper of-the-shelf options to this problem, but this one gives me a lot of control and eliminates any sort of ongoing fees.
I've had a lot of times when a thermometer reporting temperature extremes remotely would be handy. Checking on freezers, making sure pipes don't freeze, etc. When my neighbor started selling frozen meat, suddenly there was a golden opportunity to help him, plus build out a solution I can use at home.
For sensors I've settled on the Blue Charm Beacons BC04P. These are about $22 each, have a CR2477 battery that can (depending on configuration) last about 4 years, are configurable, and broadcast BLE packets. I set them up to send out telemetry packets which broadcast their temperature and battery level and slow the broadcast rate down to every 10 seconds. However, my system should be able to accommodate just about any beacon that can handle Eddystone TLM packets.
For the gateway I'm doing the development using a Raspberry Pi 4b, although I think I'm going to use a Zero 2w+ or equivalent from another manufacturer for most of the deployments as the 4b is overkill. I never needed to know Python before, so I've been learning it for this project. Not too hard, although I'm still not totally used to the syntax. The Raspberry Pi gateway reaches out to my web server via an API endpoint and pulls down a list of MAC addresses for beacons it should scan for. The bluetooth module scans for any Eddystone telemetry packets from the listed MAC addresses. It stores those in a local MySQL table and routinely submits the results via the API. The webserver currently provides access control, user management, allows the addition of beacons by MAC address, and allows reporting of historical temperature data. I've incorporated a watchdog routine that should catch if the process hangs up for too long and automatically restarts the device.
Originally I had the gateways as the primary unit of administration. I even had it set up so that you could bring the beacon near a gateway and have it ask if you wanted to monitor it. It was cool, but I think administering through the web form is probably more effective, and it means I don't have to have a touchscreen on the gateway. That can just be a black box connected to power and wifi.
Still in process are customizable email and text alerts, better charting, cleaning up excess data (I really don't need six data points per minute for the long term), power outage monitoring, battery replacement alerts, and a few other features. I'm planning on having a dashboard that will let you see at a glance that each of your sensors are regularly checking in, have good battery, in a good temperature range.
Ultimately, I should be able to write an image on to an SD card, boot it up in a Raspberry Pi, configure WiFi for where it will be deployed, and plug the gateway into power.
Is this overkill? Yes. Have I spent a lot of money on it? Yes. Will I be taking it 90% of the way to a commercial product but never making money off it? Also yes.