Default Decoder for Particle.io Devices
function Decoder(payload, event) {
if (event == "temperature") {
// payload = JSON.parse(payload) // do this if you send JSON
decoded.temperature = parseFloat(payload);
// Particle Diagnostic and Online Status Events
if (event == "spark/device/diagnostics/update") {
payload = JSON.parse(payload);
decoded.cellular_radio_access_technology = payload.device.network.cellular.radio_access_technology;
decoded.cellular_operator = payload.device.network.cellular.operator;
decoded.cellular_signal_strength = payload.device.network.signal.strength;
decoded.cellular_signal_quality = payload.device.network.signal.quality;
} else if (event == "spark/status") {
if (payload == "online") {
decoded.online_status = true;
decoded.online_status = false;
// Array where we store the fields that are being sent to Datacake
// take each field from decoded and convert them to Datacake format
for (var key in decoded) {
if (decoded.hasOwnProperty(key)) {
datacakeFields.push({field: key.toUpperCase(), value: decoded[key]})
// forward data to Datacake