[Модуль] Broadlink (dev_broadlink)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение nick7zmail » Пн ноя 26, 2018 1:26 pm

VooDooN писал(а):
Пн ноя 26, 2018 1:15 pm

[updated]
Когда-то показалось, что чем дольше держать кнопку на пульте при обучении, тем длиннее будет сохранен код.
Вот нифига подобного. Чем дольше держишь - тем "чище" код приходит.
Т.е. быстро нажал - там вплоть до 500 символов у меня были команды (мусор, повторы), а долго подержать - возвращалась аккуратненькая команда символов на 120.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Mikik
Сообщения: 111
Зарегистрирован: Ср апр 26, 2017 11:44 am
Откуда: Москва
Благодарил (а): 14 раз
Поблагодарили: 9 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение Mikik » Пн ноя 26, 2018 2:55 pm

VooDooN писал(а):
Пн ноя 26, 2018 1:15 pm
Mikik писал(а):
Пн ноя 26, 2018 11:01 am
Беда у меня случилась. Т.к. e-control больше не развивается, то решил перейти на IHC. Для опытов выбрал наименее ценного члена экипажа: RM pro, управляющий прожектором по RF и кондиционером в спальне. Подключил его к IHC, но тут же он пропал из МЖД, хотя ни IP адрес, ни тем более MAC-адрес не менялся. Поиском в модуле нашел его опять. Переобучил командам и тут началось! Если нажать на значок молнии в закладке "Данные" этого RM pro, то команда выполняется, но попытка в сценарии или в консоли выполнить команду brLinkCommand приводит к ошибке:

Warning: socket_recvfrom(): unable to recvfrom [10054]: ��������� ���� ������������� �������� ������������ �����������. in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink.class.php on line 561 Fatal error: Uncaught Error: Call to undefined method SP1::Send_data() in C:\_majordomo\htdocs\lib\brlink_command.php:10 Stack trace: #0 C:\_majordomo\htdocs\lib\brlink_command.php(18): brLinkRawCommand('4', '2600c00173390f0...') #1 C:\_majordomo\htdocs\modules\objects\objects.class.php(558) : eval()'d code(3): brLinkCommand('Bedroom24heart') #2 C:\_majordomo\htdocs\modules\objects\objects.class.php(558): eval() #3 C:\_majordomo\htdocs\objects\index.php(128): objects->callMethod('HeartMax', Array) #4 {main} thrown in C:\_majordomo\htdocs\lib\brlink_command.php on line 10

Как исправить? На всякий случай снес IHC. Через e-control всё управляется.
А попробуйте ради эксперимента исправить в файле modules\dev_broadlink\broadlink.class.php на строке 561, значение 2048 на что-то побольше. В два раза больше. Что-то есть подозрение, что при обучении новых кодов, у Вас эти коды стали такими большими, что не влазят в сокет, если я правильно понял.

[updated]
Когда-то показалось, что чем дольше держать кнопку на пульте при обучении, тем длиннее будет сохранен код.
Пробовал. Ничего не изменилось. Сами команды выполняются, если нажать на "молнию" в строке команд. Ошибка появляется только при попытке выполнить команду brLinkCommand.
Аватара пользователя
VooDooN
Сообщения: 307
Зарегистрирован: Сб июн 11, 2016 12:02 am
Благодарил (а): 170 раз
Поблагодарили: 64 раза

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение VooDooN » Пн ноя 26, 2018 3:26 pm

Еще интересно, почему у Вас в ошибке фигурирует устройство SP1, хотя Вы писали про RM Pro...
Mikik
Сообщения: 111
Зарегистрирован: Ср апр 26, 2017 11:44 am
Откуда: Москва
Благодарил (а): 14 раз
Поблагодарили: 9 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение Mikik » Пн ноя 26, 2018 3:31 pm

Откатил на бэкап, сохраненный до экспериментов. Всё опять заработало. Что это было?
Аватара пользователя
VooDooN
Сообщения: 307
Зарегистрирован: Сб июн 11, 2016 12:02 am
Благодарил (а): 170 раз
Поблагодарили: 64 раза

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение VooDooN » Пн ноя 26, 2018 3:35 pm

