Использование системы в различных ситуациях, вопросы программирования сценариев.
Модератор: immortal
-
Killer_Angel
- Сообщения: 38
- Зарегистрирован: Сб дек 01, 2012 9:05 am
-
Благодарил (а):
0
-
Поблагодарили:
1 раз
Сообщение
Killer_Angel » Сб дек 08, 2012 3:25 pm
продолжаем :
устройства исправно находять/теряються, но метод не отрабатывает (
скрины с скриптом :
Код: Выделить всё
$tm=registeredEventTime('bluetooth_found_'.$params['mac']);
if ($params['user']!='') {
registerEvent('bluetooth_found_'.$params['mac']);
$tm2=registeredEventTime('bluetooth_lost_'.$params['mac']);
if (((time()-$tm)>1*60*60 || $tm<0) &&
((time()-$tm2)>1*60*60 || $tm2<0)
) {
say($params['user'].' уже дома');
//здесь можно проверку
if ($params['mac']=='11:4b:4b:6c:bb:ff') {
say("появилось устройство такое-то");
}
if ($params['mac']=='11:4B:4B:6C:BB:FF') {
say("появилось устройство иное");
}
if ($params['user']=='какой-то пользователь') {
say("появился пользователь такой-то");
}
}
}
if ($params['new']) {
say('Обнаружено новое блютуз устройство');
}
-
sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
-
Благодарил (а):
75 раз
-
Поблагодарили:
1559 раз
-
Контактная информация:
Сообщение
sergejey » Сб дек 08, 2012 3:51 pm
Попробуй этот код упростить
Код: Выделить всё
$tm=registeredEventTime('bluetooth_found_'.$params['mac']);
if ($params['user']!='') {
registerEvent('bluetooth_found_'.$params['mac']);
$tm2=registeredEventTime('bluetooth_lost_'.$params['mac']);
if (((time()-$tm)>1*60*60 || $tm<0) &&
((time()-$tm2)>1*60*60 || $tm2<0)
) {
say($params['user'].' уже дома');
//здесь можно проверку
if ($params['mac']=='11:4b:4b:6c:bb:ff') {
say("появилось устройство такое-то");
}
if ($params['mac']=='11:4B:4B:6C:BB:FF') {
say("появилось устройство иное");
}
if ($params['user']=='какой-то пользователь') {
say("появился пользователь такой-то");
}
}
}
if ($params['new']) {
say('Обнаружено новое блютуз устройство');
}
до вот такого
Код: Выделить всё
$tm=registeredEventTime('bluetooth_found_'.$params['mac']);
if ($params['mac']=='11:4b:4b:6c:bb:ff') {
say("появилось устройство такое-то");
}
if ($params['mac']=='11:4B:4B:6C:BB:FF') {
say("появилось устройство иное");
}
if ($params['new']) {
say('Обнаружено новое блютуз устройство');
}
заморочки с event-ами были добавлены для того, чтобы исключить временные пропадания пользователя из видимости
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
Killer_Angel
- Сообщения: 38
- Зарегистрирован: Сб дек 01, 2012 9:05 am
-
Благодарил (а):
0
-
Поблагодарили:
1 раз
Сообщение
Killer_Angel » Сб дек 08, 2012 4:18 pm
не работает, т.е. : прописал, сохранил, проверил что сохранилось
выключил бт на телефоне, посмотрел чтобы в базе он упал вниз по сравнению с теми которые прописаны и видит, включил бт на телефоне, опять в табличке посмотрел что mac телефона он поднялся на верх, но реакции нет :/
что/где посмотреть ?
-
Killer_Angel
- Сообщения: 38
- Зарегистрирован: Сб дек 01, 2012 9:05 am
-
Благодарил (а):
0
-
Поблагодарили:
1 раз
Сообщение
Killer_Angel » Вс дек 09, 2012 2:25 am
заставил вызывать объект только грязным хаком (
после не работающего
Код: Выделить всё
getObject('BlueDev')->raiseEvent("Found", array('mac'=>$mac, 'user'=>$user['NAME'],'new'=>$new));
вставил костыль
Код: Выделить всё
system('php /var/www/vhost/ihome.home/objects/index.php BlueDev.Found mac:"'.$mac.'" user:"'.$user['NAME'].'"');
PS: и еще почему-то при подобном вызове с lost, выставляется не тот mac, хотя пользователь тот
Код: Выделить всё
getObject('BlueDev')->raiseEvent("Lost", array('mac'=>$k, 'user'=>$user['NAME']));
system('php /var/www/vhost/ihome.home/objects/index.php BlueDev.Lost mac:"'.$mac.'" user:"'.$user['NAME'].'"');