Свойства класса:
Методы класса:
Объекты класса:
Свойства класса:
Методы класса:
Объекты класса:
if (gg('Button1.status')==4706440 && gg('Button1.tik')==0 ) {getURL ("http://192.168.1.73/close"); sg(('Button1.status'), 0); // sleep(1); sg(('Button1.tik'), 1); } if (gg('Button1.status')==4706440 && gg('Button1.tik')==1 ) {getURL ("http://192.168.1.73/stop"); sg(('Button1.status'), 0); //sleep(1); sg(('Button1.tik'), 2); } if (gg('Button1.status')==4706440 && gg('Button1.tik')==2 ) {getURL ("http://192.168.1.73/open"); sg(('Button1.status'), 0); //sleep(1); sg(('Button1.tik'), 0); } if (gg('Button1.status')==4706436 && gg('Button1.tik')==0 ) {getURL ("http://192.168.1.77/close"); sg(('Button1.status'), 0); sleep(1); sg(('Button1.tik'), 1); } if (gg('Button1.status')==4706436 && gg('Button1.tik')==1 ) {getURL ("http://192.168.1.77/stop"); sg(('Button1.status'), 0); sleep(1); sg(('Button1.tik'), 2); } if (gg('Button1.status')==4706436 && gg('Button1.tik')==2 ) {getURL ("http://192.168.1.77/open"); sg(('Button1.status'), 0); sleep(1); sg(('Button1.tik'), 0); }
Свойства класса:
Методы класса:
$volume=round($params['VALUE']); $this->setProperty('volumeLevel',$params['VALUE']); //safe_exec('..\\apps\\nircmd\\nircmdc setsysvolume '.$volume); safe_exec("/usr/bin/amixer -c 0 cset numid=3 $volume"); //say("Изменилась громкость до ".$params['VALUE']." процентов"); $volume2=exec("amixer -c 0 set 'Line Out' ". $volume);
Объекты класса:
$command=mb_strtolower($params['command']); $short_command=''; $dt=recognizeTime($command,$short_command); if (preg_match('/скажи сколько врем/is',$command)) { if ($dt>0) { addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt); say('Задача принята',2); return; } global $voicemode; $voicemode='on'; say('Сейчас '.timeNow(),2); } elseif (preg_match('/сколько время/is',$command)) { if ($dt>0) { addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt); say('Задача принята'); echo $short_command; return; } say('Сейчас '.timeNow(),2); } elseif (preg_match('/повтори (.+)/is',$command,$m) || preg_match('/скажи (.+)/is',$command,$m)) { if ($dt>0) { addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt); say('Задача принята',2); return; } global $voicemode; $voicemode='on'; say($m[1],2); } else { //say('Неизвестная команда...',2); }
say("Отключено питание");
Свойства класса:
Методы класса:
$name='Cron_'.$this->object_title; SQLExec("DELETE FROM jobs WHERE title='".$name."'");
$this->setProperty('LastRun',date('Y-m-d H:i:s'));
Объекты класса:
rs('UNIX');
runScript('matrix'); //sleep (30); //runScript('matrix');
rs('bat');
runScript('OneMin'); runScript('TemTime'); runScript('Electroenerg ');
sg('ThisComputer.pokaz', 'СДАТЬ ПОКАЗАНИЯ');
sg ('NightMode.active', 1);
sg ('NightMode.active', 0);
runScript('5min');
runScript('POGODA');
Свойства класса:
Объекты класса:
Свойства класса:
Методы класса:
//$params["USER_OBJECT"]
//$params["USER_OBJECT"]
Объекты класса:
Свойства класса:
Методы класса:
//$params['t'] $pok=$params['NEW_VALUE']; // получаем текущие показания if (is_numeric($pok)) { $this->setProperty($params['PROPERTY']."_f",round($pok, 0)); } if ($pok>=0){ $this->setProperty("color",'FF0000'); } else { $this->setProperty("color",'0000FF'); } $this->setProperty("updated",time()); $this->setProperty("updatedTime",date("H:i",time())); $this->setProperty("alive",1); $ot=$this->object_title; $alive_timeout=(int)$this->getProperty("aliveTimeOut"); if (!$alive_timeout) { $alive_timeout=30*60; } clearTimeOut($ot."_alive"); setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout); if (!isset($params['h'])) { return; } $old_temp=$this->getProperty('humidity'); $t=round($params['h'],1); if ($t>100) return; $this->setProperty('humidity',$t); if ($params['uptime']) { $this->setProperty('uptime',$params['uptime']); } if ($t>$old_temp) { $d=1; } elseif ($t<$old_temp) { $d=-1; } else { $d=0; } $this->setProperty('direction',$d); $linked_room=$this->getProperty("LinkedRoom"); if ($linked_room) { setGlobal($linked_room.'.Humidity',$t); }
Объекты класса:
Свойства класса:
Методы класса:
$this->setProperty("uptime", $params["UPTIME"]); $this->setProperty("rxbytes", $params["RXBYTES"]); $this->setProperty("txbytes", $params["TXBYTES"]); $this->setProperty("router", $params["ROUTER"]); $this->setProperty("net", $params["NET"]); $this->setProperty("frequency", $params["FREQ"]); $this->setProperty("mode", $params["WIFI_MODE"]); $this->setProperty("rssi", $params["RSSI"]);
Объекты класса:
Свойства класса:
Методы класса:
if ($params['status']) { $this->setProperty('status',$params['status']); } $this->setProperty('updatedTimestamp',time()); $this->setProperty("alive",1); $ot=$this->object_title; $alive_timeout=(int)$this->getProperty("aliveTimeOut"); if (!$alive_timeout) { $alive_timeout=12*60*60; } clearTimeOut($ot."_alive"); setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout);
Свойства класса:
Методы класса:
$this->setProperty('status',$params['status']); // выставляем статус сенсора $this->setProperty('updatedTimestamp',time()); // выставляем время срабатывания сенсора $this->setProperty('alive',1); $ot=$this->object_title; $alive_timeout=(int)$this->getProperty("aliveTimeOut"); if (!$alive_timeout) { $alive_timeout=24*60*60; } clearTimeOut($ot."_alive"); setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout); if ($params['status']) { $this->setProperty('motionDetected',1); clearTimeOut($this->object_title.'_detected'); setTimeOut($this->object_title.'_detected',"setGlobal('".$this->object_title.".motionDetected',0);",30); $linked_room=$this->getProperty('LinkedRoom'); if ($linked_room!='') { callMethod($linked_room.'.onActivity'); } if ($this->object_title=='sensorMovement3' || $this->object_title=='sensorMovementRemote1' || $this->object_title=='sensorMovementRemote2') { //|| $this->object_title=='sensorMovement5' return; // не реагируем на движение в спальне, по ip-сенсорам и по сенсору на втром этаже } ClearTimeOut("nobodyHome"); SetTimeOut("nobodyHome","callMethod('NobodyHomeMode.activate');", 1*60*60); // выполняем если целый час никого не было if (getGlobal('NobodyHomeMode.active')) { callMethod('NobodyHomeMode.deactivate'); } $last_register=registeredEventTime('inhouseMovement'); // проверяем когда в последний раз срабатывало событие "движение внутри дома" registerEvent('inhouseMovement',$this->name,2); // регистрируем событие "движение внутри дома" if (timeBetween('05:00', '12:00') && ((time()-$last_register)>2*60*60)) { runScript('Greeting'); // запускаем скрипт "доброе утро" } }
Свойства класса:
Методы класса:
Объекты класса:
if (gg('MotB.status')==0){if (gg('MotB.z')==0){sg('MotionB.status',0); sg('MotB.z',1);}} if (gg('MotB.status')==1){if (gg('MotB.z')==1){sg('MotionB.status',1); sg('MotB.z',0);}}
//if (gg('MotDv.status')==0){if (gg('MotDv.z')==0){sg('MotionDv.status',0); sg('MotDv.z',1);}} //if (gg('MotDv.status')==1){if (gg('MotDv.z')==1){sg('MotionDv.status',1); sg('MotDv.z',0);}}
if (gg('MotSr.status')==0){if (gg('MotSr.z')==0){sg('MotionSr.status',0); sg('MotSr.z',1);}} if (gg('MotSr.status')==1){if (gg('MotSr.z')==1){sg('MotionSr.status',1); sg('MotSr.z',0);}}
if (gg('MotP.status')==0){if (gg('MotP.z')==0){sg('MotionPr.status',0); sg('MotP.z',1);}} if (gg('MotP.status')==1){if (gg('MotP.z')==1){sg('MotionPr.status',1); sg('MotP.z',0);}}
if (gg('MotZ.status')==0){if (gg('MotZ.z')==0){sg('MotionZ.status',0); sg('MotZ.z',1);}} if (gg('MotZ.status')==1){if (gg('MotZ.z')==1){sg('MotionZ.status',1); sg('MotZ.z',0);}}
if (gg('MotSp.status')==0){if (gg('MotSp.z')==0){sg('MotionSp.status',0); sg('MotSp.z',1);}} if (gg('MotSp.status')==1){if (gg('MotSp.z')==1){sg('MotionSp.status',1); sg('MotSp.z',0);}}
if (gg('MotX.status')==0){sg('MotX.z',1);} if (gg('MotX.status')==1){if (gg('MotX.z')==1){getURL ("http://192.168.1.103/gpio?st=1&pin=12&click=180",0); sg('MotX.z',0);}}
if (gg('MotD.status')==0){if (gg('MotD.z')==0){sg('MotionD.status',0); sg('MotD.z',1);}} if (gg('MotD.status')==1){if (gg('MotD.z')==1){sg('MotionD.status',1); sg('MotD.z',0);}}
if (gg('MotDv.status')==0){if (gg('MotDv.z')==0){sg('MotionDv.status',0); sg('MotDv.z',1);}} if (gg('MotDv.status')==1){if (gg('MotDv.z')==1){sg('MotionDv.status',1); sg('MotDv.z',0);}}
if (gg('MotK.status')==0){if (gg('MotK.z')==0){sg('MotionK.status',0); sg('MotK.z',1);}} if (gg('MotK.status')==1){if (gg('MotK.z')==1){sg('MotionK.status',1); sg('MotK.z',0);}}
Свойства класса:
Методы класса:
$this->setProperty("updated",time()); $this->setProperty("updatedTime",date('H:i')); if ($this->getProperty('active')) { say("Режим ".$this->getProperty('title')." активирован."); } else { say("Режим ".$this->getProperty('title')." выключен."); }
$this->setProperty('active',1);
$this->setProperty('active',0);
Объекты класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/nobodyhomemode_activate.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/nobodyhomemode_deactivate.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/econommode_activate.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/econommode_deactivate.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/darknessmode_activate.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/darknessmode_deactivate.php'); /* end injection of {SDevices} */
setGlobal('minMsgLevel','2'); /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/nightmode_activate.php'); /* end injection of {SDevices} */
setGlobal('minMsgLevel','1'); /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/nightmode_deactivate.php'); /* end injection of {SDevices} */
clearTimeout("myT_cl"); setTimeOut("myT_cl", 'sg("CleaningMode.active", 0);', 600);
Методы класса:
Объекты класса:
include_once(DIR_MODULES.'app_radio/app_radio.class.php'); $app_radio=new app_radio(); if(is_array($params)) { if(isset($params['sta'])) $app_radio->change_station($params['sta'],$app_radio); if(isset($params['cmd'])) $app_radio->control($params['cmd']); if(isset($params['vol'])) $app_radio->set_volume($params['vol'],$app_radio); } else { if($params=='play' || $params=='stop') $app_radio->control($params); else if(strpos($params, "vol")===0) $app_radio->set_volume((int)substr($params,3),$app_radio); else if(strpos($params, "sta:")===0) $app_radio->change_station(substr($params,4),$app_radio); } /* begin injection of {app_radio} */ include_once(DIR_MODULES.'app_radio/app_radio.class.php'); $app_radio = new app_radio(); if(is_array($params)) { foreach($params as $key=>$value) { switch((string)$key) { case 'sta': $app_radio->change_station($params['sta'], $app_radio); break; case 'cmd': $app_radio->control($params['cmd']); break; case 'vol': $app_radio->set_volume($params['vol'], $app_radio); break; default: if($value == 'play' || $value == 'stop') $app_radio->control($value); elseif(strpos($value, 'vol') === 0) $app_radio->set_volume((int)substr($value, 3), $app_radio); elseif(strpos($value, 'sta:') === 0) $app_radio->change_station(substr($value, 4), $app_radio); } } } /* end injection of {app_radio} */
Свойства класса:
Методы класса:
$this->setProperty("status",0); runScript("scene_switch",array("nameobj"=>$this->object_title));
$status=$this->getProperty("status"); if ($status) { $this->callMethod('turnOff'); } else { $this->callMethod('turnOn'); }
$status=$this->getProperty("status"); if ($status) { $this->callMethod('turnOn'); } else { $this->callMethod('turnOff'); }
$this->setProperty("status",1); runScript("scene_switch",array("nameobj"=>$this->object_title));
$status=$this->getProperty("status"); $updT=$this->getProperty("updT"); $room=$this->getProperty("Room"); if ($status==1) { if ($updT==0){ $this->setProperty("updatedTime",date("H:i",time())); // sg('ThisComputer.HomeStatus', date("H:i",time())); // sg('ThisComputer.RoomStatus', $room); //require(DIR_MODULES.'devices/Rooms_updateActivityStatus.php'); $this->setProperty("updT",1); }} if ($status==0) { if ($updT==1){ $this->setProperty("updatedTime",date("H:i",time())); // sg('ThisComputer.HomeStatus', date("H:i",time())); // sg('ThisComputer.RoomStatus', $room); //require(DIR_MODULES.'devices/Rooms_updateActivityStatus.php'); $this->setProperty("updT",0); }}
Объекты класса:
getURL ("http://192.168.1.107/gpio&st=1&pin=15",0);
getURL ("http://192.168.1.107/gpio&st=0&pin=15",0);
getURL ("http://192.168.1.101/gpio&st=1&pin=12",0);
getURL ("http://192.168.1.101/gpio&st=0&pin=12",0);
$status=$this->getProperty("status"); $updT=$this->getProperty("updT"); $room=$this->getProperty("Room"); if ($status==1) { if ($updT==0){ $this->setProperty("updatedTime",date("H:i",time())); //sg('ThisComputer.HomeStatus', date("H:i",time())); // sg('ThisComputer.RoomStatus', $room); getURL ("http://192.168.1.114/gpio&st=1&pin=32",0); $this->setProperty("updT",1); }} if ($status==0) { if ($updT==1){ $this->setProperty("updatedTime",date("H:i",time())); //sg('ThisComputer.HomeStatus', date("H:i",time())); //sg('ThisComputer.RoomStatus', $room); getURL ("http://192.168.1.114/gpio&st=0&pin=32",0); $this->setProperty("updT",0); }}
Свойства класса:
Методы класса:
Объекты класса:
$hex=gg('RGB1.RGB'); sg('RGB1.R', hexdec(substr($hex,1,2)) ); sg('RGB1.G', hexdec(substr($hex,3,2)) ); sg('RGB1.B', hexdec(substr($hex,5,2)) );
$hex=gg('RGB2.RGB'); $R=hexdec(substr($hex,1,2)); sg('RGB2.R', $R); getURL ("http://192.168.1.107/pwm?ch=0&set=$R",0); $G=hexdec(substr($hex,3,2)); sg('RGB2.G', $G); getURL ("http://192.168.1.107/pwm?ch=1&set=$G",0); $B=hexdec(substr($hex,5,2)); sg('RGB2.G', $B); getURL ("http://192.168.1.107/pwm?ch=2&set=$B",0);
$color = sprintf("#%02x%02x%02x", gg('RGB2.R'), gg('RGB2.G'), gg('RGB2.B')); sg('RGB2.color', $color);
Свойства класса:
Методы класса:
//echo "Updated"; /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/Rooms_updateActivityStatus.php'); /* end injection of {SDevices} */
//$this->setProperty('SomebodyHere',0); /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/Rooms_onIdle.php'); /* end injection of {SDevices} */ $this->setProperty('SomebodyHere',0); $this->callMethod("updateActivityStatus");
$vs=gg('NobodyHomeMode.active'); $latestActivity=$this->getProperty('LatestActivity'); $this->setProperty('LatestActivity',time()); $this->setProperty('LatestActivityTime',date('H:i')); if ($vs==0){ sg('ThisComputer.HomeStatus',date('H:i'));} else { sg('ThisComputer.HomeStatus',' ');} if (!$this->getProperty('SomebodyHere')) { $this->setProperty('SomebodyHere',1); $this->callMethod('onNewActivity'); if ((time()-$latestActivity)>1*60*60) { $this->callMethod('onNewActivityLong'); } } /* $camera=$this->getProperty('LinkedCamera'); if ($camera) { callMethod($camera.'.activate'); } */ $ot=$this->object_title; if ($this->getProperty("IdleDelay")) { $activity_timeout=(int)$this->getProperty("IdleDelay"); } else { $activity_timeout=10*60; } clearTimeOut($ot."_activity_timeout"); setTimeOut($ot."_activity_timeout","callMethod('".$ot.".onIdle');",$activity_timeout); $this->callMethod("updateActivityStatus"); if ($this->object_title=='Prihozhaya' && timeBetween('23:00', '06:00')) { return; // не реагируем на движение в коридоре } if (($this->object_title=='Kidroom' || $this->object_title=='GuestRoom' || $this->object_title=='Hall2' || 0 ) && getGlobal('NobodyHomeMode.active')) { return; // не реагируем внутренние датчики, если никого нет дома } ClearTimeOut("nobodyHome"); SetTimeOut("nobodyHome","callMethod('NobodyHomeMode.activate');", 1*60*60); // выполняем если целый час никого не было if (getGlobal('NobodyHomeMode.active')) { callMethod('NobodyHomeMode.deactivate',array('sensor'=>$params['sensor'],'room'=>$ot)); } $last_register=registeredEventTime('inhouseMovement'); // проверяем когда в последний раз срабатывало событие "движение внутри дома" registerEvent('inhouseMovement',$this->name,2); // регистрируем событие "движение внутри дома" if (!$last_register || ((time()-$last_register)>2*60*60)) { // срабатывало более 2х часов назад // if (timeBetween('06:00', '12:00')) { // движение замечено утром // runScript('morningGreeting'); // запускаем скрипт "доброе утро" // } } /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/Rooms_onActivity.php'); /* end injection of {SDevices} */
Объекты класса:
Свойства класса:
Объекты класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDevices_setUpdatedText.php'); /* end injection of {SDevices} */ $ot = $this->object_title; $updatedTime = $this->getProperty('updated'); $passed = time() - $updatedTime; $newTimeout = 0; $passedText = getPassedText($updatedTime); $this->setProperty('updatedText', $passedText); if ($passed < 10) { $newTimeout = 10; } elseif ($passed < 60) { $newTimeout = 10; } elseif ($passed < 60*60) { $newTimeout = 60; } elseif ($passed < 20*60*60) { $newTimeout = 60 * 60; } if ($newTimeout > 0) { setTimeOut($ot . '_updateTime', 'callMethod("' . $ot . '.setUpdatedText");', $newTimeout); }
require(DIR_MODULES.'devices/SDevices_logicAction.php');
/*require(DIR_MODULES.'devices/SDevices_statusUpdated.php'); $status=$this->getProperty("status"); if ($status) { $this->setProperty("updatedTime",date("H:i",time())); } */ /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDevices_statusUpdated.php'); /* end injection of {SDevices} */ $status=$this->getProperty("status"); $updT=$this->getProperty("updT"); $room=$this->getProperty("Room"); if ($status==1) { if ($updT==0){ $this->setProperty("updatedTime",date("H:i",time())); // sg('ThisComputer.HomeStatus', date("H:i",time())); // sg('ThisComputer.RoomStatus', $room); //require(DIR_MODULES.'devices/Rooms_updateActivityStatus.php'); $this->setProperty("updT",1); }} if ($status==0) { if ($updT==1){ $this->setProperty("updatedTime",date("H:i",time())); // sg('ThisComputer.HomeStatus', date("H:i",time())); // sg('ThisComputer.RoomStatus', $room); //require(DIR_MODULES.'devices/Rooms_updateActivityStatus.php'); $this->setProperty("updT",0); }}
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDevices_keepAlive.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDevices_batteryLevelUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDevices_batteryLevelUpdated.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SButtons_pressed.php');
$this->setProperty("status",1); runScript("scene_switch",array("nameobj"=>$this->object_title));
$this->setProperty("status",0); runScript("scene_switch",array("nameobj"=>$this->object_title));
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCameras_takeSeries.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCameras_takeSnapshot.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCameras_motionDetected.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCameras_updatePreview.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SControllers_turnOff.php');
require(DIR_MODULES.'devices/SControllers_switch.php');
require(DIR_MODULES.'devices/SControllers_turnOn.php');
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_fanSpeedUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_thermostatUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_tempUp.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_tempDown.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_configUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_setFanSpeedMode.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_setThermostatMode.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_setTargetTemperature.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
//require(DIR_MODULES.'devices/SDimmers_turnOff.php'); /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDimmers_turnOff.php'); /* end injection of {SDevices} */
//require(DIR_MODULES.'devices/SDimmers_turnOn.php'); /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDimmers_turnOn.php'); /* end injection of {SDevices} */
require(DIR_MODULES.'devices/SDimmers_levelUpdated.php');
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDimmers_statusUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDimmers_levelWorkUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDimmers_setLevel.php'); /* end injection of {SDevices} */
Объекты класса:
$pr=gg('espDimmer02.levelWork'); getURL('http://192.168.1.103/pwm?ch=0&set='.$pr, 0);
getURL ("http://192.168.1.101/pwm?ch=0&set=0",0);
getURL ("http://192.168.1.101/pwm?ch=0&set=255",0);
//$xv=$params['NEW_VALUE']; getURL('http://192.168.1.101/pwm?ch=0&set='.$params['NEW_VALUE'], 0); //getURL ("http://192.168.1.101/pwm?ch=0&set=''.$params['NEW_VALUE'],0);
getURL('http://192.168.1.101/pwm?ch=0&set='.$params['NEW_VALUE'], 0);
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SGroups_turnOn.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SGroups_turnOff.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SGroups_switch.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SGroups_statusUpdated.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLedLamp_turnOn.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLedLamp_colorUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLedLamp_stateUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLedLamp_paramsUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLedLamp_turnOff.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLedLamp_statusUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLedLamp_switch.php'); /* end injection of {SDevices} */
Объекты класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMedias_pause.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMedias_setSource.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMedias_setChannel.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMedias_setVolume.php'); /* end injection of {SDevices} */
Свойства класса:
Объекты класса:
getURL ("http://192.168.1.50/gpio&st=1&pin=12",0);
getURL ("http://192.168.1.50/gpio&st=0&pin=12",0);
getURL ("http://192.168.1.103/gpio&st=1&pin=12",0);
getURL ("http://192.168.1.103/gpio&st=0&pin=12",0);
getURL ("http://192.168.1.109/gpio&st=0&pin=14",0);
getURL ("http://192.168.1.109/gpio&st=1&pin=14",0);
getURL ("http://192.168.1.113/gpio&st=1&pin=12",0);
getURL ("http://192.168.1.113/gpio&st=0&pin=12",0);
getURL ("http://".$this->getProperty("wanip")."/gpio&st=0&pin=12",0); //callAPI('/api/module/yadevices','GET',array('stat//ion'=>2,'say'=>'Свет выключен'));
getURL ("http://".$this->getProperty("wanip")."/gpio&st=1&pin=12",0); //callAPI('/api/module/yadevices','GET',array('stat//ion'=>2,'say'=>'Свет включен'));
getURL ("http://192.168.1.105/gpio&st=0&pin=16",0);
getURL ("http://192.168.1.105/gpio&st=1&pin=16",0);
getURL ("http://192.168.1.103/gpio&st=0&pin=16",0);
getURL ("http://192.168.1.103/gpio&st=1&pin=16",0);
getURL ("http://192.168.1.107/gpio&st=1&pin=16",0);
getURL ("http://192.168.1.107/gpio&st=0&pin=16",0);
getURL ("http://192.168.1.102/gpio&st=1&pin=13",0);
getURL ("http://192.168.1.102/gpio&st=0&pin=13",0);
getURL ("http://192.168.1.109/gpio&st=1&pin=12",0);
getURL ("http://192.168.1.109/gpio&st=0&pin=12",0);
getURL ("http://192.168.1.102/gpio&st=0&pin=12",0);
getURL ("http://192.168.1.102/gpio&st=1&pin=12",0);
getURL ("http://192.168.1.106/gpio&st=0&pin=16",0);
getURL ("http://192.168.1.106/gpio&st=1&pin=16",0);
getURL ("http://192.168.1.51/gpio&st=0&pin=12",0);
getURL ("http://192.168.1.51/gpio&st=1&pin=12",0);
getURL ("http://192.168.1.51/gpio&st=1&pin=13",0);
getURL ("http://192.168.1.51/gpio&st=0&pin=13",0);
getURL ("http://".$this->getProperty("wanip")."/gpio&st=1&pin=2",0);
getURL ("http://".$this->getProperty("wanip")."/gpio&st=0&pin=2",0);
getURL('http://192.168.1.114/gpio?st=1&pin=21', 0); //включаем передачу usleep(100000); getURL ("http://192.168.1.114/uartbrget?data=h0",0); usleep(500000); getURL('http://192.168.1.114/gpio?st=0&pin=21', 0); //выключаем передачу
getURL('http://192.168.1.114/gpio?st=1&pin=21', 0); //включаем передачу usleep(100000); getURL ("http://192.168.1.114/uartbrget?data=h1",0); usleep(500000); getURL('http://192.168.1.114/gpio?st=0&pin=21', 0); //выключаем передачу
getURL('http://192.168.1.114/gpio?st=1&pin=21', 0); //включаем передачу usleep(100000); getURL ("http://192.168.1.114/uartbrget?data=g1",0); usleep(500000); getURL('http://192.168.1.114/gpio?st=0&pin=21', 0); //выключаем передачу
getURL('http://192.168.1.114/gpio?st=1&pin=21', 0); //включаем передачу usleep(100000); getURL ("http://192.168.1.114/uartbrget?data=g0",0); usleep(500000); getURL('http://192.168.1.114/gpio?st=0&pin=21', 0); //выключаем передачу
getURL ("http://192.168.1.112/gpio&st=1&pin=14",0);
getURL ("http://192.168.1.112/gpio&st=0&pin=14",0);
getURL('http://192.168.1.116/uartbrget?data=r1', 0);
getURL('http://192.168.1.116/uartbrget?data=r0', 0);
TuyaScene('5DUUXxmrAS8nfiPU');
TuyaScene('o9Q1K51ySjlBD2VH');
getURL ("http://192.168.1.102/gpio&st=1&pin=14",0);
getURL ("http://192.168.1.102/gpio&st=0&pin=14",0);
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SRGB_turnOff.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SRGB_turnOn.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SRGB_setColor.php'); /* end injection of {SDevices} */ $color = sprintf("#%02x%02x%02x", gg('RGB03.R'), gg('RGB03.G'), gg('RGB03.B')); sg('RGB03.color', $color);
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SRGB_colorUpdated.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_tempDown.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_tempUp.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_statusUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_valueUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_switchEnable.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_enable.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_disable.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_turnOn.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_turnOff.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_setTargetTemperature.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STVs_pause.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STVs_setSource.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STVs_setChannel.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STVs_setVolume.php'); /* end injection of {SDevices} */
Объекты класса:
getURL ("http://192.168.1.50/gpio&st=0&pin=13",0);
getURL ("http://192.168.1.50/gpio&st=1&pin=13",0);
getURL ("http://192.168.1.112/gpio&st=1&pin=16",0);
getURL ("http://192.168.1.112/gpio&st=0&pin=16",0);
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCounters_refreshStats.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCounters_valueWorkUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCounters_valueUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCounters_pulseDetected.php'); /* end injection of {SDevices} */
Свойства класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLeak_statusUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLeak_alert.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLeak_blockSensor.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLeak_unblockSensor.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SMotions_motionDetected.php'); $ot = $this->object_title; $updatedTime = $this->getProperty('updated'); $passed = time() - $updatedTime; $newTimeout = 0; $passedText = getPassedText($updatedTime); $this->setProperty('updatedText', $passedText); if ($passed < 10) { $newTimeout = 10; } elseif ($passed < 60) { $newTimeout = 10; } elseif ($passed < 60*60) { $newTimeout = 60; } elseif ($passed < 20*60*60) { $newTimeout = 60 * 60; } if ($newTimeout > 0) { setTimeOut($ot . '_updateTime', 'callMethod("' . $ot . '.setUpdatedText");', $newTimeout); } /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMotions_motionDetected.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMotions_blockSensor.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMotions_unblockSensor.php'); /* end injection of {SDevices} */
Объекты класса:
clearTimeout("myT_1"); if (gg('AutoMode.active')==1) {getURL ("http://192.168.1.113/gpio&st=1&pin=12",0);} getURL ("http://192.168.1.78:8080/api/set.json?volume=0&type=notification",0); getURL ("http://192.168.1.78:8080/api/set.json?volume=1&type=notification",0);
//if (gg('AutoMode.active')==1){getURL ("http://192.168.1.102/gpio&st=1&pin=14",0);}
//getURL ("http://192.168.1.103/gpio&st=1&pin=12&click=2",0);
//getURL ("http://192.168.1.105/gpio&st=1&pin=16&click=2",0);
//getURL ("http://192.168.1.103/gpio&st=1&pin=12&click=2",0);
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenable_statusUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenable_switch.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenable_open.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenable_close.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenable_setLevel.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenable_levelUpdated.php'); /* end injection of {SDevices} */
Объекты класса:
$new_level = $params['value']; $new_level = 100-$new_level; getURL ("http://192.168.1.73/set?pos=$new_level&addr=1",0);
getURL ("http://192.168.1.73/close?addr=1",0);
getURL ("http://192.168.1.73/open?addr=1",0);
getURL ("http://192.168.1.73/open?addr=2",0);
getURL ("http://192.168.1.73/close?addr=2",0);
$new_level = $params['value']; $new_level = 100-$new_level; getURL ("http://192.168.1.73/set?pos=$new_level&addr=2",0);
getURL ("http://192.168.1.77/close",0);
getURL ("http://192.168.1.77/open",0);
getURL ("http://192.168.1.73/close",0);
getURL ("http://192.168.1.73/open",0);
$new_level = $params['value']; $new_level = 100-$new_level; getURL ("http://192.168.1.77/set?pos=$new_level&addr=1",0);
getURL ("http://192.168.1.77/close?addr=1",0);
getURL ("http://192.168.1.77/open?addr=1",0);
getURL ("http://192.168.1.73/open?addr=0",0);
getURL ("http://192.168.1.73/close?addr=0",0);
$new_level = $params['value']; $new_level = 100-$new_level; getURL ("http://192.168.1.73/set?pos=$new_level&addr=0",0);
getURL ("http://192.168.1.73/open?addr=4",0);
getURL ("http://192.168.1.73/close?addr=4",0);
$new_level = $params['value']; $new_level = 100-$new_level; getURL ("http://192.168.1.73/set?pos=$new_level&addr=4",0);
$new_level = $params['value']; $new_level = 100-$new_level; getURL ("http://192.168.1.77/set?pos=$new_level&addr=0",0);
getURL ("http://192.168.1.77/close?addr=0",0);
getURL ("http://192.168.1.77/open?addr=0",0);
$new_level = $params['value']; $new_level = 100-$new_level; getURL ("http://192.168.1.73/set?pos=$new_level&addr=5",0);
getURL ("http://192.168.1.73/open?addr=5",0);
getURL ("http://192.168.1.73/close?addr=5",0);
getURL ("http://192.168.1.77/open?addr=2",0);
getURL ("http://192.168.1.77/close?addr=2",0);
$new_level = $params['value']; $new_level = 100-$new_level; getURL ("http://192.168.1.77/set?pos=$new_level&addr=2",0);
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SOpenClose_statusUpdated.php'); $ot = $this->object_title; $updatedTime = $this->getProperty('updated'); $passed = time() - $updatedTime; $newTimeout = 0; $passedText = getPassedText($updatedTime); $this->setProperty('updatedText', $passedText); if ($passed < 10) { $newTimeout = 10; } elseif ($passed < 60) { $newTimeout = 10; } elseif ($passed < 60*60) { $newTimeout = 60; } elseif ($passed < 20*60*60) { $newTimeout = 60 * 60; } if ($newTimeout > 0) { setTimeOut($ot . '_updateTime', 'callMethod("' . $ot . '.setUpdatedText");', $newTimeout); } /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenClose_statusUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenClose_blockSensor.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenClose_unblockSensor.php'); /* end injection of {SDevices} */
Объекты класса:
include_once(DIR_MODULES . 'telegram/telegram.class.php'); $telegram_module = new telegram(); $telegram_module->sendMessageToAdmin("дверь"); if (gg('light.value')<200){ if (gg('Prihozhaya.SomebodyHere')==0) { clearTimeout("myT_1"); getURL ("http://192.168.1.113/gpio&st=1&pin=12",0); setTimeOut("myT_1",'getURL("http://192.168.1.113/gpio?st=0&pin=12", 0);',30); }}
include_once(DIR_MODULES . 'telegram/telegram.class.php'); $telegram_module = new telegram(); $telegram_module->sendMessageToAdmin("дверь"); if (gg('light.value')<200){ if (gg('Prihozhaya.SomebodyHere')==0) { clearTimeout("myT_1"); getURL ("http://192.168.1.113/gpio&st=1&pin=12",0); setTimeOut("myT_1",'getURL("http://192.168.1.113/gpio?st=0&pin=12", 0);',30); }}
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SSensors_valueUpdated.php');
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSensors_alert.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSensors_blockSensor.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSensors_unblockSensor.php'); /* end injection of {SDevices} */
Свойства класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLightSensors_valueUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLightSensors_periodMinValueUpdated.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SPowerSensors_loadStatusChanged.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SPowerSensors_valueUpdated.php'); /* end injection of {SDevices} */
Объекты класса:
Объекты класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSmoke_statusUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSmoke_alert.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSmoke_blockSensor.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSmoke_unblockSensor.php'); /* end injection of {SDevices} */
Методы класса:
Объекты класса:
echo "status received: ".$params['status'];
global $voicemode; $voicemode='off'; processCommand($params['message']);
Свойства класса:
Методы класса:
Объекты класса:
$details=array(); $red_state=0; $yellow_state=0; if (!isOnline('Internet')) { $yellow_state=1; $details[]=LANG_GENERAL_NO_INTERNET_ACCESS; } if ($red_state) { $state='red'; $state_title=LANG_GENERAL_RED; } elseif ($yellow_state) { $state='yellow'; $state_title=LANG_GENERAL_YELLOW; } else { $state='green'; $state_title=LANG_GENERAL_GREEN; } $new_details=implode(". ",$details); if ($this->getProperty("stateDetails")!=$new_details) { $this->setProperty('stateDetails',$new_details); } if ($this->getProperty('stateColor')!=$state) { $this->setProperty('stateColor',$state); $this->setProperty('stateTitle',$state_title); if ($state!='green') { say(LANG_GENERAL_COMMUNICATION_STATE." ".LANG_GENERAL_CHANGED_TO." ".$state_title."."); say(implode(". ",$details)); } else { say(LANG_GENERAL_COMMUNICATION_STATE." ".LANG_GENERAL_RESTORED_TO." ".$state_title); } $this->callMethod('stateChanged'); }
$details=array(); $red_state=0; $yellow_state=0; $cycles=array('states'=>'states','main'=>'main','execs'=>'exec','scheduler'=>'scheduler'); foreach($cycles as $k=>$v) { $tm=getGlobal('ThisComputer.cycle_'.$k.'Run'); if (time()-$tm>5*60) { $red_state=1; $details[]=$v." ".LANG_GENERAL_CYCLE." ".LANG_GENERAL_STOPPED."."; } } $cycles=array('ping'=>'ping','webvars'=>'webvars'); foreach($cycles as $k=>$v) { $tm=getGlobal('ThisComputer.cycle_'.$k.'Run'); if (time()-$tm>10*60) { $yellow_state=1; $details[]=$v." ".LANG_GENERAL_CYCLE." ".LANG_GENERAL_STOPPED."."; } } if ($red_state) { $state='red'; $state_title=LANG_GENERAL_RED; } elseif ($yellow_state) { $state='yellow'; $state_title=LANG_GENERAL_YELLOW; } else { $state='green'; $state_title=LANG_GENERAL_GREEN; } $new_details=implode(". ",$details); if ($this->getProperty("stateDetails")!=$new_details) { $this->setProperty('stateDetails',$new_details); } if ($this->getProperty('stateColor')!=$state) { $this->setProperty('stateColor',$state); $this->setProperty('stateTitle',$state_title); if ($state!='green') { //say(LANG_GENERAL_SYSTEM_STATE." ".LANG_GENERAL_CHANGED_TO." ".$state_title."."); //say(implode(". ",$details)); } else { // say(LANG_GENERAL_SYSTEM_STATE." ".LANG_GENERAL_RESTORED_TO." ".$state_title); } $this->callMethod('stateChanged'); } /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/system_checkstate.php'); /* end injection of {SDevices} */
$details=array(); $red_state=0; $yellow_state=0; if ($red_state) { $state='red'; $state_title=LANG_GENERAL_RED; } elseif ($yellow_state) { $state='yellow'; $state_title=LANG_GENERAL_YELLOW; } else { $state='green'; $state_title=LANG_GENERAL_GREEN; } $new_details=implode(". ",$details); if ($this->getProperty("stateDetails")!=$new_details) { $this->setProperty('stateDetails',$new_details); } if ($this->getProperty('stateColor')!=$state) { $this->setProperty('stateColor',$state); $this->setProperty('stateTitle',$state_title); if ($state!='green') { say(LANG_GENERAL_SECURITY_STATE." ".LANG_GENERAL_CHANGED_TO." ".$state_title."."); say(implode(". ",$details)); } else { say(LANG_GENERAL_SECURITY_STATE." ".LANG_GENERAL_RESTORED_TO." ".$state_title); } $this->callMethod('stateChanged'); }
Свойства класса:
Объекты класса:
Свойства класса:
Методы класса:
//$params['t'] $old_temp=$this->getProperty('temp'); $t=round($params['t']*2)/2; $this->setProperty('temp',$t); if ($t>$old_temp) { $d=1; } elseif ($t<$old_temp) { $d=-1; } else { $d=0; } $this->setProperty('temp',$t); $this->setProperty('direction',$d); $this->setProperty("updated",time()); $this->setProperty("updatedTime",date("d.m.Y H:i",time()));
//$params['t'] $old_temp=$this->getProperty('temp'); $t=round($params['t']*2)/2; $this->setProperty('temp',$t); if ($t>$old_temp) { $d=1; } elseif ($t<$old_temp) { $d=-1; } else { $d=0; } $this->setProperty('direction',$d); $this->setProperty("updated",time()); $this->setProperty("updatedTime",date("d.m.Y H:i",time()));
Объекты класса:
Свойства класса:
Методы класса:
//START openweather module $updateTime = gg('ow_setting.updateTime'); if($updateTime > 0) { $count = gg('ow_setting.countTime'); if($count >= $updateTime) { include_once(DIR_MODULES . 'app_openweather/app_openweather.class.php'); $app_openweather = new app_openweather(); $app_openweather->get_weather(gg('ow_city.id')); sg('ow_setting.countTime', 1); } else { $count++; sg('ow_setting.countTime', $count); } } // END openweather module
Объекты класса:
//получение времени $h=(int)date('G',time()); $m=date('i',time()); $d=date('d.m.Y'); //часы с нулем впереди if($h<10) {$h1="0".$h;} else {$h1=$h;}; //--------------- if (isWeekDay()) { } //каждую минуту setGlobal("ThisComputer.timeH",$h); setGlobal("ThisComputer.timeM",$m); if (($h>=8) && getGlobal('clockChimeEnabled')) { if ($m=="00") { // say(timeNow(),1); } } // в час ночи if (($h=1) ) { if ($m=="00") { runScript("voshod"); } } setGlobal('timeNow',date('H:i')); //runScript("pcparam"); //if ($m%2 == 0) {} //runScript('matrix'); $homeStatus=date('H:i'); if (getGlobal('NobodyHomeMode.active')) { $homeStatus.=' Дома никого'; Sg('somebodyHomeText','Никого нет дома или все спят'); } else { $homeStatus.=' Дома кто-то есть'; }
$h=(int)date('G',time()); if (gg('ThisComputer.DateD')!=date("d", time())) { $day[0]="воскресенье"; $day[1]="понедельник"; $day[2]="вторник"; $day[3]="среда"; $day[4]="четверг"; $day[5]="пятница"; $day[6]="суббота"; $month[1]="января"; $monthAlt[1]="ЯНВАРЬ"; $monthShrt[1]="ЯНВ"; $month[2]="февраля"; $monthAlt[2]="ФЕВРАЛЬ"; $monthShrt[2]="ФЕВ"; $month[3]="марта"; $monthAlt[3]="МАРТ"; $monthShrt[3]="МАРТ"; $month[4]="апреля"; $monthAlt[4]="АПРЕЛЬ"; $monthShrt[4]="АПР"; $month[5]="мая"; $monthAlt[5]="МАЙ"; $monthShrt[5]="МАЙ"; $month[6]="июня"; $monthAlt[6]="ИЮНЬ"; $monthShrt[6]="ИЮНЬ"; $month[7]="июля"; $monthAlt[7]="ИЮЛЬ"; $monthShrt[7]="ИЮЛЬ"; $month[8]="августа"; $monthAlt[8]="АВГУСТ"; $monthShrt[8]="АВГ"; $month[9]="сентября"; $monthAlt[9]="СЕНТЯБРЬ"; $monthShrt[9]="СЕН"; $month[10]="октября"; $monthAlt[10]="ОКТЯБРЬ"; $monthShrt[10]="ОКТ"; $month[11]="ноября"; $monthAlt[11]="НОЯБРЬ"; $monthShrt[11]="НБР"; $month[12]="декабря"; $monthAlt[12]="ДЕКАБРЬ"; $monthShrt[12]="ДЕК"; sg("ThisComputer.DateD",date( "d", time())); sg("ThisComputer.DateM",date( "m", time())); sg("ThisComputer.DateY",date( "Y", time())); sg("ThisComputer.Date",date( "d.m.Y", time())); sg("ThisComputer.Day",$day[date("w")]); sg("ThisComputer.Month",$month[date("n")]); sg("ThisComputer.MonthAlt",$monthAlt[date("n")]); sg("ThisComputer.MonthShrt",$monthShrt[date("n")]); sg("ThisComputer.MonthJpg",date( "n", time())); } $h=(int)date('G',time()); //часы с нулем впереди if($h<10) {$h1="0".$h;} else {$h1=$h;}; sg("ThisComputer.timeHH",$h1); rs('RemoveNews');
Свойства класса:
Методы класса:
// МЕТОД delete $todo = $this->getProperty("todo"); $dt = $params["task"]; // получаем номер строки на удаление $td = explode("|", $todo); // Считываем всё в массив for($i = 0; $i < sizeof($td); $i++) { if($i == $dt) { $sayTodo = gg("TodoList.sayTodo"); if ($sayTodo) { say ("Из листа todo удалена задача: ".mb_substr($td[$i], 1)."",($sayTodo-2)); } unset($td[$i]); } } $todo = implode("|", $td); $this->setProperty("todo", $todo); // выполним подготовку для отображения callMethod("TodoList.view");
// МЕТОД new if (isset($params["task"])) { $todo = $this->getProperty("todo"); $mytask = "-".$params["task"]; // строка задачи $sayTodo = gg("TodoList.sayTodo"); if ($sayTodo) { say ("В лист todo добавлена задача: ".$params["task"]."",($sayTodo-2)); } $todo = $todo."|".$mytask; // добавляем с разделителем $this->setProperty("todo", $todo); // выполним подготовку для отображения callMethod("TodoList.view"); }
// МЕТОД check $todo = $this->getProperty("todo"); // установим внутреннюю кодировку символов mb_internal_encoding("UTF-8"); $td = explode("|", $todo); if (isset($params["task"])) { $ct = $params["task"]; for($i = 0; ($i < sizeof($td)); $i++) { // выделим и сохраним первый символ $check = mb_substr($td[$i], 0, 1); // обрежем строку, не будем отображать первый символ + или - $task = mb_substr($td[$i], 1); // если совпадает номер строки if ($i == $ct) { // инвентируем check $check = ($check == "+") ? "-" : "+"; $tcheck = ($check == "+") ? ""выполненно"" : ""не выполнено""; $sayTodo = gg("TodoList.sayTodo"); if ($sayTodo) { say ("Todo задача: ".$task." - отмечена как ".$tcheck,($sayTodo-2)); } } $td[$i] = $check.$task; } $todo = implode("|", $td); $this->setProperty("todo", $todo); } // выполним подготовку для отображения callMethod("TodoList.view");
// МЕТОД view - подготовка кода для отображения $todo = $this->getProperty("todo"); // установим внутреннюю кодировку символов mb_internal_encoding("UTF-8"); $td = explode("|", $todo); $str_cod = '<div id="list"> <div class="new"> <input id="newtask" placeholder="New Item" type="text"> <button onClick="btnRunClicked();" class="fa fa-plus"></button> </div> <div class="list">'; for($i = 1; $i < sizeof($td); $i++) { // выделим и сохраним первый символ $check = mb_substr($td[$i], 0, 1); // обрежем строку, не будем отображать первый символ + или - $task = mb_substr($td[$i], 1); // начинаем формировать код hsl(196,'.(73-24*(($i-1)%2)).'%,50%) $str_cod = $str_cod.' <div class="item" id="taskbox_'.$i.'" style ="background: hsl('.(190+$i*6).',73%,50%);"> <span id="task_'.$i.'"'; // если певый символ "+" то значит задание "выполнено" if ($check == "+") { $str_cod = $str_cod.' class="checked"'; } $str_cod = $str_cod.'>'.$task.'</span>'; $str_cod = $str_cod.' <div class="rightblock"> <button id="check_'.$i.'" class="check fa fa-check" onClick="checkClicked('.$i.');"></button> <button id="delete_'.$i.'" class="delete fa fa-times" onClick="deleteClicked('.$i.');"></button> </div> </div>'; } $str_cod = $str_cod.' </div> </div>'; // записываем получившийся код $this->setProperty("StreamingCodeScene",$str_cod); $str_cod_css = "<style>".$this->getProperty("menuCSS")."</style>"; $str_cod_js = "<script type='text/javascript'>".$this->getProperty("JS")."</script>"; $str_cod = $str_cod_css.$str_cod_js.$str_cod; $this->setProperty("StreamingCodeMenu",$str_cod);
Объекты класса:
// ****************************************************************** // * TO DO app - by Vovix - 09.12.2017 г. - v 3.20 * // ****************************************************************** // создадим класс, объекты и свойства addClass('ToDo'); addClassObject('ToDo','TodoList'); addClassProperty('ToDo','StreamingCodeMenu'); // HTML для меню addClassProperty('ToDo','StreamingCodeScene'); // HTML для сцен addClassProperty('ToDo','menuCSS'); // CSS для меню addClassProperty('ToDo','sceneCSS'); // CSS для сцены addClassProperty('ToDo','JS'); // общий код javascript addClassProperty('ToDo','sayTodo'); // настройка проговаривания (также зависит от общего уровня системы) // например: при TodoList.sayTodo = 0 - проговаривания нет, далее уровень произношения устанавливается // по принципу TodoList.sayTodo минус 2, т.е. при равном 1 будет -1, при 2 будет 0, при 3 будет 1 и т.д. addClassProperty('ToDo','todo'); // сам лист to do // $this->setProperty('todo', '- to do list by Vovix -|-installed, ver 3.20'); $this->setProperty('sayTodo', '2'); // при ThisComputer.minMsgLevel = 0 будет говорить $menuCSS=' @import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css"); #item194 { /* здесь item194 - это номер ID пункта меню в котором он размещен - меняйте на свой! */ padding: 0; } #list { position: relative; /* width: calc(100% + 40px); */ /* margin: 0 -20px 0 -20px; */ width: 100%; margin: 0; } #list .new { width: 100%; height: 50px; padding: 0; margin: 0; } #list .new #newtask { float: left; width: calc(100% - 76px); height: 50px; padding: 0; margin: 0; background: #333333; text-indent: 8px; } #list .new input { font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif; font-size: 14px; color: #FFF; text-align: justify; line-height: normal; outline: 0; border: 0; border-radius: 0px; text-shadow: none; } #list .new #newtask::-webkit-input-placeholder { color: rgba(255, 255, 255, 0.5); } #list .new button { cursor: pointer; float: right; width: 76px; height: 50px; padding: 0; outline: 0; border: 0; border-radius: 0px; margin: -9px 0 0 0; background: #111111; font-size: 24px; color: #FFF; } #list .list .item { clear: both; width: 100%; height: 38px; margin: 0; } #list .list .item span { cursor: default; float: left; width: calc(100% - 76px); height: 20px; padding: 9px 0 0 0; margin: 0; outline: 0; border: 0; background: transparent; text-indent: 8px; font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif; font-size: 14px; color: #FFF; text-align: justify; text-shadow: none; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #list .list .item span.checked { opacity: .5; text-decoration: line-through; } #list .list .item .rightblock { float: right; width: 76px; height: 38px; padding: 0; margin: 0; } #list .list .item .rightblock button { cursor: pointer; float: left; width: 38px; height: 38px; padding: 0px; margin: 0; outline: 0; border: 0; border-radius: 0px; background: rgba(0,0,0,0.1); font-size: 20px; color: #FFF; } '; $this->setProperty('menuCSS', $menuCSS); $sceneCSS=' @import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css"); #list { position: relative; width: 100%; max-height: 528px; overflow: auto; margin: 0; } #list .new #newtask { float: left; width: calc(100% - 100px); height: 100px; padding: 0; margin: 0; outline: 0; border: 0; background: #333333; line-height: 50px; text-indent: 25px; } #list .new input { font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif; font-size: 28px; color: #FFF; text-align: justify; line-height: normal; outline: 0; border: 0; border-radius: 0px; text-shadow: 0px; } #list .new #newtask::-webkit-input-placeholder { color: rgba(255, 255, 255, 0.5); } #list .new button { cursor: pointer; float: right; width: 100px; height: 100px; padding: 0; margin: 0; outline: 0; border: 0; border-radius: 0px; background: #111111; font-size: 84px; color: #FFF; } #list .list .item { clear: both; width: 100%; height: 50px; margin: 0; padding: 5px 0 0 0; } #list .list .item span { cursor: default; float: left; width: calc(100% - 150px); height: 50px; padding: 0; margin: 0; outline: 0; border: 0; background: transparent; text-indent: 25px; font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif; font-size: 28px; color: #FFF; text-align: justify; line-height: normal; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #list .list .item span.checked { opacity: .5; text-decoration: line-through; } #list .list .item .rightblock { float: right; padding: 0; margin: -2px 0 0 0; } #list .list .item button{ cursor: pointer; float: left; width: 50px; height: 50px; padding: 0; margin: 0; outline: 0; border: 0; box-shadow: 0 0 3px rgba(0,0,0,0.2); background: rgba(0,0,0,0.1); font-size: 32px; color: #FFF; } '; $this->setProperty('sceneCSS', $sceneCSS); $JS=' function btnRunClicked() { var newtask = $("#newtask").val(), ni = $("div.item").length + 1; $("#newtask").val(""); if (newtask) { var task1 = String(newtask); var codItem1 = \'<div class="item" id="taskbox_\' + ni + \'" style ="background: hsl(\' + (190+ni*6) + \',73%,50%);">\'; var codItem2 = \'<span id="task_\' + ni + \'">\' + task1 + \'</span>\'; var codItem3 = \'<div class="rightblock"><button id="check_\' + ni + \'" class="check fa fa-check ui-btn ui-shadow ui-corner-all" onClick="checkClicked(\' + ni +\');"></button>\'; var codItem4 = \'<button id="delete_\' + ni + \'" class="delete fa fa-times ui-btn ui-shadow ui-corner-all" onClick="deleteClicked(\' + ni + \');"></button></div></div>\'; $.get( "/objects/", { object:"TodoList", op:"m", m:"new", task:newtask } ); setTimeout(function() { $.get( "/objects/", { object:"TodoList", op:"m", m:"view" } ) }, 100); $(codItem1 + codItem2 + codItem3 + codItem4).appendTo("div.list"); return false; } } function checkClicked(ctask) { if (ctask) { $.get( "/objects/", { object:"TodoList", op:"m",m:"check", task:ctask } ); $("#task_"+ctask).toggleClass("checked"); setTimeout(function() { $.get( "/objects/", { object:"TodoList", op:"m", m:"view" } ) }, 100); return false; } } function deleteClicked(dtask) { if (dtask) { $.get( "/objects/", { object:"TodoList", op:"m", m:"delete", task:dtask } ); $("#taskbox_"+dtask).remove(); setTimeout(function() { $.get( "/objects/", { object:"TodoList", op:"m", m:"view" } ) }, 100); return false; } } '; $this->setProperty('JS', $JS); $view=' // МЕТОД view - подготовка кода для отображения $todo = $this->getProperty("todo"); // установим внутреннюю кодировку символов mb_internal_encoding("UTF-8"); $td = explode("|", $todo); $str_cod = \'<div id="list"> <div class="new"> <input id="newtask" placeholder="New Item" type="text"> <button onClick="btnRunClicked();" class="fa fa-plus"></button> </div> <div class="list">\'; for($i = 1; $i < sizeof($td); $i++) { // выделим и сохраним первый символ $check = mb_substr($td[$i], 0, 1); // обрежем строку, не будем отображать первый символ + или - $task = mb_substr($td[$i], 1); // начинаем формировать код hsl(196,\'.(73-24*(($i-1)%2)).\'%,50%) $str_cod = $str_cod.\' <div class="item" id="taskbox_\'.$i.\'" style ="background: hsl(\'.(190+$i*6).\',73%,50%);"> <span id="task_\'.$i.\'"\'; // если певый символ "+" то значит задание "выполнено" if ($check == "+") { $str_cod = $str_cod.\' class="checked"\'; } $str_cod = $str_cod.\'>\'.$task.\'</span>\'; $str_cod = $str_cod.\' <div class="rightblock"> <button id="check_\'.$i.\'" class="check fa fa-check" onClick="checkClicked(\'.$i.\');"></button> <button id="delete_\'.$i.\'" class="delete fa fa-times" onClick="deleteClicked(\'.$i.\');"></button> </div> </div>\'; } $str_cod = $str_cod.\' </div> </div>\'; // записываем получившийся код $this->setProperty("StreamingCodeScene",$str_cod); $str_cod_css = "<style>".$this->getProperty("menuCSS")."</style>"; $str_cod_js = "<script type=\'text/javascript\'>".$this->getProperty("JS")."</script>"; $str_cod = $str_cod_css.$str_cod_js.$str_cod; $this->setProperty("StreamingCodeMenu",$str_cod); '; addClassMethod('ToDo', 'view', $view); $check=' // МЕТОД check $todo = $this->getProperty("todo"); // установим внутреннюю кодировку символов mb_internal_encoding("UTF-8"); $td = explode("|", $todo); if (isset($params["task"])) { $ct = $params["task"]; for($i = 0; ($i < sizeof($td)); $i++) { // выделим и сохраним первый символ $check = mb_substr($td[$i], 0, 1); // обрежем строку, не будем отображать первый символ + или - $task = mb_substr($td[$i], 1); // если совпадает номер строки if ($i == $ct) { // инвентируем check $check = ($check == "+") ? "-" : "+"; $tcheck = ($check == "+") ? ""выполненно"" : ""не выполнено""; $sayTodo = gg("TodoList.sayTodo"); if ($sayTodo) { say ("Todo задача: ".$task." - отмечена как ".$tcheck,($sayTodo-2)); } } $td[$i] = $check.$task; } $todo = implode("|", $td); $this->setProperty("todo", $todo); } // выполним подготовку для отображения callMethod("TodoList.view"); '; addClassMethod('ToDo', 'check', $check); $delete = ' // МЕТОД delete $todo = $this->getProperty("todo"); $dt = $params["task"]; // получаем номер строки на удаление $td = explode("|", $todo); // Считываем всё в массив for($i = 0; $i < sizeof($td); $i++) { if($i == $dt) { $sayTodo = gg("TodoList.sayTodo"); if ($sayTodo) { say ("Из листа todo удалена задача: ".mb_substr($td[$i], 1)."",($sayTodo-2)); } unset($td[$i]); } } $todo = implode("|", $td); $this->setProperty("todo", $todo); // выполним подготовку для отображения callMethod("TodoList.view"); '; addClassMethod('ToDo', 'delete', $delete); $new = ' // МЕТОД new if (isset($params["task"])) { $todo = $this->getProperty("todo"); $mytask = "-".$params["task"]; // строка задачи $sayTodo = gg("TodoList.sayTodo"); if ($sayTodo) { say ("В лист todo добавлена задача: ".$params["task"]."",($sayTodo-2)); } $todo = $todo."|".$mytask; // добавляем с разделителем $this->setProperty("todo", $todo); // выполним подготовку для отображения callMethod("TodoList.view"); } '; addClassMethod('ToDo', 'new', $new); // выполним подготовку для отображения callMethod("TodoList.view");
Свойства класса:
Методы класса:
Методы класса:
Объекты класса:
if ($params['serial']=='' && $params['devname']!='') { $params['serial']=$params['devname']; } $device=SQLSelectOne("SELECT * FROM usbdevices WHERE SERIAL LIKE '".$params['serial']."'"); if (!$device['ID']) { // new device connected //say("Подключено новое устройство",1); $device=array(); $device['SERIAL']=$params['serial']; $device['TITLE']='устройство '.$params['devname']; $device['FIRST_FOUND']=date('Y-m-d H:i:s'); $device['LAST_FOUND']=date('Y-m-d H:i:s'); $device['LOG'].=$device['FIRST_FOUND'].' подключено (впервые)'."\n"; $device['ID']=SQLInsert('usbdevices',$device); } else { // device already in our database //say("Подключено ".$device['TITLE'],1); if ($device['USER_ID']) { $user=SQLSelectOne("SELECT * FROM users WHERE ID='".$device['USER_ID']."'"); if ($user['ID']) { //$user['NAME']; // теперь мы знаем имя пользователя, связанного с этим устройством } } $device['LAST_FOUND']=date('Y-m-d H:i:s'); $device['LOG']=$device['LAST_FOUND'].' подключено'."\n".$device['LOG']; SQLUpdate('usbdevices',$device); if ($device['SCRIPT_ID']!='') { runScript($device['SCRIPT_ID'],$params); } elseif ($device['SCRIPT']!='') { eval($device['SCRIPT']); } }
Свойства класса:
Методы класса:
//$params["LOCATION_OBJECT"], $params["LOCATION"]
//$params["LOCATION_OBJECT"], $params["LOCATION"]
Объекты класса:
Свойства класса:
Методы класса:
$valueTemperature; $valueTemperature = $this->getProperty('valueTemperature'); if ($valueTemperature >= 0 && $valueTemperature <= 30) { setGlobal('Button06.Icon03', 'KettleTemperature_0-30'); $this->setProperty('Images', 'KettleTemperature_CP_0-30'); } else if ($valueTemperature >= 31 && $valueTemperature <= 50) { setGlobal('Button06.Icon03', 'KettleTemperature_30-50'); $this->setProperty('Images', 'KettleTemperature_CP_30-50'); } else if ($valueTemperature >= 51 && $valueTemperature <= 65) { setGlobal('Button06.Icon03', 'KettleTemperature_50-65'); $this->setProperty('Images', 'KettleTemperature_CP_50-65'); } else if ($valueTemperature >= 66 && $valueTemperature <= 80) { setGlobal('Button06.Icon03', 'KettleTemperature_65-80'); $this->setProperty('Images', 'KettleTemperature_CP_65-80'); } else if ($valueTemperature >= 81 && $valueTemperature <= 90) { setGlobal('Button06.Icon03', 'KettleTemperature_80-90'); $this->setProperty('Images', 'KettleTemperature_CP_80-90'); } else if ($valueTemperature >= 91 && $valueTemperature <= 100) { setGlobal('Button06.Icon03', 'KettleTemperature_90-100'); $this->setProperty('Images', 'KettleTemperature_CP_90-100'); } if ($valueTemperature >= 95 && $valueTemperature <= 100 && $this->getProperty('ProgramStatusHistory') == 'Boil' && $this->getProperty('VoiceHistory') == '1') { callAPI('/api/module/yadevices','GET',array('station'=>3,'say'=>'Чайник вскипел, теперь можете заварить горячий напиток')); say('Чайник вскипел, теперь можете пойти на кухню и заварить горячий напиток', 3); $this->setProperty('VoiceHistory', '0'); }
if ($this->getProperty('Online') == 'offline') { $this->setProperty('OnlineColor', 'FF4500'); } else if ($this->getProperty('Online') == 'online') { $this->setProperty('OnlineColor', '00FF00'); }
if ($this->getProperty('ProgramStatus') == 2 && $this->getProperty('Program') == 0) { $this->setProperty('TextStatus', 'Boil'); $this->setProperty('ProgramStatusHistory', 'Boil'); } else if ($this->getProperty('ProgramStatus') == 2 && $this->getProperty('Program') == 2) { $this->setProperty('TextStatus', 'BoilHeat'); $this->setProperty('ProgramStatusHistory', 'BoilHeat'); } else if ($this->getProperty('ProgramStatus') == 2 && $this->getProperty('Program') == 1) { $this->setProperty('TextStatus', 'Heat'); $this->setProperty('ProgramStatusHistory', 'Heat'); } else if ($this->getProperty('ProgramStatus') != 0 && $this->getProperty('Program') == 3) { $this->setProperty('TextStatus', 'Nightlight'); $this->setProperty('ProgramStatusHistory', 'Nightlight'); } else if ($this->getProperty('ProgramStatus') == 0) { $this->setProperty('TextStatus', 'Off'); }
$ot = $this->object_title; $updatedTime = $this->getProperty('updated'); $passed = time() - $updatedTime; $newTimeout = 0; $passedText = getPassedText($updatedTime); $this->setProperty('updatedText', $passedText); $this->setProperty('updatedNumber', $passed); if ($passed < 10) { $newTimeout = 10; } elseif ($passed < 60) { $newTimeout = 10; } elseif ($passed < 60*60) { $newTimeout = 60; } elseif ($passed < 20*60*60) { $newTimeout = 60 * 60; } if ($newTimeout > 0) { setTimeOut($ot . '_updateTime', 'callMethod("' . $ot . '.mUpdatedText");', $newTimeout); }
if ($this->getProperty('Status') == '0') { $this->setProperty('updated', time()); $this->setProperty("updatedTime",date('H:i')); $this->callMethodSafe('mUpdatedText'); $this->setProperty('Power', '0'); $this->setProperty('Mode', '1'); }
Объекты класса:
if ($this->getProperty('updatedNumber') >= 120 && $this->getProperty('Power') == 0 && $this->getProperty('NightlightLockOut') == 0) { if (getGlobal("DarknessMode.active") == 0 && getGlobal("NightMode.active") == 0 && $this->getProperty('Nightlight') == 'ON') { $this->setProperty('Nightlight', 'OFF'); } else if (getGlobal("DarknessMode.active") == 0 && getGlobal("NightMode.active") == 1 && $this->getProperty('Nightlight') == 'ON') { $this->setProperty('Nightlight', 'OFF'); } else if (getGlobal("DarknessMode.active") == 1 && getGlobal("NightMode.active") == 1 && $this->getProperty('Nightlight') == 'OFF' && $this->getProperty('Status') == 'OFF') { $this->setProperty('Nightlight', 'ON'); } }
$KettleSayTemp; $KettleSetTemperatureYandexAlice; $KettleSayTemp = implode('', array('На чайнике установлена температура подогрева на ',$this->getProperty('setTemperatureYandexAlice'),' градусов')); $KettleSetTemperatureYandexAlice = $this->getProperty('setTemperatureYandexAlice'); if ($KettleSetTemperatureYandexAlice >= 40) { $this->setProperty('setTemperature', $KettleSetTemperatureYandexAlice); $this->setProperty('Mode', '3'); $this->setProperty('Power', '1'); say($KettleSayTemp, 3); }
$color=hexdec(gg('SkyKettleG240S.NightlightColor')); $Red = $color >> 16 & 0xFF; $Green = $color >> 8 & 0xFF; $Blue = $color & 0xFF; $CmdRed=''.$Red.''; $CmdGreen=''.$Green.''; $CmdBlue=''.$Blue.''; sg('SkyKettleG240S.Red',$CmdRed); sg('SkyKettleG240S.Green',$CmdGreen); sg('SkyKettleG240S.Blue',$CmdBlue);
if ($this->getProperty('NightlightYandexAlice') == 1) { $this->setProperty('Nightlight', 'ON'); } else if ($this->getProperty('NightlightYandexAlice') == 0) { $this->setProperty('Nightlight', 'OFF'); }
$KettleSetTemperature; $KettleSetTemperature = $this->getProperty('setTemperature'); if ($this->getProperty('Power') == 1) { if ($this->getProperty('Mode') == 1) { $this->setProperty('BoilHeat', '1'); } else if ($this->getProperty('Mode') == 2) { $this->setProperty('BoilHeat', $KettleSetTemperature); } else if ($this->getProperty('Mode') == 3) { $this->setProperty('Heat', $KettleSetTemperature); } } else if ($this->getProperty('Power') == 0 && $this->getProperty('Status') != '0') { $this->setProperty('BoilHeat', '0'); }
if ($this->getProperty('PowerYandexAlice') == 1) { $this->setProperty('Mode', '1'); $this->setProperty('Power', '1'); $this->setProperty('VoiceHistory', '1'); } else if ($this->getProperty('PowerYandexAlice') == 0) { $this->setProperty('Power', '0'); $this->setProperty('VoiceHistory', '0'); } if ($this->getProperty('PowerYandexAlice') == 1 && $this->getProperty('Status') == '1') { callAPI('/api/module/yadevices','GET',array('station'=>3,'say'=>'Не могу включить чайник, потому что чайник на данный момент включен')); say('Не могу включить чайник, потому что чайник на данный момент включен', 4); } else if ($this->getProperty('PowerYandexAlice') == 0 && $this->getProperty('Status') == '0') { callAPI('/api/module/yadevices','GET',array('station'=>3,'say'=>'Не могу выключить чайник, потому что чайник на данный момент выключен')); say('Не могу выключить чайник, потому что чайник на данный момент выключен', 4); }
if ($this->getProperty('Status') == '0') { $this->setProperty('updated', time()); $this->setProperty("updatedTime",date('H:i')); $this->callMethodSafe('mUpdatedText'); $this->setProperty('Power', '0'); $this->setProperty('Mode', '1'); }
if ($this->getProperty('ProgramStatus') == 2 && $this->getProperty('Program') == 0) { $this->setProperty('TextStatus', 'Boil'); $this->setProperty('ProgramStatusHistory', 'Boil'); } else if ($this->getProperty('ProgramStatus') == 2 && $this->getProperty('Program') == 2) { $this->setProperty('TextStatus', 'BoilHeat'); $this->setProperty('ProgramStatusHistory', 'BoilHeat'); } else if ($this->getProperty('ProgramStatus') == 2 && $this->getProperty('Program') == 1) { $this->setProperty('TextStatus', 'Heat'); $this->setProperty('ProgramStatusHistory', 'Heat'); } else if ($this->getProperty('ProgramStatus') != 0 && $this->getProperty('Program') == 3) { $this->setProperty('TextStatus', 'Nightlight'); $this->setProperty('ProgramStatusHistory', 'Nightlight'); } else if ($this->getProperty('ProgramStatus') == 0) { $this->setProperty('TextStatus', 'Off'); }
if ($this->getProperty('Online') == 'offline') { $this->setProperty('OnlineColor', 'FF4500'); } else if ($this->getProperty('Online') == 'online') { $this->setProperty('OnlineColor', '00FF00'); }
, Беларусь
На форуме: Smart111
© 2024 - Site Built By SergeJey | Реквизиты: Курицын С. С. ИНН 762001394609 | Контакты | Публичный договор
SmartLiving