detecting Garmin Tempe in FIT as source for temperature when field is native?

I tested my old Garmin Tempe on a run while connected simultaneously to a Fenix and a (v1 original) Vivoactive

Very strange behavior.

The SDK shows Tempe as device 1570

Except that doesn't show up in either of their recordings.

I do see a device 1620 on the vivoactive but that is not documented in the SDK. Does it need to be added?

I know the temperature is working at least on the vivoactive because it doesn't have native temperature and field 13 appears after connection (and the VA announces "Tempe Connected"

(the developer extended datafields are not used)

Now on the Fenix 5 it is handled differently. No device is listed that I can find. The Tempe does not broadcast a serial number (or even voltage, or anything else that I can find)

But it does list a sensor ID both on the Fenix watch itself and inside the FIT that match.

I think sensor IDs are unique yes? To prevent conflicts during mass events with thousands of runners, etc.

So the question is, how do I programattically determine a Tempe is connected to the Fenix and that it's temperature source is not the watch itself but external?

(because I can't use the sensor ID, it's unique)

From the Fenix:

sensor (147, type: 8, length: 139 bytes):
  unknown0 (0-1-UINT32Z): 4xxx108xxx      (is this a serial number?)
  sensor_id (2-16-STRING): "1xxx3xx"        (blanked out on purpose just in case it's an identifier)
  message_index (254-1-UINT16): selected=0,reserved=0,mask=5 (5)       <<<<<------  is this a clue it's a Tempe?
  xxx73 (73-1-UINT16Z): 1
  unknown1 (1-1-UINT8): 0
  unknown3 (3-1-ENUM): 1
  xxx51 (51-1-ENUM): 0
  xxx52 (52-1-UINT8): 6

From the Vivoactive (v1 2015)

device_info (23, type: 3, length: 44 bytes):
  serial_number (3-1-UINT32Z, INVALID): 0
  manufacturer (2-1-UINT16): garmin (1)
  garmin_product (4-1-UINT16, original name: product): 1620
  software_version (5-1-UINT16): 3.30 (330)
  battery_voltage (10-1-UINT16, INVALID): 65535
  ant_device_number (21-1-UINT16Z, INVALID): 0
  device_index (0-1-UINT8): device1 (1)
  device_type (1-1-UINT8): 0
  battery_status (11-1-UINT8, INVALID): 255
  ant_transmission_type (20-1-UINT8Z, INVALID): 0
  ant_network (22-1-ENUM, INVALID): 255
  source_type (25-1-ENUM): local (5)

Actually since the VA says LOCAL and there's no ANT info, is that a sensor on the watch?

Yeah it appears in other recordings without the Tempe. So 1620 must be an internal sensor like GPS

Does the Tempe not even appear in the device or sensor list?

Both my HRM-TRI and STRYD appear on the VA device list with ANT network info.

How can the Tempe be connected and recording if the FIT isn't even aware of it.

Was it maybe a hack by Garmin to record directly as field 13?

What about the Fenix? How do I know if temperature is from the watch or from the Tempe?

By the way, I know the VA3 has an undocumented key press to make a screenshot even without hotkey ability.

Any chance the original VA has screenshot ability undocumented?