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

Okey… Everything is running smooth and fine here… :slight_smile:
Did manage to got hold of another RTL-SDR dongle and installed Thom-X docker image on it, did put it on the other side of my house improving the coverage.

Is there any way to include that RTL to the add-on?

Here is a nice Lovelace card for monitoring your data. For the data, you will need @ exxamalte’s excellent sensors

image
Media used to download from the bottom of this page Press | Flightradar24 Blog.
Make sure you download the png file and copy it into the \yourhomeassistantip\config\www folder.
Code for a static pic without any action and aircraft uploaded for the last 24hours graph

type: entities
entities:
  - entity: sensor.fr24_feeder_aircraft_tracked
    icon: mdi:airplane-marker
  - entity: sensor.fr24_feeder_aircraft_uploaded
    icon: mdi:airplane-check
  - entity: binary_sensor.fr24_feeder_link_connected
  - entity: sensor.fr24_feeder_radar_code
    icon: mdi:radar
  - entity: binary_sensor.fr24_feeder_receiver_connected
  - entity: sensor.fr24_feeder_version
header:
  type: picture
  image: /local/flightradar24_logo_transparent.png
  tap_action:
    action: none
  hold_action:
    action: none
footer:
  type: graph
  entity: sensor.fr24_feeder_aircraft_uploaded
  detail: 2

This is with a clickable pic to your local Fr24 page. Remember to change your homeassistantip to your home assistant IP and Fr24 local server.

also enable color icons based on state.

type: entities
entities:
  - entity: sensor.fr24_feeder_aircraft_tracked
    icon: mdi:airplane-marker
  - entity: sensor.fr24_feeder_aircraft_uploaded
    icon: mdi:airplane-check
  - entity: binary_sensor.fr24_feeder_link_connected
  - entity: sensor.fr24_feeder_radar_code
    icon: mdi:radar
  - entity: binary_sensor.fr24_feeder_receiver_connected
  - entity: sensor.fr24_feeder_version
header:
  type: picture
  image: /local/flightradar24_logo_transparent.png
  tap_action:
    action: url
    url_path: http://yourhomeassistantip:8123xxxxxx_adsb-multi-portal-feeder/dashboard
  hold_action:
    action: none
footer:
  type: graph
  entity: sensor.fr24_feeder_aircraft_uploaded
  detail: 2
state_color: true
2 Likes

Just installed this and it is working like a charm.
Thanks for the contribution and work put in to all parties concerned.

1 Like

I came across this thing called PlaneFence.

Planefence will create a log of aircraft heard by your Feeder Station that are within a “fence”, that is, less than a certain distance and lower than a certain altitude from your station.

It’s a docker install, went is without issue, working fine thus far.

Nice… Is there any way to get any kind of info from planefence into HA?

direct link to @ exxamalte post with the sensor code as mentioned in OPs message.

Haven’t figured that out yet.

(Not sure if the link is already here somewhere)

I found a nice card that also works great with the add-on: https://github.com/fratsloos/fr24_card


- platform: rest
  name: FR24 Aircraft
  resource: http://f1c878cb-adsb-multi-portal-feeder:8080/data/aircraft.json
  value_template: "{{ value_json.messages }}"
  method: GET
  scan_interval: 15
  json_attributes:
    - now
    - aircraft
1 Like

Is there a way to get this to work if I already have a different pi running piaware?

1 Like

I have a Realtek SDR which works OK with RTL_433 and that Add On is disabled. However, when I run the ADS-B Add On, I get the following in the logs, which suggests it can’t see the SDR dongle. I have my FR24 key configured.

What can I check to get this working?

