Простые устройства / Simple Devices описание методов
Модератор: immortal
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Простые устройства / Simple Devices описание методов
Установи это свойство Toilet.IdleDelay 30
и это Toilet.SomebodyHere 0
и запусти метод в своей же комнате - updateActivityStatus
и это Toilet.SomebodyHere 0
и запусти метод в своей же комнате - updateActivityStatus
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: Простые устройства / Simple Devices описание методов
А как проверить размер переменной=классу?если размер переменной имадж больше 100 то сохраняй.. иначе нет
и после этого - if (file_exists($path)) {cm('Motion05.motionDetected');}
удаляй сам файл -
Удалять не вариант, я его потом на сцене показываю.
Вроде вот так корректно работает
Код: Выделить всё
//удаляем файле, есои его длинна=0
if(file_exists($path)) {
$size=filesize($path);
echo $path.':'.$size.'<br>';
if (filesize($path)<10) unlink($path) ;
}
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: Простые устройства / Simple Devices описание методов
Сейчас пишет
таймер продлился
И такое ощущение, что настройка Изменение означает активность в помещении игнорируется при обработке режима nobodyhome, так как я сценарием дергал аналогичный датчик движения простых устройств.
Точно, сейчас провел эксперимент - полное игнорирование настроек *.ignoreNobodysHome
метод motionDetected на месте
Код: Выделить всё
Кто-то есть. Активность:
И такое ощущение, что настройка Изменение означает активность в помещении игнорируется при обработке режима nobodyhome, так как я сценарием дергал аналогичный датчик движения простых устройств.
Точно, сейчас провел эксперимент - полное игнорирование настроек *.ignoreNobodysHome
метод motionDetected на месте
Код: Выделить всё
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SMotions_motionDetected.php');
/* end injection of {SDevices} */
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: Простые устройства / Simple Devices описание методов
Код: Выделить всё
echo "=1";
print_r( getObjectsByProperty('ignoreNobodysHome','=','1'));
echo "<br>";
echo "=0";
print_r( getObjectsByProperty('ignoreNobodysHome','=','0'));
Код: Выделить всё
=1Array ( [0] => Motion01 [1] => Motion09 [2] => Motion06 [3] => Motion04 [4] => Motion07 [5] => Motion05 [6] => Motion03 [7] => Motion02 [8] => Motion08 )
=0Array ( )
Нашел, что некоторые устройства Relay не имеют свойства isActivity вообще (т.е. оно наследованное из класса есть, но значение не присвоено), соответсвественно не находятся при поиске
Код: Выделить всё
if ($linked_room && $this->getProperty('isActivity')) {
if (getGlobal('NobodyHomeMode.active')) {
callMethodSafe('NobodyHomeMode.deactivate');
}
Еще накопал отсутсвие галочки "вызыывать родительский метод" у метода NobodyHomeMode.(de)activate
наблюдаем дальше
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Простые устройства / Simple Devices описание методов
Измени еще вот это - ThisComputer.somebodyHome на 0
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: Простые устройства / Simple Devices описание методов
А это что вообще откуда?tarasfrompir1 писал(а): ↑Чт май 17, 2018 3:12 pmИзмени еще вот это - ThisComputer.somebodyHome на 0
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Простые устройства / Simple Devices описание методов
Ну читай там же понятно написано
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: Простые устройства / Simple Devices описание методов
Логика заработала (пока кроме самого автоматического включения), но ThisComputer.somebodyHomeText содержит Кто-то есть. Активность:
Кто его вообще заполняет?
Rooms_updateActivityStatus.php
Похоже это к OperateMode вообще никакого отношения не имеет.
Кто его вообще заполняет?
Rooms_updateActivityStatus.php
Похоже это к OperateMode вообще никакого отношения не имеет.
СпойлерПоказать
Код: Выделить всё
if (getGlobal('NobodyHomeMode.active')) {
$somebodyHomeText = LANG_DEVICES_ROOMS_NOBODYHOME." ".LANG_DEVICES_ROOMS_ACTIVITY." " . date('H:i', $rooms[0]['time']) . " (" . $rooms[0]['room'] . ")";
} else {
$res_rooms = array();
for ($i = 0; $i < $total; $i++) {
if ($rooms[$i]['active']) {
$res_rooms[] = $rooms[$i]['room'];
}
}
$somebodyHomeText = LANG_DEVICES_ROOMS_SOMEBODYHOME." ". LANG_DEVICES_ROOMS_ACTIVITY . " " . implode(", ", $res_rooms);
}
echo $somebodyHomeText;
setGlobal('somebodyHomeText', $somebodyHomeText);
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Простые устройства / Simple Devices описание методов
Нашел!!!
в обьектах найди - OperationalModes
там внутри него NobodyHomeMode
а уж у него есть такое свойство NobodyHomeMode.active (H) установи 1 и заработает
в обьектах найди - OperationalModes
там внутри него NobodyHomeMode
а уж у него есть такое свойство NobodyHomeMode.active (H) установи 1 и заработает
Спасибо нам ПОМОЖЕТ..!
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Простые устройства / Simple Devices описание методов
ну как же а вот это - if (getGlobal('NobodyHomeMode.active'))directman66 писал(а): ↑Чт май 17, 2018 3:27 pmЛогика заработала (пока кроме самого автоматического включения), но ThisComputer.somebodyHomeText содержит Кто-то есть. Активность:
Кто его вообще заполняет?
Rooms_updateActivityStatus.php
Похоже это к OperateMode вообще никакого отношения не имеет.
СпойлерПоказатьКод: Выделить всё
if (getGlobal('NobodyHomeMode.active')) { $somebodyHomeText = LANG_DEVICES_ROOMS_NOBODYHOME." ".LANG_DEVICES_ROOMS_ACTIVITY." " . date('H:i', $rooms[0]['time']) . " (" . $rooms[0]['room'] . ")"; } else { $res_rooms = array(); for ($i = 0; $i < $total; $i++) { if ($rooms[$i]['active']) { $res_rooms[] = $rooms[$i]['room']; } } $somebodyHomeText = LANG_DEVICES_ROOMS_SOMEBODYHOME." ". LANG_DEVICES_ROOMS_ACTIVITY . " " . implode(", ", $res_rooms); } echo $somebodyHomeText; setGlobal('somebodyHomeText', $somebodyHomeText);
- За это сообщение автора tarasfrompir поблагодарил:
- Maxim_161 (Вт авг 10, 2021 11:59 pm)
- Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!