Включи или выключи
Шаблон: (^включи|^выключи)
Код
saySafe('Что именно '.$original.'ть?',1);
setTimeOut("answer_","runScript('AutoRemoteMessage');",3);
|
большой комп
Шаблон: (большой|большой комп|большой компьютер)
Код
// установим внутреннюю кодировку символов
mb_internal_encoding("UTF-8");
$on1 = mb_stripos($original,'включи');
$off1 = mb_stripos($original,'выключи');
if ($on1 === false) {
} else {
runScript('TurnOn_PC');
say('Включаю компьютер.',1);
}
if ($off1 === false) {
} else {
saySafe('Отправляю команду на выключение большого компьютера.',1);
runScript('TurnOff_PC');
}
if (($on1 === false)&($off1 === false)) {
saySafe('Непонятно что: '.$original,1);
}
|
будильник
Код
if (preg_match('/включи/uis',$original)) {
saySafe("Включаю будильник на установленное время ".gg('AlarmOne.AlarmTime'),1);
setGlobal('AlarmOne.AlarmOn',1);
} elseif (preg_match('/выключи/uis',$original)) {
saySafe('Хорошо. Выключаю будильник полностью',1);
setGlobal('AlarmOne.AlarmOn',0);
} else {
saySafe('Непонятно что с будильником: '.$original,1);
}
context_clear();
clearTimeOut('user_'.context_getuser().'_contexttimeout');
|
будильник (включить на XX часов YY минут)
Шаблон: будильник на (.*) (часа|часов|час)(\s+)(.*)((\s+(.+)\s*(.*))|(ровно))
Код
if (preg_match('/включи/uis',$original)) {
$h=$matches[1];
if (!check_for_number($h)) {
$ddd = explode(" ", $h);
$len=count($ddd);
$h=0;
for($j=0;$j<$len;$j++) {
$n=text_to_number($ddd[$j]);
//if (!$n) {$n="0";}
if (check_for_number($n)) {$h=$h+$n;}
else {$h=$matches[1];}
}
$h=(string)$h;
}
if (strlen($h)<2) {$h="0".$h;}
$m=$matches[4];
if (!check_for_number($m)) {
$ddd = explode(" ", $m);
$len=count($ddd);
$m=0;
for($j=0;$j<$len;$j++) {
$n=text_to_number($ddd[$j]);
//if (!$n) {$n="0";}
if (check_for_number($n)) {$m=$m+$n;}
else {$m=$matches[4];}
}
$m=(string)$m;
}
if (($h>24)|(!check_for_number($h))) {
say("Что это ".$h." ".$matches[2].".? И который это час по вашему.? Определитесь и сообщите снова.",1);
context_clear();
clearTimeOut('user_'.context_getuser().'_contexttimeout');
return;
}
if (($m>59)|(!check_for_number($m))) {
saySafe("Мне не понятно на сколько, в минутах, завести будильник, поэтому пусть будет ровно 00.",1);
$m="00";
}
if (!$m) {$m="00";}
if (($m<10)&($m!="00")) {$m="0".$m;}
saySafe(getRandomLine('ok')."Ставлю будильник на время ".$h." ".$matches[2]." ".$m." ".$matches[7].$matches[9],1);
setGlobal('AlarmOne.AlarmOn',1);
setGlobal('AlarmOne.AlarmTime',$h.':'.$m);
}
elseif (preg_match('/выключи/uis',$original)) {
saySafe(getRandomLine('ok').' Выключаю будильник полностью ',1);
setGlobal('AlarmOne.AlarmOn',0);
} else {
saySafe('Непонятно что с будильником: '.$original,1);
}
context_clear();
clearTimeOut('user_'.context_getuser().'_contexttimeout');
|
свет
Шаблон: ((с|ц)вет|освещение)
Код
saySafe("Где именно?",1);
setTimeOut("answer_","runScript('AutoRemoteMessage');",3);
|
(всё|весь|везде|всюду|полностью)
Шаблон: (всё|весь|везде|всюду|полностью)
Код
if (preg_match('/включи/uis',$original)) {
//saySafe('Включаю весь свет ',5);
runScript('turnOn_All');
} elseif (preg_match('/выключи/uis',$original)) {
//saySafe('Выключаю весь свет ',5);
runScript('turnOff_All');
} else {
saySafe('Непонятно что со светом везде: '.$original,5);
}
|
зал
Код
if (preg_match('/включи/uis',$original)) {
saySafe('Включаю свет в зале',1);
callMethod("Relay03.turnOn");
callMethod("Relay04.turnOn");
} elseif (preg_match('/выключи/uis',$original)) {
saySafe('Выключаю свет в зале',1);
callMethod("Relay03.turnOff");
callMethod("Relay04.turnOff");
} else {
saySafe('Непонятно что со светом в зале: '.$original,1);
}
|
коридор
Код
if (preg_match('/включи/uis',$original)) {
saySafe('Включаю свет в коридоре',1);
callMethod("Relay01.turnOn");
callMethod("Relay02.turnOn");
} elseif (preg_match('/выключи/uis',$original)) {
saySafe('Выключаю свет в коридоре',1);
callMethod("Relay01.turnOff");
callMethod("Relay02.turnOff");
} else {
saySafe('Непонятно что со светом в коридоре: '.$original,1);
}
|
Полина
Код
if (preg_match('/включи/uis',$original)) {
saySafe('Включаю свет в комнате Полины',1);
setGlobal('Led_lamp.power', 1);
} elseif (preg_match('/выключи/uis',$original)) {
saySafe('Выключаю свет в комнате Полины',1);
setGlobal('Led_lamp.power', 0);
} else {
saySafe('Непонятно что со светом в комнате Полины: '.$original,1);
}
|
спальня
Код
if (preg_match('/включи/uis',$original)) {
saySafe('Включаю свет в спальне',1);
setGlobal('Yeelight.power', 1);
} elseif (preg_match('/выключи/uis',$original)) {
saySafe('Выключаю свет в спальне',1);
setGlobal('Yeelight.power', 0);
} else {
saySafe('Непонятно что со светом в спальне: '.$original,1);
}
|
|
|
report system state
|
где сейчас
Шаблон: (^где сейчас)|(^где)
Код
saySafe("Место положение кого именно интересует?",1);
setTimeOut("answer_","runScript('AutoRemoteMessage');",5);
|
Виктор
Шаблон: (виктор(.*)|вит(.*)|папа)
Код
$vowels = array("где", "Где", "Где сейчас", "где сейчас");
$msgg = str_replace($vowels, " ", ".$original.");
if (time()-gg('Viktor.CoordinatesUpdatedTimestamp')>2*60*60) {
saySafe("Извините, координаты устарели. Последне место нахождения ".$msgg." - ".gg('Viktor.seenAt'),1);
} elseif (gg('Viktor.seenAt')!='') {
saySafe("Место нахождения ".$msgg." - ".gg('Viktor.seenAt'),1);
} else {
saySafe("Координаты известны, но нет названия места. Обратитесь пожалуйста к карте.",1);
}
|
Полина
Шаблон: (Полина(.*)|полин(.*)|доч(.*))
Код
$vowels = array("где", "Где", "Где сейчас", "где сейчас");
$msg = str_replace($vowels, " ", ".$original.");
if (time()-gg('Polina.CoordinatesUpdatedTimestamp')>2*60*60) {
saySafe("Извините, координаты устарели. Последне место нахождения ".$msg." - ".gg('Polina.seenAt'),1);
} elseif (gg('Polina.seenAt')!='') {
saySafe("Место нахождения ".$msg." - ".gg('Polina.seenAt'),1);
} else {
saySafe("Координаты известны, но нет названия места. Обратитесь пожалуйста к карте.",1);
}
|
Юлия
Шаблон: (юлия(.*)|юл(.*)|мама)
Код
$vowels = array("где", "Где", "Где сейчас", "где сейчас");
$msg = str_replace($vowels, " ", ".$original.");
if (time()-gg('Yuliya.CoordinatesUpdatedTimestamp')>2*60*60) {
saySafe("Извините, координаты устарели. Последне место нахождения ".$msg." - ".gg('Yuliya.seenAt'),1);
} elseif (gg('Yuliya.seenAt')!='') {
saySafe("Место нахождения ".$msg." - ".gg('Yuliya.seenAt'),1);
} else {
saySafe("Координаты известны, но нет названия места. Обратитесь пожалуйста к карте.",1);
}
|
|
Климат дома
Код
$t1=getGlobal('Bedroom.Temperature');
$t2=getGlobal('Kinderroom.Temperature');
$t3=getGlobal('HALL.Temperature');
$t4=getGlobal('Livingroom.Temperature');
$h1=getGlobal('Bedroom.Humidity');
$h2=getGlobal('Kinderroom.Humidity');
$h3=getGlobal('HALL.Humidity');
$h4=getGlobal('Livingroom.Humidity');
SQLExec("DELETE FROM shouts");
saySafe('В спальне температура '.$t1.' градусов, влажность '.$h1.' процентов',1);
saySafe('В комнате Полины температура '.$t2.' градусов, влажность '.$h2.' процентов',1);
saySafe('В коридоре температура '.$t3.' градусов, влажность '.$h3.' процентов',1);
saySafe('В зале температура '.$t4.' градусов, влажность '.$h1.' процентов',1);
|
Поставь будильник
Шаблон: (поставь|установи|заведи) будильник на (.*) (часа|часов|час)(\s+)(.*)((\s+(.+)\s*(.*))|(ровно))
Код
$h=$matches[2];
if (!check_for_number($h)) {
$ddd = explode(" ", $h);
$len=count($ddd);
$h=0;
for($j=0;$j<$len;$j++) {
$n=text_to_number($ddd[$j]);
//if (!$n) {$n="0";}
if (check_for_number($n)) {$h=$h+$n;}
else {$h=$matches[2];}
}
$h=(string)$h;
}
if (strlen($h)<2) {$h="0".$h;}
$m=$matches[5];
if (!check_for_number($m)) {
$ddd = explode(" ", $m);
$len=count($ddd);
$m=0;
for($j=0;$j<$len;$j++) {
$n=text_to_number($ddd[$j]);
//if (!$n) {$n="0";}
if (check_for_number($n)) {$m=$m+$n;}
else {$m=$matches[5];}
}
$m=(string)$m;
}
if (($h>24)|(!check_for_number($h))) {
say("Что это ".$h." ".$matches[3].".? И который это час по вашему.? Определитесь и сообщите снова.",5);
context_clear();
clearTimeOut('user_'.context_getuser().'_contexttimeout');
return;
}
if (($m>59)|(!check_for_number($m))) {
saySafe("Мне не понятно на сколько, в минутах, завести будильник, поэтому пусть будет ровно 00.",1);
$m="00";
}
if (!$m) {$m="00";}
if (($m<10)&($m!="00")) {$m="0".$m;}
saySafe(getRandomLine('ok')." Ставлю будильник на время ".$h." ".$matches[3]." ".$m." ".$matches[8].$matches[10],1);
setGlobal('AlarmOne.AlarmOn',1);
setGlobal('AlarmOne.AlarmTime',$h.':'.$m);
context_clear();
clearTimeOut('user_'.context_getuser().'_contexttimeout');
|