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

Re: Модуль Broadlink

Добавлено: Вт авг 01, 2017 6:37 pm
dr.pavlov.alex
VooDooN писал(а):Тогда проверьте вкладку Debug в момент попытки запуска сервиса. Должна быть ошибка со словом broadlink и, скорее всего, ссылкой на файл с логом. Вот в логе должена быть причина проблемы.
19:20:59 running cycle_dev_broadlink.php

Fatal error: Using $this when not in object context in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink.class.php on line 100
19:23:59 running cycle_dev_broadlink.php

Fatal error: Using $this when not in object context in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink.class.php on line 126
19:53:28 running cycle_dev_broadlink.php

Fatal error: Using $this when not in object context in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink.class.php on line 126
19:54:28 running cycle_dev_broadlink.php

Fatal error: Using $this when not in object context in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink.class.php on line 126
19:55:03 running cycle_dev_broadlink.php

Fatal error: Using $this when not in object context in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink.class.php on line 126
19:57:33 running cycle_dev_broadlink.php

Fatal error: Using $this when not in object context in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink.class.php on line 126
20:31:10 running cycle_dev_broadlink.php

Fatal error: Using $this when not in object context in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink.class.php on line 126

Re: Модуль Broadlink

Добавлено: Вт авг 01, 2017 8:33 pm
igorewa
Кстати исправьте как нибудь в очередном обновлении скачущий размер шрифта после захода в сканировать устройства

Re: Модуль Broadlink

Добавлено: Вт авг 01, 2017 9:46 pm
dmw
Я извиняюсь, а что это у вас такое АнтиКомар?))

Re: Модуль Broadlink

Добавлено: Ср авг 02, 2017 1:22 am
igorewa
dmw писал(а):Я извиняюсь, а что это у вас такое АнтиКомар?))
))) Фумигатор подключенный в SP3 , травит комаров с 22х до 4х утра

Re: Модуль Broadlink

Добавлено: Ср авг 02, 2017 8:37 am
Denis_k
igorewa писал(а):
dmw писал(а):Я извиняюсь, а что это у вас такое АнтиКомар?))
))) Фумигатор подключенный в SP3 , травит комаров с 22х до 4х утра
у комаров комендантский час, полеты с 4 начинаются :D

Re: Модуль Broadlink

Добавлено: Ср авг 02, 2017 10:44 am
dmw
Чтото лог апача меня беспокоит по поводу отсутствия методов для SP1:
SPOILERSPOILER_SHOW
PHP Fatal error: Uncaught Error: Call to undefined method SP1::Send_data() in /var/www/modules/dev_broadlink/command.php:22\nStack trace:\n#0 {main}\n thrown in /var/www/modules/dev_broadlink/command.php on line 22

PHP Fatal error: Uncaught Error: Call to undefined method SP1::Check_temperature() in /var/www/modules/dev_broadlink/dev_broadlink_check.inc.php:96\nStack trace:\n#0 /var/www/modules/dev_broadlink/dev_broadlink.class.php(374): require()\n#1 /var/www/modules/scripts/scripts.class.php(139) : eval()'d code(3): dev_broadlink->check_params()\n#2 /var/www/modules/scripts/scripts.class.php(139): eval()\n#3 /var/www/lib/common.class.php(696): scripts->runScript('broadlink_updat...', '')\n#4 /var/www/modules/objects/objects.class.php(569) : eval()'d code(18): runScript('broadlink_updat...')\n#5 /var/www/modules/objects/objects.class.php(569): eval()\n#6 /var/www/objects/index.php(152): objects->callMethod('onNewMinute', Array)\n#7 {main}\n thrown in /var/www/modules/dev_broadlink/dev_broadlink_check.inc.php on line 96
в broadlink.class.php для SP1 действительно нет таких методов, там Set_Power() только.
Кто может вызывать их и почемуто именно для SP1 которого у меня нет?

Re: Модуль Broadlink

Добавлено: Ср авг 02, 2017 12:34 pm
nick7zmail
Send_data это для rm...проверь выбранный тип устройства в выпадающем меню.

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

Re: Модуль Broadlink

Добавлено: Ср авг 02, 2017 2:59 pm
dmw
Уже разобрался, там немного все сложней.
Проверьте работает ли у всех кнопка "Обновить" в панели управления модуля Broadlink?
Наблюдаю на двух серверах данную ошибку, на обоих PHP 7.0

В файле broadlink.class.php в начале метода public function model($devtype = NULL) есть такая проверка:

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

if(is_null($devtype)) {
    $dtswitch= self::dtsw_par();
} else {
    $dtswitch=$devtype;
}
Отрабатывает она нормально, но почемуто в результате $dtswitch - это строка.
Поэтому следующий по коду комплекс switch ($dtswitch) обрабатывает любую сроку вида "0x2711" как число = 0, т.е. $model = "SP1" и $type = 0 соответственно возвращается для каждого устройства в моей базе.
Если изменить вышеуказанный код на:

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

if(is_null($devtype)) {
    $dtswitch= self::dtsw_par();
} else {
    $dtswitch=hexdec($devtype);
}
То все работает нормально, кроме если $devtype = null, с этим связана вторая проблема..

Вторая проблема:
Вызывается метод dtsw_par() в котором объект $this не определен, соответственно возвращается еще один fatal error:
PHP Fatal error: Uncaught Error: Using $this when not in object context in /var/www/modules/dev_broadlink/broadlink.class.php:129
Я так думаю, что не определен $this потому что гдето на какомто этапе функция dtsw_par() вызывается из статического метода, скорее всего из:
public static function CreateDevice($h = "", $m = "", $p = 80, $d = 0)
но на сколько это влияет пока неизвестно, изучаю..
или может я не прав?

Re: Модуль Broadlink

Добавлено: Ср авг 02, 2017 4:11 pm
vitt76
Небольшой оффтоп, гляньте, плиз, файл
\modules\devices\Rooms_onActivity.php
у всех пустой?

Re: Модуль Broadlink

Добавлено: Ср авг 02, 2017 4:58 pm
nick7zmail
dmw, ты прав! Но как это решить - я не нашел...изначально было так

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

        if(is_null($devtype)) {
             $dtswitch=$this->devtype;
         } else {
             $dtswitch=$devtype;
         }
Поиском по инету - да, нашел что ошибка из-за вызова из статического метода...вынес её по аналогии во внешнюю функцию (по аналогии с тем же $host), но, видимо, это не помогло...на большее у меня не хватило мозгов))

На счет hexdec - немного не понял логики...понял что работает, но логики не понял =D...она же просто преобразовывает 16-ричное число в десятичное? Я понимаю, что функциям то пофиг с чем работать - с 16 ричными или 10 ричным...но зачем насильно преобразовывать =D...

Если найдешь решение первой проблемы - буду благодарен! У меня мозгов не хватило на это.