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

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

Модератор: immortal

igor_spodarev
Сообщения: 17
Зарегистрирован: Вс мар 10, 2019 1:18 pm
Благодарил (а): 8 раз
Поблагодарили: 1 раз

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

Сообщение igor_spodarev » Ср апр 10, 2019 2:24 pm

nick7zmail писал(а):
Вт апр 02, 2019 8:07 am
А зачем вы 2 раза один и тот же код вставили? Это у меня где-то так написано?
один код был ошибку выдовало это резал ножницами случайно второй влепил, я весь дом делаю скопировал вставил максимум если ошибка в коде такое выдает
переустановил MD все нормо стало нет такой ошибки
VLAKA
Сообщения: 58
Зарегистрирован: Чт июн 08, 2017 5:45 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

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

Сообщение VLAKA » Чт апр 11, 2019 11:59 am

nick7zmail писал(а):
Вт мар 26, 2019 11:35 am
Не знаю. По идее все коды, которые есть в бэкапе он перехватывает. TC выключатели точно сохраняет...а вот почему этого якобы диммера нет - я хз...
по идее можно в базу знаний или шапку добавить, я уже писал недавно, но когда чето не работает многим тяжело всю ветку лопатить.
VLAKA писал(а):
Вс янв 06, 2019 10:44 pm
VLAKA писал(а):
Вт янв 01, 2019 6:12 pm
В конце прокатило настроить используя шаблон от другого выключателя (yogsee из раздела Light Switches). Правда тоже необычно, не обучалась команда выкл, вернее обучалась но не работала. Оказалось надо вводить режим обучения для выключения с выключенного состояния (зажимать кнопку на выключателе когда свет выключен) только тогда и обучалось и работало. Ну и для кнопки вкл соответственно наоборот (зажимать кнопку на выключателе при включенном свете)
Кстати забыл добавить что с добавлением в мжд тоже траблы были. Походу чтото поменялось с их бекапами в облаке. Надеюсь поможет если кто на это наткнется.
Суть была такова, в еконтроле выключатели добавились и работали без проблем, сделал бекап в облако накатил его жене на телефон, все работает.
Скачиваю последний бекап в мжд и к своему удивлению не нахожу там новых команд. Сперва подумал может опять баг с обновлением директории, снес все из /var/www/cached/broadlink/SharedData/ перезагрузил последний бекап, но команд там все равно не оказалось.
Не буду ходить вокруг да около, после долгих попыток с разными настройками все решилось методом тыка, команды появляются в бекапе только после добавления их в сценарий еконтрола. Сделал сценарий вкл весь свет и выкл весь свет, с добавлением всех новых кнопок, сохранил в облаке и все команды появились в бекапе
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Чт апр 11, 2019 12:10 pm

Сорян, проглядел этот момент...обязательно добавлю.

UPD: Дописал сюда https://kb.mjdm.ru/broadlink_cloud/
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
andrusha7778
Сообщения: 85
Зарегистрирован: Сб авг 12, 2017 11:03 am
Благодарил (а): 15 раз
Поблагодарили: 3 раза

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

Сообщение andrusha7778 » Пт апр 26, 2019 9:12 pm

Добрый день! Подскажите пожалуйста, каким образом можно "заставить" обновить модуль данные по какому-то определенному устройству?
У меня есть BEOK термостат, я начал создавать для него виджет (на основе обычного термостата), естественно сделал новый класс и необходимые свойства. Привязал всё что надо к объекту в модуле dev_broadlink, при изменении свойства объекта всё сразу же передается в термостат. Однако обратно (из физ. термостата) - только когда происходит обновление данных в цикле dev_broadlink.
К примеру у меня стоит обновлять раз в 10 минут, так вот, если я изменяю желаемую температуру, термостат ее воспринимает сразу, а в свойствах объекта она отображается уже потом! Такая же история со статусом встроенного реле - к примеру изменили температуру, термостат включил реле, а в свойство active у моего объекта обновится только после отработки цикла!
Нельзя ли как-то вручную цикл пропихнуть только для определенного устройства?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Сб апр 27, 2019 9:44 am

Выше отвечал уже на этот вопрос где то)) Во первых время обновления можно выбрать по-чаще (1 минуту к примеру), и не придется столько ждать. Вариант 2 - в ручную можно обновить вот таким скриптом

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

include_once(DIR_MODULES . 'dev_broadlink/dev_broadlink.class.php');
$br = new dev_broadlink();
$br->check_params('10m'); 
- обновит все устройства, у которых время обновления 10 минут.
За это сообщение автора nick7zmail поблагодарил:
andrusha7778 (Сб апр 27, 2019 11:07 am)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
andrusha7778
Сообщения: 85
Зарегистрирован: Сб авг 12, 2017 11:03 am
Благодарил (а): 15 раз
Поблагодарили: 3 раза

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

Сообщение andrusha7778 » Сб апр 27, 2019 11:09 am

Спасибо. На счет 1 минуты понятно, но если я ставлю к примеру 5 секунд цикл падает через раз почему-то.
На счет скрипта, спасибо за наводку. Попробую прописать его в какой-нибудь метод.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Сб апр 27, 2019 11:56 am

Ну 5 секунд это часто конечно, но не на столько, чтобы падал цикл. Если только одно из опрашиваемых устройств не в сети.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
andrusha7778
Сообщения: 85
Зарегистрирован: Сб авг 12, 2017 11:03 am
Благодарил (а): 15 раз
Поблагодарили: 3 раза

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

Сообщение andrusha7778 » Сб апр 27, 2019 11:57 pm

Да, устройства вполне бывают не в сети, например когда я выключаю электричество. Попробовал - создал метод ManualUpdate, вписал туда код. При вызове метода по ссылке он чудесно отрабатывает, при обновлении свойства - нет. Возможно проблема в том, что это свойство связано с модулем dev_Broadlink? Свойство называется power, при изменении его с 0 на 1 термостат включается по питанию моментально, но в объекте свойство меняется только когда приходит время обновления, либо я вручную вызываю метод. Как же тогда сделать? Вызывать этот метод из шаблона отображения, а не при обновлении свойства?
В общем у меня из шаблона отображения вызываются 2 метода PowerOn или PowerOff
В каждый из этих методов прописал вызов метода ManualUpdate через callMethodSafe. Заработало сразу. Но не совсем понятно всё же почему не отрабатывает при изменении свойства.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Вс апр 28, 2019 12:22 pm

Чтобы по свойству отрабатывало - надо свойство с этим методом связать на уровне класса. Вручную вызывать через callMethodSafe ничуть не хуже вариант. Рад, что работает.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
andrusha7778
Сообщения: 85
Зарегистрирован: Сб авг 12, 2017 11:03 am
Благодарил (а): 15 раз
Поблагодарили: 3 раза

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

Сообщение andrusha7778 » Вс апр 28, 2019 5:26 pm

nick7zmail писал(а):
Вс апр 28, 2019 12:22 pm
Чтобы по свойству отрабатывало - надо свойство с этим методом связать на уровне класса. Вручную вызывать через callMethodSafe ничуть не хуже вариант. Рад, что работает.
Спасибо.
Я так и поступил. Я расширил класс SThermostats и создал класс BeokThermostats, получается SThermostat для BeokThermostat родительский класс. В свойстве Power класса BeokThermostats прописал вызов метода ManualUpdate при изменении.
Но он не отрабатывает.
Ответить