 
 void sendEvent() {
   if (doorState == GARAGE_OPEN) {
-    Spark.publish("garage/open", "true", 60, PRIVATE);
+    door_open = "true";
   } else {
-    Spark.publish("garage/open", "false", 60, PRIVATE);
+    door_open = "false";
   }
+
+  String roundedVoltage = doubleToString(voltage, 2);
+
+  // create a json document by hand because string support is weak here
+  String json = "{\"door_open\":";
+  json.concat(door_open);
+  json.concat(", \"voltage\":");
+  json.concat(roundedVoltage);
+  json.concat("}");
+
+  Spark.publish("garage/open", json, 60, PRIVATE);
 }
 
 void loop() {

// Detect if a garage door is open using a magnet door switch.
// Put the switch on the door, send some voltage through it,
// if we get voltage then the door is closed.  If there's nothing

  pinMode(led1, OUTPUT);
  pinMode(door, INPUT);

  Spark.variable("garage/voltage", &sensorValue, DOUBLE);
  Spark.variable("garage/door_open", &door_open, STRING);
  readDoorSensor();
  previousState = doorState;
}

void readDoorSensor() {
  sensorValue = analogRead(door);
  voltage = ((sensorValue * 3.3) / 4095);

  // 3 is a magic number here, coresponds to the voltate I saw with Serial.println()
  if (voltage > 3) {
