Downlink scheduler using JSON doesn't seem to work?

OMG :scream:

I suggested above that you compare & contrast what you have entered against what the documentation says.

Between your implied assumption that the Cayenne dashboard on/off would automagically send the right info to the LoRa-E5, given that nothing in the code processes incoming LPP, and the above statement, I think you’re redefining “travelling hopeful”. JSON is part of the LoRaWAN toolkit so it’s not a topic you can skip over. The same with Base64, the frm_payload you are sending is 010064FF which is NOT LPP format.

The code in OnRxData looks for f_port 2 as you have described and then takes the first byte - so the payload only needs to be one byte.

But as I explained above, your mish-mash of JSON is probably resulting in nothing - something you could look at in the console for the device to see what is being queued - and you could just put 00 or 01 in for the payload. Your use of 02 01 01 bears no resemblance to any TTS documentation or the device code. There is clearly an entry box for the port and no entry box for the length which can be calculated from the payload entry.

You could also look at the device console & gateway to see if any MAC commands are being sent - as those will trigger OnRxData but not provide a user payload.

But without a serial port, you are doing this with both hands tied behind your back.