Hi there Home Assistant community members! I am working on an automation to return the weather of an arbitrary location using assist. I currently have the automation working, though triggering it through a voice pipeline does not work.
Here are the details of the automations:
Rest commands:
rest_command:
get_lat_long_of_place:
headers:
user-agent: HASSgeoencode/1.0
url: https://nominatim.openstreetmap.org/search?q={{ place }}&format=json
get_forecast_of_place:
headers:
user-agent: HASSsingleShotForecast/1.0
url: https://api.met.no/weatherapi/locationforecast/2.0/complete?lat={{ lat }}&lon={{ lon }}
Automation:
alias: "Assist: Arbitrary Weather"
description: ""
triggers:
- trigger: conversation
command:
- what('s| is) the [current] weather [like] [(now|right now)] in {place}
conditions: []
actions:
- action: rest_command.get_lat_long_of_place
metadata: {}
data:
place: "{{ trigger.slots.place }}"
response_variable: geocoded_response
- action: rest_command.get_forecast_of_place
metadata: {}
data:
lat: "{{geocoded_response['content'][0]['lat']}}"
lon: "{{geocoded_response['content'][0]['lon']}}"
response_variable: local_forecast
- set_conversation_response: >-
In {{trigger.slots.place}} it is {{
local_forecast['content']['properties']['timeseries'][0]['data']['instant']['details']['air_temperature']*(9/5)+32
}}°F and {{
local_forecast['content']['properties']['timeseries'][0]['data']['next_1_hours']['summary']['symbol_code']
}}. The high is {{
local_forecast['content']['properties']['timeseries'][0]['data']['next_6_hours']['details']['air_temperature_max']*(9/5)+32
}}°F and the low is {{
local_forecast['content']['properties']['timeseries'][0]['data']['next_6_hours']['details']['air_temperature_min']*(9/5)+32
}}°F.
mode: single
With the automation in it’s current state, here is a debug of the conversation and the traces of the automation.
Debug:
Raw:
stage: done
run:
pipeline: 01h06a28v7ewdjhwgyghbgcbt8
language: en
conversation_id: 01KDV0S86N822KYKEHHYZ9T349
runner_data:
stt_binary_handler_id: null
timeout: 300
events:
- type: run-start
data:
pipeline: 01h06a28v7ewdjhwgyghbgcbt8
language: en
conversation_id: 01KDV0S86N822KYKEHHYZ9T349
runner_data:
stt_binary_handler_id: null
timeout: 300
timestamp: "2025-12-31T20:14:57.756356+00:00"
- type: intent-start
data:
engine: conversation.home_assistant
language: en
intent_input: What is the weather like in new york city
conversation_id: 01KDV0S86N822KYKEHHYZ9T349
device_id: null
satellite_id: null
prefer_local_intents: false
timestamp: "2025-12-31T20:14:57.756383+00:00"
- type: intent-end
data:
processed_locally: true
intent_output:
response:
speech:
plain:
speech: Unable to get forecasts for like in new york city
extra_data: null
card: {}
language: en
response_type: action_done
data:
targets: []
success: []
failed: []
conversation_id: 01KDV0S86N822KYKEHHYZ9T349
continue_conversation: false
timestamp: "2025-12-31T20:14:57.771847+00:00"
- type: run-end
data: null
timestamp: "2025-12-31T20:14:57.771861+00:00"
started: 2025-12-31T20:14:57.756Z
intent:
engine: conversation.home_assistant
language: en
intent_input: What is the weather like in new york city
conversation_id: 01KDV0S86N822KYKEHHYZ9T349
device_id: null
satellite_id: null
prefer_local_intents: false
done: true
processed_locally: true
intent_output:
response:
speech:
plain:
speech: Unable to get forecasts for like in new york city
extra_data: null
card: {}
language: en
response_type: action_done
data:
targets: []
success: []
failed: []
conversation_id: 01KDV0S86N822KYKEHHYZ9T349
continue_conversation: false
finished: 2025-12-31T20:14:57.771Z
Trace:
Given that the automation completes successfully, and returns the conversation response, I do not understand why assist returns “Unable to get forecasts for like in new york city” or similar. One hunch I had is that the automation may be taking too long and assist is timing out. From a quick look online, I wasn’t able to find any details to help with that though.
Any help would be appreciated!




