Badgerboard via TTN LoRaWAN not displaying the right values


#1

Thank you for taking the time to submit your bug/issue! Please use the points below as a guide when submitting.

  • Device & model you are using (Ex: Pi 2 Model B or Arduino Uno with W5100 ethernet shield)

  • What dashboard are you using? (Web, iOS, Android)

  • Please describe the bug / issue as detailed as possible. Attaching the code and any relevant screenshots would be very helpful!


#2

I have a Badgerboard LoRaWAN node via The Things Network using the default setup. It shows on the dashboard but aside from the SNR and RSSI, The values it is displaying for Temperature and Humidity are wrong. I checked the payload data and according to Cayenne docs, it should have been fine, but it seems that the data being displayed is offset (the value for temperature displayed is the value for humidity and the value for temperature is not being displayed). Here are the screen shots of the data stream from TTN and the dashboard displaying the wrong info.


#3

Hi @arnoldsb and welcome to the Cayenne Community. If you can share the DevEUI of the device in question, I can look it up in our logs and see if this is an issue with our decoder.


#4

Hi Rsiegel,

My DevEUI is 70B3D5B020035D0F

Regards,


#5

Hi @arnoldsb, thanks for the DevEUI.

After looking in our logs, I think I can see how we got here, though I do have a question at the end of this.

Looking back in our logs to August 4th, I can see we’re receiving base64 payloads like (an example): AWcBIgFoUA==, which converts to hex 01 67 01 22 01 68 50 which is more or less like the payloads in your screenshot. This decodes on our end like this:

[
    {
        "channel": 1,
        "type": "temp",
        "unit": "c",
        "value": 29,
        "name": "Temperature (1)"
    },
    {
        "channel": 1,
        "type": "rel_hum",
        "unit": "p",
        "value": 40,
        "name": "Humidity (1)"
    }
]

The reason why you’re only getting one widget is because you’re sending two different kinds of data both on Channel 1, specified by the bold bytes here: 01 67 01 22 01 68 50

These channels are virtual constructs so you can choose whatever number you like, but they both need to be unique. For example, here is your same payload if I specify the channels 3 & 7 as such: 03 67 01 22 07 68 50

[
{
    "channel": 3,
    "type": "temp",
    "unit": "c",
    "value": 29,
    "name": "Temperature (3)"
},
{
    "channel": 7,
    "type": "rel_hum",
    "unit": "p",
    "value": 40,
    "name": "Humidity (7)"
}
]

If you make that small correction, you should see both widgets created, and with what to me looks like the correct data – it looks like the data collision caused the strange value on your current temperature widget.

Finally, I should note that when looking up your device in the logs, at some point on August 5, your device started repeating the payload (base64) ////q7o= which converts to (hex) ff ff be 80 which isn’t a valid Cayenne LPP payload format.

I’m not sure why this is, perhaps it was a side effect of trying to troubleshoot what you posted here, before you posted? But if you can get the device back to sending payloads like the one I detailed above, with the data sending on unique channels, I suspect you’ll see the 2nd widget appear and everything will be as expected.


#6

Thanks! Completely understand the issue :). Will correct on my end

Regards,


#7

Hi i am sending the Data (0167FFD7) using ACSIP EVB to emulate the Dashboard to display temperature.

But I can see only SNR and RSSI Values.

Please find the screenshots of the data ttn mydevices. Please let me know where is the issue, as i am using the mydevices format.

image


#8

Tagging @croczey to see if he has any ideas.


#9

The ACSIP EVB board actually does not use the Cayenne LPP payload format. The hardware manufacturer requested that we integrate their device using their proprietary payload structure.

However, if you still want to use Cayenne LPP for your application, you can select Cayenne LPP from the device list and add it to your account using your DevEUI: