Voice satellite and text "assist" provides wildly different results

I saw a similar question from 2024, but it doesn’t match what I’m seeing.

My setup is a single Voice Assistant in Home Assistant. TTS is ChatterboxTTS via the OpenAI TTS integration (HACS). For weather, I have a custom Node-RED flow that’s exposed as a REST command and called by the model as a tool.

If I use the text interface and ask, “What is tomorrow’s low temperature?”, I get a concise, correct answer. But if I use my Linux Voice Assistant satellite (“Hey Jarvis, what is tomorrow’s low temperature?”), I often get a 3–4 paragraph response that includes today + tomorrow + extra details, sometimes formatted as markdown. When that happens, TTS can generate a garbled MP3.

Any idea why the same model/system prompt behaves correctly for text, but seems to ignore the rules when the request comes through the voice satellite?

Without diagnostic data, no one can help you.
Could you show debug information for text and voice sessions?

1 Like

Sorry this is all new to me. Here are the debugs I captured, I’m not sure if there is a better debug - but this is what I got when selecting the voice assistant debug option. Both runs had the exact same weather payload returned.
I dont see a way to upload an attachment so I’ll paste them here:

Voice:

stage: done
run:
  pipeline: 01kgmnsqjgfhq5r770myqrdan0
  language: en
  conversation_id: 01KH2DV7RG7RHFVQJWF111E39G
  satellite_id: assist_satellite.odin_b8f487_assist_satellite
  tts_output:
    token: w5zPnr9qAc8jMX5xsMpE1w.mp3
    url: /api/tts_proxy/w5zPnr9qAc8jMX5xsMpE1w.mp3
    mime_type: audio/mpeg
    stream_response: true
events:
  - type: run-start
    data:
      pipeline: 01kgmnsqjgfhq5r770myqrdan0
      language: en
      conversation_id: 01KH2DV7RG7RHFVQJWF111E39G
      satellite_id: assist_satellite.odin_b8f487_assist_satellite
      tts_output:
        token: w5zPnr9qAc8jMX5xsMpE1w.mp3
        url: /api/tts_proxy/w5zPnr9qAc8jMX5xsMpE1w.mp3
        mime_type: audio/mpeg
        stream_response: true
    timestamp: "2026-02-10T00:05:00.817094+00:00"
  - type: stt-start
    data:
      engine: stt.faster_whisper
      metadata:
        language: en
        format: wav
        codec: pcm
        bit_rate: 16
        sample_rate: 16000
        channel: 1
    timestamp: "2026-02-10T00:05:00.817197+00:00"
  - type: stt-vad-start
    data:
      timestamp: 1230
    timestamp: "2026-02-10T00:05:02.097030+00:00"
  - type: stt-vad-end
    data:
      timestamp: 3240
    timestamp: "2026-02-10T00:05:04.060145+00:00"
  - type: stt-end
    data:
      stt_output:
        text: " What is the weather tomorrow?"
    timestamp: "2026-02-10T00:05:04.195772+00:00"
  - type: intent-start
    data:
      engine: conversation.home_ai
      language: en
      intent_input: " What is the weather tomorrow?"
      conversation_id: 01KH2DV7RG7RHFVQJWF111E39G
      device_id: 72bc2d84b51639756485d9998706aeb6
      satellite_id: assist_satellite.odin_b8f487_assist_satellite
      prefer_local_intents: true
    timestamp: "2026-02-10T00:05:04.195877+00:00"
  - type: intent-progress
    data:
      chat_log_delta:
        role: assistant
        tool_calls:
          - tool_name: weather
            tool_args:
              period: today
            id: 01KH2DVE90MFAZSTVZYQF5R11B
            external: false
        content: ""
    timestamp: "2026-02-10T00:05:07.488263+00:00"
  - type: intent-progress
    data:
      chat_log_delta:
        content: ""
    timestamp: "2026-02-10T00:05:07.545602+00:00"
  - type: intent-progress
    data:
      chat_log_delta:
        role: tool_result
        agent_id: conversation.home_ai
        tool_call_id: 01KH2DVE90MFAZSTVZYQF5R11B
        tool_name: weather
        tool_result:
          success: true
          result:
            ok: true
            period: today
            location:
              query: null
              resolved: Home
              lat: 27.3908
              lon: -80.3246
            last_updated_utc: "2026-02-10T00:05:08.337Z"
            hourly_48h:
              - t: 2026-02-09T00:00-05:00
                temp_f: 50
                rh_pct: 92
                pop_pct: 0
                precip_in: 0
                wind_mph: 2
                gust_mph: 3
                uv: 0
              - t: 2026-02-09T01:00-05:00
                temp_f: 48
                rh_pct: 97
                pop_pct: 0
                precip_in: 0
                wind_mph: 1
                gust_mph: 6
                uv: 0
              - t: 2026-02-09T02:00-05:00
                temp_f: 47
                rh_pct: 98
                pop_pct: 0
                precip_in: 0
                wind_mph: 2
                gust_mph: 3
                uv: 0
              - t: 2026-02-09T03:00-05:00
                temp_f: 45
                rh_pct: 100
                pop_pct: 0
                precip_in: 0
                wind_mph: 2
                gust_mph: 3
                uv: 0
              - t: 2026-02-09T04:00-05:00
