Identifying UAT aircraft

I am trying to identify how FlightAware identifies which aircraft are UAT aircraft. I have tried support and they took more than a week to not answer my question.
I want to know specifically what fields in the aircraft.json file identifies an aircraft as a UAT equipped and transmitted aircraft. I have a ADSB and UAT feed and want to tap in to have an easy status.
Looking at ip:8080 and IP:8987 data/aircraft.json the logic makes no sense. I can watch the web interface and then look at the file and the correlation is sketchy at best. For example I can see the 8080 interface and see a UAT aircraft highlight then switch to the 8987 site and it shows as an ADSB data source. If I see a UAT aircraft on 8987 then look at the json file it shows as a adsr aircraft which is a repeater. Bit I can then go to the 8080 site an d it shows as a UAT. Then to muck things up I see a a UAT aircraft on the 8987 site and when I look at the info it is a jet flying at 41k feet and of course it has to be a 1090ES aircraft. UGH
Anyone have any insight into this?

Thanks!

Nothing really specific in aircraft.json; it is the source of that aircraft.json as a whole which tells you. There are two separate aircraft.json files generated by dump1090 and dump978. If you’re looking at an aircraft.json generated by dump1090, it reflects data received on 1090MHz. If it’s in an aircraft.json generated by dump978, it reflects data received on 978MHz.

The browser interface polls both sources of data and tries to assemble that into a single useful view. In theory it should be preferring direct data over rebroadcasts, but maybe that’s not working cleanly in your case.

This is the same explanation I passed on to the support team when they asked me the same question a couple of days ago, maybe something got lost in translation.

If you’re looking directly at the json, the type field may help you distinguish ADS-R retransmissions from direct-from-the-aircraft transmissions. This reflects (amongst other things) the IMF bit in DF18 messages on 1090MHz, and the address qualifier field in the UAT mesage header on 978MHz.

ADS-R can happen in both directions (1090 → 978 and 978 → 1090) and is unpredictable in terms of (a) whether it happens at all and (b) whether you can hear both the aircraft and the rebroadcast at the same time (as they’re completely different signal paths). It also gets complicated for dual-band aircraft (you might be hearing both rebroadcasts and direct-from-aircraft messages on the same band)

If you want a definitive answer about exactly what is being received on what frequency, you may need to go back to the individual messages being received, rather than the aggregated summary in aircraft.json

Interesting. And yes it did get lost … :wink:
So if I understand you correctly then anything in that file on the 8978 port is from the UAT receiver. If I remove any adsr entries then I can say they are UAT directly transmitted? If I do a count of what is left then that should be a count of the aircraft?
What is the relevance of uat_version? If that is populated that means?

Thanks for your help. I am basically doing a poll that lights an led to indicate activity.

Thanks

Yes that probably works

This is the “UAT MOPS VERSION” field that is transmitted as part of the MODE STATUS message element. it indicates the UAT version that the transponder complies with. 1 = DO-282A, 2 = DO-282B. dump978/uat_message.cc at e827042420ac615f9b9993a21535fd7def21f974 · flightaware/dump978 · GitHub