   Serial.print(",");
   Serial.print(REVISION);
   Serial.print(",");
-  Serial.print(VFinal,3);
-  Serial.print(",");
-  Serial.print(IFinal,3);
-  Serial.print(",");
-  Serial.print(VFinal * IFinal,3);
+  Serial.print(VFinal / 1000.0, 3);
+  Serial.print(",");
+  Serial.print(IFinal / 1000.0, 3);
+  Serial.print(",");
+  Serial.print(VFinal * IFinal / 1000.0, 3);
   Serial.print(",");
   Serial.print(digitalRead(RELAYPIN));
   Serial.print(",");

  Serial.print("\n");  
}

float scaleVoltage(float voltage) {
  return ( voltage * 5 * (settings.r1 + settings.r2)) / ( settings.r2 * 1024 );
}

float scaleCurrent(float current) {
  return ( current * 5000 / 1024  - settings.offset) / settings.sensitivity;
}

void resetSleep(long value) {

    else if (cmd == 'D') {
      settings.sensitivity = value;
    }
    else if (cmd == 'T') {
      long value = 0;
      for(long i = 0; i < 1000; i++) {
        value += analogRead(CURRENTPIN);
      }
      int v_out = value * 5.0 / 1024;
      Serial.print("@offset: ");
      Serial.println(v_out);
      settings.offset = int(v_out);
    }
    else if (cmd == 'S') {
      if (value > 0) {
        digitalWrite(RELAYPIN, HIGH);
