Payload error

Payload error

Hola,

Estoy intentando analizar la carga útil pero me envía un error.

¿Podrías decirme qué estoy haciendo mal?

Datos:

[ { "variable": "chirpstack_payload", "value": "{\"devAddr\":\"007cf8e1\",\"fCnt\":2234,\"fPort\":2,\"deduplicationId\": \"47c02bcb-9954-4d0f-b51b-8d5eb34f008d\",\"time\":\"2024-03-30T17:24:49.610374+00:00\",\"deviceInfo\":{\"tenantId\" :\"52f14cd4-c6f1-4fbd-8f87-4025e1d49242\",\"tenantName\":\"Torres de Cantabria - Demostración\",\"applicationId\":\"d5083d60-5e17-4804-bad8-035ef72eaf68\" ,\"applicationName\":\"GPS-TEST\",\"deviceProfileId\":\"ce02dd30-4bd1-427d-83c0-891028694cd3\",\"deviceProfileName\":\"Rak-R4631-R\" ,\"deviceName\":\"Rak-R4631-R demo\",\"devEui\":\"4b7709bb66035c29\",\"deviceClassEnabled\":\"CLASS_A\",\"tags\":{} },\"adr\":true,\"dr\":3,\"confirmado\":true,\"objeto\":{\"temperatura\":31.4,\"batt\":3.6864,\ "humedad\":50.5},\"rxInfo\":[{\"gatewayId\":\"a84041fdfe24d267\",\"uplinkId\":19779,\"gwTime\":\"2024-03-30T17: 24:49.610374+00:00\",\"nsTime\":\"2024-03-30T17:24:49.619464812+00:00\",\"rssi\":-67,\"snr\":13.5 ,\"canal\":3,\"ubicación\":{\"latitud\":9.05185770755688,\"longitud\":-79.42444695514008},\"context\":\"vElwAw==\",\" metadata\":{\"region_common_name\":\"US915\",\"region_config_id\":\"us915_1\"},\"crcStatus\":\"CRC_OK\"},{\"gatewayId\": \"a84041fdfe24d267\",\"uplinkId\":19229,\"gwTime\":\"2024-03-30T17:24:49.610334+00:00\",\"nsTime\":\"2024-03- 30T17:24:49.624227377+00:00\",\"rssi\":-67,\"snr\":13.5,\"canal\":3,\"ubicación\":{\"latitud\": 9.05185770755688,\"longitud\":-79.42444695514008},\"context\":\"vElwAw==\",\"metadatos\":{\"region_common_name\":\"US915\",\"region_config_id\" :\"us915_1\"},\"crcStatus\":\"CRC_OK\"}],\"txInfo\":{\"frecuencia\":904500000,\"modulación\":{\"lora\": {\"bandwidth\":125000,\"spreadingFactor\":7,\"codeRate\":\"CR_4_5\"}}},\"payload\":\"AmhlA2cBOgF0AZA=\"}", "grupo" : "1711819490329" } ]


analizador decodificador:

Try to only search for temperature data and then try to search for all the data.

const rawValues = payload.find(item => item.variable === 'chirpstack_payload'); if (rawValues){ const valueString = rawValues.value; const splitValues = valoresString.split(' '); const código de éxito = valores divididos [0]; const tempF = valores divididos [1]; código de error constante = valores divididos [2]; payload.push({"variable":"código de éxito", "valor": código de éxito}); payload.push({"variable":"temperatura", "valor": tempF, "unidad": "F"}); if (errorCode !== '00') { payload.push ({"variable": "error", "valor": errorCode}); } }