diff --git a/app/api/EndpointsApi.php b/app/api/EndpointsApi.php index ca419e5..a9c0ece 100644 --- a/app/api/EndpointsApi.php +++ b/app/api/EndpointsApi.php @@ -113,7 +113,7 @@ class EndpointsApi extends ApiController{ } $subDeviceLastReordValue[$key] = $value['value']; - RecordManager::create($device['device_id'], $key, round($value['value'],3)); + RecordManager::create($device['device_id'], $key, round($value['value'],3), 'device'); $logManager->write("[API] Device_ID " . $device['device_id'] . " writed value " . $key . ' ' . $value['value'], LogRecordTypes::INFO); //notification diff --git a/app/api/WidgetApi.php b/app/api/WidgetApi.php index 4b94ca3..7c94d68 100644 --- a/app/api/WidgetApi.php +++ b/app/api/WidgetApi.php @@ -14,7 +14,7 @@ class WidgetApi extends ApiController $subDeviceData = SubDeviceManager::getSubDevice($subDeviceId); if ($subDeviceData['type'] == 'on/off') { $lastValue = RecordManager::getLastRecord($subDeviceData['subdevice_id'])['value']; - RecordManager::create($subDeviceData['device_id'], 'on/off', (int) !$lastValue); + RecordManager::create($subDeviceData['device_id'], 'on/off', (int) !$lastValue, "vue-app"); $response = !$lastValue; } else { throw new Exception("Bad Request", 403); @@ -46,7 +46,7 @@ class WidgetApi extends ApiController $response = null; $subDeviceData = SubDeviceManager::getSubdeviceDetailById($subDeviceId); - + //TODO: zeptat se @Patrik Je Graf Dobře Seřazený na DESC ? $events = RecordManager::getAllRecordForGraph($subDeviceId, $period, $groupBy[$period]); if ( count($events) == 0){ @@ -114,7 +114,7 @@ class WidgetApi extends ApiController ]; - //TODO: Make Cleaner + //TODO: Make Cleaner if (isset(RANGES[$subDeviceData['type']])){ $response['graph']['options']['scales']['yAxes'] = [[ 'ticks' => [ @@ -124,7 +124,7 @@ class WidgetApi extends ApiController ] ]]; } - + $this->response($response); } diff --git a/app/models/GoogleHome.php b/app/models/GoogleHome.php index 4021a52..5f96f31 100644 --- a/app/models/GoogleHome.php +++ b/app/models/GoogleHome.php @@ -27,7 +27,7 @@ class GoogleHome $attributes += $deviceAttributes; } } - + if ($traids < 1) { continue; } @@ -76,7 +76,7 @@ class GoogleHome 'online' => false, 'status' => 'OFFLINE', ]; - + if ($subDevicesData = SubDeviceManager::getAllSubDevices($deviceId['id'])) { foreach ($subDevicesData as $key => $subDeviceData) { $lastRecord = RecordManager::getLastRecord($subDeviceData['subdevice_id']); @@ -249,7 +249,7 @@ class GoogleHome if ($executionCommand['params']['on']) $value = 1; - RecordManager::createWithSubId($subDeviceId, $value); + RecordManager::createWithSubId($subDeviceId, $value, 'google'); $executed = 0; $waiting = 0; @@ -288,7 +288,7 @@ class GoogleHome $value = $executionCommand['params']['thermostatTemperatureSetpoint']; } - RecordManager::createWithSubId($subDeviceId, $value); + RecordManager::createWithSubId($subDeviceId, $value, 'google'); $executed = 0; $waiting = 0; @@ -332,7 +332,7 @@ class GoogleHome $value = RecordManager::getLastRecordNotNull($subDeviceId)['value']; } - RecordManager::createWithSubId($subDeviceId, $value); + RecordManager::createWithSubId($subDeviceId, $value, 'google'); $executed = 0; $waiting = 0; diff --git a/app/models/managers/RecordManager.php b/app/models/managers/RecordManager.php index fd92b50..3b382ed 100644 --- a/app/models/managers/RecordManager.php +++ b/app/models/managers/RecordManager.php @@ -2,16 +2,21 @@ class RecordManager{ public static $records; - public static function createWithSubId ($subDeviceId, $value) { + public static function createWithSubId ($subDeviceId, $value, $origin = false) { try { $record = [ 'execuded' => 1, ]; + Db::edit ('records', $record, 'WHERE subdevice_id = ?', array ($subDeviceId)); $record = array ( 'subdevice_id' => $subDeviceId, 'value' => $value, ); + + if ($origin != false) + $record['Origin'] = $origin; + return Db::add ('records', $record); } catch(PDOException $error) { echo $error->getMessage(); @@ -19,7 +24,7 @@ class RecordManager{ } } - public static function create ($deviceId, $type, $value) { + public static function create ($deviceId, $type, $value, $origin = false) { $subDeviceId = Db::loadOne('SELECT * FROM subdevices WHERE device_id = ? AND type = ?;', array($deviceId, $type))['subdevice_id']; if ($subDeviceId == '') { return false; @@ -42,6 +47,10 @@ class RecordManager{ 'subdevice_id' => $subDeviceId, 'value' => $value, ); + + if ($origin != false) + $record['Origin'] = $origin; + return Db::add ('records', $record); } catch(PDOException $error) { echo $error->getMessage();