I’m working using Pipedream to get info from my google form to my Helium Device.
I have everything connected and but it’s coming into the Cloud Console as a decoded message. Is the data being encoded BEFORE it makes it into the webhooks or after?
I’m looking to find out what the decode “code” is to input into the Helium Decoder.
In the HTTP trigger, make sure the HTTP Response field is set to Return a custom response from your workflow. It’s the last dropdown item in that screenshot you shared above.
Then in your workflow you can use a Node.js code step to return a response using $.respond that includes the JSON data that Helium expects:
In your case, it might look something like this:
defineComponent({
async run({ steps, $ }) {
await $.respond({
status: 200,
body: { message: "My custom response" }, // This can be any string, object, Buffer, or Readable stream
});
}
});
Awesome !!
What would that look like if I wanted to pass the Timestamp and Untitled_Question though? The data I need to pass through is under “Events”. It also doesn’t have “Payload Raw” as a step.
Here’s the documentation for understanding Step Exports which is the screenshot you shared:
You can use a reference to the steps.trigger.event.Timestamp or steps.trigger.event.Untitled_Question in any steps, which can send an API request to Helium directly.
Alternatively you can process it with a custom Node.js, Python, Go or Bash powered code step or use one of our hundreds of API integrations.
I’m back at it @pierce … a little farther ahead but still stuck in the same spot.
I watched your video which was great. But I’m running into another issue. I’ve included the console log in the code (left), and it’s spitting out the correct details in the “Log” (bottom left). But when it’s received by the Helium console, its returning details about my Helium Device (right) and not the downlink data. I feel like my formatting isn’t correct somewhere.
Any suggestions? This is the last step to wrap this thing up after 4 months.
In my setup I see that it’s posting to the device url. But where does it communicate “what” is being posted to the URL? Could that be the issue? The console log is logging the correct information but I’m not sure how to tell it specifically what information to pass through to the device.