I finally got it all working even with a fairly complex grammar. The main hurdle in all of this is that the grammar parsing may throw errors, but startListeningWithLanguageModelAtPath silently ignores all of that instead of issuing an error.
The only way to figure that out is to turn on the verbose output and read through the text (I did not expect that so it took more time than it should really because the software works great by itself).
If it returned an error or if there was a pocketsphinxErrorFound in OpenEarsEventsObserverDelegate one could at least use that when debugging the problems. Just any text with the word “error” is probably an error.
Thanks for the great software!