(включи|выключи)
Code
say('Что именно '.$matches[1].'ть?');
|
камин
Pattern: (обогревател|камин)
Code
|
берлога
Code
if (preg_match('/включи/is',$original)) {
say('Включаю камин в маленькой комнате');
$device="AmarokCalorifier";
runScript("Sonoff",array("device"=>$device,"mode"=>'on'));
} elseif (preg_match('/выключи/is',$original)) {
say('Выключаю камин в маленькой комнате');
$device="AmarokCalorifier";
runScript("Sonoff",array("device"=>$device,"mode"=>'off'));
} else {
say('Непонятно что с камином в маленькой комнате: '.$original);
}
|
|
матрас
Code
$device="AmarokBed";
sg($device.".AutoMode",0);
if (preg_match('/(включи)/is',$original)) {
runScript("Sonoff",array("device"=>$device,"mode"=>'on'));}
if (preg_match('/(выключи)/is',$original)) {
runScript("Sonoff",array("device"=>$device,"mode"=>'off'));}
|
радио
Code
if (preg_match('/(включи)/is',$original)) {
say($original,-1);
}
if (preg_match('/(выключи)/is',$original)) {
runScript("vlc",array("mode"=>'stop'));
}
|
свет
Code
|
берлога
Code
if (preg_match('/включи/is',$original)) {
say('Включаю свет в маленькой комнате');
runScript("LivoloHUB",array("id"=>'6400',"key"=>'0'));
} elseif (preg_match('/выключи/is',$original)) {
say('Выключаю свет в маленькой комнате');
runScript("LivoloHUB",array("id"=>'6400',"key"=>'off'));
} else {
say('Непонятно что со светом в маленькой комнате: '.$original);
}
|
ванная
Code
if (preg_match('/включи/is',$original)) {
say('Включаю свет в ванной');
runScript("LivoloHUB",array("id"=>'6403',"key"=>'0'));
} elseif (preg_match('/выключи/is',$original)) {
say('Выключаю свет в ванной');
runScript("LivoloHUB",array("id"=>'6403',"key"=>'off'));
} else {
say('Непонятно что со светом в ванной: '.$original);
}
|
везде
Code
if (preg_match('/выключи/is',$original)) {
say('Выключаю везде свет');
runScript("LivoloHUB",array("key"=>'fulloff'));
runScript("nooLite",array("mode"=>'fulloff'));
}
|
кухня
Code
if (preg_match('/включи/is',$original)) {
say('Включаю свет на кухне');
runScript("nooLite",array("mode"=>'on',"channel"=>'3'));
} elseif (preg_match('/выключи/is',$original)) {
say('Выключаю свет на кухне');
runScript("nooLite",array("mode"=>'off',"channel"=>'3'));
} else {
say('Непонятно что со светом на кухне: '.$original);
}
|
прихожая
Code
if (preg_match('/включи/is',$original)) {
say('Включаю свет в коридоре');
runScript("LivoloHUB",array("id"=>'6405',"key"=>'96'));
} elseif (preg_match('/выключи/is',$original)) {
say('Выключаю свет в коридоре');
runScript("LivoloHUB",array("id"=>'6405',"key"=>'off'));
} else {
say('Непонятно что со светом в коридоре: '.$original);
}
|
|
|
(открой|закрой)
Code
say('Что именно '.$matches[1].'ть?');
|
шторы
Code
|
берлога
Code
if (preg_match('/закрой/is',$original)) {
say('Закрываю шторы в маленькой комнате');
runScript("jalousie",array("room"=>'AmarokLair',"mode"=>'close'));
} elseif (preg_match('/открой/is',$original)) {
say('Открываю шторы в маленькой комнате');
runScript("jalousie",array("room"=>'AmarokLair',"mode"=>'open'));
} else {
say('Непонятно что со шторами в маленькой комнате: '.$original);
}
|
|
|
main цикл остановлен
|
vors
Code
runScript("vors",array("mode"=>"help"));
|
будильник
Pattern: (поставь|установи|заведи) будильник на (\d+)(\s*)(часов|:)*(\s*)(\d*)
Code
$h=$matches[2];
$m=$matches[6];
if ($h>24) {
say("Непонятно на который час завести будильник, определитесь и сообщите снова.",5);
return;
}
if (($m>59)|(!$m)) {
say("Непонятно на сколько минут завести будильник, поэтому пусть будет ровно 00.",5);
$m="00";
}
say("Ставлю будильник на ".$h." часов ".$m." минут. Постарайтесь не проспать.",5);
setGlobal('AlarmOne.AlarmOn',1);
setGlobal('AlarmOne.AlarmTime',$h.':'.$m);
|
напоминалка в минутах
Pattern: напомни через (\d+) минут (.+)
Code
say("Хорошо.",1);
setTimeOut('timer','say("'.$matches[2].'",2);',$matches[1]*60);
|
Общий контекст
|
забудь
Code
context_clear();
clearTimeOut('user_'.context_getuser().'_contexttimeout');
say('Контекст забыт.');
|
|
позвони
Code
if (preg_match('/позвони/is',$original)) {
$name = explode(" ", $original); $name = $name[1];
$name = mb_strtolower($name, 'UTF-8');
$objects = getObjectsByClass("Peoples");
foreach($objects as $obj) {
$n2c = mb_strtolower(gg($obj['TITLE'].".name"), 'UTF-8');
$n2c1 = mb_strtolower(gg($obj['TITLE'].".name1"), 'UTF-8');
$n2c2 = mb_strtolower(gg($obj['TITLE'].".name2"), 'UTF-8');
if ($n2c==$name or $n2c1==$name or $n2c2==$name) {
$skypename = gg($obj['TITLE'].".Skype");
say($skypename);
}
}
}
|
сколько время
Pattern: (сколько время|который час)
Code
|
сколько градусов
Pattern: (сколько на улице градусов|сколько градусов)
Code
say('По моим датчикам, на улице сейчас '.gg('ESPmeteo.tempOutsideRounded')."°");
|
статус системы
Pattern: (докладывай|как дела)
|