Свойства класса:
Методы класса:
Объекты класса:
$user="Yana"; $tID = gg($user.'.TelegramID'); if (isWeekEnd()){ // сегодня не рабочий день if ($tID != "") { $tCMD = 'Погода в Нижней Туре'; runScriptSafe("sendTelegram",array("user"=>$user,"cmd"=>$tCMD)); } else { $to=gg($user.'.EMailSMS'); $subj="Сейчас на улице ".gg('ESPmeteo.tempOutsideRounded'); $text=gg('NTuraGismeteo.forecast'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text)); } }
$user="Yana"; $tID = gg($user.'.TelegramID'); if (isWeekDay()){ // сегодня рабочий день if ($tID != "") { $tCMD = 'Погода в Нижней Туре'; runScriptSafe("sendTelegram",array("user"=>$user,"cmd"=>$tCMD)); } else { $to=gg($user.'.EMailSMS'); $subj="Сейчас на улице ".gg('ESPmeteo.tempOutsideRounded'); $text=gg('NTuraGismeteo.forecast'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text)); } }
$user="AndreyIvanov"; $tID = gg($user.'.TelegramID'); if (isWeekEnd()){ // сегодня не рабочий день if ($tID != "") { $tCMD = 'Погода в Нижней Туре'; runScriptSafe("sendTelegram",array("user"=>$user,"cmd"=>$tCMD)); } else { $to=gg($user.'.EMailSMS'); $subj="Сейчас на улице ".gg('ESPmeteo.tempOutsideRounded'); $text=gg('NTuraGismeteo.forecast'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text)); } }
$user="AndreyIvanov"; $tID = gg($user.'.TelegramID'); if (isWeekDay()){ // сегодня рабочий день if ($tID != "") { $tCMD = 'Погода в Нижней Туре'; runScriptSafe("sendTelegram",array("user"=>$user,"cmd"=>$tCMD)); } else { $to=gg($user.'.EMailSMS'); $subj="Сейчас на улице ".gg('ESPmeteo.tempOutsideRounded'); $text=gg('NTuraGismeteo.forecast'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text)); } }
$user="Kitsune"; $to=gg($user.'.EMailSMS'); $subj="Напоминание"; sg($user.'Reminder.AlarmOn','0'); $text=gg($user.'Reminder.AlarmText'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text));
$user="Twinkli"; $to=gg($user.'.EMailSMS'); $subj="Напоминание"; sg($user.'Reminder.AlarmOn','0'); $text=gg($user.'Reminder.AlarmText'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text));
$user="AndreyL"; $to=gg($user.'.EMailSMS'); $subj="Напоминание"; sg($user.'Reminder.AlarmOn','0'); $text=gg($user.'Reminder.AlarmText'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text));
$user="AndreyL"; $tID = gg($user.'.TelegramID'); if (isWeekEnd()){ // сегодня не рабочий день if ($tID != "") { $tCMD = 'Погода в Нижней Туре'; runScriptSafe("sendTelegram",array("user"=>$user,"cmd"=>$tCMD)); } else { $to=gg($user.'.EMailSMS'); $subj="Сейчас на улице ".gg('ESPmeteo.tempOutsideRounded'); $text=gg('NTuraGismeteo.forecast'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text)); } }
$user="AndreyL"; $tID = gg($user.'.TelegramID'); if (isWeekDay()){ // сегодня рабочий день if ($tID != "") { $tCMD = 'Погода в Нижней Туре'; runScriptSafe("sendTelegram",array("user"=>$user,"cmd"=>$tCMD)); } else { $to=gg($user.'.EMailSMS'); $subj="Сейчас на улице ".gg('ESPmeteo.tempOutsideRounded'); $text=gg('NTuraGismeteo.forecast'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text)); } }
$user="Dasha"; $tID = gg($user.'.TelegramID'); if (isWeekEnd()){ // сегодня не рабочий день if ($tID != "") { $tCMD = 'Погода в Нижней Туре'; runScriptSafe("sendTelegram",array("user"=>$user,"cmd"=>$tCMD)); } else { $to=gg($user.'.EMailSMS'); $subj="Сейчас на улице ".gg('ESPmeteo.tempOutsideRounded'); $text=gg('NTuraGismeteo.forecast'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text)); } }
$user="Twinkli"; $tID = gg($user.'.TelegramID'); if (isWeekEnd()){ // сегодня не рабочий день if ($tID != "") { $tCMD = 'Погода в Нижней Туре'; runScriptSafe("sendTelegram",array("user"=>$user,"cmd"=>$tCMD)); } else { $to=gg($user.'.EMailSMS'); $subj="Сейчас на улице ".gg('ESPmeteo.tempOutsideRounded'); $text=gg('NTuraGismeteo.forecast'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text)); } }
$user="Dasha"; $tID = gg($user.'.TelegramID'); if (isWeekDay()){ // сегодня рабочий день if ($tID != "") { $tCMD = 'Погода в Нижней Туре'; runScriptSafe("sendTelegram",array("user"=>$user,"cmd"=>$tCMD)); } else { $to=gg($user.'.EMailSMS'); $subj="Сейчас на улице ".gg('ESPmeteo.tempOutsideRounded'); $text=gg('NTuraGismeteo.forecast'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text)); } }
$user="mama"; $tID = gg($user.'.TelegramID'); if (isWeekEnd()){ // сегодня не рабочий день if ($tID != "") { $tCMD = 'Погода в Нижней Туре'; runScriptSafe("sendTelegram",array("user"=>$user,"cmd"=>$tCMD)); } else { $to=gg($user.'.EMailSMS'); $subj="Сейчас на улице ".gg('ESPmeteo.tempOutsideRounded'); $text=gg('NTuraGismeteo.forecast'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text)); } }
$user="mama"; $tID = gg($user.'.TelegramID'); if (isWeekDay()){ // сегодня рабочий день if ($tID != "") { $tCMD = 'Погода в Нижней Туре'; runScriptSafe("sendTelegram",array("user"=>$user,"cmd"=>$tCMD)); } else { $to=gg($user.'.EMailSMS'); $subj="Сейчас на улице ".gg('ESPmeteo.tempOutsideRounded'); $text=gg('NTuraGismeteo.forecast'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text)); } }
$onceOff=$this->getProperty('onceOff'); if ($onceOff=='1') {$this->setProperty('onceOff',0); return;} $volume=gg('AmarokLair.SoundVolumeNight'); $ip=gg('AmarokPC.IP'); $StationURL=gg('Mayak.URL'); runScript("vlc",array("mode"=>'play',"ip"=>$ip,"url"=>$StationURL)); runScript("mpc",array("mode"=>'close',"ip"=>$ip)); runScript("vors",array("mode"=>"volume","volume"=>$volume,"ip"=>$ip,"silence"=>"1")); runScript("mpc",array("mode"=>'close',"ip"=>$ip)); runScript("vors",array("mode"=>"volume","volume"=>$volume,"ip"=>$ip,"silence"=>"1"));
if (isWeekEnd()) { //sg('XiaomiGate.ringtone','20,75'); $volume=gg('AmarokLair.SoundVolumeNight'); $ip=gg('AmarokPC.IP'); $volume=$volume+10; $StationURL=gg('Mayak.URL'); runScriptSafe("vlc",array("mode"=>'play',"ip"=>$ip,"url"=>$StationURL)); runScriptSafe("vors",array("mode"=>"volume","volume"=>$volume,"ip"=>$ip,"silence"=>"1")); $dest=getGlobal('ThisComputer.SunRise'); $SunRise=strtotime($dest); $timeisnow=getGlobal('ThisComputer.timeNow'); $curtime=strtotime($timeisnow); if ($curtime <= $SunRise) {runScriptSafe("nooLite",array("mode"=>'on',"channel"=>'2'));} SetTimeOut("TodayAgenda","runScriptSafe('TodayAgendaSay');",1800); }
if (isWeekDay()) { //sg('XiaomiGate.ringtone','20,75'); $volume=gg('AmarokLair.SoundVolumeNight'); $ip=gg('AmarokPC.IP'); $volume=$volume+10; $StationURL=gg('Mayak.URL'); //$volume=$volume-10; //$StationURL=gg('InterraFM.URL'); runScriptSafe("vlc",array("mode"=>'play',"ip"=>$ip,"url"=>$StationURL)); runScriptSafe("vors",array("mode"=>"volume","volume"=>$volume,"ip"=>$ip,"silence"=>"1")); $dest=getGlobal('ThisComputer.SunRise'); $SunRise=strtotime($dest); $timeisnow=getGlobal('ThisComputer.timeNow'); $curtime=strtotime($timeisnow); if ($curtime <= $SunRise) {runScriptSafe("nooLite",array("mode"=>'on',"channel"=>'2'));} SetTimeOut("TodayAgenda","runScriptSafe('TodayAgendaSay');",1800); }
$user="Twinkli"; $tID = gg($user.'.TelegramID'); if (isWeekDay()){ // сегодня рабочий день if ($tID != "") { $tCMD = 'Погода в Нижней Туре'; runScriptSafe("sendTelegram",array("user"=>$user,"cmd"=>$tCMD)); } else { $to=gg($user.'.EMailSMS'); $subj="Сейчас на улице ".gg('ESPmeteo.tempOutsideRounded'); $text=gg('NTuraGismeteo.forecast'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text)); } }
$user="Elena"; $tID = gg($user.'.TelegramID'); if (isWeekDay()){ // сегодня рабочий день if ($tID != "") { $tCMD = 'Погода в Нижней Туре'; runScriptSafe("sendTelegram",array("user"=>$user,"cmd"=>$tCMD)); } else { $to=gg($user.'.EMailSMS'); $subj="Сейчас на улице ".gg('ESPmeteo.tempOutsideRounded'); $text=gg('NTuraGismeteo.forecast'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text)); } }
$user="Elena"; $tID = gg($user.'.TelegramID'); if (isWeekEnd()){ // сегодня не рабочий день if ($tID != "") { $tCMD = 'Погода в Нижней Туре'; runScriptSafe("sendTelegram",array("user"=>$user,"cmd"=>$tCMD)); } else { $to=gg($user.'.EMailSMS'); $subj="Сейчас на улице ".gg('ESPmeteo.tempOutsideRounded'); $text=gg('NTuraGismeteo.forecast'); runScriptSafe("sendEmail",array("to"=>$to,"subj"=>$subj, "text"=>$text)); } }
Свойства класса:
Методы класса:
$volume=round(65535*$params['VALUE']/100); $this->setProperty('volumeLevel',$params['VALUE']); safe_exec('..\\apps\\nircmd\\nircmdc setsysvolume '.$volume); say("Изменилась громкость до ".$params['VALUE']." процентов");
$command=$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('Задача принята'); return; } global $voicemode; $voicemode='on'; say('Сейчас '.timeNow()); } elseif (preg_match('/сколько время/is',$command)) { if ($dt>0) { addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt); say('Задача принята'); echo $short_command; return; } say('Сейчас '.timeNow()); } elseif (preg_match('/повтори (.+)/is',$command,$m) || preg_match('/скажи (.+)/is',$command,$m)) { if ($dt>0) { addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt); say('Задача принята'); return; } global $voicemode; $voicemode='on'; say($m[1]); } else { // say('Неизвестная команда...'); if (gg("ThisComputer.iiiBotOn") != 0) {runScript('iiiBot', array('message'=>$command)); } }
$h=(int)date('G',time()); $m=date('i',time()); sg('timeNow',date('H:i', time())); runScript('day2day'); runScript('FolkOmens'); runScript('CalcSunSetRise'); $MJDloaded=gg('Time.Year').'.'.gg('Time.MonthNum').'.'.gg('Time.DayOfMonthNum').' '.gg('ThisComputer.timeNow'); sg('ThisComputer.StartedOn',$MJDloaded); if (isOnline('Internet')) { runScript('WeatherFromGismeteo'); runScript("inetInfo",array("mode"=>'getinfo')); } say("Готова к выполнению своих обязанностей");
Объекты класса:
say("Отключено питание");
$command=$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()); } 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); }
Свойства класса:
Методы класса:
$this->setProperty('LastRun',date('Y-m-d H:i:s'));
$name='Cron_'.$this->object_title; SQLExec("DELETE FROM jobs WHERE title='".$name."'");
Объекты класса:
runScript("vlcRestore");
runScript("inetInfo",array("mode"=>'getinfo'));
runScript('GPSoptimize');
runScript('FolkOmens');
if (isOnline('Internet')) {runScript('valuta');}
RunScript('day2day');
RunScript('CalcSunSetRise');
if (isOnline('Internet')) { RunScript('WeatherFromGismeteo'); }
Свойства класса:
Методы класса:
$objects=getObjectsByClass("ESP8266"); foreach($objects as $obj) { $esp8266name=gg($obj['TITLE'].".hostname"); if ($esp8266name=="ESPmeteo") { $name="ESPmeteo"; $time=date("H:i",time()); $date=date("Y.m.d",time()); $bmpt=gg($obj['TITLE'].".bmpt"); $bmpp=gg($obj['TITLE'].".bmpp"); $dhtt1=gg($obj['TITLE'].".dhtt1"); if($dhtt1>'0'){$dhtt1="+".$dhtt1;} $dhtt1r=round(gg($obj['TITLE'].".dhtt1")); if($dhtt1r>'0'){$dhtt1r="+".$dhtt1r;} $dhth1=gg($obj['TITLE'].".dhth1"); $light=gg($obj['TITLE'].".light"); sg($name.".humOutside",$dhth1); sg($name.".tempInside",$bmpt); sg($name.".pressure",$bmpp); sg($name.".tempOutsideRounded",$dhtt1r); sg($name.".tempOutside",$dhtt1); sg($name.".lightOutside",$light); sg($name.".updatedTime",$time); sg($name.".updatedDate",$date); } if ($esp8266name=="Lair") { $ip=gg($obj['TITLE'].".wanip"); $dhtt1=round(gg($obj['TITLE'].".dhtt1")); $dhth1=gg($obj['TITLE'].".dhth1"); if($dhtt1>'0'){$dhtt1="+".$dhtt1;} sg("AmarokLair.Temp",$dhtt1); sg("AmarokLair.Hum",$dhth1); sg("AmarokLair.jalousieIP",$ip); } if ($esp8266name=="Lair") { // $ip=gg($obj['TITLE'].".wanip"); // sg("AmarokLair.jalousieIP",$ip); } if ($esp8266name=="") { } }
Объекты класса:
Свойства класса:
Методы класса:
//$params['t'] $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); }
$h = $this->getProperty("humidity"); if ($h == "NA") {return;} $this->setProperty("updated",time()); $this->setProperty("alive",1); $this->setProperty("updatedTime",date("H:i",time()).', '.gg('Time.DayOfMonthNum').' '.gg('Time.MonthTXTalt').' '.gg('Time.Year')); $room = $this->getProperty("LinkedRoom"); if ($room != "") { if (gg($room.".Hum") != $h) {sg($room.".Hum",$h);} } /* $h = $this->getProperty("humidity"); sg($this->getProperty("LinkedRoom").".Hum",$h); /*
$alive = $this->getProperty("alive"); if ($alive == 0) {return;} $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);sg('".$ot.".humidity','NA');",$alive_timeout*60);
Объекты класса:
Свойства класса:
Методы класса:
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'); // запускаем скрипт "доброе утро" } }
Объекты класса:
Свойства класса:
Объекты класса:
Методы класса:
$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'); // запускаем скрипт "доброе утро" } }
Свойства класса:
Методы класса:
setGlobal('netping_o1.status',"0"); setGlobal('netping_o1.statusText',"выключен"); $status="Матрас "; $status.=gg('netping_o1.statusText');
if (gg('netping_o1.status') != "1" ){ sg('netping_o1.statusText',"выключен"); }else{sg('netping_o1.statusText',"включен");} $ot=$this->object_title; $stat=$ot.'.status'; $stattxt=$ot.'.statustext'; //if()
Объекты класса:
Свойства класса:
Объекты класса:
Свойства класса:
Методы класса:
$last_id=getGlobal('ThisNews.LastNewsId'); $values=SQLSelect("SELECT * FROM `rss_items` WHERE ID >".$last_id); if($values) { $total=count($values); say("Новости",1); for($i=0;$i<$total;$i++){ $sql="SELECT * FROM `rss_items` WHERE ID =".$values[$i]['ID']; $value=SQLSelectOne($sql); say($value['TITLE'],1); }; $last_id=$value['ID']; setGlobal('ThisNews.LastNewsId',$last_id); //say('Вот и все новости на сегодня! Хорошего дня!'); } else {say("Нет свежих новостей", 1);};
$n=getGlobal('ThisNews.ListN'); $sql="SELECT * FROM `rss_items` ORDER BY rss_items.ADDED DESC LIMIT 0 , ".$n; $values=SQLSelect($sql);$total=count($values); echo "<style>.tableR {border-spacing: 3;border: 1px solid #dedede;border-radius: 10px;}</style>"; for($i=0;$i<$total;$i++){ $sql="SELECT * FROM `rss_items` WHERE ID =".$values[$i]['ID']; $value=SQLSelectOne($sql); echo "<div><table bgcolor=#f9f9f9 class=tableR><tr><td bgcolor=#f6f6f6><a href=\"".$value['URL']."\" target=\"_blank\" >".$value['TITLE']."</a></td></tr><tr><td>"; echo $value['BODY'];echo "</td></tr></table><br></div>"; }
Объекты класса:
Объекты класса:
Свойства класса:
Методы класса:
$ot=$this->object_title; $this->setProperty("updated",time()); $this->setProperty("updatedTime",date('H:i')); if ($this->getProperty('active')) { say("Режим «".$this->getProperty('title')."» активирован."); callMethod($ot.'.activate'); } else { say("Режим «".$this->getProperty('title')."» выключен."); callMethod($ot.'.deactivate'); }
$this->setProperty('active',1);
$this->setProperty('active',0);
Объекты класса:
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} */
say("ооо"); /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/nobodyhomemode_activate.php'); /* end injection of {SDevices} */
say('Ура!'); /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/nobodyhomemode_deactivate.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
//Устанавливает текстовое наименование на основе координат $Coordinates=$this->getProperty("Coordinates"); $lat=substr($Coordinates,0,strpos($Coordinates,",")); $lon=substr($Coordinates,strpos($Coordinates,",")+1); $this->setProperty("CoordinatesLocation",Getgeocode($lon,$lat)); $Coordinates=$this->getProperty("CoordinatesLocation"); $Coordinates=explode(", ", $Coordinates); $Coordinates=$Coordinates[0]; $this->setProperty("City",$Coordinates);
Объекты класса:
Свойства класса:
Объекты класса:
Свойства класса:
Объекты класса:
Объекты класса:
Свойства класса:
Методы класса:
$status=$this->getProperty("status"); if ($status) { $this->callMethod('turnOn'); } else { $this->callMethod('turnOff'); }
$status=$this->getProperty("status"); if ($status) { $this->callMethod('turnOff'); } else { $this->callMethod('turnOn'); }
$this->setProperty("status",0);
$this->setProperty("status",1);
Свойства класса:
Методы класса:
$this->setProperty("status",0); //safe_exec('"c:\Program Files\nooLite\noolite.exe" -api -off_ch'.$this->getProperty("channel")); $this->callMethod("sendCommand",array('command'=>'-off_ch'.$this->getProperty("channel")));
$this->setProperty("status",1); $this->callMethod("sendCommand",array('command'=>'-on_ch'.$this->getProperty("channel")));
$cmdline='"c:\Program Files\nooLite\nooLite.exe" -api '.$params['command']; $last_called=gg('NoolightCommandSend'); $min_delay=3; $now=time(); if (($now-$last_called)>$min_delay) { //safe_exec($cmdline); $last_callled=$now; sg('NoolightCommandSend',$last_called); DebMes("Noolite instant exec: ".$cmdline); system($cmdline); //exec($cmdline); } else { if ($last_callled<$now) { $last_callled=$now; } $last_called+=$min_delay; sg('NoolightCommandSend',$last_called); DebMes("Noolite scheduled job for ".date('H:i:s',$last_called)); AddScheduledJob("noolight".md5($cmdline),"safe_exec('".$cmdline."');",$last_called); }
Свойства класса:
Методы класса:
$code1=$this->getProperty('Code1'); $code2=$this->getProperty('Code2'); safe_exec("c:\_majordomo\apps\arduino_gw\arduino_gw.exe rcon$code1:$code2;"); $this->setProperty("status",1);
$code1=$this->getProperty('Code1'); $code2=$this->getProperty('Code2'); safe_exec("c:\_majordomo\apps\arduino_gw\arduino_gw.exe rcoff$code1:$code2;"); $this->setProperty("status",0);
Свойства класса:
Методы класса:
$rooms=getObjectsByClass("Rooms"); $total=count($rooms); for($i=0;$i<$total;$i++) { $rooms[$i]['room']=getGlobal($rooms[$i]['TITLE'].'.Title'); if (!$rooms[$i]['room']) { $rooms[$i]['room']=$rooms[$i]['TITLE']; } $rooms[$i]['active']=getGlobal($rooms[$i]['TITLE'].'.SomebodyHere'); $rooms[$i]['time']=getGlobal($rooms[$i]['TITLE'].'.LatestActivity'); $rooms[$i]['diff']=time()-$rooms[$i]['time']; } function cmp($a, $b) { if ($a['diff'] == $b['diff']) { return 0; } return ($a['diff'] < $b['diff']) ? -1 : 1; } usort($rooms,"cmp"); if (!$rooms[0]['active']) { $somebodyHomeText="Никого нет дома. Были в ".date('H:i',$rooms[0]['time'])." (".$rooms[0]['room'].")"; } else { $res_rooms=array(); for($i=0;$i<$total;$i++) { if ($rooms[$i]['active']) { $res_rooms[]=$rooms[$i]['room']; } } $somebodyHomeText="Кто-то дома: ".implode(", ",$res_rooms); } setGlobal('somebodyHomeText',$somebodyHomeText); //echo "Updated";
$latestActivity=$this->getProperty('LatestActivity'); $this->setProperty('LatestActivity',time()); $this->setProperty('LatestActivityTime',date('H:i')); $this->setProperty('SomebodyHere',1); $this->setProperty('SomebodyHereTXT',"кто то есть"); $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"); /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/Rooms_onActivity.php'); /* end injection of {SDevices} */
$this->setProperty('SomebodyHere',0); $this->setProperty('SomebodyHereTXT',"никого нет");
$t = round($this->getProperty("temp")); if($t>'0'){$t="+".$t;} $this->setProperty("tempR",$t);
Объекты класса:
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SDevices_statusUpdated.php');
require(DIR_MODULES.'devices/SDevices_logicAction.php');
Методы класса:
require(DIR_MODULES.'devices/SButtons_pressed.php');
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SControllers_turnOn.php');
require(DIR_MODULES.'devices/SControllers_turnOff.php');
require(DIR_MODULES.'devices/SControllers_switch.php');
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SDimmers_levelUpdated.php');
require(DIR_MODULES.'devices/SDimmers_turnOn.php');
require(DIR_MODULES.'devices/SDimmers_turnOff.php');
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SRGB_colorUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SRGB_setColor.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_turnOff.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/SLeak_statusUpdated.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SMotions_motionDetected.php');
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SOpenClose_statusUpdated.php');
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SSensors_valueUpdated.php');
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSmoke_statusUpdated.php'); /* end injection of {SDevices} */
Методы класса:
Объекты класса:
global $voicemode; $voicemode='off'; processCommand($params['message']);
echo "status received: ".$params['status'];
Свойства класса:
Методы класса:
if ($this->getProperty("state")!= "0") { $this->setProperty("stateTitle","включено"); } else { $this->setProperty("stateTitle","выключено"); }
Объекты класса:
Свойства класса:
Методы класса:
Объекты класса:
$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','watchfolders'=>'watch folders','rss'=>'RSS'); 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'] $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['t'])) { return; } $old_temp=$this->getProperty('temp'); $t=round($params['t'],1); if ($t>110) return; $this->setProperty('temp',$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.'.Temperature',$t); }
$t = $this->getProperty("temp"); if ($t == "NA") {return;} $this->setProperty("updated",time()); $this->setProperty("alive",1); $this->setProperty("updatedTime",date("H:i",time()).', '.gg('Time.DayOfMonthNum').' '.gg('Time.MonthTXTalt').' '.gg('Time.Year')); $room = $this->getProperty("LinkedRoom"); if ($room != "") { $t = round($t); if ($t > 0) {$t = '+'.$t;} if (gg($room.".Temp") != $t) {sg($room.".Temp",$t);} }
$alive = $this->getProperty("alive"); if ($alive == 0) {return;} $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);sg('".$ot.".temp','NA');",$alive_timeout*60);
Объекты класса:
Свойства класса:
Методы класса:
$mac = $this->getProperty('MAC'); safe_exec('sudo wakeonlan '.$mac);
$ip = $this->getProperty('IP'); runScriptSafe("vors",array("mode"=>"poweroff","ip"=>$ip,"silence"=>"1"));
$ip = $this->getProperty('IP'); runScriptSafe("vors",array("mode"=>"reboot","ip"=>$ip,"silence"=>"1"));
Объекты класса:
Свойства класса:
Методы класса:
$old = $params['OLD_VALUE']; $new = $params['NEW_VALUE']; if ($old == $new) {say('Значение не изменилось');return;} if ($old != '') {say('Прошлое значение: '.$old);}
Объекты класса:
Свойства класса:
Методы класса:
//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()); sg('timeNow',date('H:i', time()));//Записываем текущее время if ($m%10 == 0) {runScriptSafe('TodayAgendaText');} runScriptSafe('SonoffAutoMode'); if (isWeekDay()) {} if (($h>=8) && gg('clockChimeEnabled')) {if($m=="00"){say(timeNow(),0);}} if (($h>=8) && gg('clockChimeEnabled') && gg('sayWeather')) {if($m=="00"){say('На улице '.gg('ESPmeteo.tempOutsideRounded'),0);}} if (gg('NobodyHomeMode.active')) {$homeStatus='Дома никого нет'; } else {$homeStatus='Дома кто-то есть';} $homeStatus.=' '.gg('Security.stateDetails'); $homeStatus.=' '.gg('System.stateDetails'); $homeStatus.=' '.gg('Communication.stateDetails'); sg('HomeStatus',$homeStatus); if (timeBetween(gg('SunRise'),gg('SunSet')) && gg('isDark')=="1") { sg('isDark',0); callMethod('DarknessMode.deactivate'); } elseif (!timeBetween(gg('SunRise'),gg('SunSet')) && gg('isDark')!="1") { sg('isDark',1); callMethod('DarknessMode.activate'); } //заход солнца if (timeBetween('15:00','22:00')) { $SunSet=timeConvert(gg('ThisComputer.SunSet')); if (timeIs(date('H:i', $SunSet-1800))) { runScriptSafe("nooLite",array("mode"=>'on',"channel"=>'2')); } } //выключаем свет вечером if (($h==23 and $m=="00")) { runScriptSafe("nooLite",array("mode"=>'off',"channel"=>'2')); } //выключаем свет утром if (timeBetween('4:00','13:00')) { $SunRise=timeConvert(gg('ThisComputer.SunRise')); if (timeIs(date('H:i', $SunRise+180))) { runScriptSafe("nooLite",array("mode"=>'off',"channel"=>'2')); } } if (timeIs("23:30") && (gg("EconomMode.active")!="1") && (gg("NobodyHomeMode.active")=="1")) { say("Похоже никого нет, можно сэкономить немного."); callMethod('EconomMode.activate'); } if (timeIs('20:00')) {callMethod('NightMode.activate'); } elseif (timeIs('08:00')) {callMethod('NightMode.deactivate');} //if (gg('ThisComputer.AlarmStatus') && timeIs(gg('ThisComputer.AlarmTime'))) {runScript('MorningAlarm');} //будильник $objects=getObjectsByClass("AlarmClock"); foreach($objects as $obj) { // переберем все будильники в системе if (gg($obj['TITLE'].".AlarmOn") && timeIs(gg($obj['TITLE'].".AlarmTime"))){ //если будильник включен и время совпало callMethodSafe($obj['TITLE'].".AlarmRun"); //выполним метод будильника } } //if (($m=="00")) {runScript('calcMoonPhase');} //Вычисляем фазу луны if (($h==3 and $m=="01")) {runScriptSafe('systemMaintenance');} //Обслуживание системы //if (($h==5 and $m=="00")) {runScript('mattressOn'); } //включаем матрасс //if (($h==13 and $m=="03")) {runScript('birthday'); } //Поздравляем с днем рождения //if (($h==21 and $m=="01")) {RunScript('frostCalc');} //Расчет заморозков if (gg('checkWiFi')){runScriptSafe('mikrotikGetWiFi');} //обновляем статус WiFi runScriptSafe('sysSensors'); //обновляем статус системы //if ($m%30 == 0) {runScript("iPhone",array("mode"=>'find',"user"=>'Kitsune')); } //где Виталя //getURLBackground("http://localhost/admin.php?pd=pz_&md=panel&inst=&action=optimizer&optimizenow=1",0); //ЕСТЬ интернет if (isOnline('Internet')) {runScriptSafe('CheckGMail');} if (timeIs('00:00') or timeIs('06:00') or timeIs('12:00') or timeIs('15:00') or timeIs('16:00') or timeIs('17:00') or timeIs('20:00') or timeIs('21:00') or timeIs('22:00')) { $ip = gg('AmarokPC.IP'); $cmd = 'c:/Program Files (x86)/MyPhoneExplorer/DLL/adb reboot'; runScriptSafe("vors",array("mode"=>"run","cmd"=>$cmd,"ip"=>$ip,"silence"=>"1")); } if (timeIs('22:55')) {sg('XiaomiGate.brightness',100);runScript('XiaomiGateSmoothBrightness',array('mode'=>'off','step'=>'1'));}
Методы класса:
Объекты класса:
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']); } }
Свойства класса:
Объекты класса:
Свойства класса:
Объекты класса:
Свойства класса:
Методы класса:
$tOld = $this->getProperty('tempOutsideRounded'); $t = $this->getProperty('tempOutside'); if ($t > 40) {$t = gg('ow_fact.temperature');} $t = round($t); if($t>'0'){$t="+".$t;} if($t != $tOld) {$this->setProperty('tempOutsideRounded',$t);}
Объекты класса:
Свойства класса:
Методы класса:
$n=$this->getProperty('notify'); $timeStampOffline = time(); $this->setProperty('timeStampOffline',$timeStampOffline); if (strlen($n)==2) { switch (substr($n, -1, 1)) { case 0: $s=-1; break; case 1: $s=0; break; case 2: $s=10; break; default: $s=0; } say($this->getProperty('name').' отключен от сети вай фай', $s); }
$currTime = time(); $timeStampOffline = $this->getProperty('timeStampOffline'); $timeOut = $this->getProperty('timeout'); if ($timeOut == '') {$timeOut = 10;} $timeOut = $timeOut*60; $offline = $currTime - $timeStampOffline; if ($offline < $timeOut) {return;} //return; $n=$this->getProperty('notify'); if (strlen($n)==2) { switch(substr($n, 0, 1)) { case 0: $s=-1; break; case 1: $s=0; break; case 2: $s=10; break; default: $s=0; } say($this->getProperty('name').' подключен к сети вай фай', $s); }
$online = $this->getProperty('online'); if ($online == 1) {} if ($online == 0) {}
Объекты класса:
$online = $this->getProperty('online'); $user = $this->getProperty('linkedUser'); ClearTimeOut('TurnOff'.$user.'Terminal'); if ($online == 1) { } if ($online == 0) { $terminal = gg($user.'.linkedTerminal'); // $ip = gg($terminal.'.IP'); // $cmd = "runScriptSafe('vors',array('mode'=>'poweroff','ip'=>".$ip.",'silence'=>'1'));"; $cmd = "cm('".$terminal.".turnOff');"; // say($cmd); SetTimeOut("TurnOff".$user."Terminal",$cmd, 30*60); }
, Россия
На форуме: Amarok
© 2024 - Site Built By SergeJey | Реквизиты: Курицын С. С. ИНН 762001394609 | Контакты | Публичный договор
SmartLiving