The most common factor for hard idlis is the due to lack of urad dal and inadequate water used for grinding. If you find your idlis are hard, just add more dal and use more water while grinding the batter. Add enough water while grinding itself. Even if you add water while mixing the batter, it won’t work.
The second reason might be, the idli batter needs more fermentation. Sometimes if you make idlis in the morning, it may come out hard. With the same batter, if you make idlis for dinner, it will come out soft. If it happens so, give more time for fermentation.
For batter fermentation the best way is to mix the idli batter using your hands. Mix the dal and rice batter thoroughly. Uneven mixing often leads to disaster. So in this case mixing the batter with hand is the best option.
The most important thing necessary for fermentation is warm temperature. 25 to 28 °C (77 – 82.4 °F) will be ideal. If the weather is cold, just immerse the vessel containing the dough in a big bowl of warm water. Maintain the temperature of the warm water bath by cover it with a blanket, or better, use a heating pad or aquarium heater, where the temperature can be regulated. I recommend turning on the light in the oven to keep the batter warm.
When you grind the batter, pre heat the oven in 90°C for 10 minutes and then switch it off. Cover the batter inside the oven and don’t forget to turn the oven lights on.
Add 1/4 teaspoon of baking soda or baking powder to the ground batter and then ferment. It is necessary in order to raise the batter well even if the weather is cold.
At least 8 to 12 hours is necessary for the fermentation process. The next morning tiny bubbles will appear. Otherwise the dough will not rise and you have to start from scratch.
If nothing works for you, try adding a fermentation starter like a spoonful of commercially prepared readymade idli dosa batter as they have live culture. It definitely helps in the fermentation process.
When grinding make sure that you use chlorine-free water. The regular tap water is fine, but it might inhibit the fermentation process a little bit. Most modern water filters remove both chlorine and chloramine. The best option is to use spring water. Boiled or filtered tap water will also work well for the purpose of avoiding Chlorine/Fluorine.
Non-iodized salt such as ‘Kosher salt’ is an excellent option. I always use crystal salt while grinding the rice. By this way, salt mixes with the rice uniformly.
Use more dal based on trail and error. You can also use 1/4 cup of aval/Poha or leftover cooked rice for more softness. Skip methi seeds if you don’t like that flavour.