Companion app for iOS 2024.1: CarPlay is here!

Hey, this is Bruno. I have recently joined Nabu Casa to work full-time on the Home Assistant iOS app (thanks Home Assistant Cloud subscribers!). Today I have big news: Home Assistant is now available on Apple CarPlay! The release is rolling out and should be hitting your iOS devices soon (version 2024.1).

CarPlay support now gives Home Assistant users easy access to their devices and areas and the ability to create custom actions. Custom actions allow users to create advanced action sequences like unlocking the front door and turning on the porch lights. And all of this works across the multiple Home Assistant servers that you have configured in the app.

Big thanks to DXspark for helping us make the foundation of CarPlay and kicking off the project.

CarPlay features

The app is divided into four tabs to easily access the different functionality. We’ve followed Apple’s guidelines to give the user a familiar experience that they know from other CarPlay apps.

You don’t have to configure the CarPlay app separately. It will automatically pick up your Home Assistant servers as configured in your app.


Actions are a concept in the Home Assistant iOS app that allows you to execute automation in Home Assistant. This means that you can execute any automation you want, such as:

  • “Open the garage and start heating my home to 22 degrees Celsius”
  • “Close the garage and announce in the kitchen that I arrived”
  • “Turn the front yard lights on and unlock the front door”

These actions have been available in the Home Assistant for Apple Watch app and can be called from the Home Assistant widgets. With today’s release, you can also easily trigger them from your CarPlay dashboard. This is the feature that has already become part of my daily routine.

If you haven’t created an Action yet, the CarPlay App can send a notification to your phone to guide you to get started.


The controls tab will group your devices and entities by their domain. We have started small and included the most useful domains first:

  • Button
  • Cover
  • Input boolean
  • Input button
  • Light
  • Lock
  • Scene
  • Script
  • Switch

For these domains, you can toggle lights and switches, activate buttons, script, scene actions, and of course, toggle your garage door or gate.


The areas tab allows you to find your devices and entities based on their area. Quickly scroll through an area to see the current states and toggle devices.


When you’re driving to your parents, you might want to be able to notify them or open their garage door as you arrive. With the “Servers” tab, you will be able to quickly change and control a different Home Assistant server.

This feature builds upon the multiple server support that has been part of the Home Assistant iOS app for a couple of years now.

I hope you will enjoy using Home Assistant on CarPlay. Please let us know what else you would like to see available for CarPlay!

Release notes

  • The app is now available for iOS 15+
  • CarPlay support was added for iOS 16+
  • The Bulgarian language was added
  • Improvements for iOS Actions so they’re easier to use
  • In macOS, the window size will be restored when you open the app again

This is a companion discussion topic for the original entry at

Fantastic, can’t wait to try it out. Thank you!

1 Like

Congratulations guys!

1 Like

Great. Now I’ll be spending the rest of the day refreshing the app store… :rofl:


That is just a dream come true!


Thank you all so much for this, and for every bit of code you write. It’s very much appreciated!

1 Like

Any new sensors like, if carplay is connected? Or if vehicle is moving?


Holy moly. Didn’t have a “I NEED THAT!” feeling like now for a long time. Congrats for this great release!

So… how can I add CarPlay to my (old) car? :smiley:

1 Like

Is there a max on the number of area’s? “Woonkamer” is missing for me

This is definitely cool, but are there any plans to show some love to Android Auto? :frowning:

Areas and Actions pagination are coming on 2024.2, for now it is displaying the maximum number of items that your CarPlay display allows


Not yet, but keep sending ideas


An immediate one that jumps to mind is parking locations. Off the cuff, could work something like this: Assuming the app can detect when it’s connected/disconnected from Carplay, add a pin to the Home Assistant map with the last known location on disconnect. Then I don’t need to share that info with Google or whomever to find my car in a big lot or on busy city streets.

This is awesome!! I am current on iOS and iOS apps and have 2024.1.5 HA Core. I defined a few actions in the iOS app. In the action, it shows an “example trigger” but it is not clear to me how to use that to trigger an automation. I have a ratgdo garage door opener so I created an action to open the door and another action to close the door. I also have multiple users that I would like to be able to use the carplay action to open and close the garage door. It would be super helpful to provide a step by step on how to connect the carplay action to trigger an automation. Sorry if it is obvious but I’m just not seeing it.

1 Like

You can actually buy aftermarket carplay enabled infotainment devices to retrofit into an old car. You just get the main unit and an insert specific to your vehicle and they’re decently easy to install. LTT did a video on them.

It looks like the features are already in Android Auto: Home Assistant coming for your car! - Home Assistant

1 Like

Great News. As a thought it would be nice to be able to edit the actions, controls etc to have a subset of what is available on the iPhone or watch, otherwise there is so much information it can be difficult to find what you want. Or maybe you can do this already???


I can start to create an action, save the Shortcut, but nothing happens when I try to “Save” the action. Any thoughts?

There are booleans added to the action to show/hide on apple watch or CarPlay.
Even already there for the configuration.yaml. See the documentation :blush:

Okay, figured it out. Here is an example for an action called “Open Garage Door” to tell ratgdo to open the cover it is controlling.

1 - Create action in HA companion app called “Open Garage Door”.
2 - Then, in the HA web interface, create an automation.
3 - Under Trigger, select Other Triggers, Manual Event.
4 - Then, in Manual Event, enter ios.action_fired for event_type.
5 - Then, in Manual Event, enter actionName: Open Garage Door for event Data.
6 - In the Then Do section, select add action and select Cover then Open. Then select the door you want to open.

Hope this helps. Love how fast this works in HA.