TTN payload_fields


When using the Cayenne integration from The Things Network, I am forced to follow the payload format specified by Cayenne’s LPP. I am however using my own payload format, because my device also talks to other systems.

For simplicity I am using the TTN payload functions on their dashboard to parse my payload. The data then appears in a payload_fields json object when I receive the data through the normal channels (MQTT).

I expected that Cayenne also received this same json object, not only the raw payload. Why does Cayenne not plot the values of all the fields under payload_fields, without trying to parse the raw payload itself?

An example of the JSON my other systems receive from TTN when a packet is received from one of my LoRaWAN devices:

	"app_id": "jpm_temp_hum",
	"dev_id": "1284p_dht22_001",
	"hardware_serial": "002B13946D4F67CA",
	"port": 1,
	"counter": 13,
	"payload_raw": "AZ8A54c=",
	"payload_fields": {
		"humidity": 41.5,
		"temperature": 23.1
	"metadata": {
		"time": "2017-04-03T15:14:43.072975408Z",
		"frequency": 868.1,
		"modulation": "LORA",
		"data_rate": "SF7BW125",
		"coding_rate": "4/5",
		"gateways": [{
			"gtw_id": "eui-aa555a000806053f",
			"timestamp": 3016629843,
			"time": "2017-04-03T15:14:42.750351Z",
			"channel": 0,
			"rssi": -115,
			"snr": 2.5,
			"rf_chain": 1,
			"latitude": 52.22121,
			"longitude": 6.8857374,
			"altitude": 66
		}, {
			"gtw_id": "eui-1dee039aac75c307",
			"timestamp": 2828515563,
			"time": "",
			"channel": 0,
			"rssi": -115,
			"snr": 3.2,
			"rf_chain": 1,
			"latitude": 52.216637,
			"longitude": 6.9006734,
			"altitude": 100