Mobile Hotspot timer without root?
There are many automation apps that can help here.
MacroDroid
It is a free/paid app. Free version would suffice for the goal however.
The macro would be:

Trigger: Hotspot Enabled/Disabled → Hotspot Enabled

Actions:

Wait Before Next Action → set the timer per your needs
HotSpot On/Off → Disable HotSpot


Constraints: none


This method, due to some technical limitations, may not work on every Android version, though I had success with both Android 4.2.1 and 5.0.2

Automate
It is a free app with in-app purchases. No purchases are required to achieve the goal however.
You would need to create a flowchart like this
(Click image to enlarge)

The hotspot blocks can be found under Connectivity section and Delay is under Data &amp; Time. Set the Delay to the timer you need.
Once the flowchart has been created, make sure to install the permission it needs

Start the fiber and there you go.