Страница 4 из 11

Re: Простые устройства / Simple Devices описание методов

Добавлено: Вт май 08, 2018 5:44 pm
skysilver
sigment писал(а):
Вт май 08, 2018 11:01 am
Как сделать чтоб произносилось только один раз при включении, а не каждую секунду, бесконечно?
Где и как меняется свойство Relay09.status аж каждую секунду?!

Re: Простые устройства / Simple Devices описание методов

Добавлено: Вт май 08, 2018 6:09 pm
sigment
Выставил в Устройствах / Broadlink обновлять каждую 1 секунду, если выставить 5 сек, то повторяет через 5 секунд. Свойство не меняется каждую секунд, а проверяет, я так понимаю и если status становится 1, то повторяет это бесконечно.
И я не совсем понимаю, зачем мне здесь использовать MQTT...

Re: Простые устройства / Simple Devices описание методов

Добавлено: Вт май 08, 2018 6:11 pm
skysilver
sigment писал(а):
Вт май 08, 2018 6:09 pm
Выставил в Устройствах / Broadlink обновлять каждую 1 секунду,
В настройках модуля есть галочка "Обновлять только при изменении".

Re: Простые устройства / Simple Devices описание методов

Добавлено: Вт май 08, 2018 6:19 pm
sigment
А видел ее . Но так и не пробовал. )))

Спасибо. Все работает. Отвлекся на задавание вопросов и забыл пробовать поставить галку.

Re: Простые устройства / Simple Devices описание методов

Добавлено: Вт май 08, 2018 6:26 pm
tarasfrompir
Так вы все знаете а вопросы задаете?
За мкютт спросил используете? Вы пишите Я думаю что нет. ))).
Ну а я думаю что надо хоть что то ещё написать!! Али не надо?
Что пользуете какое оборудование , кака ось стоит или ещё что то ?
Или здесь все Ванги? Вобщем все никаких ответов. Понимаю теперь когда мне отвечали с потугами...
Разберитесь , найдите взаимосвязь и выставте свой баг... Вот это будет по делу...

Re: Простые устройства / Simple Devices описание методов

Добавлено: Вт май 08, 2018 6:41 pm
sigment
Да если бы я знал, что нужно написать, написал бы. Иногда задаешь вопрос, понимаешь, что даже сформулировать правильно не получается. ))) Или иногда дают такой ответ, который понять не можешь, а переспрашивать не удобно.
Мой MJD работает можно сказать на минимальной возможных возможностях, от того что можно было бы сделать. А минимальные потому что, из того, что сам могу сделать, то делаю. А когда еще что-то глючить начинает, то вообще труба.

Re: Простые устройства / Simple Devices описание методов

Добавлено: Чт май 17, 2018 9:35 am
directman66
Перенесу свой вопрос сюда:
Как добиться автоматического включения nobodyHome? На чистой системе оно само включатеся, на настроенной год назад, этот режим сам никогда не включался. Настройки методов и сценарий nobodyHome и nobodySome перенес, класс Rooms идентичен.

В простых устройствах у всех датчиков движения включил настройку Игнорировать события от устройства, когда никого.
Всем выключателям поставил Изменение означает активность в помещении Нет
И все равно не срабатывает автаматический режим.

Я так понимаю, при выключении nobodyHome должен включаться какойто таймер, который продлевается при срабатывании простых устройств, но его не вижу даже на голой системе.
Теперь разобрался, что таймер

Код: Выделить всё

nobodyHome callMethodSafe('NobodyHomeMode.activate'); 2018-05-17 12:27:05  
в x-ray висит и все время продлевается. Как узнать, какое именно устройство вызывает

Код: Выделить всё

 ClearTimeOut("nobodyHome"); 
 SetTimeOut("nobodyHome","callMethodSafe('NobodyHomeMode.activate');", 1*60*60);
Этот код есть в файлах

Код: Выделить всё

SDevices_statusUpdated.php
SMotions_motionDetected.php
SOpenClose_statusUpdated.php
SThermostats_statusUpdated.php
по всем этим типам прошелся и выключил влияние на активность.

Нашел у себя еще какой-то древнющий класс keysensor c датчиками движения, там в коде метода был ClearTimeOut("nobodyHome");
Почистил )

Re: Простые устройства / Simple Devices описание методов

Добавлено: Чт май 17, 2018 9:45 am
tarasfrompir
Проверь на главной странице вверху как у тебя написано

Кто-то дома: Коридор
или
Никого нет дома - ну или в таком духе ...
если первое то ищи в этой комнате статус присутствия

если же второе то -пока не знаю что предположить...

Re: Простые устройства / Simple Devices описание методов

Добавлено: Чт май 17, 2018 9:51 am
directman66

Код: Выделить всё

Кто-то есть. Активность: Кухня-гостиная 
пошел ковырять методы всех устройств гостиной )))

Похоже нашел. Есть у меня такой замечательный скрипт копирования картинки с телевизора

Код: Выделить всё

include_once(DIR_MODULES.'app_smarttv/app_smarttv.class.php');
$dir='/var/www/webcam/tmpjpg/';
$path=$dir.'tv.jpg';
if(!is_dir($dir)) mkdir($dir) ;  
unlink($path);  //УДАЛЯЕМ ФАЙЛ


$smartTv=new app_smarttv();
$alias = '47gl';
//$alias = 'LG47eth';
$image = $smartTv->control($alias,'getImg');
SaveFile($path,$image);


//if ( file_exists($path))
if (file_get_contents($path))
{
echo "files exists";} 
else {
$smartTv2=new app_smarttv();
$alias = 'LG47eth';
$image = $smartTv2->control($alias,'getImg');
SaveFile($path,$image); 
}

//вызываем датчик движения гостиной, что говорит о том, что в комнате кто-то есть и смотрит телик
if (file_exists($path)) {cm('Motion05.motionDetected');}
который на выходе видимо создает пустой файл, если телевизор выключен. Похоже придется удалять или не создавать пустой файл перед вызовом cm('Motion05.motionDetected');

Видимо надо добавить что-то такое

Код: Выделить всё

  $dirname = "D:\\";
    $dirhandle = opendir($dirname);
    $filename = "";
    
    while (($filename = readdir($dirhandle)) !== false)
        if (filesize($filename) == 0)
            unlink($filename);
    
    closedir($dirhandle);
 

Re: Простые устройства / Simple Devices описание методов

Добавлено: Чт май 17, 2018 10:02 am
tarasfrompir
если размер переменной имадж больше 100 то сохраняй.. иначе нет
и после этого - if (file_exists($path)) {cm('Motion05.motionDetected');}
удаляй сам файл -

НО это как по мне не причем.