i do not feel comfortable exposing my home assistant server to the internet. What are the options available for getting notifications on my mobile device without exposing my server to the internet? So far the only thing i can think about is configuring email alerts or using a VPN on my phone to connect back to my house which i am not a fan of. Is there a way i can get native iOS notification from home assistant without opening it up to the internet?
For notifications to work you need service visible to HA server and external device.
MQTT
Email
Email to sms
These services allow one way connection from HA to external device.
Easiest way is to sign up for Home Assistant Cloud. What you’re describing is actually the main selling point, you can access your HA and connect it without cloud services for notifications, Google Assistant, Alexa, etc. without needing to expose the physical machine via port forwarding on your router. You can read more about how it works and how they maintain your security and privacy on https://www.nabucasa.com/
If that also makes you uncomfortable then you could look into other alternative cloud services specifically around notifications. For instance I use Pushbullet for notifications with some of my other services and Home Assistant can integrate with it as well. After you download their app on your phone HA can send notifications to their cloud service which communicates with their app and presents them to you.
There’s also more traditional options like email which are pretty similar. HA connects to an email server to send you an email which your phone then receives.
In a nutshell the solution is to either use nabu casa’s cloud service to make HA accessible indirectly by proxying it through their cloud service or pick a different cloud service that both HA and your phone can talk to.
I have no idea what planet the other two commenters are on, but the simple answer to your question is:
Yes - you can send notifications to the companion app for ios (and android) without having your frontend exposed to the Internet.