Extending Cayenne data types


Currently the Cayenne LPP supports a number of data types show in https://mydevices.com/cayenne/docs/lora/#lora-cayenne-low-power-payload-examples-downlink-message

I have a Cayenne capable device that occasionally sends its battery level using a non-standard data type as shown below:

Is there an easy way to add this data type to the cayenne decoder?

If not, is there a custom javascript implementation for the cayenne decoding I could extend to fit any extra data types?

Thank you!


This is (currently) not possible. When devices are not following the defined LPP implementation (https://mydevices.com/cayenne/docs/lora/#lora-cayenne-low-power-payload), then you either have to modify the LoRa App Server source to implement this yourself, or define your own JS custom decoder to handle these cases.


That’s what I figured.

I don’t know how hard it would be to implement within the custom JS but it would be cool to basically have a try catch wrapping the Cayenne decoder so I could say, in case cayenne fails -> try the custom code.