You can get a zigbee radio that can serve as a hub for a few bucks, but if you want the turnkey consumer experience, you also need Xiaomi's zigbee hub which runs around 50 bucks. With that you also get an iOS app that integrates with homekit. Xiaomi makes a lot of other zigbee products at a similar price range that work with it.
You're not going to find any acceptable wifi solutions in the battery powered sensor category (there are a lot of other reasons that make wifi non-ideal for this), so unfortunately a hub is probably in your future for any option.
EDIT: BTLE devices may also be an option, but IoT applications my tldr option is that BT is too complicated to be worth it unless you need something you can't get elsewhere.
I don't trust Xiaomi for anything connected directly to my network, but zigbee devices connected through something that I (kind of) trust works for me.
The actual device is here: https://flair.co/products/puck
There is a full fledged API (api.flair.co), desktop (my.flair.co) and apps of course. For what you are looking for, there is plenty of plotting built in but you can also export the data from the app as a csv/spreadsheet or grab it from the api.
Anyhow, it's definitely over your targeted price point but functionality wise, I think it does everything you might want.
I think there is an opportunity to grow your market if your Puck (or a new kind of Puck) can incorporate air quality sensors and make the data available. If you go this route, please see the recommendations in this comment as accuracy is key (https://news.ycombinator.com/item?id=20642939). I would certainly purchase multiple Pucks if they provided accurate data in a format that I could query myself if I wanted (no subscription BS please). People are concerned about air quality yet have no easy way to accurately measure it in their homes.
The bonus is that if I've got Pucks already, I would be more likely to purchase your Smart Vent products.
I made a thermometer/barometer/hydrometer using an ESP-8266 wifi microcontroller ($5 on ebay) and a single BME280 sensor ($1 on ebay). Plugged into one of my left-over old 500mA phone chargers, it makes a wireless indoor weather station that speaks HTTP.
I bought the sensor on a breakout board, soldered a couple of wires, flashed micropython to the ESP-8266 (NodeMCU), and wrote wrote Python to POST my server with the temperature data, schedule a wakeup, then go to sleep.
But as you say, it took me a weekend of hacking around to build. This seems like exactly the kind of thing that should be available for $10 on eBay yet I can't find anything at all open.
Completely standalone, no WiFi, or other concerns. And because they're battery powered I think they're safe enough in the sauna!
From there I can get the readings via a USB-attached SDR dongle, and also sniff the radio-transmissions via a WiFi connected ESP8266 device with a radio-receiver.
* Under $10.
* Works with zigbee.
* Works out of the box with open source zigbee hubs. I personally have conbee II/deconz.
And the whole setup of these open source zigbee solutions usually just consists of plugging in the USB device and starting a docker container. It's not not the tedious open source setup as it often is with open source projects.
As a bonus you can use different zigbee devices from different manufacturers all together.
I recently purchased Wyze's sensor starter kit and have been quite impressed. The contactless sensors are tiny and have decent range to the corresponding bridge. Now Wyze just needs a documented, public API.
Something that I can either query over the network (any protocol), or that uploads to some cloud service that I can inspect. This was the original selling point of ZigBee, but it sounds like it only exists for industrial applications. Does anyone know of a $10-$30 network-capable thermometer?
I know they're relatively easy to hack together, as the OP project (and so many others like it) shows, but I'm specifically looking for a turnkey consumer solution, not something I'll have to spend a couple hours and multi-sourced parts to put together.