A private chat for your family that runs entirely inside Home Assistant. There’s no separate account to create — Family Chat signs everyone in automatically using whoever’s already logged into Home Assistant, so each person just shows up as themselves. There are no ads, the data is all hosted on your Home Assistant system (make sure you have room for all those gifs and images your family posts) and no monetization being forced down your throat.
First welcome to the Home Assistant Forum!
Thanks for contributing an App for the Community to use!
2 things.
You refer to add-ons a lot in the Git documentation. New Apps especially are being ask to use the term Apps at least in conjunction with add-on as the word Apps is used in all the official documentation and add-on is deprecated / removed. New users will not know what an add-on even is…
Second you are free to use the help of AI or other contributors all you want while coding. It is asked and will soon be required to attribute help from anyone or anything in your coding. So list the AI (or any other helper) as a contributor, and you are golden. No need to explain it.
I have updated the content on my github to reflect the changes you requested, I will note that the FAQ for this site currently includes 7 references to add-on. You might want to update that.
Short answer: not right now, and it’s not really a packaging thing I could just flip a switch on. It comes down to how the whole login system works under the hood.
Family Chat signs you in automatically using whoever’s already logged into Home Assistant, no separate account to create, no password to remember. That only works because Home Assistant’s own ingress system tells the app who you are, right after you’ve already logged into HA itself. A plain Docker container running completely outside of Home Assistant/Supervisor would never receive that information at all, so there’d be no way for the app to know who’s using it.
There’s a security side to this too, it’s not just a missing convenience. If I tried to work around it by having some other setup pass that identity along manually, that’d only be safe if access to the container was locked down really carefully, since anyone who could reach it directly could just claim to be any user. Supervisor’s ingress is trustworthy specifically because it’s a controlled system Home Assistant itself manages, not just a header being present.
So making this work outside the App ecosystem would really mean building a whole separate login system from scratch (real accounts, passwords, all of it), a legitimately big undertaking, not a quick tweak, and not something I have planned right now.
If that ever changes I’ll post about it here, but for now this needs Home Assistant with Supervisor specifically (OS or Supervised), plain Home Assistant Container installs won’t be able to run it.
Thank you for following up and getting it taken care of, it seemed like something that should be fixed since the rule about that was being enforced so… enthusiastically.
I hear you, but I’m trying to help the new Apps start out right anyway. The whole name change thing got me so upset, I am passing the emotion on to the new App owners where I can.
Thanks for having the install instructions correct, most are copying a template that still has add-on in it so newbees might not even be able to install their stuff..
Hey, I think I follow what you’re asking, let me know if I’ve got it wrong.
Sounds like you’re asking whether a non-admin Home Assistant user can get access to Family Chat at all, since the sidebar icon only shows up for admin accounts. That’s a real limitation, but it’s not something Family Chat itself controls, it’s how Home Assistant handles ingress-based apps in general right now. Every app that uses ingress (not just this one) is admin-only in the sidebar for the same reason.
It sounds like you tried working around that with a Webpage card, a regular dashboard (unlike the sidebar) can be shared with non-admin users, so the idea of dropping a Webpage card pointed at Family Chat’s URL onto a shared dashboard makes sense as a workaround to try.
The issue is that it doesn’t actually get around the underlying limitation, it just relocates where that admin-only URL is being loaded from. An ingress session is tied to the admin account that’s currently logged in, not something that can be embedded or handed off to someone else’s account. So if it “works,” it’s most likely still working because you’re logged in as the admin who set it up, not because the non-admin person can actually reach it.
When you say it only works locally, do you mean:
It works on your home network, but not when accessing Home Assistant remotely, or
It works for you, but the actual non-admin person you’re trying to share it with still can’t get in?
If it’s #2, that’d confirm what I described above. Either way, I don’t think there’s currently a way around this, it’d need Home Assistant itself to support non-admin access to ingress apps, which isn’t there yet. If that changes, I’ll be watching for it.
I’ve continued to work on Family Chat the last couple weeks, here’s what’s new since the last update post.
New features
Message editing. Fix a typo or reword something after sending: your own messages only, with a small “(edited)” label so it’s never hidden that something changed.
Backup & restore, from the admin panel. Download a single file with every message and every uploaded file, independent of Home Assistant’s own backup system, a safety net worth having before doing anything risky to the underlying instance.
Link previews. Paste a link and it unfurls into a real preview card, thumbnail and description for most sites, an embedded player for YouTube.
Message grouping and date dividers. Consecutive messages from the same person are now visually grouped instead of repeating the name every time, and a “Today” / “Yesterday” / full-date divider shows once per day instead of on every message.
Custom emoji shortcodes. Type :yourname: directly into a message, not just from the picker.
Notifications now open the app directly when tapped, instead of landing on the main Home Assistant dashboard, also tries to jump straight to the right channel, though whether that part survives Home Assistant’s own session redirect is genuinely hit or miss.
Storage moved to a more durable location (/config instead of /data), migrated automatically, so an uninstall/reinstall or repository hiccup is much less likely to take your data with it.
Fixes
A real saga this cycle: the app store had gotten “detached” and stuck refusing updates. Root cause ended up being two compounding issues: an empty repository.yaml file, and a version number that had briefly gone backwards during some manual troubleshooting. Both fixed; updates should behave normally now.
Several rounds of scroll-to-bottom bugs: opening a channel, switching channels quickly, and posting an image, GIF, emoji, or link preview could all independently leave the view stuck short of the actual latest message. All tracked down and fixed.
GIF search and trending were fully broken for a couple versions (a missing constant from an earlier edit) - fixed.
Link previews were silently failing on Amazon and similar sites due to bot detection; now uses a realistic browser identification, and any link that still fails to preview shows an honest “request timed out” card instead of nothing.
The GIF picker’s results were genuinely overlapping each other, not just tightly packed: fixed with better spacing.
On mobile, the reply/react/edit/delete buttons used to sit on top of every message at all times. Now hidden until you tap the message, like they should’ve been from the start.
A CodeQL-flagged XSS gap (not currently exploitable, but worth closing) in a template string.
Housekeeping
README rewritten with an actual screenshot and a properly up-to-date feature list.
“Add-on” references updated to “app” throughout, matching Home Assistant’s own current terminology.
As always, update from the App Store like normal, a couple of these (the storage migration, the AppArmor permission fix) need a full Rebuild rather than just a Restart to fully take effect.
For people running home assistant in docker, apps is difficult to setup. Things like this can also be created in Home assistant as a custom integration…
The short answer is that Family Chat is going to stay an app rather than move to a custom integration, at least for now. Here’s the thinking behind that.
A custom integration runs inside Home Assistant’s own Python process. Family Chat is a full web app with its own backend (Flask), its own WebSocket server, its own SQLite database, and its own frontend. Bringing all of that into HA’s process would mean sharing HA’s Python environment and dependency versions instead of shipping its own, and would put a chat server’s workload (message history, file uploads, image handling, GIF search, etc.) directly inside the same process that’s also running your automations and integrations. If something in Family Chat hangs or leaks memory, that becomes an HA core problem instead of a contained one. Running as its own app keeps that isolated, so a bug in the chat can’t take down your smart home.
There’s also the fact that a chat app just doesn’t map well onto HA’s entity and device model. Integrations are built around exposing entities, states, and services. Messages, channels, reactions, file attachments, and a real-time chat UI aren’t really “entities” in any useful sense, so a lot of what makes this a chat app would have to be bolted on sideways rather than fitting the model integrations are designed for.
None of that is a knock on the idea, and I do think you’re raising a real, legitimate downside: if you’re running Home Assistant in Docker without Supervisor, apps aren’t available to you at all, and that locks you out completely right now.
So for now, Family Chat is staying as an app. If Home Assistant’s app/add-on model changes in a way that closes this gap for Container installs, or if there’s a reasonable path to support both without fragmenting the codebase, I’ll revisit it. But that’s not something I see happening in the near term.
That said, it’s MIT licensed, so if a custom integration is something you or anyone else wants badly enough to build, you’re welcome to fork it and take a run at that yourself. I’d genuinely be interested to see how it turns out.
I just found this:
You might want to check it out. It looks like a slightly different variation on the chat in home assistant idea and is an integration.
Home Assistant automations can now post into any channel
Link previews fixed for pages without Open Graph tags, and for Facebook/Instagram
Link preview text/images no longer show raw HTML entities
Messages can be moved between channels
Admin Activity log added (tracks message deletions and moves)
Security review: fixed SSRF, stored XSS, unvalidated socket fields, and reaction spoofing
Admin panel now holds a fixed size across tabs
Emoji picker's Recent tab layout fixed
Phone numbers in messages are now tap-to-call links
Messages can be pinned per channel
Added a live "is typing…" indicator
Fixed file-caption dialog sizing on mobile
Fixed inconsistent message spacing (multiple follow-up rounds)
Fixed mobile tap targets not responding (iOS, then separately Android)
Admin Backup tab now shows estimated backup size and free disk space
Channels can be reordered via drag-and-drop in the admin panel
Security review: fixed DNS-rebinding SSRF bypass, backup decompression bomb, unvalidated channel on send_message, CSRF gap on backup export, added X-Content-Type-Options header