...

     created: "2026-02-10T00:05:08.340370+00:00"
    timestamp: "2026-02-10T00:05:08.340545+00:00"
  - type: intent-progress
    data:
      chat_log_delta:
        role: assistant
        content: The
    timestamp: "2026-02-10T00:05:15.423054+00:00"
  - type: intent-progress
    data:
      chat_log_delta:
        content: " weather"
    timestamp: "2026-02-10T00:05:15.465938+00:00"
  - type: intent-progress
    data:
      chat_log_delta:
        content: " forecast"
    timestamp: "2026-02-10T00:05:15.497000+00:00"
  - type: intent-progress
...
  timestamp: "2026-02-10T00:05:23.265096+00:00"
  - type: intent-end
    data:
      processed_locally: false
      intent_output:
        response:
          speech:
            plain:
              speech: >-
                The weather forecast for today (February 9th) and tomorrow in
                your area is as follows:


                **Today (February 9th):**

                - High temperature: 72°F at around noon to early afternoon.

                - Low temperature: 45°F in the early morning hours.


                **Tomorrow (February 10th):**

                - High temperature: 77°F, likely occurring sometime during the
                late afternoon.

                - Low temperature: 51°F, expected in the early morning hours.


                The following days will see temperatures ranging from highs of
                around 73°F to 77°F and lows between 54°F and 69°F. There is a
                slight chance of precipitation on February 12th with an 8%
                probability of rain or drizzle, but no significant rainfall
                expected throughout the week.


                Wind speeds are generally moderate, peaking at around 10-12 mph
                during some parts of the day, particularly in the afternoons and
                evenings. Gusts can reach up to 22 mph on February 10th and
                February 15th.


                Relative humidity remains fairly high throughout most of these
                days, but UV levels are relatively low due to the time of year
                and conditions.
              extra_data: null
          card: {}
          language: en
          response_type: action_done
          data:
            targets: []
            success: []
            failed: []
        conversation_id: 01KH2DV7RG7RHFVQJWF111E39G
        continue_conversation: false
    timestamp: "2026-02-10T00:05:23.265387+00:00"
  - type: tts-start
    data:
      engine: tts.openai_tts_wheatley_2
      language: en
      voice: null
      tts_input: >-
        The weather forecast for today (February 9th) and tomorrow in your area
        is as follows:


        **Today (February 9th):**

        - High temperature: 72°F at around noon to early afternoon.

        - Low temperature: 45°F in the early morning hours.


        **Tomorrow (February 10th):**

        - High temperature: 77°F, likely occurring sometime during the late
        afternoon.

        - Low temperature: 51°F, expected in the early morning hours.


        The following days will see temperatures ranging from highs of around
        73°F to 77°F and lows between 54°F and 69°F. There is a slight chance of
        precipitation on February 12th with an 8% probability of rain or
        drizzle, but no significant rainfall expected throughout the week.


        Wind speeds are generally moderate, peaking at around 10-12 mph during
        some parts of the day, particularly in the afternoons and evenings.
        Gusts can reach up to 22 mph on February 10th and February 15th.


        Relative humidity remains fairly high throughout most of these days, but
        UV levels are relatively low due to the time of year and conditions.
      acknowledge_override: false
    timestamp: "2026-02-10T00:05:23.265459+00:00"
  - type: tts-end
    data:
      tts_output:
        media_id: media-source://tts/-stream-/w5zPnr9qAc8jMX5xsMpE1w.mp3
        token: w5zPnr9qAc8jMX5xsMpE1w.mp3
        url: /api/tts_proxy/w5zPnr9qAc8jMX5xsMpE1w.mp3
        mime_type: audio/mpeg
    timestamp: "2026-02-10T00:05:23.265590+00:00"
  - type: run-end
    data: null
    timestamp: "2026-02-10T00:05:23.265766+00:00"
