Never working with Speech to Text
I see rules examples with Voice command like

rule "Voice"
Item VoiceCommand received command 

Where is VoiceCommand created?

You have to create is as a String Item. You can call it what ever you want. The Item used is configured at Settings → Rule Voice Interpreter.

This is what can be found in the docs:

Speaking of voice command (pun intended) where is the voice command on the android app when using the mainui? It is on the screen for the sitemap.

I see that the STT engine inconsistent creates spaces between words.
Is it the best way to remove all the spaces in the received string before comparison in a case statement?

It depends on the nature of the commands and what you want to do with them. You could search the text for certain keywords and ignore everything else. You could split the string on spaces and look at each word individually. You can kick the text out to a NLP processor to get at it’s meaning. You can send it to ChatGPT through the add-on and see what it has to say.

When working with STT, you rarely will get the exact same words in the exact same order every time so you need to be flexible in how you handle the text.