[fr24feed] 2022-11-15 10:50:27 | [time][i]Synchronizing time via NTP
[fr24feed] 2022-11-15 10:50:27 | [time][i]Time synchronized correctly, offset -0.020 seconds
[fr24feed] 2022-11-15 10:50:27 | [main][i]Feed Network client started
[fr24feed] 2022-11-15 10:50:27 | [feed][i]Downloading configuration
[fr24feed] 2022-11-15 10:50:27 | [feed][d]fetching configuration
[fr24feed] 2022-11-15 10:50:27 | [feed][i]configuring decoder
[fr24feed] 2022-11-15 10:50:27 | [feed][c]Max range AIR: 350.0nm
[fr24feed] 2022-11-15 10:50:27 | [feed][c]Max range GND: 100.0nm
[fr24feed] 2022-11-15 10:50:27 | [feed][i]configuration changed
[fr24feed] 2022-11-15 10:50:27 | [feed][i]defined 3 servers
[fr24feed] 2022-11-15 10:50:27 | [feed][c]Timestamps: optional
[fr24feed] 2022-11-15 10:50:27 | [feed][n][email protected]:8099/UDP
[fr24feed] 2022-11-15 10:50:27 | info | Stopping ReceiverACSender threads for feed 
[fr24feed] 2022-11-15 10:50:27 | info | Configured ReceiverACSender: 185.218.24.22:8099,185.218.24.23:8099,185.218.24.24:8099, feed: EGHH162, send_interval: 5s, max age: 15s, send metadata: true, mode: 1, filtering: true
[fr24feed] 2022-11-15 10:50:27 | [feed][n]connecting
[fr24feed] 2022-11-15 10:50:27 | info | [stats]Stats thread started
[fr24feed] 2022-11-15 10:50:27 | info | Network thread connecting to 185.218.24.22:8099 for feed EGHH162
[fr24feed] 2022-11-15 10:50:27 | [feed][n]connected via UDP (fd 29)
[fr24feed] 2022-11-15 10:50:27 | [feed][i]Feed connected
[fr24feed] 2022-11-15 10:50:27 | [feed][n]working
[fr24feed] 2022-11-15 10:50:30 | [reader][i]Connecting to unknown receiver via (tcp://127.0.0.1:30005)
[fr24feed] 2022-11-15 10:50:30 | [reader][e]Could not connect to tcp://127.0.0.1:30005
[fr24feed] 2022-11-15 10:50:35 | [reader][i]Connecting to unknown receiver via (tcp://127.0.0.1:30005)
[fr24feed] 2022-11-15 10:50:35 | [reader][e]Could not connect to tcp://127.0.0.1:30005

Hi,

I see the ads-b feeder page in sidebar, is very slow to complete the load.
It needs like 10 - 30 seconds to complete, and sometimes fails to load.
Where, host_machine_ip_address:8080, which I setup as dump1090 status site in the addon configuration, is loaded instantly.
What could be the cause?

[update] I have recently deployed nginx proxy and the above issue is gone.

Thank you.

Thanks for making this add on, I used to run flight aware on an old pi and recently upgraded to a pi4 for running home assistant, it will be fantastic to get it running this again, I think my old adsb stick stopped working is there any recommendations for where to purchase a reliable one from in the UK ?

@MaxW Question for this add-on; I’m sure that this option is possible but I have either not written the configuration correctly or something else along those lines.
Using this add-on in Home Assistant OS; Is there a way to have the add-on pull data in one way/shape/form from the FlightFeeder Orange Box?
With this add-on since it creates an ID for uploading data to FlightAware also, is it possible for it to just be a gui for the data obtained by the flightfeeder?


I have no knowledge about the mentioned box, but if it runs the defautl stuff (tar1090, dump1090…) it should be possible.

I have no usb-stick on my box, it is attached to another RPi outside my house. I simply pull the data from it:

When disabling all the feeder options, i would assume it should be possible to just show data and do nothing else.

Hello, first of all thank you for your add on!

I’ve installed it today and run it successfully, I can see multiple aircraft at all time. However, although I filled in the FR24 sharing key, it doesn’t send anything to FlighRadar24. And when I open the feeder setting, I get following state.

The log says following:

System: Home Assistant OS 9.5  (aarch64 / raspberrypi4-64)
 Home Assistant Core: 2023.2.4
 Home Assistant Supervisor: 2023.01.1
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service confd-layers successfully started
s6-rc: info: service confd-html successfully started
s6-rc: info: service http: starting
s6-rc: info: service conf-planefinder successfully started
s6-rc: info: service planefinder: starting
s6-rc: info: service conf-adsbexchange successfully started
s6-rc: info: service adsbexchange-feed: starting
s6-rc: info: service banner successfully started
s6-rc: info: service fr24feed successfully started
s6-rc: info: service piaware successfully started
s6-rc: info: service http successfully started
s6-rc: info: service planefinder successfully started
s6-rc: info: service planefinder-log: starting
s6-rc: info: service adsbexchange-feed successfully started
s6-rc: info: service adsbexchange-stats: starting
s6-rc: info: service adsbexchange-mlat: starting
s6-rc: info: service adsbexchange-stats successfully started
s6-rc: info: service adsbexchange-mlat successfully started
s6-rc: info: service planefinder-log successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
[fr24feed] 2023-02-15 00:10:57 | [e]PacketSenderConfiguration::fetch_config(): Unable to fetch configuration for yoda receiver
[fr24feed] 2023-02-15 00:10:57 | [d]TLSConnection::ctor(): Enable verify_peer in production code!
[fr24feed] 2023-02-15 00:10:57 | [master][i]Starting processing thread
[fr24feed] 2023-02-15 00:10:57 | [reader][i]Initializing reader
[fr24feed] 2023-02-15 00:10:57 | [reader][i]Connecting to unknown receiver via (tcp://127.0.0.1:30005)
[fr24feed] 2023-02-15 00:10:57 | [main][i]Reader thread started
[fr24feed] 2023-02-15 00:10:57 | [reader][i]Connected to the receiver, configuring
[fr24feed] 2023-02-15 00:10:57 | [reader][i]Configured, processing messages
[fr24feed] 2023-02-15 00:10:57 | [reader][i]Timestamp source changed from UNKNOWN to SYSTEM-UNCERTAIN
[fr24feed] 2023-02-15 00:13:27 | [time][i]Synchronizing time via NTP
[fr24feed] 2023-02-15 00:15:57 | [time][e]Failed to synchronize time
[fr24feed] 2023-02-15 00:15:57 | [main][w]Failed to synchronize time, waiting 6 seconds
[fr24feed] 2023-02-15 00:18:33 | [time][i]Synchronizing time via NTP
[fr24feed] 2023-02-15 00:21:03 | [time][e]Failed to synchronize time
[fr24feed] 2023-02-15 00:21:03 | [main][w]Failed to synchronize time, waiting 8 seconds
[fr24feed] 2023-02-15 00:23:41 | [time][i]Synchronizing time via NTP
[fr24feed] 2023-02-15 00:26:11 | [time][e]Failed to synchronize time
[fr24feed] 2023-02-15 00:26:11 | [main][w]Failed to synchronize time, waiting 10 seconds
[fr24feed] 2023-02-15 00:28:52 | [time][i]Synchronizing time via NTP
[fr24feed] 2023-02-15 00:31:22 | [time][e]Failed to synchronize time
[fr24feed] 2023-02-15 00:31:22 | [main][w]Failed to synchronize time, waiting 12 seconds
[fr24feed] 2023-02-15 00:34:04 | [time][i]Synchronizing time via NTP

Does anyone encountered similar issue?
Thanks a lot in advance

Might share your configuration - XXX out all keys etc - please?

That ntp time thing looks sus, you have any internet filters? Firewall blocking outgoing ports etc?

Configuration for your Add-on? It’s pretty simple really, as I did the setup yesterday on freshly new flashed Home Assistant OS, I have following:

SERVICE_ENABLE_DUMP1090: true
SERVICE_ENABLE_PIAWARE: false
SERVICE_ENABLE_FR24FEED: true
SERVICE_ENABLE_HTTP: true
PIAWARE_FEEDER_DASH_ID: ""
FR24FEED_FR24KEY: "xxxxxxxxxxxxxxxx"
ADSBEXCHANGE_UUID: ""
PLANEFINDER_SHARECODE: ""
HTML_SITE_LAT: HOMEASSISTANT_LATITUDE
HTML_SITE_LON: HOMEASSISTANT_LONGITUDE
HTML_DEFAULT_TRACKER: Flightradar24

And that’s all. The rest is unused. I don’t have any particular internet filters, I have standard router from provider, and didn’t fiddle with the setting at all. One thing to add is that my RPi is connected to network just via WiFi as I didn’t want to deal with the cables just to try it.

Alright, so I budged and tried to use Ethernet cable, because I’ve noticed some other widget on the home screen of HA didn’t work although they did when I was setting it up via cable. And now it works all fine. Everything on the feeder screen is green and FR24 received first few aircraft. I really wouldn’t believe it will make such a difference.

Hi there,

I have installed the docker from thomx/fr24feed-piaware on a separate RPi from where I feed FR24 as well.
On an other RPi I have installed Home Assistant and your Add On. Now I want to grap those data and show it in Home Assistant but it doesn’t work. I see the map but it is empty. On my FR24-Pi everything works. I see the planes and the FR24 feeder is online.

As you suggested here is my Add On config:

SERVICE_ENABLE_DUMP1090: true
SERVICE_ENABLE_PIAWARE: false
SERVICE_ENABLE_FR24FEED: false
SERVICE_ENABLE_HTTP: true
PIAWARE_FEEDER_DASH_ID: ""
FR24FEED_FR24KEY: ""
ADSBEXCHANGE_UUID: ""
PLANEFINDER_SHARECODE: ""
HTML_SITE_LAT: HOMEASSISTANT_LATITUDE
HTML_SITE_LON: HOMEASSISTANT_LONGITUDE
HTML_DEFAULT_TRACKER: Flightradar24
DUMP1090_ADDITIONAL_ARGS: >-
  --net-only --mlat --forward-mlat --net-bi-port 30004,30104 --net-bo-port 30005
  --json-location-accuracy 2 --net-heartbeat 30 --fix --fix
DUMP1090_LOCAL_PORT: 30004
DUMP1090_REMOTE_HOST: 192.168.178.131
DUMP1090_REMOTE_PORT: 30005

And here my docker install condig for the dump1090 container:

docker run -d -p 8080:8080 -p 8754:8754 -p 30005:30005 \
	--restart=always \
	--name=docker1090 \
	--device=/dev/bus/usb:/dev/bus/usb \
	-v "/etc/localtime:/etc/localtime:ro" \
	-e "FR24FEED_FR24KEY=9043254c319af0bf" \
	-e "PIAWARE_FEEDER_DASH_ID=MY_FEEDER_ID" \
	-e "HTML_SITE_LAT=52" \
	-e "HTML_SITE_LON=13" \
	-e "HTML_SITE_NAME=MY_SITE_NAME" \
	-e "PANORAMA_ID=MY_PANORAMA_ID" \
	-e "LAYERS_OWM_API_KEY=ff23bdcde4052a52610f56f7b4b78f21" \
	-e "SERVICE_ENABLE_ADSBEXCHANGE=false" \
	-e "ADSBEXCHANGE_UUID=MY_UUID" \
	-e "ADSBEXCHANGE_STATION_NAME=MY_STATION_NAME" \
	-e "MLAT_EXACT_LAT=MY_EXACT_SITE_LAT" \
	-e "MLAT_EXACT_LON=MY_EXACT_SITE_LON" \
	-e "MLAT_ALTITUDE_MSL_METERS=MY_SITE_ALT_MSL_METERS" \
	-e "SERVICE_ENABLE_PLANEFINDER=false" \
	-e "PLANEFINDER_SHARECODE=CODE" \
	-e "HTML_DEFAULT_TRACKER=Flightradar24" \
	--tmpfs /run:exec,size=32M \
	--tmpfs /planefinder/log:exec,size=32M \
	--tmpfs /usr/lib/fr24/public_html/data:size=32M \
	thomx/fr24feed-piaware

What do I miss? Do I have to config special ports on my FR24-RPi? I am not sure how to do it. Maybe you can help me.

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