Set Home Assistant location

Use this action to update the location of your Home Assistant home zone, which uses your Home Assistant installation name (which defaults to “Home”). A common use is to keep the home location accurate on a mobile install, such as a camper or a boat, so that sun, weather, and presence work correctly as you move.

Using this action from the user interface

If you prefer building automations and scripts visually, Home Assistant walks you through this action step by step. You pick what to target, tweak a few options, and save. No YAML knowledge required.

To set the location from an automation or a script:

  1. Go to Settings > Automations & scenes.
  2. Open an existing automation or script, or select Create automation > Create new automation.
  3. If you’re setting up a new automation, add a trigger in the When section. Scripts don’t need a trigger. They run when something else calls them.
  4. In the Then do section, select Add action.
  5. Search for and select Set Home Assistant location.
  6. Set the Latitude and Longitude, and the Elevation if you want.
  7. Select Save.

Options in the UI

Latitude

The latitude of your location.

Longitude

The longitude of your location.

Elevation (Optional)

The elevation of your location above sea level.

Using this action in YAML

If you work directly in YAML, or you want to know exactly what Home Assistant does under the hood, this section has the technical reference. It lists the field names you use in YAML, their types, and which ones are required.

In YAML, refer to this action as homeassistant.set_location. A basic example looks like this:

ActionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called *sequence*. [Learn more]
action: homeassistant.set_location
data:
  latitude: 32.87336
  longitude: 117.22743
  elevation: 120

Options in YAML

latitude float Required

The latitude of your location.

longitude float Required

The longitude of your location.

elevation integer

The elevation of your location above sea level, in meters.

Good to know

  • This updates the home zone location until the next time the Core configuration is loaded. To make a change permanent, set the location in your configuration.

Still stuck?

The Home Assistant community is quick to help: join Discord for real-time chat, post on the community forum with the action you’re calling and what you expected to happen, or share on our subreddit /r/homeassistant.

Tip

AI assistants like ChatGPT or Claude can also explain actions or suggest the right one when you describe what you want in plain language.

Related actions

These actions work well alongside this one: