Home Assistant Add-on: ADS-B Multi-Portal Feeder (Flightradar24 and FlightAware)

Thank you for a great add-on!
I set it up and got it all working.

My next wish is to be able to both log (to logbook?) and trigger a notification every time a certain callsign or a ICAO-code becomes visible on my ads-b receiver.

Has anyone accomplished it? I can see that there has been posts in other forums about the flights.json file and to parse it looking for the callsign or ICAO-code, but I haven’t been successful in retrieving the data i need. In my case it would be sufficent to have an automation polling the flights.json file every minute to check if the json-string at all contains the specific callsign or ICAO-code, but I am not good at coding, and haven’t been a home assistant user long enought to understand how to accomplish it.

Any advice or suggestions would be highly appreciated!

This is a great install, thank you.

Running HA on a VM and installed the docker on a container on the same machine, which got the required credentials.

I live near an airport, so this started with just wondering what flights were departing and so on, but had poor results with the OpenSky integration.

I’m still playing about with it, I’ve been building my very limited knowledge on HTTP requests to work with the local API. I then wanted to look into how to obtain further information, which is where I discovered this fantastic open source flight data API:

Annoyingly, Flightradar24 or FlightAware don’t give you access to their API when you’re a feeder. This returns great results. It does have a limit but it shouldn’t really be an issue for a hobbyist.

I haven’t a clue about planes, or API’s, but I’m enjoying this current rabbit hole until I inevitably find the next thing to tinker with.

I did a little messing around with some cards. They aren’t finished, but I’ll be happy to share the code in the mean time if anyone would like any info.

Arrivals card tracks the flights in the sky, but it’s just for a bit of fun and looked better than ‘flights.’ It’s a mix of Card-Mod, Button Card and Mushroom Templates. The header subtlety flickers a little and the time separator colon flashes, for which I used and moulded resources from rhysb’s wonderful vast collection of HA CSS animations. The fonts are from Google Fonts: VT323 for the body and Press Start 2P for the title.

It currently has the same entity for each row because I haven’t worked out how to log these yet and then reference them. My guess would be as a CSV and then somehow reference the last 5-or-so entries, then use a template sensor to read the values. I’ve no idea, and perhaps there’s a simpler way to attack it.

I also took the example of the entities card posted above and styled it with a header utilising the Fr24 card and the footer as a custom graph card showing the aircraft tracked over 24 hours. Again, I will share the code for this but I’m just using mobile now and have some bits to tidy up. I’ve added things with Custom Multiple Entity Row

1 Like

Forgive me if the formatting is not correct here, I am copying it from my phone.

This code in your configuration.yaml will parse all of the data from your local ADSB into attributes of a sensor. The initial value of the sensor will be a large number (messages) but the attributes have all the info.

I used an earlier post in this thread, but I pulled more attributes from it. If it detects multiple aircraft it will show further information which I believe you can obtain by changing the number in the square brackets. However, I’m still rather new to API’s.

Note: replace with your IP to your host.


- platform: rest
  name: FR24 Flight Details
  resource: http://192.168.2.12:8080/data/aircraft.json
  value_template: "{{ value_json.messages }}"
  json_attributes_path: "$.aircraft[:1]"
  method: GET
  scan_interval: 60
  json_attributes:
    - hex
    - flight
    - alt_baro
    - alt_geom
    - gs
    - emergency
    - category
    - nav_modes
    - lat
    - lon
    - messages
    - seen
    - alert
    - seen-pos

You can remove the fields as necessary. ‘Flight’ is the flight number, Hex is your Mode S hex number.

Then, you can add a sensor showing the recent call sign:


- platform: template
  sensors:
    fr24_callsign:
      friendly_name: FR24 Callsign
      value_template: >
          {{ state_attr('sensor.fr24_flight_details','flight') }}

You could then create an automation using the sensor ‘fr24_callsign’

If the formatting is all messed up I’ll do a better job of it on the computer tomorrow.

Also, I’m far from an expert. I know there’s further information to be pulled from the JSON but I’m not quite there yet. Perhaps someone a little more clued up can expand/correct me on this.

Either way, I hope it gives you a bump in the right direction for what you’re looking to achieve. Good luck!

Edit: sorry for the triple post. I haven’t really posted anything on here before. I haven’t used a forum for years, and I’m showing it.

1 Like

RESOLVED
In case it helps anyone else: I had the DUMP 1090 Service disabled. Once enabled, the RTL tuner was discovered and mapped correctly.

Hi, I am having initial set up difficulties and would appreciate some help and guidance.

I have registered for FR24 keys and can see my registration via the FR24 Account Feed Stats, but the logs in HA show errors to do with an unknown receiver and unable to connect.

I have RTL_433 installed as an add-on, but this is disabled, so I do not think that there is a hardware clash. I can open the ADS-B Web UI and see the map, but no data.

 Add-on: ADS-B Multi-Portal Feeder
 Dump1090 based feeder for FlightRadar24, FlightAware and more
-----------------------------------------------------------
 Add-on version: 1.20.0
[fr24feed] 2023-04-16 13:41:54 | ______  _  _         _      _                    _              _____    ___ 
[fr24feed] 2023-04-16 13:41:54 | |  ___|| |(_)       | |    | |                  | |            / __  \  /   |
[fr24feed] 2023-04-16 13:41:54 | | |_   | | _   __ _ | |__  | |_  _ __  __ _   __| |  __ _  _ __`' / /' / /| |
[fr24feed] 2023-04-16 13:41:54 | |  _|  | || | / _` || '_ \ | __|| '__|/ _` | / _` | / _` || '__| / /  / /_| |
[fr24feed] 2023-04-16 13:41:54 | | |    | || || (_| || | | || |_ | |  | (_| || (_| || (_| || |  ./ /___\___  |
[fr24feed] 2023-04-16 13:41:54 | \_|    |_||_| \__, ||_| |_| \__||_|   \__,_| \__,_| \__,_||_|  \_____/    |_/
[fr24feed] 2023-04-16 13:41:54 |                __/ |                                                         
[fr24feed] 2023-04-16 13:41:54 |               |___/                                                          
[fr24feed] 2023-04-16 13:41:54 | [main][i]FR24 Feeder/Decoder
[fr24feed] 2023-04-16 13:41:54 | [main][i]Version: 1.0.34-0/generic
[fr24feed] 2023-04-16 13:41:54 | [main][i]Built on Jan 10 2023 10:09:01 (decoder-v1.0.34-0-7c5301b.git/Linux/static_amd64)
[fr24feed] 2023-04-16 13:41:54 | [main][i]Running on: debian="11"
[fr24feed] 2023-04-16 13:41:54 | [main][i]Local IP(s): 172.30.33.7
[fr24feed] 2023-04-16 13:41:54 | [main][i]Copyright 2012-2023 Flightradar24 AB
[fr24feed] 2023-04-16 13:41:54 | [main][i]https://www.flightradar24.com
[fr24feed] 2023-04-16 13:41:54 | [main][i]DNS mode: PING
[fr24feed] 2023-04-16 13:41:54 | [main][i]Automatic updates are DISABLED
[fr24feed] 2023-04-16 13:41:54 | 23-04-16 13:41:54.793 [I][http-server.cpp:270] [httpd]Server started, listening on :::8754
 You are running the latest version of this add-on.
[fr24feed] 2023-04-16 13:41:54 | [i]PacketSenderConfiguration::fetch_config(): Yoda configuration for this receiver is disabled
[fr24feed] 2023-04-16 13:41:54 | [d]TLSConnection::ctor(): Enable verify_peer in production code!
[fr24feed] 2023-04-16 13:41:54 | [main][i]Reader thread started
[fr24feed] 2023-04-16 13:41:54 | [master][i]Starting processing thread
[fr24feed] 2023-04-16 13:41:54 | [time][i]Synchronizing time via NTP
[fr24feed] 2023-04-16 13:41:54 | [reader][i]Initializing reader
[fr24feed] 2023-04-16 13:41:54 | [reader][i]Connecting to unknown receiver via (tcp://127.0.0.1:30005)
[fr24feed] 2023-04-16 13:41:54 | BeastBase::connectTcp(): Unable go connect, error: Connection refused[reader][e]Could not connect to tcp://127.0.0.1:30005
 System: Home Assistant OS 9.5  (amd64 / qemux86-64)
 Home Assistant Core: 2023.4.1
 Home Assistant Supervisor: 2023.04.0
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service banner successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
[fr24feed] 2023-04-16 13:41:55 | [time][i]Time synchronized correctly, offset -0.000 seconds
[fr24feed] 2023-04-16 13:41:55 | [feed][i]Downloading configuration
[fr24feed] 2023-04-16 13:41:55 | [main][i]Feed Network client started
[fr24feed] 2023-04-16 13:41:55 | [feed][d]fetching configuration
[fr24feed] 2023-04-16 13:41:55 | [feed][i]configuring decoder
[fr24feed] 2023-04-16 13:41:55 | [feed][c]Max range AIR: 350.0nm
[fr24feed] 2023-04-16 13:41:55 | [feed][c]Max range GND: 100.0nm
[fr24feed] 2023-04-16 13:41:55 | [feed][i]configuration changed
[fr24feed] 2023-04-16 13:41:55 | [feed][i]defined 3 servers
[fr24feed] 2023-04-16 13:41:55 | [feed][c]Timestamps: optional
[fr24feed] 2023-04-16 13:41:55 | 23-04-16 13:41:55.307 [I][receiver_ac_sender.cpp:137] Stopping ReceiverACSender threads for feed 
[fr24feed] 2023-04-16 13:41:55 | 23-04-16 13:41:55.307 [D][receiver_ac_sender.cpp:141] Stop called on non-running network thread for feed 
[fr24feed] 2023-04-16 13:41:55 | 23-04-16 13:41:55.307 [I][receiver_ac_sender.cpp:96] Configured ReceiverACSender: 185.218.24.22:8099,185.218.24.23:8099,185.218.24.24:8099, feed: EGHH162, send_interval: 5s/1s, max age: 15s, send metadata: true, mode: 1, filtering: true
[fr24feed] 2023-04-16 13:41:55 | [feed][n][email protected]:8099/UDP
[fr24feed] 2023-04-16 13:41:55 | [feed][n]connecting
[fr24feed] 2023-04-16 13:41:55 | 23-04-16 13:41:55.307 [I][receiver_ac_sender.cpp:36] Network thread connecting to 185.218.24.22:8099 for feed EGHH162
[fr24feed] 2023-04-16 13:41:55 | 23-04-16 13:41:55.307 [I][crxstats.cpp:588] [stats]Stats thread started
[fr24feed] 2023-04-16 13:41:55 | [feed][n]connected via UDP (fd 24)
[fr24feed] 2023-04-16 13:41:55 | [feed][n]working
[fr24feed] 2023-04-16 13:41:59 | [reader][i]Connecting to unknown receiver via (tcp://127.0.0.1:30005)
[fr24feed] 2023-04-16 13:41:59 | BeastBase::connectTcp(): Unable go connect, error: Connection refused[reader][e]Could not connect to tcp://127.0.0.1:30005
[fr24feed] 2023-04-16 13:42:04 | [reader][i]Connecting to unknown receiver via (tcp://127.0.0.1:30005)
[fr24feed] 2023-04-16 13:42:04 | BeastBase::connectTcp(): Unable go connect, error: Connection refused[reader][e]Could not connect to tcp://127.0.0.1:30005

Hello All.
My setup:
Home Assistant installed on an Intel NUC. On this NUC only Home Assistant is running.
I have installed the addon ADS-B Multi-Portal Feeder. The Sharing Key from Flightradar24 I have received and stored in the configuration.
I have plugged the NooElec NESDR stick directly into a USB port of the NUC.

What do I have to do to use the stick on the NUC in Home Assistant. I installed HA without Docker.
I am missing a starting point. Any idea is welcome.
Thank you very much

I installed it 2 days ago. I have it running with FlightRadar24, FlightAware shows me the planes locally on the map, but I can’t share the flights FlightAware doesn’t detect my installation. I claim the installation and it returns the message.
Unfortunately, FlightAware hasn’t found a new, unclaimed PiAware feeder to claim.

Hello,

Any idea how to deal with multiple hex codes? I have implemented this (thank you!) but I any get the “parent” hex, not the list.

Can someone please help me? ADS-B Multi Portal Feeder is running fine so far. Unfortunately, I can’t get the sharing key for Radarbox. I have tried everything. It just does not work. What can I do.

Log-File:
[radarbox-feeder] [2023-06-27 11:25:14] Starting RBFeeder Version 1.0.8 (build 20220708190411)
[radarbox-feeder] [2023-06-27 11:25:14] Using configuration file: /etc/rbfeeder.ini
[radarbox-feeder] [2023-06-27 11:25:14] Network-mode enabled.
[radarbox-feeder] [2023-06-27 11:25:14] Remote host to fetch data: 127.0.0.1
[radarbox-feeder] [2023-06-27 11:25:14] Remote port: 30005
[radarbox-feeder] [2023-06-27 11:25:14] Remote protocol: BEAST

[radarbox-feeder] [2023-06-27 11:25:14] Using GNSS (when available)

[radarbox-feeder] [2023-06-27 11:25:14] Start date/time: 2023-06-27 11:25:14
[radarbox-feeder] [2023-06-27 11:25:14] Socket for ANRB created. Waiting for connections on port 32088

[radarbox-feeder] [2023-06-27 11:25:16] Connection established.
[radarbox-feeder] [2023-06-27 11:25:16] Empty sharing key. We will try to create a new one for you!
[radarbox-feeder] [2023-06-27 11:25:16] CPU Serial empty. Use MAC address instead.

[radarbox-feeder] [2023-06-27 11:25:16] Error creating new Sharing-Key: Could not create sharing-key

[radarbox-feeder] [2023-06-27 11:26:14] ******** Statistics updated every 60 seconds ********
[radarbox-feeder] [2023-06-27 11:26:14] Packets sent in the last 60 seconds: 1, Total packets sent since startup: 1
[radarbox-feeder] [2023-06-27 11:26:14] Data sent: 21 B
[radarbox-feeder] [2023-06-27 11:26:14] Data received: 37 B

etc.

when i try this I get no output. I got a waiting cursor in the terminal only.

docker run -it --rm
-e “SERVICE_ENABLE_RADARBOX=true”
-e “SERVICE_ENABLE_DUMP1090=false”
-e “SERVICE_ENABLE_HTTP=false”
-e “SERVICE_ENABLE_PIAWARE=false”
-e “SERVICE_ENABLE_FR24FEED=false”
-e “HTML_SITE_LAT=45”
-e “HTML_SITE_LON=9”
-e “HTML_SITE_ALT=0”
thomx/fr24feed-piaware /bin/bash

I also can’t get the ADSBEXCHANGE_UUID.

Stop feeding the clowns of adsbexchange :wink:

I tried to get the key again and after 2 days it worked now. I got my key. ADSBFI Mlat on / Radarbox Mlat Off. This brought me the key. Radarbox support told me that there seems to be a problem

who can help?

[radarbox-feeder] Traceback (most recent call last):
[radarbox-feeder] File “/usr/local/share/radarbox-mlat-client/venv/bin/mlat-client”, line 22, in
[radarbox-feeder] import mlat.client.version
[radarbox-feeder] ModuleNotFoundError: No module named ‘mlat’

Radarbox support told me to try this. I guess supo apt wont work

sudo apt purge mlat-client
sudo apt update -y
sudo apt install -y git curl build-essential debhelper python-dev python3-dev
cd
git clone GitHub - mutability/mlat-client: Mode S multilateration client

cd mlat-client
sudo apt install -y dh-python
sudo dpkg-buildpackage -b -uc

cd
sudo dpkg -i mlat-client_*.deb

This was fixed at the upstream with release 1.27.1 - see

and

I am waiting for their images to be built, and will release on my side as 1.27.1.1 - including new sensors <3

1 Like

thank you Max :slight_smile:

It works now :slight_smile:

Hello,
Did you find a solution of this? I have totally the same setup. I have FR24 and rbfeeder on a separate RPi instance. And I want just to use this add-on for a visualization. Add-on is staring properly but there is no info.

I am wanting to put my Flightaware dongle onto a seperate Rpi - running piaware. How do I get the data from it onto my HA instance on a different Rpi? Any help would be appreciated.

in the sensor config, point to the fr24 pi’s address etc
resource: http://192.168.1.153:9988/data/aircraft.json

1 Like