Flightradar24 integration allows one to track overhead flights in a given region. It will also fire Home Assistant events when flights enter and exit the defined region.
IMPORTANT: No need FlightRadar24 subscription!
It allows you:
- Know how many flights in your area right now, or just have entered or exited it. And get list of flights with full information by every relevant flight for the sensor
- Create automations (example - Get a notification when a flight enters or exits your area)
- Add flights table to your Home Assistant dashboard by Lovelace Card)
- flightradar24_entry: Fired when a flight enters the region.
- flightradar24_exit: Fired when a flight exits the region.
- Current in area
- Entered area
- Exited area
Sensors shows how many flights in the given area, just have entered or exited it. All sensors have attribute flights
with list of flight object contained a full information by every relevant flight for the sensor
Have HACS installed, this will allow you to update easily.
- Go to the Hacs->Integrations.
- Add this repository (https://github.com/AlexandrErohin/home-assistant-flightradar24) as a custom repository
- Click on
+ Explore & Download Repositories
, search forFlightradar24
. - Search for
Flightradar24
. - Navigate to
Flightradar24
integration - Press
DOWNLOAD
and in the next window also pressDOWNLOAD
. - After download, restart Home Assistant.
- Locate the
custom_components
directory in your Home Assistant configuration directory. It may need to be created. - Copy the
custom_components/flightradar24
directory into thecustom_components
directory. - Restart Home Assistant.
Flightradar24 is configured via the GUI. See the HA docs for more details.
The default data is preset already
- Go to the Settings->Devices & services.
- Click on
+ ADD INTEGRATION
, search forFlightradar24
. - You may change the default values for Radius, Latitude and Longitude
- Click
SUBMIT
You may edit configuration data like radius or coordinates.
If you have FlightRadar24 subscription, you may authenticate also
To do that
- Go to the Settings->Devices & services.
- Search for
Flightradar24
, and click on it. - Click on
CONFIGURE
- Edit the options you need and click
SUBMIT
To receive notifications of the entering flights add following lines to your configuration.yaml
file:
automation:
- alias: "Flight entry notification"
trigger:
platform: event
event_type: flightradar24_entry
action:
service: notify.mobile_app_<device_name>
data:
message: "Flight entry of {{ trigger.event.data.callsign }} to {{ trigger.event.data.airport_destination_city }}"
All available fields in trigger.event.data
you can check here
You can add flight table to your Home Assistant dashboard
- Go to your Home Assistant dashboard
- In the top right corner, select the three-dot menu, then select Edit dashboard
- Click on
+ ADD CARD
, search forManual
, click onManual
. - Add following code to the input window and click
SAVE
type: vertical-stack
title: Flightradar24
cards:
- type: entities
entities:
- entity: sensor.flightradar24_current_in_area
name: In area
- type: conditional
conditions:
- condition: numeric_state
entity: sensor.flightradar24_current_in_area
above: 0
card:
type: markdown
content: >-
{% set data = state_attr('sensor.flightradar24_current_in_area',
'flights') %} {% for flight in data %}
<ha-icon icon="mdi:airplane"></ha-icon>{{ flight.flight_number }} - {{ flight.airline_short }} - {{ flight.aircraft_model }}
{{ flight.airport_origin_city }}{%if flight.airport_origin_city %}<img src="https://flagsapi.com/{{ flight.airport_origin_country_code }}/shiny/16.png" title='{{ flight.airport_origin_country_name }}'/>{% endif %} -> {{ flight.airport_destination_city }}{%
if flight.airport_destination_country_code %}<img src="https://flagsapi.com/{{ flight.airport_destination_country_code }}/shiny/16.png" title='{{ flight.airport_destination_country_name }}'/>{% endif %}
{%if flight.time_scheduled_departure %}Departure - {{ flight.time_scheduled_departure | timestamp_custom('%H:%M') }}; {% endif %}{%if flight.time_scheduled_arrival%}Arrival - {{ flight.time_scheduled_arrival | timestamp_custom('%H:%M') }}{% endif %}
Altitude - {{ flight.altitude }} ft{%if flight.altitude > 0 %} ({{(flight.altitude * 0.3048)| round(0)}} m){% endif%}; Gr. speed - {{ flight.ground_speed }} kts{%if flight.ground_speed > 0 %} ({{(flight.ground_speed * 1.852)| round(0)}} km/h){% endif%}
{% endfor %}
All available fields for flight you can check here
- Open in a browser https://www.flightradar24.com
- Move the map so that your area is in the middle of the screen. And scroll to select comfortable map zoom
- Now you have URL of the map like https://www.flightradar24.com/50.03,8.49/12 Remember this URL
- Go to your Home Assistant dashboard
- In the top right corner, select the three-dot menu, then select Edit dashboard
- Click on
+ ADD CARD
, search forManual
, click onManual
. - Add following code to the input window. Replace LATITUDE, LONGITUDE and ZOOM from URL from step 4. (Example - https://www.flightradar24.com/50.03,8.49/12 - LATITUDE is 50.03, LONGITUDE is 8.49, ZOOM is 12)
- Click
SAVE
type: vertical-stack
title: Flightradar24
cards:
- type: entities
entities:
- entity: sensor.flightradar24_current_in_area
name: In area
- type: conditional
conditions:
- condition: numeric_state
entity: sensor.flightradar24_current_in_area
above: 0
card:
type: markdown
content: >-
{% set data = state_attr('sensor.flightradar24_current_in_area',
'flights') %} {% for flight in data %}
<ha-icon icon="mdi:airplane"></ha-icon>{{ flight.flight_number }}({{ flight.aircraft_registration }}) - {{ flight.airline_short }} - {{ flight.aircraft_model }}
{{ flight.airport_origin_city }}{%if flight.airport_origin_city %}<img src="https://flagsapi.com/{{ flight.airport_origin_country_code }}/shiny/16.png" title='{{ flight.airport_origin_country_name }}'/>{% endif %} -> {{ flight.airport_destination_city }}{%
if flight.airport_destination_country_code %}<img src="https://flagsapi.com/{{ flight.airport_destination_country_code }}/shiny/16.png" title='{{ flight.airport_destination_country_name }}'/>{% endif %}
{%if flight.time_scheduled_departure %}Departure - {{ flight.time_scheduled_departure | timestamp_custom('%H:%M') }}; {% endif %}{%if flight.time_scheduled_arrival%}Arrival - {{ flight.time_scheduled_arrival | timestamp_custom('%H:%M') }}{% endif %}
Altitude - {{ flight.altitude }} ft{%if flight.altitude > 0 %} ({{(flight.altitude * 0.3048)| round(0)}} m){% endif%}; Gr. speed - {{ flight.ground_speed }} kts{%if flight.ground_speed > 0 %} ({{(flight.ground_speed * 1.852)| round(0)}} km/h){% endif%}
{% endfor %}
- type: iframe
url: >-
https://www.flightradar24.com/simple?lat=LATITUDE&lon=LONGITUDE&z=ZOOM&label1=reg&size=small
aspect_ratio: 100%
To decrease data stored by Recorder in database add following lines to your configuration.yaml
file:
recorder:
exclude:
entity_globs:
- sensor.flightradar24*
Field | Description |
---|---|
flight_number | Flight Number |
latitude | Current latitude of the aircraft |
longitude | Current longitude of the aircraft |
altitude | Altitude (measurement: foot) |
ground_speed | Ground speed (measurement: knots) |
squawk | Squawk code are what air traffic control (ATC) use to identify aircraft when they are flying (for subscription only) |
vertical_speed | Vertical speed (for subscription only) |
heading | The compass direction in which the craft's bow or nose is pointed (measurement: degrees) |
callsign | Callsign of the flight |
aircraft_registration | Aircraft registration number |
aircraft_photo_small | Aircraft small size photo url |
aircraft_photo_medium | Aircraft medium size photo url |
aircraft_photo_large | Aircraft large size photo url |
aircraft_model | Aircraft model |
aircraft_code | Aircraft code |
airline | Airline full name |
airline_short | Airline short name |
airline_iata | Airline IATA code |
airline_icao | Airline ICAO code |
airport_origin_name | Origin airport name |
airport_origin_code_iata | Origin airport IATA code |
airport_origin_code_icao | Origin airport ICAO code |
airport_origin_country_name | Origin airport country name |
airport_origin_country_code | Origin airport country code |
airport_origin_city | Origin airport city name |
airport_destination_name | Destination airport name |
airport_destination_code_iata | Destination airport IATA code |
airport_destination_code_icao | Destination airport ICAO code |
airport_destination_country_name | Destination airport country name |
airport_destination_country_code | Destination airport country code |
airport_destination_city | Destination airport city name |
time_scheduled_departure | Scheduled departure time |
time_scheduled_arrival | Scheduled arrival time |
time_real_departure | Real departure time |
time_real_arrival | Real arrival time |
time_estimated_departure | Estimated departure time |
time_estimated_arrival | Estimated arrival time |