Some Tweeks
This commit is contained in:
		| @@ -1,7 +1,9 @@ | |||||||
| <?php | <?php | ||||||
| class WidgetApi extends ApiController{ | class WidgetApi extends ApiController | ||||||
|  | { | ||||||
|  |  | ||||||
| 	public function run($subDeviceId){ | 	public function run($subDeviceId) | ||||||
|  | 	{ | ||||||
| 		//$this->requireAuth(); | 		//$this->requireAuth(); | ||||||
|  |  | ||||||
| 		$response = null; | 		$response = null; | ||||||
| @@ -10,7 +12,7 @@ class WidgetApi extends ApiController{ | |||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		$subDeviceData = SubDeviceManager::getSubDevice($subDeviceId); | 		$subDeviceData = SubDeviceManager::getSubDevice($subDeviceId); | ||||||
| 		if ($subDeviceData['type'] == 'on/off'){ | 		if ($subDeviceData['type'] == 'on/off') { | ||||||
| 			$lastValue = RecordManager::getLastRecord($subDeviceData['subdevice_id'])['value']; | 			$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); | ||||||
| 			$response = !$lastValue; | 			$response = !$lastValue; | ||||||
| @@ -20,7 +22,7 @@ class WidgetApi extends ApiController{ | |||||||
|  |  | ||||||
| 		$i = 0; | 		$i = 0; | ||||||
| 		$timeout = 20; | 		$timeout = 20; | ||||||
| 		while (RecordManager::getLastRecord($subDeviceId)['execuded'] == 0){ | 		while (RecordManager::getLastRecord($subDeviceId)['execuded'] == 0) { | ||||||
| 			if ($i == $timeout) { | 			if ($i == $timeout) { | ||||||
| 				throw new Exception("Timeout", 444); | 				throw new Exception("Timeout", 444); | ||||||
| 			} | 			} | ||||||
| @@ -30,7 +32,8 @@ class WidgetApi extends ApiController{ | |||||||
| 		$this->response(['value' => $response]); | 		$this->response(['value' => $response]); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	public function detail($subDeviceId){ | 	public function detail($subDeviceId) | ||||||
|  | 	{ | ||||||
| 		//$this->requireAuth(); | 		//$this->requireAuth(); | ||||||
| 		$response = null; | 		$response = null; | ||||||
| 		$connectionError = true; | 		$connectionError = true; | ||||||
| @@ -52,28 +55,29 @@ class WidgetApi extends ApiController{ | |||||||
| 			$subDeviceData['type'] == "on/off" || | 			$subDeviceData['type'] == "on/off" || | ||||||
| 			$subDeviceData['type'] == "door" || | 			$subDeviceData['type'] == "door" || | ||||||
| 			$subDeviceData['type'] == "wather" | 			$subDeviceData['type'] == "wather" | ||||||
| 			) { | 		) { | ||||||
| 				$connectionError = false; | 			$connectionError = false; | ||||||
| 			} | 		} | ||||||
|  |  | ||||||
| 			$labels = []; | 		$labels = []; | ||||||
| 			$values = []; | 		$values = []; | ||||||
| 			foreach ($events as $key => $event) { | 		foreach ($events as $key => $event) { | ||||||
| 				$recordDatetime = new DateTime($event['time']); | 			$recordDatetime = new DateTime($event['time']); | ||||||
| 				$labels[] = $recordDatetime->format('H:i'); | 			$labels[] = $recordDatetime->format('H:i'); | ||||||
| 				$values[] = [ | 			$values[] = [ | ||||||
| 					'y' => $event['value'], | 				'y' => $event['value'], | ||||||
| 					't' => $recordDatetime->getTimestamp()*1000, | 				't' => $recordDatetime->getTimestamp() * 1000, | ||||||
| 				]; | 			]; | ||||||
| 			} | 		} | ||||||
|  |  | ||||||
| 			$response = [ | 		$response = [ | ||||||
| 				'records'=> $events, | 			'records' => $events, | ||||||
| 				'graph'=> [ | 			'graph' => [ | ||||||
|  | 				'data' => [ | ||||||
| 					'labels' => $labels, | 					'labels' => $labels, | ||||||
| 					'data' => [ | 					'dataset' => $values | ||||||
| 						'dataset' => $values | 				], | ||||||
| 					], | 				'options' => [ | ||||||
| 					'scales' => [ | 					'scales' => [ | ||||||
| 						'xAxis' => [ | 						'xAxis' => [ | ||||||
| 							'type' => 'time', | 							'type' => 'time', | ||||||
| @@ -97,10 +101,11 @@ class WidgetApi extends ApiController{ | |||||||
| 						'mode' => true | 						'mode' => true | ||||||
| 					], | 					], | ||||||
| 				], | 				], | ||||||
| 				'comError' => $connectionError, | 			], | ||||||
| 				'lastConnectionTime' => (empty($niceTime) ? "00:00" : $niceTime), | 			'comError' => $connectionError, | ||||||
| 			]; | 			'lastConnectionTime' => (empty($niceTime) ? "00:00" : $niceTime), | ||||||
|  | 		]; | ||||||
|  |  | ||||||
| 			$this->response($response); | 		$this->response($response); | ||||||
| 		} |  | ||||||
| 	} | 	} | ||||||
|  | } | ||||||
|   | |||||||
| @@ -1,22 +1,23 @@ | |||||||
| <?php | <?php | ||||||
| class Covid extends VirtualDeviceManager { | class Covid extends VirtualDeviceManager | ||||||
|  | { | ||||||
| 	private $country_sluig = "czech-republic"; | 	private $country_sluig = "czech-republic"; | ||||||
| 	private $api_uri = 'https://api.covid19api.com/live/country/%s/status/confirmed'; // Your redirect uri | 	private $api_uri = 'https://api.covid19api.com/live/country/%s/status/confirmed'; // Your redirect uri | ||||||
| 	private $virtual_device_name = "Covid"; | 	private $virtual_device_name = "Covid"; | ||||||
|  |  | ||||||
| 	function fetch($url = 'true') | 	function fetch($url = 'true') | ||||||
| 	{ | 	{ | ||||||
|  |  | ||||||
| 		if (DeviceManager::registeret($this->virtual_device_name)) { | 		if (DeviceManager::registeret($this->virtual_device_name)) { | ||||||
| 			$deviceId = DeviceManager::getDeviceByToken($this->virtual_device_name)['device_id']; | 			$deviceId = DeviceManager::getDeviceByToken($this->virtual_device_name)['device_id']; | ||||||
| 			$dataItems = ['Confirmed','Deaths','Recovered','Active']; | 			$dataItems = ['Confirmed', 'Deaths', 'Recovered', 'Active']; | ||||||
| 			foreach ($dataItems as $dataItem) { | 			foreach ($dataItems as $dataItem) { | ||||||
| 				if (!$subDevice = SubDeviceManager::getSubDeviceByMaster($deviceId, strtolower($dataItem))) { | 				if (!$subDevice = SubDeviceManager::getSubDeviceByMaster($deviceId, strtolower($dataItem))) { | ||||||
| 					SubDeviceManager::create($deviceId, strtolower($dataItem), 'Cases'); | 					SubDeviceManager::create($deviceId, strtolower($dataItem), $dataItem); | ||||||
|  | 					sleep(1); | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			if (!$this->fetchEnabled($deviceId,$subDevice['subdevice_id'])) die(); | 			if (!$this->fetchEnabled($deviceId, $subDevice['subdevice_id'])) die(); | ||||||
|  |  | ||||||
| 			$finalUrl = sprintf($this->api_uri, $this->country_sluig); | 			$finalUrl = sprintf($this->api_uri, $this->country_sluig); | ||||||
| 			$json = json_decode(Utilities::CallAPI('GET', $finalUrl, ''), true); | 			$json = json_decode(Utilities::CallAPI('GET', $finalUrl, ''), true); | ||||||
|   | |||||||
| @@ -13,6 +13,7 @@ class OpenWeatherMap extends VirtualDeviceManager | |||||||
| 			$deviceId = DeviceManager::getDeviceByToken($this->virtual_device_name)['device_id']; | 			$deviceId = DeviceManager::getDeviceByToken($this->virtual_device_name)['device_id']; | ||||||
| 			if (!$subDevice = SubDeviceManager::getSubDeviceByMaster($deviceId, $this->subdevice_type)) { | 			if (!$subDevice = SubDeviceManager::getSubDeviceByMaster($deviceId, $this->subdevice_type)) { | ||||||
| 				SubDeviceManager::create($deviceId, $this->subdevice_type, ''); | 				SubDeviceManager::create($deviceId, $this->subdevice_type, ''); | ||||||
|  | 				sleep(1); | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			if (!$this->fetchEnabled($deviceId,$subDevice['subdevice_id'])) die(); | 			if (!$this->fetchEnabled($deviceId,$subDevice['subdevice_id'])) die(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user