Будильник
Код
if (preg_match('/включи/uis',$original)) {
say("Включаю будильник на установленное время ".gg('AlarmOne.AlarmTime'),1);
setGlobal('AlarmOne.AlarmOn',1);
} elseif (preg_match('/выключи/uis',$original)) {
say('Хорошо. Выключаю будильник полностью',1);
setGlobal('AlarmOne.AlarmOn',0);
} else {
say('Непонятно что с будильником: '.$original,1);
}
context_clear();
clearTimeOut('user_'.context_getuser().'_contexttimeout');
|
будильник (включить на XX часов YY минут)
Шаблон: будильник на (.*)(часа|часов|час|(:))((.+)\s*(.*))
Код
if (preg_match('/включи/uis',$original)) {
$h=$matches[1];
$m=$matches[4];
$hh=$h;
if ($h<10) {$h="0".$h;}
if ($h>24) {
say("Непонятно на который час завести будильник, определитесь и сообщите снова.",1);
return;
}
if (($m>59)|(!$m)) {
say("Непонятно на сколько минут завести будильник, поэтому пусть будет ровно 00.",1);
$m="00";
}
say("Ставлю будильник на ".$h." часов ".$m." минут. Постарайтесь не проспать.",1);
setGlobal('AlarmOne.AlarmOn',1);
setGlobal('AlarmOne.AlarmTime',$h.':'.$m);}
elseif (preg_match('/выключи/uis',$original)) {
say("Хорошо. Выключаю будильник полностью",2);
setGlobal('AlarmOne.AlarmOn',0);
} else {
say('Непонятно что с будильником: '.$original,1);
}
context_clear();
clearTimeOut('user_'.context_getuser().'_contexttimeout');
|
камеру
Код
$sp=gg('RCam.status');
if (preg_match('/включи/uis',$original)) {
if ($sp == '0'){
say('Включаю камеру',1);
getURL('http://192.168.1.50/gpiout?st=1&pin=12', 0);//камера
}
elseif ($sp == '1')
{
say('Камера уже включена',1);
getURL('http://192.168.1.50/gpiout?st=1&pin=12', 0);//камера
}
} elseif (preg_match('/выключи/uis',$original))
{
if ($sp == '1'){
say('Выключаю камеру',1);
getURL('http://192.168.1.50/gpiout?st=0&pin=12', 0);//камера
}
elseif ($sp == '0')
{
say('Камера уже выключена',1);
getURL('http://192.168.1.50/gpiout?st=0&pin=12', 0);//камера
}
}
else {
say('Непонятно : '.$original,5);
}
//context_clear();
//clearTimeOut('user_'.context_getuser().'_contexttimeout');
|
компьютер
Код
if (preg_match('/включи/uis',$original)) {
say('Какой компьютер включить?',1);
} elseif (preg_match('/выключи/uis',$original)) {
say('Какой компьютер выключить?',1);
} else {
say('Непонятно : '.$original,5);
}
|
Матвей
Код
$sp=gg('RCompM.status');
if (preg_match('/включи/uis',$original))
{
if ($sp == '0'){
say('Включаю компьютер',1);
getURL('http://192.168.1.51/gpiout?st=1&pin=13', 0);//комп Тем
}
elseif ($sp == '1')
{
say('Компьютер Матвея уже включен',1);
getURL('http://192.168.1.51/gpiout?st=1&pin=13', 0);//комп Тем
}
} elseif (preg_match('/выключи/uis',$original))
{
if ($sp == '1'){
say('Выключаю компьютер',1);
getURL('http://192.168.1.51/gpiout?st=0&pin=13', 0);//комп Тем
}
elseif ($sp == '0')
{
say('Компьютер Матвея выключен',1);
getURL('http://192.168.1.51/gpiout?st=0&pin=13', 0);//комп Тем
}
}
else {
say('Непонятно : '.$original,5);
}
//context_clear();
//clearTimeOut('user_'.context_getuser().'_contexttimeout');
|
мой
Код
$sp=gg('RCompO.status');
if (preg_match('/включи/uis',$original))
{
if ($sp == '0'){
say('Олег! Я включила компьютер',1);
getURL('http://192.168.1.102/gpiout?st=1&pin=13', 0);//мой комп
}
elseif ($sp == '1')
{
say('Компьютер уже включен',1);
getURL('http://192.168.1.102/gpiout?st=1&pin=13', 0);//мой комп
}
} elseif (preg_match('/выключи/uis',$original))
{
if ($sp == '1'){
say('Олег! Я выключила компьтер.',1);
getURL('http://192.168.1.102/gpiout?st=0&pin=13', 0);//мой комп
}
elseif ($sp == '0')
{
say('Компьютер уже выключен',1);
getURL('http://192.168.1.102/gpiout?st=0&pin=13', 0);//мой комп
}
}
else {
say('Непонятно : '.$original,5);
}
//context_clear();
//clearTimeOut('user_'.context_getuser().'_contexttimeout');
|
|
Свет
Код
if (preg_match('/включи/isu',$original)){
say('Где, включить свет?',1);
}elseif (preg_match('/выключи/isu',$original)){
say('Где, выключить свет?',1);
}
|
Балкон1
Шаблон: (балкон|балкон1|балкон 1|балкон один)
Код
$sw=gg('SwetBall1.status');
if (preg_match('/включи/isu',$original))
{
if ($sw==0){
getURL('http://192.168.1.103/gpiout?st=1&pin=12', 0);
say('Включила свет на балконе',1);
}
if ($sw==1){
getURL('http://192.168.1.103/gpiout?st=1&pin=12', 0);
say('Свет на балконе уже включен',1);
}
} elseif (preg_match('/выключи/isu',$original))
{if ($sw==1){
getURL('http://192.168.1.103/gpiout?st=0&pin=12', 0);
say('Выключила свет на балконе',1);
}
if ($sw==0) {
getURL('http://192.168.1.103/gpiout?st=0&pin=12', 0);
say('Свет на балконе не горит',1);
}
}
|
Балкон2
Шаблон: (балкон2|балкон 2|балкон два)
Код
$sw=gg('SwetBal2.status');
if (preg_match('/включи/isu',$original))
{
if ($sw==0){
getURL('http://192.168.1.103/gpiout?st=1&pin=16', 0);
say('Включила свет на балконе',1);
}
if ($sw==1){
getURL('http://192.168.1.103/gpiout?st=1&pin=16', 0);
say('Свет на балконе уже включен',1);
}
} elseif (preg_match('/выключи/isu',$original))
{if ($sw==1){
getURL('http://192.168.1.103/gpiout?st=0&pin=16', 0);
say('Выключила свет на балконе',1);
}
if ($sw==0) {
getURL('http://192.168.1.103/gpiout?st=0&pin=16', 0);
say('Свет на балконе не горит',1);
}
}
|
Ванная
Код
$sw=gg('SwetV.status');
if (preg_match('/включи/isu',$original))
{
if ($sw==0){
getURL('http://192.168.1.105/gpiout?st=1&pin=16', 0);
say('Включила свет в ванной',1);
}
if ($sw==1){
getURL('http://192.168.1.105/gpiout?st=1&pin=16', 0);
say('Свет в ванной уже включен',1);
}
} elseif (preg_match('/выключи/isu',$original))
{if ($sw==1){
getURL('http://192.168.1.105/gpiout?st=0&pin=16', 0);
say('Выключила свет в ванной',1);
}
if ($sw==0) {
getURL('http://192.168.1.105/gpiout?st=0&pin=16', 0);
say('Свет в ванной не горит',1);
}
}
|
Зал
Код
$sw=gg('SwetZ4.status');
if (preg_match('/включи/isu',$original))
{
if ($sw==0){
getURL('http://192.168.1.109/gpiout?st=1&pin=14', 0);
say('Включила свет в зале',1);
context_clear();
clearTimeOut('user_'.context_getuser().'_contexttimeout');
}
if ($sw==1){
// getURL('http://192.168.1.109/gpiout?st=1&pin=14', 0);
say('Сколько лампочек?',1);
}
} elseif (preg_match('/выключи/isu',$original))
{
getURL('http://192.168.1.109/gpiout?st=0&pin=12', 0);
getURL('http://192.168.1.109/gpiout?st=0&pin=14', 0);
say('Выключила свет в зале',1);
context_clear();
clearTimeOut('user_'.context_getuser().'_contexttimeout');
}
|
1
Код
if (preg_match('/включи/uis',$original)) {
say('Включила свет в зале',1);
getURL('http://192.168.1.109/gpiout?st=1&pin=12', 0);
getURL('http://192.168.1.109/gpiout?st=0&pin=14', 0);
} elseif (preg_match('/выключи/uis',$original)) {
say('Выключила свет в зале',1);
getURL('http://192.168.1.109/gpiout?st=0&pin=12', 0);
} else {
say('Непонятно : '.$original,5);
}
|
2-3-6
Шаблон: 2|два|3|три|6|шесть
Код
say('Пока умею только одну, четыре и пять',5);
|
4
Код
if (preg_match('/включи/uis',$original)) {
say('Включила свет в зале',1);
getURL('http://192.168.1.109/gpiout?st=0&pin=12', 0);
getURL('http://192.168.1.109/gpiout?st=1&pin=14', 0);
} elseif (preg_match('/выключи/uis',$original)) {
say('Выключила свет в зале',1);
getURL('http://192.168.1.109/gpiout?st=0&pin=14', 0);
} else {
say('Непонятно : '.$original,5);
}
|
5
Код
if (preg_match('/включи/uis',$original)) {
say('Включила свет в зале',1);
getURL('http://192.168.1.109/gpiout?st=1&pin=12', 0);
getURL('http://192.168.1.109/gpiout?st=1&pin=14', 0);
} elseif (preg_match('/выключи/uis',$original)) {
say('Выключила свет в зале',1);
getURL('http://192.168.1.109/gpiout?st=0&pin=12', 0);
getURL('http://192.168.1.109/gpiout?st=0&pin=14', 0);
} else {
say('Непонятно : '.$original,5);
}
|
|
Кухня
Код
$sw=gg('SwetKu.status');
if (preg_match('/включи/isu',$original))
{
if ($sw==0){
getURL('http://192.168.1.107/gpiout?st=1&pin=16', 0);
say('Включила свет на кухне',1);
}
if ($sw==1){
getURL('http://192.168.1.107/gpiout?st=1&pin=16', 0);
say('Свет на кухне уже включен',1);
}
} elseif (preg_match('/выключи/isu',$original))
{if ($sw==1){
getURL('http://192.168.1.107/gpiout?st=0&pin=16', 0);
say('Выключила свет на кухне',1);
}
if ($sw==0) {
getURL('http://192.168.1.107/gpiout?st=0&pin=16', 0);
say('Свет на кухне не горит',1);
}
}
|
Прихожка
Шаблон: (прихожая|прихожка)
Код
$sw=gg('SwetPr.status');
if (preg_match('/включи/isu',$original))
{
if ($sw==0){
getURL('http://192.168.1.113/gpiout?st=1&pin=12', 0);//прихожка
say('Включила свет в прихожей',1);
}
if ($sw==1){
getURL('http://192.168.1.113/gpiout?st=1&pin=12', 0);//прихожка
say('Свет в прихожей уже включен',1);
}
} elseif (preg_match('/выключи/isu',$original))
{if ($sw==1){
getURL('http://192.168.1.113/gpiout?st=0&pin=12', 0);//прихожка
say('Выключила свет в прихожей',1);
}
if ($sw==0) {
getURL('http://192.168.1.113/gpiout?st=0&pin=12', 0);//прихожка
say('Свет в прихожей не горит',1);
}
}
|
Спальня
Код
$sw=gg('SwetSp.status');
if (preg_match('/включи/isu',$original))
{
if ($sw==0){
getURL('http://192.168.1.104/gpiout?st=1&pin=12', 0);
say('Включила свет в спалне',1);
}
if ($sw==1){
getURL('http://192.168.1.104/gpiout?st=1&pin=12', 0);
say('Свет в спальне уже включен',1);
}
} elseif (preg_match('/выключи/isu',$original))
{if ($sw==1){
getURL('http://192.168.1.104/gpiout?st=0&pin=12', 0);
say('Выключила свет в спальне',1);
}
if ($sw==0) {
getURL('http://192.168.1.104/gpiout?st=0&pin=12', 0);
say('Свет в спальне не горит',1);
}
}
|
стол Матвея
Шаблон: (стол Матвей)|(стол тем)|(стол зал)
Код
$sp=gg('SwetStM.status');
if (preg_match('/включи/uis',$original))
{
if ($sp == '0'){
say('Включаю свет над столом',1);
getURL('http://192.168.1.51/gpiout?st=1&pin=12', 0);//стол Тем
}
elseif ($sp == '1')
{
say('Свет над столом уже включен',1);
getURL('http://192.168.1.51/gpiout?st=1&pin=12', 0);//стол Тем
}
} elseif (preg_match('/выключи/uis',$original))
{
if ($sp == '1'){
say('Выключаю свет над столом',1);
getURL('http://192.168.1.51/gpiout?st=0&pin=12', 0);//стол Тем
}
elseif ($sp == '0')
{
say('Свет над столом выключен',1);
getURL('http://192.168.1.51/gpiout?st=0&pin=12', 0);//стол Тем
}
}
else {
say('Непонятно : '.$original,5);
}
//context_clear();
//clearTimeOut('user_'.context_getuser().'_contexttimeout');
|
|
Телевизор
Шаблон: телек|телик|телевизор|TV|ТВ
Код
if (preg_match('/включи/isu',$original)){
sayReply('Где, включить телевизор?',1);
}elseif (preg_match('/выключи/isu',$original)){
sayReply('Где, выключить телевизор?',1);
}
|
Зал TV
Код
$sw=gg('RZalTv.status');
if (preg_match('/включи/isu',$original))
{
if ($sw==0){
getURL('http://192.168.1.50/gpiout?st=1&pin=13', 0);
say('Включаю телевизор',1);
}
if ($sw==1){
getURL('http://192.168.1.50/gpiout?st=1&pin=13', 0);
say('Телек уже включен',1);
}
} elseif (preg_match('/выключи/isu',$original))
{if ($sw==1){
getURL('http://192.168.1.50/gpiout?st=0&pin=13', 0);
say('Выключила телевизор',1);
}
if ($sw==0) {
getURL('http://192.168.1.50gpiout?st=0&pin=13', 0);
say('Телек в зале выключен',1);
}
}
|
кухня TV
Код
say('Управлять кухонным телевизором я только учусь',1);
|
Спальня TV
Код
$sw=gg('RSpTv.status');
if (preg_match('/включи/isu',$original))
{
if ($sw==0){
getURL('http://192.168.1.106/gpiout?st=1&pin=13', 0);
say('Включаю телевизор',2);
}
if ($sw==1){
getURL('http://192.168.1.106/gpiout?st=1&pin=13', 0);
say('Телек уже включен',2);
}
} elseif (preg_match('/выключи/isu',$original))
{if ($sw==1){
getURL('http://192.168.1.106/gpiout?st=0&pin=13', 0);
say('Выключила телевизор',2);
}
if ($sw==0) {
getURL('http://192.168.1.106/gpiout?st=0&pin=13', 0);
say('Телек в спальни выключен',2);
}
}
|
|
Цвет
Код
if (preg_match('/включи/isu',$original)){
sayReply('Какой, включить цвет?',2);
}elseif (preg_match('/выключи/isu',$original)){
sayReply('Где, выключить свет?',2);
}
|
|
Калькулятор
Шаблон: сколько будет (.*)
Код
$command=$matches[1];
$com=str_replace(',','.',$command);
$com=str_replace('один','1',$com);
$com=str_replace('два','2',$com);
$com=str_replace('три','3',$com);
$com=str_replace('четыре','4',$com);
$com=str_replace('пять','5',$com);
$com=str_replace('шесть','6',$com);
$com=str_replace('семь','7',$com);
$com=str_replace('восемь','8',$com);
$com=str_replace('девять','9',$com);
$com=str_replace('x','*',$com);;
$com=str_replace('х','*',$com);
$com=str_replace('разделить на','/',$com);
$com=str_replace('делить на','/',$com);
$com=str_replace('на','*',$com);
$com=str_replace('плюс','+',$com);
$com=str_replace('минус','-',$com);
$command=str_replace('x',' умножить на ',$command);
$command=str_replace('х',' умножить на ',$command);
//$command=str_replace('+',' плюс ',$command);
$command=str_replace('/',' делить на ',$command);
$command=str_replace('-',' минус ',$command);
$com='$result=' . $com .';';
eval($com);
$result = round($result,2);eval($com);
$result=str_replace('.',',',$result); //чтобы Алиса читала 1.5 как 'Один с половиной', а не 'Один точка пять', хотя это зависит от TTS-движка
say($command.' равно '.$result,1);
|