Error Training Rhasspy when using VPE

After successfully setting up HA VPE with Speech-to-Phrase, when attempting any voice command (specifically testing with ‘whats the time?’), my HA VPE device recognises the command but sits there with the light on the VPE spinning forever.

The Speech-to-phrase logs show it attempts to train rhasspy, but fails. Sentences.yaml is built as it mentioned and looks ok (no obvious errors with its contents) but VPE never responds.

If I use Whisper, it does respond (all be it, slow as documented).

What am I doing wrong that results in the training failure?

HA details

  • Installation method Home Assistant OS
  • Core 2026.1.2
  • Supervisor 2026.01.1
  • Operating System 17.0
  • Frontend 20260107.2
  • RPI 4-64bit, 4GB
  • Language: English
  • Location: Australia

Log

2026-01-21 11:20:12,387 - DEBUG:root: Getting exposed things from Home Assistant (ws://supervisor/core/websocket)
2026-01-21 11:20:12,602 - DEBUG:root: HA system language: en
2026-01-21 11:20:12,602 - DEBUG:root: HA pipeline language(s): {'en'}
2026-01-21 11:20:12,603 - DEBUG:root: Got 128 entities, 11 area(s), 0 floor(s), 0 extra sentence(s)
2026-01-21 11:20:12,611 - INFO:speech_to_phrase.train: Started training: en_US-rhasspy
2026-01-21 11:20:13,442 - DEBUG:speech_to_phrase.train: Wrote debug YAML to /share/speech-to-phrase/train/en_US-rhasspy/sentences.yaml
2026-01-21 11:20:13,549 - DEBUG:speech_to_phrase.hassil_fst: Total sentences: 24823
2026-01-21 11:20:13,549 - DEBUG:speech_to_phrase.hassil_fst: Sentence count by intent: {'SpeechToPhrase': 24823}
2026-01-21 11:20:15,061 - ERROR:root: Unexpected error while training en_US-rhasspy
Traceback (most recent call last):
  File "/usr/src/.venv/lib/python3.11/site-packages/speech_to_phrase/__main__.py", line 181, in _train_model
    await train(model, settings, hass_info.things, force_retrain=force_retrain)
  File "/usr/src/.venv/lib/python3.11/site-packages/speech_to_phrase/train.py", line 71, in train
    fst = _create_intents_fst(model, lexicon, intents)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/.venv/lib/python3.11/site-packages/speech_to_phrase/train.py", line 178, in _create_intents_fst
    fst = intents_to_fst(
          ^^^^^^^^^^^^^^^
  File "/usr/src/.venv/lib/python3.11/site-packages/speech_to_phrase/hassil_fst.py", line 866, in intents_to_fst
    state = expression_to_fst(
            ^^^^^^^^^^^^^^^^^^
  File "/usr/src/.venv/lib/python3.11/site-packages/speech_to_phrase/hassil_fst.py", line 517, in expression_to_fst
    maybe_state = expression_to_fst(
                  ^^^^^^^^^^^^^^^^^^
  File "/usr/src/.venv/lib/python3.11/site-packages/speech_to_phrase/hassil_fst.py", line 614, in expression_to_fst
    return expression_to_fst(
           ^^^^^^^^^^^^^^^^^^
  File "/usr/src/.venv/lib/python3.11/site-packages/speech_to_phrase/hassil_fst.py", line 489, in expression_to_fst
    maybe_state = expression_to_fst(
                  ^^^^^^^^^^^^^^^^^^
  File "/usr/src/.venv/lib/python3.11/site-packages/speech_to_phrase/hassil_fst.py", line 409, in expression_to_fst
    maybe_state = expression_to_fst(
                  ^^^^^^^^^^^^^^^^^^
  File "/usr/src/.venv/lib/python3.11/site-packages/speech_to_phrase/hassil_fst.py", line 451, in expression_to_fst
    sub_words = split_words(
                ^^^^^^^^^^^^
  File "/usr/src/.venv/lib/python3.11/site-packages/speech_to_phrase/g2p.py", line 127, in split_words
    number_word_str = number_engine.format_number(sub_word).text
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/.venv/lib/python3.11/site-packages/unicode_rbnf/engine.py", line 565, in format_number
    raise NoRuleForNumberError(f"No rules were successful for {number}")
unicode_rbnf.engine.NoRuleForNumberError: No rules were successful for 93341222000000000000000000000000


Got it working, I removed characters from entity names that might have caused it issues. In this case, I think it was in LG 65” C1 TV