diff --git a/objects/hwmons_barreleye.c b/objects/hwmons_barreleye.c
index af25986..9f26070 100644
--- a/objects/hwmons_barreleye.c
+++ b/objects/hwmons_barreleye.c
@@ -12,9 +12,11 @@
 static GDBusObjectManagerServer *manager = NULL;
 
 typedef struct {
-  gchar* filename;
-  gchar* name;
+  const gchar* filename;
+  const gchar* name;
   int poll_interval;
+  const gchar* units;
+  int scale;
   int fd;
 } HWMON;
 
@@ -23,13 +25,13 @@
 // TODO: Don't hardcode
 //Hardcoded for barreleye
 HWMON hwmons[NUM_HWMONS] = { 
-	(HWMON){"/sys/class/hwmon/hwmon0/temp1_input","temperature/ambient",3000},
-	(HWMON){"/sys/class/hwmon/hwmon1/pwm1","speed/fan0",30000},
-	(HWMON){"/sys/class/hwmon/hwmon1/pwm2","speed/fan1",30000},
-	(HWMON){"/sys/class/hwmon/hwmon1/pwm3","speed/fan2",30000},
-	(HWMON){"/sys/class/hwmon/hwmon2/pwm1","speed/fan3",30000},
-	(HWMON){"/sys/class/hwmon/hwmon2/pwm2","speed/fan4",30000},
-	(HWMON){"/sys/class/hwmon/hwmon2/pwm3","speed/fan5",30000},
+	(HWMON){"/sys/class/hwmon/hwmon0/temp1_input","temperature/ambient",3000,"C",1000},
+	(HWMON){"/sys/class/hwmon/hwmon1/pwm1","speed/fan0",30000,"",1},
+	(HWMON){"/sys/class/hwmon/hwmon1/pwm2","speed/fan1",30000,"",1},
+	(HWMON){"/sys/class/hwmon/hwmon1/pwm3","speed/fan2",30000,"",1},
+	(HWMON){"/sys/class/hwmon/hwmon2/pwm1","speed/fan3",30000,"",1},
+	(HWMON){"/sys/class/hwmon/hwmon2/pwm2","speed/fan4",30000,"",1},
+	(HWMON){"/sys/class/hwmon/hwmon2/pwm3","speed/fan5",30000,"",1},
 };
 
 // Gets the gpio device path from gpio manager object
@@ -86,10 +88,33 @@
 		{
 			g_print("ERROR: Unable to read value: %s\n",filename);
 		} else {
-			guint32 value = atoi(buf);
-			//g_print("%s = %d\n",filename,value);
+			guint32 scale = hwmon_get_scale(hwmon);
+			if (scale == 0)
+			{
+				g_print("ERROR: Invalid scale value of 0\n");
+				scale = 1;
+				
+			}
+			guint32 value = atoi(buf)/scale;
 			GVariant* v = NEW_VARIANT_U(value);
-			sensor_value_set_value(sensor,v);
+			GVariant* old_value = sensor_value_get_value(sensor);
+			bool do_set = false;
+			if (old_value == NULL)
+			{
+				do_set = true;
+			}
+			else
+			{
+				if (GET_VARIANT_U(old_value) != value) { do_set = true; }
+			}
+			if (do_set)
+			{
+				g_print("Sensor changed: %s,%d\n",filename,value);
+				GVariant* v = NEW_VARIANT_U(value);
+				const gchar* units = sensor_value_get_units(sensor);
+				sensor_value_set_value(sensor,v);
+				sensor_value_emit_changed(sensor,v,units);
+			}
 		}
 		close(fd);
 	} else {
@@ -139,8 +164,6 @@
 	int i = 0;
 	for (i=0;i<NUM_HWMONS;i++)
   	{
-		//hwmon_init(connection,&hwmons[i]);
-
 		gchar *s;
 		s = g_strdup_printf ("%s/%s",dbus_object_path,hwmons[i].name);
 		object = object_skeleton_new (s);
@@ -159,6 +182,8 @@
 		g_object_unref (mapper);
 
 		hwmon_set_sysfs_path(hwmon,hwmons[i].filename);
+		hwmon_set_scale(hwmon,hwmons[i].scale);
+		sensor_value_set_units(sensor,hwmons[i].units);
 
 		//define method callbacks here
 		g_signal_connect (sensor,
