But low grade heat cannot efficiently drive a heat engine to produce other, more useful and transferable versions of energy, like electricity. For that you need "high grade" heat.
The reason is, heat engines do not operate on heat. They operate on heat flow. You must have a high temperature side and a low temperature side, and you extract energy by taking heat out of the high side and injecting it to the low side, through various processes. By thermodynamics, this process has hard efficiency limits of around 35%, with that efficiency heavily affected by the delta between the hot and cold side.
The "low" heat side is often a great source of low grade heat, for industrial or communal purposes, but cannot be used to run an efficient heat engine. It's already "used up" essentially.
So in that regard heat is very useful in producing energy. But converting directly from heat to energy? Not so much as far as I know.
The efficiency of any heat engine is bounded by the Carnot cycle. In simplified form, it depends on the temperature differential between the cold and the hot parts. So if your hot part is at 300C (572 Kelvin), and the cold part is at 30C (300 Kelvin) then the absolutely best possible efficiency is around (572-300)/572*100% = 47%.
You see that it quickly becomes inefficient as the differential goes down. E.g. if you use 90C to store the heat, then the maximum efficiency is just 17%.
The amount of energy needed to test things is just intuitively huge. Boiling one liter of water takes the equivalent amount of energy as lifting 34 metric tons up a meter. Or to translate it to human scale: the same as walking a vertical climb of 1000m with a weight of 34kg.