Coin cells are not an option- it consumes around 200-300mA while actively transmitting, and around 10uA in (one of) sleep modes. I'm powering my custom temperature/humidity sensors with 18650 lithium batteries. I'm getting around 3-4 months of battery life with 3000mA batteries (waking up every 15 minutes to make a reading, associate with AP and transmit data to local influxdb server (which also runs Home Assistant to see the readings and control some AC outlets).
I stand corrected. By combining that with low-leakage wakeup timer ICs and low-leakage supercap, one could indeed design a device that runs for months on a single coin cell (transmitting every few hours).
Do make sure to check the leakage specs on a supercap, though. They tend to have pretty high leakage current, which may clobber your power budget in low duty cycle applications.