-
Notifications
You must be signed in to change notification settings - Fork 18
Integrations
All optional, all configured in the web panel (Settings tab) or on the device (gear icon > Integrations tab; the watchlist and flyover alerts sit on the Filters tab). An empty field means the feature is off.
Free, no account needed.
- Install the ntfy app (Android or iOS).
- In the app, subscribe to a topic with a unique name you invent, e.g.
jans-esp32flight-8341. Anyone who knows the name can read the topic, so make it non-obvious. - Enter the same name in ntfy.sh topic and save.
You get a push for:
- Emergency squawks (7500 hijack, 7600 radio failure, 7700 general emergency) within your radius
- Watchlist aircraft entering your radius
- Flyovers, with Flyover alerts (CPA) enabled: a heads-up a few minutes before an interesting aircraft passes nearly overhead, with distance and direction
Enter your broker URI as MQTT broker, e.g. mqtt://user:password@192.168.1.10:1883. The device announces itself via MQTT discovery, so an "esp32flight" device appears in Home Assistant automatically with sensors: nearest aircraft (callsign, route, distance), aircraft count, and session unique count. No YAML needed.
By default flights show radio callsigns (RYR638T). A free FlightAware AeroAPI key adds the commercial flight number (FR4238) next to it and uses the live origin and destination as an extra route source. FlightAware serves actual flight plans, so with a key set the routes become authoritative and stale entries from community databases stop mattering.
Create a Personal key at flightaware.com/aeroapi and paste it into FlightAware API key. Results are cached, so the free monthly credit is more than enough for continuous use.
Comma-separated registration or callsign prefixes in Watchlist, e.g. SP-LR,RCH,A388. Matching aircraft are highlighted in gold in the list and push-notified on entry. Military aircraft and notable heavies (A380, AN-124, C-17 and friends) are always highlighted, no entry needed.
On every alert (emergency, watchlist, flyover) the device POSTs
{"source": "esp32flight", "title": "...", "message": "..."}to the URL in Webhook URL. Point it at Node-RED, n8n, a Discord or Slack bridge, or your own endpoint.
If you run your own receiver (an RTL-SDR dongle on a Raspberry Pi with dump1090, readsb, or any feeder image), point Local receiver aircraft.json URL at its JSON output, e.g.
http://192.168.1.50:8080/data/aircraft.json
The device then reads aircraft straight from your antenna instead of the internet APIs: faster updates, no rate limits, and it keeps working without internet. When the receiver is unreachable, the device falls back to the internet sources automatically and returns to the receiver when it comes back.
Practically every feeder setup runs a dump1090-family decoder underneath, and that decoder serves the JSON we need. Find your receiver's IP (your router's client list, or the address you already use for its status page), then try these in a normal browser:
| Your setup | URL to try |
|---|---|
| Flightradar24 Pi24 image | http://<ip>:8080/data/aircraft.json |
| fr24feed installed on top of Raspbian |
http://<ip>:8080/data/aircraft.json or http://<ip>/dump1090/data/aircraft.json
|
| FlightAware PiAware / SkyAware |
http://<ip>:8080/data/aircraft.json or http://<ip>/skyaware/data/aircraft.json
|
| dump1090 / dump1090-mutability / readsb (your own) | http://<ip>:8080/data/aircraft.json |
| adsb.im / ADSB.lol images | http://<ip>/tar1090/data/aircraft.json |
You are looking for a page of raw JSON that starts with { "now": ... and contains an aircraft array. When one of the URLs shows that, paste exactly that URL into Local receiver aircraft.json URL and save. The header status line shows when the device is feeding from your receiver.
Two things that do NOT work: the Flightradar24 feeder status page (http://<ip>:8754) serves its own format, not aircraft.json; and flights.json from that page is not it either. If none of the URLs answer, your dump1090 may have its web server disabled: on Pi24 it is on by default, elsewhere start the decoder with --net.
esp32flight - MIT (c) theqkash | Flash from your browser | Discord | Support on Ko-fi
Setup
Using it
Reference
Links