Factory Reset a HM-10
For future Googlers : 

When in AT+PWRM0, the hm10 will go into sleep mode immediately. To wake it up, you need to send a random string of more than 80 charaters not containing an AT command. It will wake it up and it will answer with a OK+WAKE.

In practice, I had to send the 80+ characters string several time in a row.

While debugging your app you should keep AT+PWRM1 to avoid going into sleep mode while you work. 

Don't forget to put it back in AT+PWRM0 when you go into production though as it saves a lot of powers.