started: 2026-02-10T00:05:00.817Z
stt:
  engine: stt.faster_whisper
  metadata:
    language: en
    format: wav
    codec: pcm
    bit_rate: 16
    sample_rate: 16000
    channel: 1
  done: true
  stt_output:
    text: " What is the weather tomorrow?"
intent:
  engine: conversation.home_ai
  language: en
  intent_input: " What is the weather tomorrow?"
  conversation_id: 01KH2DV7RG7RHFVQJWF111E39G
  device_id: 72bc2d84b51639756485d9998706aeb6
  satellite_id: assist_satellite.odin_b8f487_assist_satellite
  prefer_local_intents: true
  done: true
  processed_locally: false

Text:

stage: done
run:
  pipeline: 01kgmnsqjgfhq5r770myqrdan0
  language: en
  conversation_id: 01KH2D65RPQ8Q37WC4D1W5WH49
  runner_data:
    stt_binary_handler_id: null
    timeout: 300
events:
  - type: run-start
    data:
      pipeline: 01kgmnsqjgfhq5r770myqrdan0
      language: en
      conversation_id: 01KH2D65RPQ8Q37WC4D1W5WH49
      runner_data:
        stt_binary_handler_id: null
        timeout: 300
    timestamp: "2026-02-09T23:53:30.646432+00:00"
  - type: intent-start
    data:
      engine: conversation.home_ai
      language: en
      intent_input: whats tonights low temperature?
      conversation_id: 01KH2D65RPQ8Q37WC4D1W5WH49
      device_id: null
      satellite_id: null
      prefer_local_intents: true
    timestamp: "2026-02-09T23:53:30.646450+00:00"
  - type: intent-progress
    data:
      chat_log_delta:
        role: assistant
        tool_calls:
          - tool_name: weather
            tool_args:
              period: today
            id: 01KH2D69915X9SW1XRDAD3KP5F
            external: false
        content: ""
    timestamp: "2026-02-09T23:53:34.241246+00:00"
  - type: intent-progress
    data:
      chat_log_delta:
        content: ""
    timestamp: "2026-02-09T23:53:34.297934+00:00"
  - type: intent-progress
    data:
      chat_log_delta:
        role: tool_result
        agent_id: conversation.home_ai
        tool_call_id: 01KH2D69915X9SW1XRDAD3KP5F
        tool_name: weather
        tool_result:
          success: true
          result:
            ok: true
            period: today
            location:
              query: null
              resolved: Home
              lat: 27.3908
              lon: -80.3246
            last_updated_utc: "2026-02-09T23:53:35.103Z"
            hourly_48h:
              - t: 2026-02-09T00:00-05:00
                temp_f: 50
                rh_pct: 92
                pop_pct: 0
                precip_in: 0
                wind_mph: 2
                gust_mph: 3
                uv: 0
              - t: 2026-02-09T01:00-05:00
....
       created: "2026-02-09T23:53:35.105727+00:00"
    timestamp: "2026-02-09T23:53:35.105905+00:00"
  - type: intent-progress
    data:
      chat_log_delta:
        role: assistant
        content: Tonight
    timestamp: "2026-02-09T23:53:39.413678+00:00"
  - type: intent-progress
    data:
      chat_log_delta:
        content: ’s
...
    chat_log_delta:
        content: ""
    timestamp: "2026-02-09T23:53:40.319347+00:00"
  - type: intent-end
    data:
      processed_locally: false
      intent_output:
        response:
          speech:
            plain:
              speech: >-
                Tonight’s low temperature will be around 45°F, hitting that
                chill around 3 AM. Bundle up if you’re heading out late!
              extra_data: null
          card: {}
          language: en
          response_type: action_done
          data:
            targets: []
            success: []
            failed: []
        conversation_id: 01KH2D65RPQ8Q37WC4D1W5WH49
        continue_conversation: false
    timestamp: "2026-02-09T23:53:40.319698+00:00"
  - type: run-end
    data: null
    timestamp: "2026-02-09T23:53:40.319721+00:00"
