Cleanup
[ampy.git] / html / ampy.inc.php
index 947fa665448c477fe44a53af1aca6b90854c2d03..050319f53c7db4fa051cf141fbcb21beea6a5b62 100644 (file)
@@ -36,6 +36,7 @@ function ampy_get_old_counter_info() {
 
 /*
  * Returns how many kWh have been spent since a date.
+ * The information is based on what has been recorded in the RRD database.
  * @param mtime seconds since epoch
  * @return float kW.h
  */
@@ -61,6 +62,12 @@ function ampy_get_kwh_since($mtime) {
 
 }
 
+/*
+ * Get counter current value
+ * The value is based on:
+ *  last value stored in counter file + ampy_get_kwh_since
+ * @return float kWh on the counter.
+ */
 function ampy_get_counter() {
        $counter_mtime = ampy_get_old_counter_info();
        $counter = $counter_mtime[0];
@@ -71,4 +78,30 @@ function ampy_get_counter() {
 
        return $counter;
 }
+
+/*
+ * Return all the information.
+ * Make sure you call ampy_flush_rrd_daemon() first if you need real time
+ * value.
+ * @return array['lastupdate'=>timestamps,
+ *               'watts'=>last_watt_value,
+ *               'counter'=>total_kWh,
+ */
+function ampy_get_info() {
+       $info=rrd_lastupdate(RRDFILE);
+       if ($info === FALSE)
+               $result=[
+                       //'last_update' => 'unknown',
+                       //'watts' => 'unknown',
+                       'error' => rrd_error(),
+               ];
+       else
+               $result=[
+                       'last_update' => $info['last_update'],
+                       'watts' => (double)$info['data'][0],
+               ];
+
+       $result['counter'] = ampy_get_counter();
+       return $result;
+}
 ?>