whatisgithub

What is esphome-ancs?

wonderslug/esphome-ancs — explained in plain English

Analysis updated 2026-05-18

61C++Audience · developerComplexity · 3/5Setup · moderate

In one sentence

An ESPHome component that lets a cheap ESP32 board receive iPhone notifications over Bluetooth, so Home Assistant can react to calls, texts, and reminders.

Mindmap

mindmap
  root((esphome-ancs))
    What it does
      Reads iPhone notifications
      Uses Apple ANCS protocol
      Triggers automations
    Tech stack
      C++
      ESPHome
      ESP-IDF
    Use cases
      Flash lights on call
      Chime on message
      No-cloud automation
    Setup
      YAML config
      Pair via nRF Connect
    Audience
      Home Assistant users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Flash smart lights or ring a chime whenever your iPhone rings.

USE CASE 2

Trigger Home Assistant automations from iMessages or calendar reminders.

USE CASE 3

Build a no-cloud, no-subscription notification bridge for your phone.

What is it built with?

C++ESPHomeESP-IDF

How does it compare?

wonderslug/esphome-ancsip-arch/neslabfeaturenab/air-sensor
Stars615958
LanguageC++C++C++
Setup difficultymoderateeasymoderate
Complexity3/52/53/5
Audiencedevelopergeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Pairing requires the nRF Connect app since iOS won't show the device in normal Bluetooth settings, needs ESP-IDF, not Arduino.

So what is it?

This project lets a small, cheap ESP32 microcontroller receive notifications from a nearby iPhone over Bluetooth. iPhones have a built-in Bluetooth service called ANCS (Apple Notification Center Service), which is the same system AirPods and Apple Watch use to know when your phone rings. This component teaches the ESP32 to speak that same protocol, so your phone hands over incoming call alerts, iMessages, calendar reminders, and app pings directly to the device. The main use is triggering home automations. When your iPhone rings, the ESP32 can tell Home Assistant about it, and Home Assistant can then flash lights, ring a chime, or do anything else you have set up. The classic example in the README is helping someone who leaves their phone on silent: instead of a missed call, the whole house reacts. No phone app is required, no cloud service is involved, and there is no subscription. The component is built for ESPHome, a system for programming ESP32 boards through simple configuration files rather than raw code. You add it to your ESPHome setup using a few lines of YAML and pick one of three included packages depending on how much control you want. The simplest option fires Home Assistant events for every notification with almost no configuration. A second option automatically creates named sensors in Home Assistant. The third gives you a bare component to wire up however you like. There is one important setup step that trips people up: pairing the ESP32 to your iPhone cannot be done through the standard iOS Bluetooth settings screen. Apple does not show unofficial devices there. Instead, you use a free third-party app called nRF Connect to initiate the first connection, which causes iOS to show its normal pairing dialog. After that first pairing, the phone reconnects on its own whenever the ESP32 is in range. The component requires the ESP-IDF framework (not the Arduino framework) and only works with iPhones running iOS 7 or later. Because the ESP32's Bluetooth radio is fully dedicated to this ANCS connection, it cannot run other Bluetooth features like Bluetooth proxy or BLE device tracking at the same time.

Copy-paste prompts

Prompt 1
Help me write the ESPHome YAML config to add esphome-ancs to my ESP32.
Prompt 2
Walk me through pairing my iPhone to the ESP32 using nRF Connect.
Prompt 3
Which of the three included packages should I use for named Home Assistant sensors?
Prompt 4
Explain why I can't use Bluetooth proxy at the same time as this component.

Frequently asked questions

What is esphome-ancs?

An ESPHome component that lets a cheap ESP32 board receive iPhone notifications over Bluetooth, so Home Assistant can react to calls, texts, and reminders.

What language is esphome-ancs written in?

Mainly C++. The stack also includes C++, ESPHome, ESP-IDF.

How hard is esphome-ancs to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is esphome-ancs for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.