Example #1
0
    public static function getPeakData($before_date, $after_date)
    {
        $sql = <<<EOF
SELECT device_id, max(value) as avg
FROM l_measurements_history
WHERE captured_at <= '{$before_date}' and captured_at >= '{$after_date}'
GROUP BY device_id ;
EOF;
        $result = \DB::query($sql)->execute()->as_array();
        $peaks = \Model\Dbutil::convertArrayToKeyValue($result, "device_id", "avg");
        return $peaks;
    }
 /**
  * A typical "Hello, Bob!" type example.  This uses a ViewModel to
  * show how to use them.
  *
  * @access  public
  * @return  Response
  */
 public function action_home()
 {
     // get sensors list
     $m_sensor_mains = DB::select("m_sensor_main.*", "m_sensor_information.name", "m_sensor_information.conversion_rate")->from('m_sensor_main')->join('m_sensor_information', 'left')->on('m_sensor_main.m_sensor_information_id', '=', 'm_sensor_information.m_sensor_information_id')->order_by('m_sensor_main.view_order', 'ASC')->execute()->as_array();
     // convert int value
     \Model\Dbutil::recordCastInt($m_sensor_mains);
     // convert to device id list
     $device_ids = \Model\Dbutil::getDeviceIdList($m_sensor_mains);
     // get recent data
     $recents = \Model\Sensors::getRecentRecord($device_ids);
     // get aggregation data
     $aggregations = \Model\Sensors::getAggregation($device_ids);
     // get peaks data
     // $peaks = \Model\Sensors::getPeakSummary($device_ids);
     // attach summary value
     // \Model\Sensors::attachMeasurements($m_sensor_mains, $averages, $peaks);
     // attach recents aggregations data
     \Model\Sensors::attachAggregations($m_sensor_mains, $recents, $aggregations);
     $this->response(array('topic' => array(), 'sensors' => $m_sensor_mains));
 }