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

Re: Модуль Broadlink

Добавлено: Ср янв 25, 2017 11:22 am
kas5858
kas5858 писал(а):
nick7zmail писал(а):
kas5858 писал(а): Я говорю что создал, но ничего туда не попадает, прошу объяснить подробнее может я что то не то сделал.
Всё правильно сделал. Почему не попадает - уже другой вопрос...давай попробуем разобраться.
Для начала зайди в панель управления -> сценарии, создай новый сценарий с кодом

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

include_once(DIR_MODULES."dev_broadlink/dev_broadlink.class.php");
$dev_broadlink=new dev_broadlink();
$dev_broadlink->check_params(); 
Запусти его оттуда, и посмотри на свойство broadlink.temperature. Если появится - просто перезагрузи сервак (у меня такое бывает...почему-то изменения в почасовом скрипте не подхватывает до перезагрузки)...тогда должна начать обновляться каждый час...

Если же не появится - открой discover.php, проверь есть ли она там....дальше отпишись - будем думать.
Огромное спасибо, по сценарию данные появились. Перезагрузил, буду наблюдать обновление раз в час. Далее отпишусь.
Прошло два часа, температура не обновляется. Сервер перезагружал несколько раз.

Re: Модуль Broadlink

Добавлено: Ср янв 25, 2017 12:06 pm
nick7zmail
kas5858 писал(а): Прошло два часа, температура не обновляется. Сервер перезагружал несколько раз.
Интересно...а в xray->debug есть строки каждый час что-то типа:

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

dev_broadlink.ProcessSubscription(HOURLY)
Система обновлена? Мэйн цикл так же падает?

Re: Модуль Broadlink

Добавлено: Ср янв 25, 2017 12:09 pm
igorewa
Спасибо за новые функции, а именно за А1 и мини. Расскажите что делать после добавления А1, в данных пусто, нужно самому создавать поля temperature, humidity, light и тд или они появятся после обновления данных?

Re: Модуль Broadlink

Добавлено: Ср янв 25, 2017 12:33 pm
kas5858
nick7zmail писал(а):
kas5858 писал(а): Прошло два часа, температура не обновляется. Сервер перезагружал несколько раз.
Интересно...а в xray->debug есть строки каждый час что-то типа:

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

dev_broadlink.ProcessSubscription(HOURLY) 
Система обновлена? Мэйн цикл так же падает?
1. Система обновлена.
2. main падает.
3. Строки есть.

Re: Модуль Broadlink

Добавлено: Ср янв 25, 2017 12:38 pm
kas5858
igorewa писал(а):Спасибо за новые функции, а именно за А1 и мини. Расскажите что делать после добавления А1, в данных пусто, нужно самому создавать поля temperature, humidity, light и тд или они появятся после обновления данных?
Если обновление пройдет нормально то появятся. У меня обновление автоматом пока не проходит, только вручную.

Re: Модуль Broadlink

Добавлено: Ср янв 25, 2017 1:13 pm
nick7zmail
igorewa писал(а):Спасибо за новые функции, а именно за А1 и мини. Расскажите что делать после добавления А1, в данных пусто, нужно самому создавать поля temperature, humidity, light и тд или они появятся после обновления данных?
Поля сами появиться должны по-идее...Но вот у человека проблема - что-то странное...если всё штатно - то сами появятся. Можете попробовать "вручную" обновить, запустив скрипт про который выше писал.
kas5858 писал(а): 1. Система обновлена.
2. main падает.
3. Строки есть.
Давайте лог мэйн цикла посмотрим...из-за чего падает не пойму...у меня уже почти сутки держится, ни одного падения.
В папке logs или debug...точно не помню...текстовый файл cycle_main_log_дата.txt

Re: Модуль Broadlink

Добавлено: Ср янв 25, 2017 3:04 pm
igorewa
1. Открыл http://ваш IP/modules/dev_broadlink/discover.php, нашел А1
{"devtype":"0x2714","name":"......","mac":"b4:43:0d:c7:5f:f4","host":"10.0.1.41","model":"A1".......
2. Добавил в модуль
SPOILERSPOILER_SHOW
Изображение
3. Создал скрипт "обновить данные с broadlink" ( что бы не ждать целый час ), запустил.
Данные обновились
SPOILERSPOILER_SHOW
Изображение
Открываю Данные и там пустота
SPOILERSPOILER_SHOW
Изображение
Вопрос снят! Добавил обьект, связал его и получил все данные. спасибо за вашу работу! ждем дальнейших обновлений

Re: Модуль Broadlink

Добавлено: Ср янв 25, 2017 3:42 pm
kas5858
nick7zmail писал(а):
igorewa писал(а):Спасибо за новые функции, а именно за А1 и мини. Расскажите что делать после добавления А1, в данных пусто, нужно самому создавать поля temperature, humidity, light и тд или они появятся после обновления данных?
Поля сами появиться должны по-идее...Но вот у человека проблема - что-то странное...если всё штатно - то сами появятся. Можете попробовать "вручную" обновить, запустив скрипт про который выше писал.
kas5858 писал(а): 1. Система обновлена.
2. main падает.
3. Строки есть.
Давайте лог мэйн цикла посмотрим...из-за чего падает не пойму...у меня уже почти сутки держится, ни одного падения.
В папке logs или debug...точно не помню...текстовый файл cycle_main_log_дата.txt
Вот что нашёл.
Fatal error: Class 'Broadlink' not found in /var/www/modules/dev_broadlink/dev_broadlink.class.php on line 350

Re: Модуль Broadlink

Добавлено: Ср янв 25, 2017 4:11 pm
igorewa
У меня кстати тоже температура не обновляется. В TempSensor01.updatedTime вчерашнее время и дата, а в RM2 Pro Plus время последнего обновления 10 мин назад, в ручную скриптом тоже не обновляет.

Re: Модуль Broadlink

Добавлено: Ср янв 25, 2017 7:06 pm
Ged
nick7zmail писал(а): PS: с получением данных по IP пока не задалось)) Пробовал сделать, как Ged в этом посте viewtopic.php?p=43529#p43529. Думал будет отображаться только устройство с введенным IP. Но нет. Ввожу левый IP, отображается мой RM с другим IP... Пока думаю, как это все лучше реализовать.
Гм... А что именно делал? У меня вроде четко работает.
Делаю как в том посте после слов "На вскидку сделал так."

А можно сделать, чтобы
$dev_broadlink->check_params("nameBrLink");
не записывал данные в какие-то свойства, а просто возвращал массив переменных?
Мне так удобнее и т.к. у меня только RM pro, для себя сделал:

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

 # diff "dev_broadlink.class.php" dev_broadlink_get_param.class.php
282c282
<  function check_params() {
---
>  function check_params($dev="") {
284c284,287
<       $db_rec=SQLSelect("SELECT * FROM dev_httpbrige_devices");
---
>       if (strlen($dev)>1)
>               $db_rec=SQLSelect("SELECT * FROM dev_httpbrige_devices where TITLE='$dev'");
>       else
>               $db_rec=SQLSelect("SELECT * FROM dev_httpbrige_devices");
292a296
>                                               if (strlen($dev)>1)     return $response;
354a359
>                                               if (strlen($dev)>1)     return $response;
 
Соответственно, вызываю:

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

include_once(DIR_MODULES."dev_broadlink/dev_broadlink_get_param.class.php");
$dev_broadlink=new dev_broadlink();
$temperature=$dev_broadlink->check_params("MyBroadLink");