Cannot get downlink webhook from Cayenne to work

Hello…
I have been struggling for days (as I am a HW guy) trying to figure out how to get webhooks working with TTN.

Good afternoon
I have an end node and gateway connected to TTN. I can see messages. I can send downlink mssgs in byte format to node and see results. I can forward (as I found an STM32 video wrt Cayenne and STM32WLE5) info to Cayenne. Finally I have a single Cayenne webhook set up at the Application level on TTN so both downlink and uplink use it.

A few questions:

  1. I am trying to set up a trigger to turn on an LED on end node within Cayenne. I am trying to create a trigger in Cayenne to a webhook…The url for the webhook I use in Cayenne is my endnode device url on TTN. Is this correct?

  2. In TTN under webhook integrations. I have created one integration for both uplink and downlink, is this correct? The Uplink message is checked and “/uplink” was entered here and for Downlink sent this is also checked with “/downlink” placed in the entry field, is this correct?

  3. On Cayenne as mentioned in step 1 I use the end node ttn url address. I then create a Put, is this correct or should I use a Push?

  4. Finally on Cayenne trigger the payload I want to send to operate on Channel 1 of type Digital Output (which is a 1) should this be 01 01 01 (to turn LED on) and 01 01 00 (to turn LED off)?

I’m sure to SW these are simple questions but as a HW person trying to piece this stuff together it is very difficult as there seems to be no really good videos showing how to send stuff from Cayenne to End node (a step by step instruction for those of us with little SW background would be AWESOME)

Thank you

Did you read the previous responses on the other thread?

But whilst I have your attention, as a software guy, what the heck is an impedance matched pair - I can see it in KiCad but my USB doesn’t work - any tips?

Yes I read the previous thread and I read through the documentation but clarity and use cases are not necessarily a strong point wrt to them. People trying to learn about different subjects use forums to help understand how to do things and ask questions. As with any subject questions of the uniformed may be seem silly to those who have an in depth knowledge on the subject but just bcz we are asking doesn’t give you the right to assume we haven’t been trying to figure it out. You might want to keep that in mind and refrain from snarky remarks as they don’t help anyone. To think that the gospel that you put down with pen on this forum couldn’t be misinterpreted or misunderstood is somewhat arrogant on your part. I’d personally rather you just pass by and not reply.

I’m sorry you feel this way.

It was me that got you to the point where you could send the data as a single byte rather than the mixed up JSON you had, which included suggesting that you visit the docs to compare the JSON you’d got with the documentation as well as pointing out that your payload wasn’t formatted as LPP either. Both of which you’ll need to have sorted to on the TTN side for anything coming from Cayenne will work.

So I would have answered your bullet points above but your next step is to turn the JSON format from Cayenne in to the correct byte(s) for your device which is why I asked if you’d read the previous response, because it didn’t seem that you had and were continuing to travel hopeful that something would make the LPP output from Cayenne readable by the STM32WL.

There’s no free pass with IoT, either you are in a big team with different subject matter experts or you become multi-disciplinary - the forum can only do so much to support a hardware person resisting learning data formats.

I apologize for coming off strong…I pretty much am doing this project on my own so I am trying to put in the leg work and at the same time be smart and ask those who have walked before me. I am slowly getting there as I found a link up here in 2020 that seems to suggest some things.

For what it is worth and I still have much research to go about yet as I am confident although I get the response I want I am still missing a few things…

Here is the referenced post…from this I seem to be able to push the button on Cayenne website and see the LED come on and off…Hooray! I will say however that TTN (after I press a button) under type posts “Failed to send webhook” which I am sure signals an issue.

But I do want to say THANK YOU for reaching back out and hopefully no hard feelings…

https://community.mydevices.com/t/cayenne-lpp-2-0/7510

Does this mean you have a button on your dashboard?

If so, how did you add it as there isn’t any obvious info on how to do that in the linked doc.

The setup of a Cayenne integration only requires you to give it an Id for your own convenience - it could be called “my-cayenne-integration” or “p-and-b-sandwich”. All you do by ticking downlink is tell TTN to send a message when a downlink is sent - it has no bearing on the downlink that is sent from Cayenne to the device message queue.

I still think you need to get things processing on the TTN console first but because I’m really not clear of why you are doing some things, here’s some commentary on the above:

  1. Why a trigger, what do you want to achieve with this? The intent of a trigger is to poke a web server when a condition is met - be it your web server or another service like IFTTT - setting it up to send a downlink to a device based on the device sending some data is a rather long loop (just code it in firmware) and will almost certainly not run when you expect due to the slow speed of processing of the free to use Cayenne service.

  2. Create a Cayenne integration yes, I have no idea how Cayenne will process a downlink message that is sent to it, perhaps you should read the TTS docs on what the checkboxes mean, but as above, a web hook integration is only about sending information out, albeit with the potential to add information on how to send a downlink, but that downlink is coming from else where and nothing to do with the checkboxes. You don’t even need a web hook to externally queue a downlink.

  3. Per 1 above, I don’t think this is the functionality you think it’s for.

  4. Get, Put or Push, there’s no box for you to enter your payload value, LPP encoded or raw.

These are not simple questions for a SW person, everyone has to read the docs or be so old that they grok this stuff by intuition which mostly comes with doing enough of most things to be able to divine the intent of the service being used. Adding a button or analog slider isn’t obvious but can be done from the console. If you have a device talking LPP then most of this can unfold in sequence - Cayenne gets an LPP payload with a digital output device, it creates the button for you and then you can click it and a downlink is queued which goes back to the LPP speaking device which then processes it.

Having firmware on your device that doesn’t understand LPP and no serial port should be doable but represents a significant set of technical challenges as somewhere in the system some translation needs to occur.

And as it’s a downlink, which should happen no more than once a fortnight, you need to read the Fair Use Policy so your account remains in good standing as well as understand what happens to a gateway when it transmits and why that’s bad for the devices in range.

As with many other forum queries, it would help if you could explain what the on/off signal will be controlling so there is some context.