I send data to thingspeak from my own server (a route on Hologram calls the php script) using:
https://api.thingspeak.com/update?api_key=APIKEY&field1=$temp&field2=$volts
From my playing with thingspeak it wants stuff coming in as fields, you then set up what each field means on your channel.
So if you’re trying to set up a route then on your dash/whatever you’d construct the outgoing message as JSON.
HologramCloud.print("{ \"p\":");
HologramCloud.print(Pi); // i.e. the variable with 83.3 in it
HologramCloud.print(", \"v\":");
HologramCloud.print(Vent); // 78.3
HologramCloud.print(", \"a\":");
HologramCloud.print(Ambient); // 77.5
HologramCloud.print(",\"e\":");
HologramCloud.print(EnclT); // 29.0
HologramCloud.print(",\"d\":");
HologramCloud.print(DI); // 0 or 1
HologramCloud.print("}");
HologramCloud.attachTag("TS"); // whatever your topic is
HologramCloud.sendMessage();
HologramCloud.clear();
That should result in JSON (just use numbers, not 83.3F) that looks like:
{"p":83.3, "v":78.3, "a":77.5, "e":29.0, "d":1}
Then in your route with a “TS” topic the destination URL could look like:
https://api.thingspeak.com/update?api_key=APIKEY&field1=<<decdata.p>>&field2=<<decdata.v>>&field3=<<decdata.a>>&field4=<<decdata.e>>&field5=<<decdata.d>>
There’s surely other ways to do this, but that’s what comes to mind.