started: 2026-02-09T23:53:30.646Z
intent:
  engine: conversation.home_ai
  language: en
  intent_input: whats tonights low temperature?
  conversation_id: 01KH2D65RPQ8Q37WC4D1W5WH49
  device_id: null
  satellite_id: null
  prefer_local_intents: true
  done: true
  processed_locally: false
  intent_output:
    response:
      speech:
        plain:
          speech: >-
            Tonight’s low temperature will be around 45°F, hitting that chill
            around 3 AM. Bundle up if you’re heading out late!
          extra_data: null
      card: {}
      language: en
      response_type: action_done
      data:
        targets: []
        success: []
        failed: []
    conversation_id: 01KH2D65RPQ8Q37WC4D1W5WH49
    continue_conversation: false
finished: 2026-02-09T23:53:40.319Z

System Prompt snippet:

Response Length:
- Keep it tight for text to voice: 2–4 sentences maximum, one short paragraph.
- You operate in a Speech to Text system,output plain text only. No markdown, no bullets, no asterisks, no emojis, no code blocks. Use short sentences. Use commas instead of line breaks.
- End cleanly. No trailing off. No “…” endings

Behavior:
- Answer the user’s question directly first.
- Add one extra “roommate line” at the end if it fits (a joke, a jab, or a fun aside).
- Don’t invent user messages. Don’t continue the conversation on the user’s behalf.
- Don’t claim you did real-world actions unless the user explicitly says it happened.

Weather tool rules (mandatory):

- If the user asks anything about weather, forecast, rain timing, temperatures, or something like “should I bring an umbrella,” you MUST call the Weather tool and answer ONLY from its returned JSON.

- Never guess or fabricate weather data, this is critical information. If the tool call fails or returns ok:false, say the tool failed and mention the specific failure you recieved.

- If the user requests a high or low temperature please specify the hour that high or low occurs. 

Weather tool request form:

period: today, tomorrow, week, next_week

location: raw place phrase string, or null to default to users home

Period mapping:

“today / tonight / this afternoon / later”  period: today 

"tomorrow" period: tomorrow

“this week / next 7 days”  period: week

“next week” period: next_week

Tool priority override (mandatory):

For home state questions: use GetLiveContext.

For weather questions: use the Weather tool. Do NOT use GetLiveContext for weather.

What happens if you type “What is the weather tomorrow?” in text mode?

And what model do you use?

1 Like

When I use text mode I get a concise answer that follows the system prompt correclty. I am using Ollama serving a Qwwn32b_Q4_K_M.

From my examples above:

If I ask via text the response I receive is

"Tonight’s low temperature will be around 45°F, hitting that chill around 3 AM. Bundle up if you’re heading out late! "

And the same question, same model same flow but asked from LVA I get

"The weather forecast for today (February 9th) and tomorrow in
                your area is as follows:

                **Today (February 9th):**

                - High temperature: 72°F at around noon to early afternoon.

                - Low temperature: 45°F in the early morning hours.

                **Tomorrow (February 10th):**

                - High temperature: 77°F, likely occurring sometime during the
                late afternoon.

                - Low temperature: 51°F, expected in the early morning hours.

                The following days will see temperatures ranging from highs of
                around 73°F to 77°F and lows between 54°F and 69°F. There is a
                slight chance of precipitation on February 12th with an 8%
                probability of rain or drizzle, but no significant rainfall
                expected throughout the week.

                Wind speeds are generally moderate, peaking at around 10-12 mph
                during some parts of the day, particularly in the afternoons and
                evenings. Gusts can reach up to 22 mph on February 10th and
                February 15th.

                Relative humidity remains fairly high throughout most of these
                days, but UV levels are relatively low due to the time of year
                and conditions."

You’ve duplicated the information from the logs. But they initially contained different queries, so it’s impossible to understand what exactly happened.

A proper comparison must be performed using identical data.

2 Likes