# Publishing several fields in one event

**URL:** https://community.particle.io/t/publishing-several-fields-in-one-event/33121
**Category:** Troubleshooting
**Created:** [May 24, 2017, 11:00am UTC](https://community.particle.io/t/publishing-several-fields-in-one-event/33121 "2017-05-24T11:00:48Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![ecabanas](https://avatars.discourse-cdn.com/v4/letter/e/ce73a5/32.png) [@ecabanas](https://community.particle.io/u/ecabanas)
#### Post date: [May 24, 2017, 11:00am UTC](https://community.particle.io/t/publishing-several-fields-in-one-event/33121/1 "2017-05-24T11:00:48Z")

</div>

Hi,

I have 2 sensors that reads and after the data is published. After that we use webhook to send the info to our server.

Every reading does a push, but the problem is we make a lot of pushes from the same machine. Is it possible to publish a string of data? for example

Sensor1: 25.6 Sensor2: 22.6 in one event?

Thank’s

Eduard

---

<div class="post-metadata">

### Author: ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)
#### Post date: [May 24, 2017, 11:22am UTC](https://community.particle.io/t/publishing-several-fields-in-one-event/33121/2 "2017-05-24T11:22:04Z")

</div>

Yes it is and the prefered way is via [`snprintf()`](http://www.cplusplus.com/reference/cstdio/snprintf/?kw=snprintf) and in JSON format.

Just for the records

> [@ecabanas](#):
>
> Is it possible to publish a string of data?

It's not only possible but publishing _strings_ is the _ **only** _ thing that works even with single values 😉

---

<div class="post-metadata">

### Author: ![ecabanas](https://avatars.discourse-cdn.com/v4/letter/e/ce73a5/32.png) [@ecabanas](https://community.particle.io/u/ecabanas)
#### Post date: [May 24, 2017, 1:42pm UTC](https://community.particle.io/t/publishing-several-fields-in-one-event/33121/3 "2017-05-24T13:42:43Z")

</div>

Hi ScruffR

I did what you suggest but the result (json with event Ulatracker) comes with values completely wrong:

You can see the data with vlues without sense:

 ![](https://us1.discourse-cdn.com/flex026/uploads/particle/original/2X/e/eeaa76c85e0cb0de399eadef7db8fee965f0274b.png)

See the code below:

Thank’s for your eternal patience

Eduard

```auto
sensor.read();
double tempeatureFresh = sensor.celsius();
    Particle.publish("tempeatureFresh", String(tempeatureFresh), PRIVATE);
    digitalWrite(D4, LOW);
    

delay(5000);

digitalWrite(D5, HIGH);
//Reading Temperature Frozen
        sensor2.read();
double temperatureFrozen = sensor2.celsius();
    Particle.publish("temperatureFrozen", String(temperatureFrozen), PRIVATE);
    //Particle.publish("temperatureFrozen", String(sensor2.celsius()), PRIVATE);
    digitalWrite(D5, LOW);

//Reading battery level
FuelGauge fuel;
//float batt;
float batt = fuel.getVCell();

sprintf(publishString,"{\"tempeatureFresh\": %u, \"temperatureFrozen\": %u, \"batt\": %u}",tempeatureFresh,temperatureFrozen,batt);
Particle.publish("UlaTracker",publishString);

```

---

<div class="post-metadata">

### Author: ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)
#### Post date: [May 24, 2017, 2:14pm UTC](https://community.particle.io/t/publishing-several-fields-in-one-event/33121/4 "2017-05-24T14:14:25Z")

</div>

For `float` and `double` input variables `snprintf()` would require you to use something like `"%.1f"` instead of `"%u"`.

`snprintf()` uses the same formatting pattern as [`printf()`](http://www.cplusplus.com/reference/cstdio/printf/)  
`%u` stands for unsigned decimal _integer_ - meaning an integer input type not to be confused with the output format.

---

<div class="post-metadata">

### Author: ![ecabanas](https://avatars.discourse-cdn.com/v4/letter/e/ce73a5/32.png) [@ecabanas](https://community.particle.io/u/ecabanas)
#### Post date: [May 24, 2017, 2:20pm UTC](https://community.particle.io/t/publishing-several-fields-in-one-event/33121/5 "2017-05-24T14:20:18Z")

</div>

> [@ScruffR](#):
>
> ble

Hi

I did your changes but I did received the same results.... you know why? thank'ssssss  
sprintf(publishString,"{"tempeatureFresh": %1f, "temperatureFrozen": %.1f, "batt": %1f}",tempeatureFresh,temperatureFrozen,batt);

 ![](https://us1.discourse-cdn.com/flex026/uploads/particle/original/2X/d/dc412ca3a78933932c320ac990d0bd016e560f34.png)

---

<div class="post-metadata">

### Author: ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)
#### Post date: [May 24, 2017, 2:33pm UTC](https://community.particle.io/t/publishing-several-fields-in-one-event/33121/6 "2017-05-24T14:33:29Z")

</div>

You left out the dot (`.`) in two cases to start with, but for more I’d have to look a bit closer - stay tuned.

* * *

_Update:_  
How about this?

```cpp
FuelGauge fuel; // have this declarec globally only once 

void loop() {
  char msg[256]; // max length for publish, shorten to what's required

  sensor.read();
  double temperatureFresh = sensor.celsius();
  Particle.publish("temperatureFresh", String(temperatureFresh), PRIVATE);
  digitalWrite(D4, LOW);
    
  delay(5000);

  digitalWrite(D5, HIGH);
  //Reading Temperature Frozen
  sensor2.read();
  double temperatureFrozen = sensor2.celsius();
  Particle.publish("temperatureFrozen", String(temperatureFrozen), PRIVATE);
  //Particle.publish("temperatureFrozen", String(sensor2.celsius()), PRIVATE);
  digitalWrite(D5, LOW);

  //Reading battery level
  //FuelGauge fuel;
  //float batt;
  float batt = fuel.getVCell();

  snprintf(msg, sizeof(msg), "{\"temperatureFresh\":%.1f,\"temperatureFrozen\":%.1f,\"batt\":%.1f}", temperatureFresh, temperatureFrozen, batt);
  Particle.publish("UlaTracker_test", msg, PRIVATE);
}

```

---

<div class="post-metadata">

### Author: ![wgbartley](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/wgbartley/32/1910_2.png) [@wgbartley](https://community.particle.io/u/wgbartley)
#### Post date: [May 24, 2017, 2:45pm UTC](https://community.particle.io/t/publishing-several-fields-in-one-event/33121/7 "2017-05-24T14:45:33Z")

</div>

Might want to change `tempeatureFresh` to `temperatureFresh`. Missing an “r” in the middle. 😉

---

<div class="post-metadata">

### Author: ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)
#### Post date: [May 24, 2017, 2:47pm UTC](https://community.particle.io/t/publishing-several-fields-in-one-event/33121/8 "2017-05-24T14:47:14Z")

</div>

Done, although that’s only optics as it was written that way at all instances 😉