Похоже, что для Вашего тестового устройства в базе почему-то сохранилось значение DevType = 0. А когда запускалась функция brLinkRawCommand, то этот 0 превращался в девайс SP1, который имеет именно такой же DevType и дальше функциональность ломалась, так как не расчитана работать для SP1.
Kas-11
Сообщения: 37
Зарегистрирован: Ср апр 26, 2017 11:52 am
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение Kas-11 » Чт ноя 29, 2018 4:14 pm

Добрый день!
У меня Удлинитель Broadlink MP1 подключен к бурбулятору аквариума. отключение и включение я поставил на кнопку.
Когда кормлю рыб я кнопкой выключаю бурбулятор чтобы корм не раскидывало по аквариуму и часто забываю включить.
Хотел поставить таймер на включение
КОД:
if (getGlobal('Relay16'.'.'.'status') != 1) {
clearTimeOut('A_FAN1');
setTimeOut('A_FAN1', " setGlobal('Relay16'.'.'.'status', '1');", (int)('1800'));
}
Подскажите что не так, почему не срабатывает таймер?
Аватара пользователя
VooDooN
Сообщения: 307
Зарегистрирован: Сб июн 11, 2016 12:02 am
Благодарил (а): 170 раз
Поблагодарили: 64 раза

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение VooDooN » Чт ноя 29, 2018 6:04 pm

Kas-11 писал(а):
Чт ноя 29, 2018 4:14 pm
Добрый день!
У меня Удлинитель Broadlink MP1 подключен к бурбулятору аквариума. отключение и включение я поставил на кнопку.
Когда кормлю рыб я кнопкой выключаю бурбулятор чтобы корм не раскидывало по аквариуму и часто забываю включить.
Хотел поставить таймер на включение
КОД:
if (getGlobal('Relay16'.'.'.'status') != 1) {
clearTimeOut('A_FAN1');
setTimeOut('A_FAN1', " setGlobal('Relay16'.'.'.'status', '1');", (int)('1800'));
}
Подскажите что не так, почему не срабатывает таймер?
А в X-Ray в Таймерах он появляется?
Попробуйте просто упростить для начала:

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

if (!getGlobal('Relay16.status')) {
	clearTimeOut('A_FAN1');
	setTimeOut('A_FAN1', "setGlobal('Relay16.status', 1);", 1800);
}
И я бы лучше использовал вместо setGlobal('Relay16.status', 1); вызов метода callMethod('Relay16.turnOn');, хотя это не принципиально.
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение xor » Чт ноя 29, 2018 11:43 pm

Kas-11 писал(а):
Чт ноя 29, 2018 4:14 pm
Добрый день!
...
1.При чём здесь модуль бродлинк?
2.Как и где у вас этот кусок кода запускается? Не видно, как статус реле устанавливается. Трудно что-то посоветовать.
Если бурбулятор должен работать непрерывно, за исключением 3 минут кормёжки, проще всего прописать единственную строку с таймером в том месте, где вы его выключаете.
Аватара пользователя
Sapizdullin
Сообщения: 408
Зарегистрирован: Сб фев 18, 2017 9:47 am
Откуда: Земля
Благодарил (а): 54 раза
Поблагодарили: 61 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение Sapizdullin » Вт дек 04, 2018 6:52 pm

nick7zmail! Дружище! вопросец возник - до сего дня что-то как-то не заморачивался с датчиком движения Броадлинковским, тут вспомнил про него и вылезла удивительная вещь - прикрутил его к простым устройствам (датчику движения), и понеслось в МДМ пишет срабатывания каждые 20-50 сек. А в E-Control - два часа назад. Где косяк? Движение было реально два часа назад. И иногда заходя на страницу модуля наблюдаю - "Цикл остановлен"....
Intel(R) Core(TM) i7-6700, Debian 9 "Stretch", Zoneminder, Avreg.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение nick7zmail » Ср дек 05, 2018 7:31 am

А вот здесь то и нужна как раз опция - обновлять только при изменении. Либо же менять алгоритм работы самого простого устройства. Дело в том, что датчик шлёт как 1, когда сработал, так и 0, когда не срабатывал. Шлёт постоянно, пишутся постоянно. Т.е. либо обработку в метода if($status==1), либо ставим опцию обновлять только при изменении. И тогда в свойство будет писать, только если значение отличается.
За это сообщение автора nick7zmail поблагодарили (всего 2):
Sapizdullin (Ср дек 05, 2018 7:47 am) • kawkay (Ср дек 05, 2018 8:29 am)
Рейтинг: 2.33%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить