Home Assistant Community Add-on: AirCast

This add-on is provided by the Home Assistant Community Add-ons project.

GitHub Release GitLab CI Project Stage Project Maintenance

Supports armhf Architecture Supports armv7 Architecture Supports aarch64 Architecture Supports amd64 Architecture Supports i386 Architecture



AirPlay capabilities for your Chromecast players.

Apple devices use AirPlay to send audio to other devices, but this is not compatible with Google’s Chromecast. This add-on tries to solve this compatibility gap.

It detects Chromecast players in your network and creates virtual AirPlay devices for each of them. It acts as a bridge between the AirPlay client and the real Chromecast player.


The installation of this add-on is pretty straightforward and not different in comparison to installing any other add-on.

  1. Search for the “AirCast” add-on in the add-on store and install it.
  2. Install the “AirCast” add-on.
  3. Start the “AirCast” add-on
  4. Check the logs of the “AirCast” add-on to see if everything went well.

After ~30 seconds you should see some log messages appear in the add-on log.
Using your iOS/Mac/iTunes/Airfoil/other clients, you should now see new AirPlay
devices and can try to play audio to them.

:books: Please read the documentation for more information about the use and configuration of this add-on.


You can always try to get support from the community here at the Home Assistant community forums, join the conversation!

Questions? You have several options to get them answered:

You could also open an issue on GitHub, in case you ran into a bug, or maybe you have an idea on improving the addon:

:information_source: At this moment our Home Assistant Community Add-ons Discord chat server and GitHub are our only official support channels. All others rely on community effort.

Repository on GitHub

Looking for more add-ons?

The primary goal of our add-ons project is to provide you (as a Home Assistant user) with additional, high quality, add-ons that allow you to take your automated home to the next level.

Check out some of our other add-ons in our Home Assistant Community Add-ons project.


About the author of this add-on

Hi there!

I am Franck Nijhof, and I have 30 years of programming experience, in many languages. I am using this experience to work on the Home Assistant project by giving back my knowledge and time to the open source community.

The add-on you are currently looking at right now was developed/packaged by me. It is not the only add-on I have created; there are many many more :wink:

However, I have a problem… I am an addict. A :coffee: addict that is. Lucky for you, I turn that C8H10N4O2 (caffeine molecule) into code (and add-ons)!

If you want to show your appreciation, consider supporting me for buying a cup of high octane wakey juice via one of the platforms below! :heart:

Sponsor Frenck via GitHub Sponsors

Support Frenck on Patreon

Enjoy your add-on, while I enjoy the brain juice. :coffee:

Thanks for all the :two_hearts:


Join our Discord server Follow me on Twitter Flollow me on Instragram Follow me on GitHub Follow me on YouTube Follow me on Twitch patreon-icon

P.S.: In case you want to ask me a question: AMA (Ask Me Anything). Most of the time I am online at the Discord chat. (I go by @Frenck in there as well).

Can it go the other way? I want to cast to my Bose speaker from my Samsung phone.


Hass.io, “awesome” Name. I will try to register HATE.io and put a cname to “hass . io” maybe the meaning gets clearer then.

But really, WTF?!

You know that hass in German means hate? You should try to find a better name :wink:

This is a community add-on, @frenck didn’t choose the name. I understand your joke but it is missguided in this case. Move along and contribute to the community in a positive manner!


Are there any instructions for running this add on with a HASS instance that is running as a Docker itself?

Nicely done! This works perfectly for me with literally zero configuration required. It detects my cast groups as well. The only negative observation I have that I’m not sure can be fixed is that even when my GH speakers are cranked to max volume, the audio doesn’t seem quite as loud as when I’d normally just cast to them via chromecast via a supported app or my browser.

1 Like

@frenck i use the app castreceiver for android, it transform any android to Chromecast… with your addon i can control volume of castreceiver??

@sonofdays That would not work, I’m sorry. This add-on is aimed at the Apple ecosystem as its input.

@gebi Like already mentioned by @Robban, I did not choose the name. Hass is generally used as shorthand for Home Assistant. I’m well aware what it means in the German language since I grew up and live like 2 minutes from the German border.

I’m not sure why you are flaming on this specific post though.


@poldim My add-ons rely on the API of Hassio, which is not present in that case. So it would not work.

Good to hear you like it!

About the volume, you might be actually correct! I will look into this.

What is the API? Is it a Resin API? Or IO?
Is it possible to add this API to the regular HASS install?

This is going off topic. If you are interested in solving that issue, I suggest you read the code or maybe start a separate topic for this.

Love the idea of this add-on! I tried to install it on a hass.io on a Pi Zero W (haven’t had any troubles with it so far except that it is a tad bit slow).

However, when trying to use this add-on I see the following errors in the log and the add-on quits itself:


[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-banner.sh: executing... 
[cont-init.d] 00-banner.sh: exited 267.
[cont-finish.d] executing container finish scripts...
[cont-finish.d] 99-message.sh: executing... 
s6-maximumtime: warning: child process crashed
[cont-finish.d] 99-message.sh: exited 111.
[cont-finish.d] done.
[s6-finish] syncing disks.
[s6-finish] sending all processes the TERM signal.

Any idea where this is coming from and what to do about it? Keep up the great work!



Im really happy to see an addon for Hass.io for this. I have been using it on a spare RPi on version
(23rd Dec).

In that version its easy to create and modify the config.xml, Im no expert at this but used the save [name] to create a config file as instructed and then excluded some speakers which have dual chromecast & airplay functionality built in as it created duplicates of the same speaker in airplay.

I just can’t figure out how to do the same in this version. Can you give me an example of what to add to the options screen to be able to modify the speaker list?

e.g. do I use the udn, mac, etc



:tada: Release: AirCast v0.2.0

Full Changelog


  • Fixes Unexpected high system load #2 #4


  • Upgraded base image to v0.2.1 #3
  • Updated maintenance year, it is 2018

This update is now available on your Hassio panel.

@gsi095 Currently the add-on does not support manual configuration/editing of the XML configuration file.

Please feel free to submit/open an issue on the GitHub page:

This works beautifully for me, very pleased with this add-on. But i’m wondering, is there a way to use this so you can turn the Pi itself into a streaming speaker, eg it becomes an Airplay Device and you can either play audio over the builtin headphone port, or even better over HDMI? Or is there another add-on that already does this? I know I was able to get this working under Raspbian.

1 Like

There currently is not an add-on or feature for that yet. It is an add-on on my wishlist though… so maybe, someday… :wink:

1 Like