Broadlink Devices Update
|
clearTimeout("bl_dev_update_timer");
callMethod('S1_Main.requestDefence');
callMethod('RM2_Hall.requestTemperature');
callMethod('A1_window.requestSensors');
callMethod('A1_living.requestSensors');
setTimeOut("bl_dev_update_timer","runScript('Broadlink Devices Update');",30);
|
Broadlink Devices Update 1s
|
clearTimeout("bl_dev_update_timer_1s");
callMethod('S1_Main.requestStatus');
setTimeOut("bl_dev_update_timer_1s","runScript('Broadlink Devices Update 1s');",1);
|
Broadlink Devices Update 1s_2
|
clearTimeout("bl_dev_update_timer_1s_2");
callMethod('S1_Main.requestStatus');
setTimeOut("bl_dev_update_timer_1s_2","runScript('Broadlink Devices Update 1s_2');",1.5);
|
Broadlink Devices Update 5s
|
clearTimeout("bl_dev_update_timer_5s");
callMethod('S1_Main.requestAlarm');
callMethod('SPMini_MP760.requestStatus');
callMethod('SPMini_PCTV.requestStatus');
callMethod('HONYARSwitch_Balcony_b1.requestStatus');
callMethod('HONYARSwitch_Balcony_b2.requestStatus');
callMethod('RGB_Corridor.requestStatus');
setTimeOut("bl_dev_update_timer_5s","runScript('Broadlink Devices Update 5s');",5);
|
Broadlink Status History
|
//получить имя и проверить
if(isset($params['name'])) {
$name = $params['name'];
} else { return; }
//получаем тип для подписей
$noAction = '0';
$isAction = '1';
$actionImg = '';
if(isset($params['type'])) {
if($params['type'] == 'door') {
$noAction = 'Дверь закрыта';
$isAction = 'Дверь открыта';
$actionImg = '/cms/scenes/styles/warning/i_door.png';
}
if($params['type'] == 'pir') {
$noAction = 'Нет движения';
$isAction = 'Обнаружено движение';
$actionImg = '/cms/scenes/styles/warning/i_motion.png';
}
if($params['type'] == 'switch') {
$noAction = 'Выключен';
$isAction = 'Включен';
$actionImg = '/cms/scenes/styles/warning/i_light.png';
}
}
//разбить на объект и свойство
$name = explode('.', $name);
//получить объект по имени
$obj = getObject($name[0]);
//получить id свойства
$prop_id = $obj->getPropertyByName($name[1], $obj->class_id, $obj->id);
//получаем VALUE_ID для следующей таблицы
$pvalue = SQLSelectOne("SELECT * FROM pvalues WHERE PROPERTY_ID='".$prop_id."' AND OBJECT_ID='".$obj->id."'");
//получаем таблицу
$arr_s = SQLSelect("SELECT UNIX_TIMESTAMP(ADDED) as ADDED, VALUE FROM phistory WHERE VALUE_ID='".$pvalue['ID']."' ORDER BY ADDED ASC");
//парсим данные в массив, убирая повторы
$data = Array();
$i = 0;
foreach($arr_s as $s) {
if (isset($prev) && $prev != $s['VALUE']) {
$data[$i][0] = date("d.m.Y H:i:s", $s['ADDED']);
$data[$i][1] = $s['VALUE'];
$i++;
}
$prev = $s['VALUE'];
}
//формируем вывод на экран
$st = '<table>';
for($i=count($data)-1; $i>=0; $i--) {
$st .= '<tr style="height: 30px; background-color: '.(($data[$i][1] == 0) ? 'transparent' : 'rgba(128,128,128,0.2)' ).';"><td style="line-height: 30px; padding: 5px 40px;"><span>'.$data[$i][0].' - '.(($data[$i][1] == 0) ? $noAction.' </span>' : $isAction.' </span>'.(($actionImg == '') ? '' : '<img src="'.$actionImg.'" width="24" height="24" style="float: right; margin-top: 3px;"></img>')).'</td></tr>' ;
}
$st .= '</table>';
//ответ
echo ($st);
|