diff --git a/objects/sensor_temperature_ambient_obj.c b/objects/sensor_temperature_ambient_obj.c
index 15e5f67..848c786 100644
--- a/objects/sensor_temperature_ambient_obj.c
+++ b/objects/sensor_temperature_ambient_obj.c
@@ -14,18 +14,21 @@
 
 static gchar* i2c_bus = "";
 static gchar* i2c_address = "";
+static gboolean inited = FALSE;
 
 static gboolean
 poll_sensor(gpointer user_data)
 {
+	if (!inited)
+	{
+		return TRUE;
+	}
 	SensorInteger *sensor = object_get_sensor_integer((Object*)user_data);
 	SensorIntegerThreshold *threshold = object_get_sensor_integer_threshold((Object*)user_data);
-
  	guint value = sensor_integer_get_value(sensor);
 	//TOOD:  Change to actually read sensor
 	value = value+1;
-
-	if (heartbeat > 30000)
+	if (heartbeat > 10000)
 	{
 		heartbeat = 0;
 		sensor_integer_emit_heartbeat(sensor,dbus_name);
@@ -40,7 +43,6 @@
     //if changed, set property and emit signal
     if (value != sensor_integer_get_value(sensor))
     {
-       //g_print("Sensor changed\n");
        sensor_integer_set_value(sensor,value);
        sensor_integer_emit_changed(sensor,value);
        check_thresholds(threshold,value);
@@ -48,6 +50,17 @@
     return TRUE;
 }
 
+static gboolean
+on_init         (SensorInteger  *sen,
+                GDBusMethodInvocation  *invocation,
+                gpointer                user_data)
+{
+  inited = TRUE;
+  g_print("Sensor init");
+  sensor_integer_complete_init(sen,invocation);
+  return TRUE;
+}
+
 
 static gboolean
 on_get_units    (SensorInteger  *sen,
@@ -129,6 +142,11 @@
                     "handle-set-config-data",
                     G_CALLBACK (on_set_config),
                     NULL); /* user_data */
+
+ 		g_signal_connect (sensor,
+                    "handle-init",
+                    G_CALLBACK (on_init),
+                    NULL); /* user_data */
  
   		g_signal_connect (threshold,
                     "handle-set",
