<?php

$schema['feeds'] = array(
    'id' => array('type' => 'int(11)', 'Null'=>'NO', 'Key'=>'PRI', 'Extra'=>'auto_increment'),
    'name' => array('type' => 'text'),
    'userid' => array('type' => 'int(11)'),
    'tag' => array('type' => 'text'),
    'time' => array('type' => 'int(10)'),
    'value' => array('type' => 'double'),
    'datatype' => array('type' => 'int(11)', 'Null'=>'NO'),
    'public' => array('type' => 'tinyint(1)', 'default'=>0),
    'size' => array('type' => 'int(11)'),
    'engine' => array('type' => 'int(11)', 'Null'=>'NO', 'default'=>0),
    'processList' => array('type' => 'text')
);

<?php

$schema['feeds'] = array(
    'id' => array('type' => 'int(11)', 'Null'=>'NO', 'Key'=>'PRI', 'Extra'=>'auto_increment'),
    'name' => array('type' => 'text'),
    'userid' => array('type' => 'int(11)'),
    'tag' => array('type' => 'text'),
    'time' => array('type' => 'int(10)'),
    'value' => array('type' => 'float'), // use double for more precision, database space will double
    'datatype' => array('type' => 'int(11)', 'Null'=>'NO'),
    'public' => array('type' => 'tinyint(1)', 'default'=>0),
    'size' => array('type' => 'int(11)'),
    'engine' => array('type' => 'int(11)', 'Null'=>'NO', 'default'=>0),
    'processList' => array('type' => 'text')
);
--- 
+++ 
@@ -6,7 +6,7 @@
     'userid' => array('type' => 'int(11)'),
     'tag' => array('type' => 'text'),
     'time' => array('type' => 'int(10)'),
-    'value' => array('type' => 'float'), // use double for more precision, database space will double
+    'value' => array('type' => 'double'),
     'datatype' => array('type' => 'int(11)', 'Null'=>'NO'),
     'public' => array('type' => 'tinyint(1)', 'default'=>0),
     'size' => array('type' => 'int(11)'),
Change from 'float' to 'double' to reduce rounding

See discussion http://openenergymonitor.org/emon/node/11774#comment-39508
The imprecision of the float value means that the small increments in the 'power to kWh' process continually get rounded, and therefore never increment.