Some Tweeks
This commit is contained in:
parent
c410df1bd6
commit
5d32c2bfa4
@ -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();
|
||||||
|
Loading…
Reference in New Issue
Block a user