     return;
   }
 
-  if (lastTime != whenTime) { // if a second has passed
-    when.publish(whenTime);
-
-    // restart the date process:
-    if (!date.running()) {
-      date.begin("date");
-      date.addParameter("+%s");
-      date.run();
-    }
-  }
-  
   float hic = dht.computeHeatIndex(t, h, false);
   Blynk.virtualWrite(1, (int)h);
   Blynk.virtualWrite(2, (int)t);
   Blynk.virtualWrite(3, hic);
 
+  String json = "{\"humidity\":";
+  json += (int32_t)h;
+  json += ",\"temperature\":";
+  json += (int32_t)t;
+  json += ",\"heatIndex\":";
+  json += hic;
+  json += "}";
+  int json_length = json.length() + 1;
+  char data[json_length];
+  json.toCharArray(data, json_length);
+
+  yun.publish(data);
   humidity.publish((int32_t)h);
   temperature.publish((int32_t)t);
   heatIndex.publish(hic);
-
-  //if there's a result from the date process, parse it:
-  while (date.available() > 0) {
-    String timeString = date.readString();
-    lastTime = whenTime;
-    whenTime = timeString.toInt();
-  }
 }
 
 void loop()

#define AIO_SERVER      "<MQTT-SERVER>"
#define AIO_SERVERPORT  1883

Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT);
Adafruit_MQTT_Publish when = Adafruit_MQTT_Publish(&mqtt, "arduino/yun/time");
Adafruit_MQTT_Publish humidity = Adafruit_MQTT_Publish(&mqtt, "arduino/yun/humidity");
Adafruit_MQTT_Publish temperature = Adafruit_MQTT_Publish(&mqtt, "arduino/yun/temperature");
Adafruit_MQTT_Publish heatIndex = Adafruit_MQTT_Publish(&mqtt, "arduino/yun/heatIndex");

void setup()
{

#include <Bridge.h>
#include <BridgeClient.h>

BridgeClient client;

#include <BlynkSimpleYun.h>
