Could be broken, could be fine, hard to tell, but ill try!
Do you have another thermometer on the tank at all to check the temp? (If you dont, get one, spirit ones are the est, and cheap, as the temp on the heater is rarely exactly what its actually putting out, normally around 1-2'C either side
)
either way, a secondary temp reading would be handy now!
If you dont have one, turn the heater up to its max, (i would imagine around 32-38'C?) and see if it comes on. If it does, then obviously your water is by pure chance, the right temperature (can happen) so turn it back down and leave it alone.
If it doesn't come on its either broken, or your water temperature is already above the max the heater will produce, in which case it cant turn on because it already thinks its boiling your fish.
Like i said, without a little more info, its tricky!