Методы класса:
Объекты класса:
// new device $tm=registeredEventTime('btcall'); if ((time()-$tm)>60 || $tm<0) { registerEvent('btcall'); } if ($params['new']) { //say('Обнаружено новое блютуз устройство'); } if ($params['user']!='') { //say($params['user'].' где-то рядом'); }
Объекты класса:
Свойства класса:
Методы класса:
$volume=round(65535*$params['VALUE']/100); $this->setProperty('volumeLevel',$params['VALUE']); safe_exec('..\\apps\\nircmd\\nircmdc setsysvolume '.$volume); say("Изменилась громкость до ".$params['VALUE']." процентов");
Объекты класса:
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); }
Свойства класса:
Объекты класса:
Свойства класса:
Методы класса:
Объекты класса:
$vtb=gg('Index.VTBR'); // Забираем необработанные данные if ($vtb == "") { //Запрашиваем последнее значение $filt = $this->gg('Index.VTBR_2'); $this->gg('Index.VTBR_2', $filt); // Записываем данные return; } $this->gg('Index.VTBR_2', $vtb); // Записываем данные
$array = explode(',', $this->getProperty('array')); $startTime = timeConvert('00:00'); $endTime = timeConvert('23:59'); foreach($array as $value) { $url = 'https://api.bcs.ru/udfdatafeed/v1/history?symbol='.$value.'&resolution=D&from='.$startTime.'&to='.$endTime; $data = json_decode(file_get_contents($url)); addClassProperty('ExchangeRates', $value, 90); //change $old_value = $this->getProperty($value); if($this->getProperty($value) != $data->c[0]) { $this->setProperty($value, $data->c[0]); addClassProperty('ExchangeRates', $value.'_change', 90); $diff = round((($data->c[0]-$old_value)/$old_value)*100, 2); $this->setProperty("{$value}_change", "{$diff}"); } } $this->setProperty('update', time());
$vtb=gg('Index.VTBR'); // Забираем необработанные данные if ($vtb == "") { //Запрашиваем последнее значение $filt = $this->getProperty('VTBR_2'); $this->setProperty('Index.VTBR_2', $filt); // Записываем данные return; } $this->setProperty('Index.VTBR_2', $vtb); // Записываем данные
Свойства класса:
Методы класса:
//$params["USER_OBJECT"]
//$params["USER_OBJECT"]
Объекты класса:
Свойства класса:
Методы класса:
//$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); }
Объекты класса:
Свойства класса:
Методы класса:
Объекты класса:
//зажигаем лестницу с низу вверх file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("000000", 60).str_repeat("111100", 15)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("000000", 45).str_repeat("111100", 30)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("000000", 30).str_repeat("111100", 30)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("000000", 15).str_repeat("111100", 45)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("111100", 60)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("000000", 90).str_repeat("111100", 15)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("000000", 75).str_repeat("111100", 30)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("000000", 60).str_repeat("111100", 45)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("000000", 45).str_repeat("111100", 45)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("000000", 30).str_repeat("111100", 60)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("000000", 15).str_repeat("111100", 75)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("111100", 90)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("000000", 97).str_repeat("111100", 15)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("000000", 82).str_repeat("111100", 32)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("000000", 65).str_repeat("111100", 52)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("000000", 45).str_repeat("111100", 67 )); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("000000", 30).str_repeat("111100", 82)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("111100", 97));
//гасим лестницу с верху вниз file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("000000", 15).str_repeat("111100", 97)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("000000", 15).str_repeat("000000", 15).str_repeat("111100", 97)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("000000", 30).str_repeat("000000", 15).str_repeat("111100", 97)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("000000", 45).str_repeat("000000", 20).str_repeat("111100", 97)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("000000", 65).str_repeat("000000", 17).str_repeat("111100", 97)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("000000", 82).str_repeat("000000", 15)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("000000", 15).str_repeat("111100", 90)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("000000", 15).str_repeat("000000", 15).str_repeat("111100", 90)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("000000", 30).str_repeat("000000", 15).str_repeat("111100", 90)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("000000", 45).str_repeat("000000", 15).str_repeat("111100", 90)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("000000", 60).str_repeat("000000", 15).str_repeat("111100", 90)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("000000", 75).str_repeat("000000", 15).str_repeat("111100", 90)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("000000", 15).str_repeat("111100", 60)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("000000", 15).str_repeat("000000", 15).str_repeat("111100", 60)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("000000", 30).str_repeat("000000", 15).str_repeat("111100", 60)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("000000", 60));
//зажигаем лестницу с верху вниз file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("111100", 15).str_repeat("000000", 97)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("111100", 15).str_repeat("111100", 15).str_repeat("000000", 97)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("111100", 30).str_repeat("111100", 15).str_repeat("000000", 97)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("111100", 45).str_repeat("111100", 20).str_repeat("000000", 97)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("111100", 65).str_repeat("111100", 17).str_repeat("000000", 97)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("111100", 82).str_repeat("111100", 15)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("111100", 15).str_repeat("000000", 90)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("111100", 15).str_repeat("111100", 15).str_repeat("000000", 90)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("111100", 30).str_repeat("111100", 15).str_repeat("000000", 90)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("111100", 45).str_repeat("111100", 15).str_repeat("000000", 90)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("111100", 60).str_repeat("111100", 15).str_repeat("000000", 90)); usleep(500000); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("111100", 75).str_repeat("111100", 15)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("111100", 15).str_repeat("000000", 60)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("111100", 15).str_repeat("111100", 15).str_repeat("000000", 60)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("111100", 30).str_repeat("111100", 15).str_repeat("000000", 60)); usleep(300000); file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("111100", 45).str_repeat("111100", 15));
//гасим лестницу с низу вверх file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("111100", 60).str_repeat("000000", 15)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("111100", 45).str_repeat("000000", 30)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("111100", 30).str_repeat("000000", 45)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("111100", 15).str_repeat("000000", 60)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=33&ws=".str_repeat("000000", 60)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("111100", 90).str_repeat("000000", 15)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("111100", 75).str_repeat("000000", 30)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("111100", 60).str_repeat("000000", 45)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("111100", 45).str_repeat("000000", 60)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("111100", 30).str_repeat("000000", 75)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("111100", 15).str_repeat("000000", 90)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=34&ws=".str_repeat("000000", 90)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("111100", 97).str_repeat("000000", 15)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("111100", 82).str_repeat("000000", 32)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("111100", 65).str_repeat("000000", 52)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("111100", 45).str_repeat("000000", 67)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("111100", 30).str_repeat("000000", 82)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("111100", 15).str_repeat("000000", 97)); sleep(1); file_get_contents("http://192.168.0.7/sec/?pt=35&ws=".str_repeat("000000", 97));
Свойства класса:
Методы класса:
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'); // запускаем скрипт "доброе утро" } }
Объекты класса:
Свойства класса:
Методы класса:
SQLUpdate('objects', array("ID"=>$this->id, "DESCRIPTION"=>$this->getProperty("title").' '.gg('sysdate').' '.gg('timenow')));
Объекты класса:
Свойства класса:
Объекты класса:
Свойства класса:
Методы класса:
$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);
Объекты класса:
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/darknessmode_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/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} */
Свойства класса:
Методы класса:
$status=$this->getProperty("status"); if ($status) { $this->callMethod('turnOff'); } else { $this->callMethod('turnOn'); }
$this->setProperty("status",0);
$this->setProperty("status",1);
$status=$this->getProperty("status"); if ($status) { $this->callMethod('turnOn'); } else { $this->callMethod('turnOff'); }
Объекты класса:
file_get_contents("http://192.168.0.6/sec/?cmd=S:0"); say("Дом снят с охраны",2); file_get_contents("http://192.168.0.6/sec/?sms=No_Security!&phone=+79033021816"); include_once(DIR_MODULES . 'telegram/telegram.class.php'); $telegram_module = new telegram(); $text = "Дом снят с охраны"; $telegram_module->sendMessageToUser(634902706, $text); callMethod('Relay12.turnOff');
file_get_contents("http://192.168.0.6/sec/?cmd=S:1"); say("Дом поставлен под охрану",2); file_get_contents("http://192.168.0.6/sec/?sms=Yes_Security!&phone=+79033021816"); include_once(DIR_MODULES . 'telegram/telegram.class.php'); $telegram_module = new telegram(); $text = "Дом поставлен под охрану"; $telegram_module->sendMessageToUser(634902706, $text); callMethod('Relay12.turnOn');
if(gg('Сигнализация.status')==1) { //если только открыли и сигнализация включена // отправка смс на телефон с сайта SMS.RU include_once(DIR_MODULES . 'sms_ru/sms_ru.class.php'); $notify = new sms_ru(); $notify->sendNotifyAll("!!!Внимание Удар по окну",3);// приходит смс с текстом say("Внимание удар по окну",2);//Алиса говорит и пишет в чат file_get_contents("http://192.168.0.7/sec/?sms=Trevoga_Udar_Okno!&phone=+79613872644"); // дубликат отправка смс с контролера MegaD на номер прописаный в МегаД с текстом "Trevoga_Udar_Okno" include_once(DIR_MODULES . 'telegram/telegram.class.php'); $telegram_module = new telegram(); $telegram_module->sendMessageToAdmin("!!!Внимание Удар по окну"); // отправка сообщения в телеграмм }
Свойства класса:
Методы класса:
$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 rooms_cmp($a, $b) { if ($a['diff'] == $b['diff']) { return 0; } return ($a['diff'] < $b['diff']) ? -1 : 1; } usort($rooms,"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"; /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/Rooms_updateActivityStatus.php'); /* end injection of {SDevices} */
$latestActivity=$this->getProperty('LatestActivity'); $this->setProperty('LatestActivity',time()); $this->setProperty('LatestActivityTime',date('H:i')); $this->setProperty('SomebodyHere',1); $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); /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/Rooms_onIdle.php'); /* end injection of {SDevices} */
Объекты класса:
Свойства класса:
Методы класса:
Объекты класса:
if ($this->getProperty('MoonPhaseName') == 'Новолуние') { $this->setProperty('MoonPhase', 'MoonPhase01'); } else if ($this->getProperty('MoonPhaseName') == 'Молодая Луна') { $this->setProperty('MoonPhase', 'MoonPhase02'); } else if ($this->getProperty('MoonPhaseName') == 'Первая четверть') { $this->setProperty('MoonPhase', 'MoonPhase03'); } else if ($this->getProperty('MoonPhaseName') == 'Прибывшая Луна') { $this->setProperty('MoonPhase', 'MoonPhase04'); } else if ($this->getProperty('MoonPhaseName') == 'Полнолуние') { $this->setProperty('MoonPhase', 'MoonPhase05'); } else if ($this->getProperty('MoonPhaseName') == 'Убывающая луна') { $this->setProperty('MoonPhase', 'MoonPhase06'); } else if ($this->getProperty('MoonPhaseName') == 'Последняя четверть') { $this->setProperty('MoonPhase', 'MoonPhase07'); } else if ($this->getProperty('MoonPhaseName') == 'Старая луна') { $this->setProperty('MoonPhase', 'MoonPhase08'); }
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDevices_statusUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDevices_setUpdatedText.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDevices_logicAction.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDevices_keepAlive.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SButtons_pressed.php'); /* end injection of {SDevices} */
Объекты класса:
sg('aux',1);
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCameras_takeSnapshot.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCameras_takeSeries.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} */
Объекты класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SControllers_turnOn.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SControllers_turnOff.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SControllers_switch.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_setTargetTemperature.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_tempDown.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_fanSpeedUpdated.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_setThermostatMode.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDimmers_turnOff.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_turnOn.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDimmers_setLevel.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDimmers_statusUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDimmers_levelUpdated.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/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/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} */
Объекты класса:
if (gg('Relay23.status') == 1) { say("Отключена насосная станция",2); include_once(DIR_MODULES . 'telegram/telegram.class.php'); $telegram_module = new telegram(); $telegram_module->sendMessageToAdmin("Отключена насосная станция, в доме нет воды"); }
say("Клапан вытяжки в сауне закрыт",2);
say("Температура в сауне достигла 60 градусов ",2);
if ($this->getProperty('status')) { $this->setProperty('command_on',1); } else { $this->setProperty('command_off',1); }
if ($this->getProperty('status')) { $this->setProperty('command_on',1); } else { $this->setProperty('command_off',1); }
geturl('http://192.168.0.124/ajax/zigbee2mqtt.html?device=1&command=state&value=close&friendlyname=0xA4C1386ED28AB85C&gw=Zigbee760C');
geturl('http://192.168.0.124/ajax/zigbee2mqtt.html?device=1&command=state&value=open&friendlyname=0xA4C1386ED28AB85C&gw=Zigbee760C');
if ($this->getProperty('status')) { $this->setProperty('command_on',1); } else { $this->setProperty('command_off',1); }
file_get_contents("http://192.168.0.4/sec/?pt=10&pwm=0");
file_get_contents("http://192.168.0.4/sec/?cmd=10:210");
geturl('http://192.168.0.124/ajax/zigbee2mqtt.html?device=1&command=state&value=open&friendlyname=0xA4C1386ED28AB85C&gw=Zigbee760C');
geturl('http://192.168.0.124/ajax/zigbee2mqtt.html?device=1&command=state&value=close&friendlyname=0xA4C1386ED28AB85C&gw=Zigbee760C');
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SRGB_turnOff.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_colorUpdated.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_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_setTargetTemperature.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_statusUpdated.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_tempDown.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/SCounters_pulseDetected.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_valueWorkUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCounters_refreshStats.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} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLeak_alert.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/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} */
Объекты класса:
if(getGlobal("Sensor_light03.minValue") > getGlobal("Sensor_light03.value")){ //Сработал нижний датчик //Если перед этим срабатывал верхний датчик if (timeOutExists('Motion02')) { //Значит человек спустился вниз, последовательно выключаем ступеньки сверху-вниз ClearTimeOut('Motion02'); ClearTimeOut('Motion02_TurnOff_Down'); //ДЕЙСТВИЯ (запуск кода метода) на ВЫКЛючение ступенек сверху-вниз callMethod('Stairs_light.TurnOff_Down'); } else { //Человек начал подниматься вверх //Запускаем таймер, обозначающий активность нижнего датчика setTimeOut('Motion07','',40); //Запускаем таймер на 40 секунд на последовательное выключение ступенек снизу-вверх setTimeOut('Motion07_TurnOff_Up','cm("Stairs_light.TurnOff_Up");',40); //ДЕЙСТВИЯ (запуск кода метода) на ВКЛючение ступенек снизу-вверх callMethod('Stairs_light.TurnOn_Up'); } }
//Не включаем свет с 00-00 до 09-00 if (timeBetween('00:00', '09:00')) return; if (timeBetween(getGlobal('ThisComputer.SunRiseTime'), '00:00')) { if ((getGlobal("Sensor_light01.minValue") > getGlobal("Sensor_light01.value"))){ //включим свет cm('Relay07.turnOn'); //запустим таймер (3 мин), по истечении которого свет будет выключен SetTimeOut("lightOffTimer_123","callMethod('Relay07.turnOff');",60*3); } }
if (timeBetween('00:00', '09:00')) return;//Не включаем свет с 00-00 до 09-00 if (timeBetween(getGlobal('ThisComputer.SunRiseTime'), '00:00')) { if ((200>= getGlobal("Sensor_light01.value"))){ //включим свет cm('Relay18.turnOn'); //запустим таймер (2 мин), по истечении которого свет будет выключен SetTimeOut("lightOffTimer_4567","callMethod('Relay18.turnOff');",60*2); } }
/*if ((gg('Motion03.Mode') == 1) && (getGlobal("Sensor_light01.minValue") > getGlobal("Sensor_light01.value"))){ //включим свет cm('Relay38.turnOn'); //запустим таймер (3 мин), по истечении которого свет будет выключен SetTimeOut("lightOffTimer_133","callMethod('Relay38.turnOff');",60*3); } */
if(getGlobal("Sensor_light03.minValue") > getGlobal("Sensor_light03.value")){ //Сработал верхний датчик //Если перед этим срабатывал нижний датчик if (timeOutExists('Motion07')) { //Значит человек поднялся вверх, последовательно выключаем ступеньки снизу в верх ClearTimeOut('Motion07'); ClearTimeOut('Motion07_TurnOff_Up'); //ДЕЙСТВИЯ (запуск кода метода) на ВЫКЛючение ступенек снизу-вверх callMethod('Stairs_light.TurnOff_Up'); } else { //Человек начал спускаться вниз //Запускаем таймер, обозначающий активность верхнего датчика setTimeOut('Motion02','',40); //Запускаем таймер на 40 секунд на последовательное выключение ступенек сверху-вниз setTimeOut('Motion02_TurnOff_Down','cm("Stairs_light.TurnOff_Down");',40); //ДЕЙСТВИЯ (запуск кода метода) на ВКЛючение ступенек сверху вниз callMethod('Stairs_light.TurnOn_Down'); } }
Свойства класса:
Методы класса:
/* 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} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenable_close.php'); /* end injection of {SDevices} */
/* 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/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} */
Объекты класса:
if (gg('Openable04.status') == 1 && gg ('Sensor_temphum04.value') > '30' ) { cm('Relay41.turnOn'); } /* if (gg('Openable04.status') == 0 && gg ('Sensor_temphum04.value') < '45') { cm('Relay41.turnOff'); } */
if ((gg('Openclose04.status') == 0) && (10>= getGlobal("Sensor_light01.value"))){ cm('Relay24.turnOn');// прожектор_на_верандане cm('Relay42.turnOn');// прожектор_дровник //запустим таймер (3 мин), по истечении которого свет будет выключен SetTimeOut("lightOffTimer_R42R24","callMethod('Relay24.turnOff');callMethod('Relay42.turnOff');",60*3); } // Если откраваются ворота if (gg('Openclose04.status') == 0){ say("Открываются ворота",2); } //Выставляем флаг активности ленты на 2 минут setTimeOut('Openclose04_Timer','',60*2); $q = 0; $cmd_list = array("500000", "005000", "500000", "005000", "000000"); $color = 0; while(true) { $cmd = ""; for ( $i = 0; $i < 12; $i++ ) { if ( $i == $cnt ) $cmd .= $cmd_list[$color]; $cmd .= "000000"; } $cnt++; if ( $cnt == 12 ) { $cnt = 0; $color = rand(0,3); } file_get_contents("http://192.168.0.7/sec/?pt=32&ws=$cmd"); $q = $q + 1; //Проверяем флаг активности ленты каждые 10 секунд if ($q > 200) { //Обнуляем счетчик $q = 0; if (timeOutExists('Openclose04_Timer')) { //Флаг активности ленты выставлен, продолжаем "цветомузыку" } else { //Выход из цикла break; } } usleep(50000); } //КОМАНДА на ВЫКЛючение всех чипов ленты file_get_contents("http://192.168.0.7/sec/?pt=32&ws=000000");
if ((gg('Openable03.status') == 0) &&(10 >= getGlobal("Sensor_light01.value"))){ //включим свет cm('Relay24.turnOn');// прожектор_на_верандане cm('Relay42.turnOn');// прожектор_дровник //запустим таймер (3 мин), по истечении которого свет будет выключен SetTimeOut("lightOffTimer_R241","callMethod('Relay24.turnOff');callMethod('Relay42.turnOff');",60*3); } if (gg('Openable03.status') == 0) { say("Калитка открыта",2); exec('ffmpeg -y -i "rtsp://192.168.0.17:554/user=admin&password=&channel=1&stream=0.cgi" -t 5 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -r 15 /var/www/cms/cached/out1.mp4'); // путь до камеры $img='/var/www/cms/cached/out1.mp4'; include_once(DIR_MODULES . 'telegram/telegram.class.php'); $telegram_module = new telegram(); $telegram_module->sendVideoToUser(634902706, $img, 'Калитка!'); //5 сек. видео с камеры в телегу }
if( $params['NEW_VALUE'] ==0 && $params['OLD_VALUE']==1 && gg('Сигнализация.status')==1){ //если сигнализация включена CallMethod('Relay25.turnOn'); // и открывается дверь веранды то включается сирена include_once(DIR_MODULES . 'telegram/telegram.class.php'); $telegram_module = new telegram(); $telegram_module->sendMessageToAdmin("Взлом двери веранда"); // отправка сообщения в телеграмм say("Взлом двери веранда",1);//Алиса говорит и пишет в чат file_get_contents("http://192.168.0.6/sec/?sms=Trevoga_Dveri_Veranda_Otcryta!&phone=+79613872644"); // дубликат отправка смс с контролера MegaD на номер прописаный в МегаД с текстом "Trevoga_Dveri_Otcryta" } if ((gg('Openclose05.status') == 0) &&(10 >= getGlobal("Sensor_light01.value"))){ //если на улице темно cm('Relay24.turnOn');// прожектор_на_верандане cm('Relay42.turnOn');// прожектор_дровник //запустим таймер (3 мин), по истечении которого прожектора будут выключен SetTimeOut("lightOffTimer_R24","callMethod('Relay24.turnOff');callMethod('Relay42.turnOff');",60*3); }
if( gg('Сигнализация.status')==1) { //если сигнализация включена exec('ffmpeg -y -i "rtsp://192.168.0.11:554/user=admin&password=&channel=1&stream=0.cgi" -t 5 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -r 15 /var/www/cms/cached/out1.mp4'); // путь до камеры $img='/var/www/cms/cached/out1.mp4'; include_once(DIR_MODULES . 'telegram/telegram.class.php'); $telegram_module = new telegram(); $telegram_module->sendVideoToUser(634902706, $img, 'Камера дверь!'); //5 сек. видео с камеры в телегу } if ((gg(' Openable01.status') == 0) &&(200 >= getGlobal("Sensor_light01.value"))){ //если на улице темно cm('Relay06.turnOn');//свет прихожая //запустим таймер (4 мин), по истечении которого прожектора будут выключен SetTimeOut("lightOffTimer_R006","callMethod('Relay06.turnOff');",60*4); }
if(gg('Сигнализация.status')==1){ //если сигнализация включена exec('ffmpeg -y -i "rtsp://192.168.0.16:554/user=admin&password=&channel=1&stream=0.cgi" -t 5 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -r 15 /var/www/cms/cached/out1.mp4'); // путь до камеры - цифра 15 это время. $img='/var/www/cms/cached/out1.mp4'; include_once(DIR_MODULES . 'telegram/telegram.class.php'); $telegram_module = new telegram(); $telegram_module->sendVideoToUser(634902706, $img, 'Камера дверь!'); //10 сек. видео с камеры в телегу }
if( gg('Сигнализация.status')==1){ //если только в доме повышенный звук и сигнализация включена // отправка смс на телефон с сайта SMS.RU include_once(DIR_MODULES . 'sms_ru/sms_ru.class.php'); $notify = new sms_ru(); $notify->sendNotifyAll("!!!Внимание Постороний звук! Проникновение в дом",3);// приходит смс с текстом say("Внимание Постороний звук! Проникновение в дом",1);//Алиса говорит и пишет в чат file_get_contents("http://192.168.0.6/sec/?sms=Trevoga_Zvuk_v_Dome!&phone=+79613872644"); // дубликат отправка смс с контролера MegaD на номер прописаный в МегаД с текстом "Trevoga_Zvuk_v_Dome" }
if (gg('Openable05.status') == 1) { exec('ffmpeg -y -i "rtsp://192.168.0.17:554/user=admin&password=&channel=1&stream=0.cgi" -t 5 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -r 15 /var/www/cms/cached/out1.mp4'); // путь до камеры $img='/var/www/cms/cached/out1.mp4'; include_once(DIR_MODULES . 'telegram/telegram.class.php'); $telegram_module = new telegram(); $telegram_module->sendVideoToUser(634902706, $img, 'Звонок Калитка!'); //5 сек. видео с камеры в телегу }
Свойства класса:
Методы класса:
/* 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/SSensors_valueUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSensors_alert.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/SPowerSensors_loadStatusChanged.php'); /* end injection of {SDevices} */
Свойства класса:
Объекты класса:
$press01=gg('Sensor_pressure01.value'); // Забираем необработанные данные if ($press01 == "") { //Запрашиваем последнее значение $filt1 = $this->sg ('Sensor_pressure01.correction_press01'); $this->sg ('Sensor_pressure01.correction_press01', $filt1); // Записываем данные предыдущие данные return; } sg ('Sensor_pressure01.correction_press01', $press01); // Записываем данные
Свойства класса:
Методы класса:
Объекты класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STempHumSensors_valueUpdated.php'); /* end injection of {SDevices} */
Объекты класса:
Объекты класса:
if (gg('Boiler1.termostatActiveted') == 1) { $TempOutDoor = getHistoryValue('Sensor_temp07.value', strtotime("-20 minute")); $TempHouse = getHistoryValue('Sensor_temphum01.value', strtotime("-20 minute")); $targetTemp = gg('Boiler1.targetTemp'); //при температуре на улице от -25 до -15 if ($TempOutDoor >= -25 && $TempOutDoor < -16) { if ($TempHouse < 22) {sg('Boiler1.targetTemp',65); if ($targetTemp == 65) return; file_get_contents("http://192.168.0.4/sec/?pt=30&misc=65");} if ($TempHouse >= 23 && $TempHouse <= 25) {sg('Boiler1.targetTemp',60); if ($targetTemp == 60) return; file_get_contents("http://192.168.0.4/sec/?pt=30&misc=60");} if ($TempHouse > 26) {sg('Boiler1.targetTemp',55); if ($targetTemp == 55) return; file_get_contents("http://192.168.0.4/sec/?pt=30&misc=55"); } } //при температуре на улице -15 до -5 if ($TempOutDoor >= -14 && $TempOutDoor < -6) { if ($TempHouse < 22) {sg('Boiler1.targetTemp',60); if ($targetTemp == 60) return; file_get_contents("http://192.168.0.4/sec/?pt=30&misc=60"); } if ($TempHouse >= 23 && $TempHouse <= 25) { sg('Boiler1.targetTemp',55); if ($targetTemp == 55) return; file_get_contents("http://192.168.0.4/sec/?pt=30&misc=55"); } if ($TempHouse > 26) {sg('Boiler1.targetTemp',47); if ($targetTemp == 47) return; file_get_contents("http://192.168.0.4/sec/?pt=30&misc=47"); } } //при температуре на улице -5 до +5 if ($TempOutDoor >= -4 && $TempOutDoor < 4) { if ($TempHouse < 22) {sg('Boiler1.targetTemp',50); if ($targetTemp == 50) return; file_get_contents("http://192.168.0.4/sec/?pt=30&misc=50"); } if ($TempHouse >= 23 && $TempHouse <= 25) {sg('Boiler1.targetTemp',47); if ($targetTemp == 47) return; file_get_contents("http://192.168.0.4/sec/?pt=30&misc=47"); } if ($TempHouse > 26) {sg('Boiler1.targetTemp',45); if ($targetTemp == 45) return; file_get_contents("http://192.168.0.4/sec/?pt=30&misc=45"); } } //при температуре на улице +5 до +15 if ($TempOutDoor >= 6 && $TempOutDoor < 14) { if ($TempHouse < 22) {sg('Boiler1.targetTemp',45); if ($targetTemp == 45) return; file_get_contents("http://192.168.0.4/sec/?pt=30&misc=45"); } if ($TempHouse >= 23 && $TempHouse <= 25) {sg('Boiler1.targetTemp',42); if ($targetTemp == 42) return; file_get_contents("http://192.168.0.4/sec/?pt=30&misc=42"); } if ($TempHouse > 26) {sg('Boiler1.targetTemp',37); if ($targetTemp == 37) return; file_get_contents("http://192.168.0.4/sec/?pt=30&misc=37"); } } //при температуре на улице > +17 и в доме > +23 выключаем отопление if ($TempOutDoor > 17) { if ($TempHouse > 23) { if (gg('Boiler1.status' != 0)) cm('Boiler1.turnOff') ; if ($targetTemp == 5) return; sg('Boiler1.targetTemp',5); file_get_contents("http://192.168.0.4/sec/?pt=30&misc=5");} } }
Объекты класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSmoke_unblockSensor.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_statusUpdated.php'); /* end injection of {SDevices} */
Объекты класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STv_statusUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STv_turnOff.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STv_switch.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STv_turnOn.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
Объекты класса:
$details=array(); $red_state=0; $green_state=0; if ((gg('Communication.vpnki_majordomo')==1)) { $green_state=1; } if ((gg('Communication.vpnki_majordomo')==0)) { $red_state=1; } if ($red_state) { $state='red'; $state_title='Отключен'; } elseif ($green_state) { $state='green'; $state_title='Включен'; } $this->setProperty('stateDetails',implode(". ",$details)); if ($this->getProperty('stateColor')!=$state) { $this->setProperty('stateColor',$state); $this->setProperty('stateTitle',$state_title); { $this->callMethod('stateChanged'); } }
$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; { if ($m%120 == 0) {file_get_contents("http://192.168.0.6/sec/?sms=Inet_NO!&phone=+79613872644");} } } 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'] $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); }
Объекты класса:
Свойства класса:
Методы класса:
Объекты класса:
$state =file_get_contents("http://192.168.0.4/sec/?pt=26&cmd=get"); if ($state == "ON") { sg('Ten1.status', 1); } else { sg('Ten1.status', 0);} $state =file_get_contents("http://192.168.0.4/sec/?pt=27&cmd=get"); if ($state == "ON") { sg('Ten2.status', 1); } else { sg('Ten2.status', 0);} $state =file_get_contents("http://192.168.0.4/sec/?pt=28&cmd=get"); if ($state == "ON") { sg('Ten3.status', 1); } else { sg('Ten3.status', 0);}
if (gg('Boiler1.termostatActiveted') == 1) { $Temp = gg('Boiler1.targetTemp'); $Temp = $Temp + 1; sg('Boiler1.targetTemp',$Temp); file_get_contents("http://192.168.0.4/sec/?pt=30&misc=".$Temp); }
if (gg('Boiler1.termostatActiveted') == 1) { $Temp = gg('Boiler1.targetTemp'); $Temp = $Temp - 1; sg('Boiler1.targetTemp',$Temp); file_get_contents("http://192.168.0.4/sec/?pt=30&misc=".$Temp); }
if(gg('Boiler1.termostatActiveted') <> 1) { sg('Boiler1.termostatActiveted', 1); $Temp = gg('Boiler1.targetTemp'); file_get_contents("http://192.168.0.4/sec/?pt=30&misc=".$Temp); cm('Boiler1.termostat'); } else { file_get_contents("http://192.168.0.4/sec/?pt=30&misc=1"); sg('Boiler1.termostatActiveted', 0); }
Свойства класса:
Методы класса:
Объекты класса:
runScriptSafe('Фаза луны');
callMethodSafe('Index.load');// курс акций runScriptSafe('Valuta_exchange');// курс валюты runScriptSafe('Давление воды в системе ХВС'); //runScriptSafe('YandexWeather');//погода runScriptSafe('MegaD'); //Опрос датчика температуры в микроконтроллере MegaD_1,2,3 runScriptSafe('Опрос датчика СО2');// Опрос датчика СО2 //runScriptSafe('Полив №3');// Капельный полив цветка №3 runScriptSafe('Давление воды');//Опрос датчика давления воды runScriptSafe('BME280');// Опрос датчика //Действия при обрыве VPN тоннелля Majordomo. runScriptSafe('VPN_MajorDoMo_Alarm_Restart'); runScript ('Опрос эл_счетчика_3фазы');//Опрос электро счетчика АТХ sleep(10); runScript('Опрос эл_счетчика_3фазы_ТЕП');//Опрос электро счетчика ТЕП runScript('Перенаправление показаний счетчиков в ПУ');//Перенапраление данных в ПУ
$h=(int)date('G',time()); $m=date('i',time()); cm('Boiler1.checkTenStatus'); cm('Boiler1.termostat'); if (isWeekDay()) { } if (($h>=8) && getGlobal('clockChimeEnabled')) { if ($m=="00") { //say(timeNow(),1); } } setGlobal('timeNow',date('H:i')); $homeStatus=date('H:i'); if (getGlobal('NobodyHomeMode.active')) { $homeStatus.=' Дома никого'; } else { $homeStatus.=' Дома кто-то есть'; } $homeStatus.=' '.getGlobal('Security.stateDetails'); $homeStatus.=' '.getGlobal('System.stateDetails'); $homeStatus.=' '.getGlobal('Communication.stateDetails'); setGlobal('HomeStatus',$homeStatus); if (timeBetween(getGlobal('SunRiseTime'),getGlobal('SunSetTime')) && getGlobal('isDark')=="1") { setGlobal("isDark",0); callMethod('DarknessMode.deactivate'); } elseif (!timeBetween(getGlobal('SunRiseTime'),getGlobal('SunSetTime')) && getGlobal('isDark')!="1") { setGlobal("isDark",1); callMethod('DarknessMode.activate'); } if (timeIs(getGlobal('SunRiseTime'))) { //say('Всходит солнце'); } if (timeIs(getGlobal('SunSetTime'))) { //say('Солнце заходит',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 (timeIs("03:00")) { runScriptSafe("systemMaintenance"); } if (gg('ThisComputer.AlarmStatus') && timeIs(gg('ThisComputer.AlarmTime'))) { runScriptSafe('MorningAlarm'); } runScriptSafe('Задержка');// Закат и расвет runScriptSafe('Температура котла');//Опрос датчиков температуры котла runScriptSafe('Шина_DS18B20');//Опрос датчиков по шине //runScriptSafe('AUTO_Termostat');//Термостат //runScriptSafe('LCD2004');//Опрос для Дисплея LCD 2004А1 // показания счетчика месячный if ((int)date('j') == 1 && timeIs('00:01')) { callMethodSafe('ElCounter.getStatistics'); callMethodSafe('ElCounterT.getStatistics'); }
Методы класса:
Объекты класса:
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"]
Объекты класса:
$Batt=$this->getProperty('BattLevel'); if ($Batt > 88 && $Batt <= 100) { $this->setProperty("BattPic", 'battery-full'); $this->setProperty("BattColor", '#7CFC00'); } else if ($Batt > 62 && $Batt <= 88) { $this->setProperty("BattColor", '#32CD32'); $this->setProperty("BattPic", 'battery-three-quarters'); } else if ($Batt > 37 && $Batt <= 62) { $this->setProperty("BattColor", '#F0E68C'); $this->setProperty("BattPic", 'battery-half'); } else if ($Batt > 12 && $Batt <= 37) { $this->setProperty("BattColor", '#FF8C00'); $this->setProperty("BattPic", 'battery-quarter'); } else if ($Batt <= 12) { $this->setProperty("BattColor", '#800000'); $this->setProperty("BattPic", 'battery-empty'); }
$Batt=$this->getProperty('BattLevel'); if ($Batt > 88 && $Batt <= 100) { $this->setProperty("BattPic", 'battery-full'); $this->setProperty("BattColor", '#7CFC00'); } else if ($Batt > 62 && $Batt <= 88) { $this->setProperty("BattColor", '#32CD32'); $this->setProperty("BattPic", 'battery-three-quarters'); } else if ($Batt > 37 && $Batt <= 62) { $this->setProperty("BattColor", '#F0E68C'); $this->setProperty("BattPic", 'battery-half'); } else if ($Batt > 12 && $Batt <= 37) { $this->setProperty("BattColor", '#FF8C00'); $this->setProperty("BattPic", 'battery-quarter'); } else if ($Batt <= 12) { $this->setProperty("BattColor", '#800000'); $this->setProperty("BattPic", 'battery-empty'); }
$Batt=$this->getProperty('BattLevel'); if ($Batt > 88 && $Batt <= 100) { $this->setProperty("BattPic", 'battery-full'); $this->setProperty("BattColor", '#7CFC00'); } else if ($Batt > 62 && $Batt <= 88) { $this->setProperty("BattColor", '#32CD32'); $this->setProperty("BattPic", 'battery-three-quarters'); } else if ($Batt > 37 && $Batt <= 62) { $this->setProperty("BattColor", '#F0E68C'); $this->setProperty("BattPic", 'battery-half'); } else if ($Batt > 12 && $Batt <= 37) { $this->setProperty("BattColor", '#FF8C00'); $this->setProperty("BattPic", 'battery-quarter'); } else if ($Batt <= 12) { $this->setProperty("BattColor", '#800000'); $this->setProperty("BattPic", 'battery-empty'); }
Свойства класса:
Объекты класса:
Свойства класса:
Методы класса:
if($this->getProperty('cmd') == 1) { //Температура в доме say('Сейчас в доме '.gg('Sensor_temphum01.value').' градусов.', 2 ); } else if($this->getProperty('cmd') == 2) { //Температура на улице say('Сейчас на улице '.gg('Sensor_temp07.value').' градусов.', 2); } else if($this->getProperty('cmd') == 3) { //Место нахождения Наиля say('Наиль сейчас на '.gg('nail.seenAt').'', 2); } else if($this->getProperty('cmd') == 4) { //Температура подачи say('температура подачи '.gg('Sensor_temp09.value').' градуса.', 2); } else if($this->getProperty('cmd') == 5) { //Температура в сауне say('температура в сауне '.gg('Sensor_temphum04.value').' градуса.', 2); } else if($this->getProperty('cmd') == 6) { //Доброе утро //rs("Доброе утро", array('param1'=>'test')); file_get_contents('http://192.168.0.153/objects/?script=Определяет%20день&level=99'); } else if($this->getProperty('cmd') == 7) { //Убавить звук ТВ say('Убавляю ', 2); runScript("Убавить звук ТВ"); } else if($this->getProperty('cmd') == 8) { //Прибавить звук ТВ say('Прибавляю ', 2); runScript("Прибавить звук ТВ"); } else if($this->getProperty('cmd') == 9) { //Канал ТВ Пятница runScript("ТВ канал Пятница"); } else if($this->getProperty('cmd') == 10) { //Канал ТВ ТНТ runScript("ТВ канал ТНТ"); } else if($this->getProperty('cmd') == 11) { //Начать уборку Робот пылесос runScript("Уборка пылесос"); }
Объекты класса:
Свойства класса:
Методы класса:
Объекты класса:
setGlobal('XiaomiMiRobotVacuum.Сommand', 'app_pause'); say("XIAOMI ждет",1);
setGlobal('XiaomiMiRobotVacuum.Сommand', 'app_spot');
if ($this->getProperty('State_text') == 'Cleaning') { $this->setProperty('State_text_rus', 'Уборка'); $this->setProperty('State_text_rus', 'Уборка'); } else if ($this->getProperty('State_text') == 'Zoned cleaning') { $this->setProperty('State_text_rus', 'Зональная уборка'); $this->setProperty('State_text_rus', 'Уборка'); } else if ($this->getProperty('State_text') == 'Docking') { $this->setProperty('State_text_rus', 'Заряжается'); } else if ($this->getProperty('State_text') == 'Sleeping') { $this->setProperty('State_text_rus', 'Спит'); } else if ($this->getProperty('State_text') == 'Waiting') { $this->setProperty('State_text_rus', 'Ожидание'); } else if ($this->getProperty('State_text') == 'Pause') { $this->setProperty('State_text_rus', 'Пауза'); } else if ($this->getProperty('State_text') == 'Back to home') { $this->setProperty('State_text_rus', 'Обратно на базу'); } else if ($this->getProperty('State_text') == 'Going to target') { $this->setProperty('State_text_rus', 'Идет к указанной точке'); } else if ($this->getProperty('State_text') == 'Spot Cleaning') { $this->setProperty('State_text_rus', 'Чистка в указанной точке'); }
setGlobal('XiaomiMiRobotVacuum.Сommand', 'find_me');
$this->setProperty('Сommand', 'app_charge'); $this->setProperty('CommandMode', '0');
$this->setProperty('Сommand', 'app_charge'); $this->setProperty('CommandMode', '0'); say("XIAOMI едет на зарядку",2);
setGlobal('XiaomiMiRobotVacuum.Сommand', 'app_start'); say("XIAOMI начинает уборку",2);
setGlobal('SMiRobotVacuum.status', getGlobal('XiaomiMiRobotVacuum.InCleaning')); if ($this->getProperty('InCleaning') == 0) { $this->setProperty('setZonedClean', '0'); }
Свойства класса:
Методы класса:
Объекты класса:
//Вычисляем потребление за прошлый месяц $Rate = 10.0; //Вписываем руками тариф за 1 кВт/ч, руб. $ot = $this->object_title; $StartLastMounthTime = strtotime(date('Y-m-d H:i:s', mktime(0, 0, 0, date('m') - 1, 1))); $EndLastMounthTime = strtotime(date('Y-m-1 0:0:0',time()))-1; $arr = getHistory($ot.'.total_active_power', $StartLastMounthTime, $EndLastMounthTime); $ValueStart = $arr[0]['VALUE']; $ValueEnd = $arr[count($arr)-1]['VALUE']; $LastMounthConsumption = $ValueEnd - $ValueStart; $this->setProperty('LastMounthConsumption', $LastMounthConsumption); $LastMounthConsumptionCost = round($Rate * $LastMounthConsumption, 2); $this->setProperty('LastMounthConsumptionCost', $LastMounthConsumptionCost);
$rub=gg('ElCounter.total_active_power'); // Забираем не обработанные данные со счетчика $sat = round($rub * 10, 2); // Вычисления, умножаем на 10 и округляем до двух значений после запятой sg ('ElCounter.ElectricityCosts',$sat); // Записываем значение
//Вычисляем потребление за прошлый месяц //Вписываем руками тариф за 1 кВт/ч, руб. $Rate = 8.5; $ot = $this->object_title; $StartLastMounthTime = strtotime(date('Y-m-d H:i:s', mktime(0, 0, 0, date('m') - 1, 1))); $EndLastMounthTime = strtotime(date('Y-m-1 0:0:0',time()))-1; $arr = getHistory($ot.'.total_active_power', $StartLastMounthTime, $EndLastMounthTime); $ValueStart = $arr[0]['VALUE']; $ValueEnd = $arr[count($arr)-1]['VALUE']; $LastMounthConsumption = $ValueEnd - $ValueStart; $this->setProperty('LastMounthConsumption', $LastMounthConsumption); $LastMounthConsumptionCost = round($Rate * $LastMounthConsumption, 2); $this->setProperty('LastMounthConsumptionCost', $LastMounthConsumptionCost);
$rub=gg('ElCounterT.total_active_power'); // Забираем не обработанные данные со счетчика $sat = round($rub * 8.5 , 2); // Вычисления, умножаем на 8 и округляем до двух значений после запятой sg ('ElCounterT.ElectricityCosts',$sat); // Записываем значение
, Россия
На форуме: Nail
© 2024 - Site Built By SergeJey | Реквизиты: Курицын С. С. ИНН 762001394609 | Контакты | Публичный договор
SmartLiving