I couldn't not notice the large overhead associated with the MySensors transport protocol. You see, as discussed before, the issue at hand is not using a coin cell for 3 years instead of 2, but it's about the RFM69 and RFM95/RFM96 modules which are capable of using really low bitrates or special modulations.
Eg. I had a 14250 battery that drained within a month with an RFM96 sending data every 5 minutes using RFM95_BW31_25CR48SF512 which was sending only one sensor value. This happened because unlike RF24 which can have a total awake cycle of 100-150ms, the RFM96 had an awake cycle of about 5000ms. It took it 5 seconds to send the single sensor value.
RFM69 is another case in which a lower bitrate -> longer range -> longer TX time. I went as low as 300bps only to see that a single packet is sent in about 1500ms. That's way too much for a battery powered node.
Some of us need long range sensors and we don't want a constant power messy setup, or the complex circuitry and increased cost associated with adding "UPS" like features to our boards.
My RFM96 node now sends a ping every 3h and the RFM96 nodes run in 9600bps so that I wouldn't have to replace those 14250 batteries monthly and actually use them for the intended life-cycle, that's more than 3 years.
The alternative is to give up MySensors altogether and use third party libraries, concatenate the messages as raw data then parse them on the remote gateway based on predefined rule set. But although this gets the job done, it's not a really good idea to mix various libraries and properly maintain the whole system in the long run.