Страница 38 из 376

Re: Модуль Broadlink

Добавлено: Вт мар 14, 2017 6:30 pm
landgraf
Одна розетка включена, другая выключена:
22:26:00 0.81873800 Test2:
22:26:00 0.81820100 Test: 03 0 04 1
22:26:00 0.76521400 Test2:
22:26:00 0.76462800 Test: 03 0 04 0

Обе выключены:
22:29:00 0.54425300 Test2:
22:29:00 0.54372900 Test: 03 0 04 0
22:29:00 0.48910900 Test2:
22:29:00 0.48856900 Test: 03 0 04 0

Re: Модуль Broadlink

Добавлено: Вт мар 14, 2017 6:39 pm
nick7zmail
Аха...пэйлод нормальный...проблема по ходу в синтаксисе бродлинковской библиотеки)))
Попробуй теперь

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

return $payload[0x4] ? true : false;

Поменять на

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

return $payload[0x4] ? 1 : 0;

или на

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

return bool($payload[0x4]);
или в конце концов просто на

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

return $payload[0x4];
Что то должно сработать...
Смотрите в дебаге на test2, либо на свойство в МД.

Re: Модуль Broadlink

Добавлено: Вт мар 14, 2017 7:11 pm
landgraf
Без тест2 была строка return $payload[0x3] ? true : false;

Поменял на return $payload[0x4] ? true : false;
22:43:00 0.82552000 Test2: 1
22:43:00 0.82497300 Test: 03 0 04 1
22:43:00 0.73489400 Test2:
22:43:00 0.73428000 Test: 03 0 04 0
В таком виде работает отслеживание статуса на включение, т.е. если в мажордомо стоит 0, и включить розетку руками, то при обновлении оно получит 1. Но при ручном выключении свойство не меняется на 0.

Поменял на return $payload[0x4] ? 1 : 0;
22:42:01 0.08116100 Test2: 1
22:42:01 0.08062100 Test: 03 0 04 1
22:42:01 0.01929700 Test2: 0
22:42:01 0.01872500 Test: 03 0 04 0
Отработало аналогично, отследилось только включение.
+ не записалось время обновления в объект

поменял на return bool($payload[0x4]);
в таком варианте Алиса перестала писать даже cheсk в чат, который был написан для дебага в методе onNewMinute(или как-то так)
Сам дебаг возвращал при этом только
23:04:00 0.36113700 Test: 03 0 04 0
23:03:00 0.93668200 Test: 03 0 04 0

Поменял на return $payload[0x4];
Включение
23:06:00 0.29398000 Test2: 1
23:06:00 0.29350800 Test: 03 0 04 1
23:06:00 0.23558800 Test2: 0
23:06:00 0.23509000 Test: 03 0 04 0

Выключение
23:07:01 0.00085100 Test2: 0
23:07:00 0.00014500 Test: 03 0 04 0
23:07:00 0.93048700 Test2: 0
23:07:00 0.92995700 Test: 03 0 04 0

Но опять же, значение свойства при ручном выключении не поменялось.

Также опять появилось свойство plug1.check не понял на каком этапе, на самых первых уже было. Оно всегда имеет значение 1 и за все время тестов не менялось.
Удалил на последнем варианте, но выключение также не отследилось.

Re: Модуль Broadlink

Добавлено: Вт мар 14, 2017 7:58 pm
nick7zmail
Мучаем дальше))

В файле dev_broadlink.class.php
Код:

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

                $response = $rm->Check_Power();    
                    if(isset($response) && $response!='') {
                        Debmes('Test2: '.$response);
                        sg($rec['LINKED_OBJECT'].'.status', $response);
                    }
Debmes перенесем в цикл If...
В broadlink.class.php
остановимся на

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

return bool($payload[0x4]);

Re: Модуль Broadlink

Добавлено: Вт мар 14, 2017 8:15 pm
landgraf
Точно использовать return bool($payload[0x4]); ?
Мне показалось это самый не работающий вариант )

Поменял в дебаге выводится
00:20:00 0.36174200 Test: 03 0 04 0
00:19:00 0.94623600 Test: 03 0 04 0

такой вывод как со включенной так и выключенной розеткой.
т.е. не отслеживается даже включение

Re: Модуль Broadlink

Добавлено: Вт мар 14, 2017 8:50 pm
nick7zmail
А блин точн...тогда с 1: 0

Отправлено с моего Xperia Z через Tapatalk

Re: Модуль Broadlink

Добавлено: Вт мар 14, 2017 9:03 pm
landgraf
Включено
00:58:00 0.55067700 Test2: 1
00:58:00 0.55018000 Test: 03 0 04 1
00:58:00 0.47609500 Test: 03 0 04 0

Выключено
01:00:00 0.94070100 Test: 03 0 04 0
01:00:00 0.88503500 Test: 03 0 04 0

01:01:00 0.67913900 Test: 03 0 04 0
01:01:00 0.62175400 Test: 03 0 04 0
Тест 2 не отработал

значение свойства поменялось только у включенной розетки.

Re: Модуль Broadlink

Добавлено: Ср мар 15, 2017 6:33 am
nick7zmail
Понятно...значит цикл if не отрабатывает...
Попробуй сперва одно условие убрать, потом его вернуть - второе убрать...надо понять какое условие всё запарывает))

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

 if($response!='') {// сперва так

 if(isset($response)) { //потом так 

Re: Модуль Broadlink

Добавлено: Ср мар 15, 2017 12:21 pm
landgraf
Вот такой вариант отрабатывает и включение и отключение if(isset($response)) {
Ура! )

Опять появилось свойство check, посмотрел только у первого объекта, как и писал ранее равно единице и не меняется.

Жаль что сама розетка не инициирует изменение свойства )

Re: Модуль Broadlink

Добавлено: Ср мар 15, 2017 12:32 pm
nick7zmail
Понял, внесу вечером изменения. На счет check - проверю...но вроде всё убирал.

Розетка сама не инициирует вроде...еконтрол её тоже опрашивает...могу ошибаться конечно

Отправлено с моего Xperia Z через Tapatalk