MQTT doesn't pick up value

I have the following autodiscovery and value messages displayed in MQTT explorer

Specifically I am looking at these lines:

config = {"name":"Nano33 1 RSSI","uniq_id":"rssi1","unit_of_meas":"%","ic":"mdi:access-point","stat_t":"arduino/nano33_1/heartbeat","val_tpl":"{{value_json.rssi}}", "dev":{"ids":["nano33_1"]}}
config = {"name":"Nano33 1 AP","uniq_id":"ap1","unit_of_meas":"","ic":"mdi:access-point","stat_t":"arduino/nano33_1/heartbeat","val_tpl":"{{value_json.AP}}", "dev":{"ids":["nano33_1"]}}
heartbeat = {"rssi":"33","APmac":"18:e8:29:67:14:22","AP":"Study","uptimeMin":"23","uptimeDay":"0" }

This is what I can see in HA debug

However the AP value displayed in HA is ‘Unknown’.

I suspect this may have something to do with the lack of parenthese in HA debug but I can’t fathom it. Any pointers appreciated. TIA

AP is a string, so it doesn’t need UOM. Delete that and you will be OK.