(включи|выключи)
Код
say('Что именно '.$matches[1].'ть?');
|
камин
Шаблон: (обогревател|камин)
Код
|
берлога
Код
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);
}
|
|
матрас
Код
$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'));}
|
радио
Код
if (preg_match('/(включи)/is',$original)) {
say($original,-1);
}
if (preg_match('/(выключи)/is',$original)) {
runScript("vlc",array("mode"=>'stop'));
}
|
свет
Код
|
берлога
Код
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);
}
|
ванная
Код
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);
}
|
везде
Код
if (preg_match('/выключи/is',$original)) {
say('Выключаю везде свет');
runScript("LivoloHUB",array("key"=>'fulloff'));
runScript("nooLite",array("mode"=>'fulloff'));
}
|
кухня
Код
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);
}
|
прихожая
Код
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);
}
|
|
|
(открой|закрой)
Код
say('Что именно '.$matches[1].'ть?');
|
шторы
Код
|
берлога
Код
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
Код
runScript("vors",array("mode"=>"help"));
|
будильник
Шаблон: (поставь|установи|заведи) будильник на (\d+)(\s*)(часов|:)*(\s*)(\d*)
Код
$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);
|
напоминалка в минутах
Шаблон: напомни через (\d+) минут (.+)
Код
say("Хорошо.",1);
setTimeOut('timer','say("'.$matches[2].'",2);',$matches[1]*60);
|
Общий контекст
|
забудь
Код
context_clear();
clearTimeOut('user_'.context_getuser().'_contexttimeout');
say('Контекст забыт.');
|
|
позвони
Код
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);
}
}
}
|
сколько время
Шаблон: (сколько время|который час)
Код
|
сколько градусов
Шаблон: (сколько на улице градусов|сколько градусов)
Код
say('По моим датчикам, на улице сейчас '.gg('ESPmeteo.tempOutsideRounded')."°");
|
статус системы
Шаблон: (докладывай|как дела)
|