How do I properly form a Class C Downlink going to TTS (the things stack)

Hello Ubidot community!

I am playing with a Milesight WS523 Socket and am able to read it splendidly. In fact, I can send downlinks which are processed… unfortunately… on a Class A basis… waits for uplink then magic happens.

But I don’t want a Class A downlink, I want a Class C downlink. And that is where I am stuck in the mud!

My tech stack is: Ubidots Entrep → TTS OpenSource/Linode → Dragino DLS08 Gateway → WS523 Socket.

I know, I know, the problem could be anywhere EXCEPT Ubidots - but I thought somebody might know my issue. I’m using Postman to test the API so truly it isn’t anything to do with Ubidots.

My TTS setup for WS523 is setup w checkbox for Class C. I’m not 100% sure, but it may be that my TTS setup does not really obey Class C. I’ll do more research.

Here is my downlink JSON. It works UNTIL I put in the additional JSON for the class C downlink. I don’t see how to use anything BUT “null” for absolute_time unless Ubidots has a magic variable.

{
“downlinks”: [
{
“frm_payload”: “CAAA/w==”,
“f_port”: 85,
“priority”: “NORMAL”,
“confirmed”: true,
“class_b_c”: {
“gateways”: [
{
“gateway_ids”: {
“gateway_id”: “tx-richland-springs-103”
}
}
],
“absolute_time”:""
}
}
]
}

Hello everyone.

If you add an end node in TTS, but you don’t specify Class C obviously it will be Class A.
If you go back into TTS console and select Class C in the End-Device->General settings … the changes don’t take effect unless you FORCE a rejoin of the end-node.

Forced a rejoin after selecting Class C.

Behavior of my end-node is much better now!

Cheers,
M

2 Likes

Hello, Marlan

Thank you for the update and the contribution to the community.

Regards,

-Santiago