Will we ever get iPhone notifications via ESPHome?

Blackberry used to feature a notification LED that would blink when a call was missed or a text had come in, etc. I could see it from across the room.

I miss that. I want to break the habit of checking my phone.

Fitbit (and such) syncs with phones, and allows for such notifications, via bluetooth. How wonderful it would be if I could sync an ESP32 with my iPhone and flash an LED when I’ve missed a call or text. Or, I could set special notifications for certain callers, etc. I could leave my phone in a drawer!

1 Like

Nice idea! Not necessarily restricted to a single ESPHome device, but how about some sort of event going to HA for iPhone events?

I kind of have this already on my spouse phone.
She has a habit of turning of the sound.

So when it rings on her phone and the sound is below a setting (can’t remember the automation in exact details) the speakers say she has a phone call, and it repeats this message every five seconds or so.

If the state of the phonecall sensor goes from ringing to idle or whatever it is, then it says she might have missed a call.

But that is Android phone sensors.
Not sure what is available on iPhone.

There’s this thread on another site, which points to some arduino libraries. I haven’t tried the iOS one yet.

Should be possible on IOS using shortcuts

f.e. iOS Shortcuts/ Siri/ HomeKit Remote -> HA integrations
but you can find more shortcuts on the forum

Thank you for the info. However, I would much prefer an ESP32 BLE solution.

I have had some success with this sketch. I read that someone had downgraded the espressif ESP32 board to 1.06 and then it worked with a Devkit 1. So I did that straight away. I don’t know whether 1.06 is indeed necessary.

The serial monitor puts out illegible characters, but it does indeed print when a call or text is received. The next step would be to make the printed output more-relevant (or at least consistent) or just cut right to the chase and replace the printed output with MQTT payloads. Perhaps I should try a more recent version than 1.06 (but it’s late and I’m just posting this before I call it a day). Once there are payloads for each type of notification, the ESP just needs some GPIO switch-enabled LEDs for each kind of notification, and then the ol’ BlackBerry blinking LED feature can be recreated (and HA can subscribe to the topics).

I’m a novice but I figure if I play around with the sketch enough I’ll figure out how to achieve the MQTT functionality. Surely someone who actually has some knowledge in this arena could knock it out fairly quickly. If someone does, please share!

Edit:

It was actually this sketch that someone had used with 1.06. I’ll play around a bit more when I have time.

Here’s someone who has had success.

This sketch works on my Devkit V1!

Here’s what I did.

  • Downgraded board in Arduino IDE to espressif ESP32 1.06 (maybe not necessary)
  • Copied Task.h and Task.cpp from the linked github page src to C:..\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\BLE\src
  • Ran serial monitor at 115200 baud with a carriage return

The serial monitor output is very consistent and relevant.

New notification!
Requesting details...
com.apple.mobilephone
+1 (202) 123-4567 ### I modified the number
Active Call
20240828T153114
Requesting details...
New notification!
Category: Social
Requesting details...
com.apple.MobileSMS
Jim ### Sender's name
Hello! This is a test message.
20240828T154827
Notification Removed!  ### The ESP knows when the SMS has been read