ThingSpeak MQTT omits first field.

2 views (last 30 days)
LJ Boone
LJ Boone on 9 Sep 2020
Commented: Vinod on 16 Sep 2020
Using the ESP-IDF, I am experiencing an issue where I am posting to my thingspeak channel and the first field is omitted. I am recieving data on from subsequent points except for the first one. The payload string for testing is below, creating random numbers to send.
asprintf(&data, "field1=%d&field2=%d&field3=%d&field4=%d", rand()%120, rand()%120, rand()%120, rand()%140);
What is being sent in one post is:
data: field1=60&field2=87&field3=44&field4=111
A JSON export of the data recieved by thingspeak is:
{"created_at":"2020-09-09T19:33:32Z","entry_id":343,"field1":null,"field2":"63","field3":"117","field4":"115\"}","field5":null,"field6":null,"field7":null,"field8":null}]}
Can anyone comment on what can be done to fix this?

Answers (1)

Vinod
Vinod on 10 Sep 2020
Edited: Vinod on 10 Sep 2020
I think it is because you are missing an important separator in your request. Try modifying to
asprintf(&data, "?field1=%d&field2=%d&field3=%d&field4=%d", rand()%120, rand()%120, rand()%120, rand()%140);
Note the "?" before the "field1=".
  6 Comments
Vinod
Vinod on 16 Sep 2020
I was able to use MQTT.fx client to publish all fields. Try as I might, I was unable to reproduce this issue.
Can you confirm with a 3rd party client that publishes to your channel work fine? If you can see the correct publish happening with MQTT.fx, for example, then I would start looking at your code or even the MQTT client you are using to see if it is the cause for what you're seeing.

Sign in to comment.

Communities

More Answers in the  ThingSpeak Community

Categories

Find more on Write Data to Channel in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!