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

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

Модератор: immortal

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

Re: [Модуль] Broadlink

Сообщение nick7zmail » Вс июл 22, 2018 10:06 am

RM через new должен создаваться объект. Смотри примеры в файле с check в названии.

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

Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Pau1td
Сообщения: 75
Зарегистрирован: Ср июл 11, 2018 4:17 pm
Благодарил (а): 36 раз
Поблагодарили: 7 раз

Re: [Модуль] Broadlink

Сообщение Pau1td » Сб июл 28, 2018 12:05 am

Подскажите, пожалуйста, как сделать округление энергопотребления SP3S до целого, сотые совершенно не нужны?

Делаю, как описано в https://kb.smartliving.ru/фильтрация-и- ... ых-от-дат/ , но ничего не получается...
Создаю свойство Round_value, создаю метод Round, в методе прописываю

$value = $this->getProperty('value');
$Round_value = round($value, 0);
$this->setProperty('Round_value', $Round_value);

и в итоге не работает...
В свойствах объекта отображаются три разных переменных (почему все три разных включая value и round_value??? какие то разные переменные используются?):
Sensor_power01.loadStatusTimeout - 176.88
Sensor_power01.value - 176.96
Sensor_power01.Round_value - 181.12

Округления нет, пробовал перебирать переменные через $value = $params['value'], пытался всякие разные переменные подставлять и в params и в getProperty, но не работает.
Что я делаю не так???
Вроде бы элементарная задача, а решить не могу(((
Помогите, плиз
NightRider
Сообщения: 70
Зарегистрирован: Пт авг 21, 2015 2:27 pm
Благодарил (а): 8 раз
Поблагодарили: 4 раза

Re: [Модуль] Broadlink

Сообщение NightRider » Сб июл 28, 2018 2:52 am

Есть пожелание, в модуль к RM добавить "калькулятор" команды.
Идея в чем, иногда RM не может записать команду (по какой причине, отдельная тема), но вот воспроизвести - вполне, достаточно установить "правильную" команду. Вопрос как ее сформировать? - Если есть SDR, хотя бы тот же RTL-SDR, то можно эту команду подслушать. Затем по услышанному сформировать текстовое представление в формате, понимаемом RM, и вставить ее в модуль. В итоге последний будет ее успешно воспроизводить в дальнейшем. Собственно задача предлагаемого калькулятора - формировать текстовое представление команды, исходя из записи команды с SDR.
Данная схема опробована и успешно работает. Могу предоставить необходимую информацию и методику формирования команды.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Broadlink

Сообщение nick7zmail » Сб июл 28, 2018 9:28 am

Pau1td
https://kb.smartliving.ru/%D1%84%D0%B8% ... %B0%D1%82/

NightRider
Давайте попробуем.
Просто на сколько я видел - RM команды выглядят ну совсем подругому, нежели команды принимаемые любыми радиомодулями. Я и подумал что у RM своё какое-то кодирование, и не стал дальше разбираться. Если есть какой-то алгоритм преобразования одного вида в другой - я не против добавить подобную фичу. Ещё бы "генератор" команд для кондеев добавить. На сколько я знаю - тоже актуальная штука...
За это сообщение автора nick7zmail поблагодарил:
Albert (Вс июл 29, 2018 11:53 am)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
NightRider
Сообщения: 70
Зарегистрирован: Пт авг 21, 2015 2:27 pm
Благодарил (а): 8 раз
Поблагодарили: 4 раза

Re: [Модуль] Broadlink

Сообщение NightRider » Сб июл 28, 2018 12:56 pm

Вот здесь https://github.com/dimagoltsman/Random- ... -Generator человек создал на ява скрипте (по сути) генератор случайных кодов. Правда в конечном итоге он еще строку в base-64 конвертирует. Это нам не нужно. Там же есть ссылка на описание протокола Broadlink. Нам нужно только последнее https://github.com/mjg59/python-broadli ... nding-data
Я на основе всего этого создал себе ексель)) в котором на VBA собственно все преобразования сделал. Собственно можно этот эксель за основу смело взять, там всего 2 функции, все что нужно они делают.
Теперь описание как получить представление сигнала в виде строки нулей и единиц, вернее возможно и иначе, но я сделал так:
Изображение
0. Записываем сигнал с помощь URH (universal radio hacker)
1. Выделяем импульс с минимальной шириной
2. Смотрим из скольких импульсов он состоит до демодуляции
3. Вставляем полученную длину импульса для нужного нам преобразования (чаще всего нужно немного округлять в большую сторону)
4. Выбираем модуляцию, в данном случае всегда амплитудная
5. Копируем полученную строку в калькулятор (пока это эксель)

А дальше если появится в модуле специальное поле и рядом кнопка, будет супер.

зы: по поводу кондиционеров. Протоколов то много разных. Нужно искать описание или реверсить. Но если задаться целью, для самых ходовых брендов я думаю можно будет сделать.
Вложения
6c8e0-clip-72kb.png
6c8e0-clip-72kb.png (71.51 КБ) 3877 просмотров
SDR2Broadlink_converter.xlsm
(23.45 КБ) 173 скачивания
За это сообщение автора NightRider поблагодарил:
Albert (Вс июл 29, 2018 11:53 am)
Рейтинг: 1.16%
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: [Модуль] Broadlink

Сообщение Chainik » Вс июл 29, 2018 12:18 am

Вот тут доступным языком объясняют, как формируются ИК-команды (https://ab-log.ru/smart-house/ethernet/megad-2561-ir).
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: [Модуль] Broadlink

Сообщение olehs » Вс июл 29, 2018 12:38 am

Вот тут я приводил скрипт, расшифровывающий код бродлинка (только IR, но думаю RF такой же). Да, действительно, он отличается от общепринятого кодирования. В нем каждый байт означает задержку (в определенных долях, по-моему 38мкс) до смены состояния с 0 на 1 и наоборот. Анализаторы же, обычно выдают запись эфира в виде значений амплитуд. Если знать частоту оцифровки граббером, то перевести из одного в другое можно, но чистый амплитудный сигнал обычно шумный, потому сначала надо будет его обработать (фильтрами).


NightRider, а Ваш SDR, как я понял, сам анализирует команду, и выдает уже готовый бинарный код, верно?
Вот в него бы впихнуть Ваш калькулятор ))
За это сообщение автора olehs поблагодарили (всего 2):
NightRider (Вс июл 29, 2018 2:10 am) • Albert (Вс июл 29, 2018 11:56 am)
Рейтинг: 2.33%
NightRider
Сообщения: 70
Зарегистрирован: Пт авг 21, 2015 2:27 pm
Благодарил (а): 8 раз
Поблагодарили: 4 раза

Re: [Модуль] Broadlink

Сообщение NightRider » Вс июл 29, 2018 2:28 am

olehs, SDR это всего лишь приемник, остальное делает ПО. Я использовал универсальное, само по себе оно ничего не анализирует, это все нужно делать ручками. Вот с его помощью, путем нехитрых манипуляций, я получил по сути, чистый, не декодированный RAW бинарный код команды. В общем я описал сообщением выше все.
Конкретно URH не предназначен для того чтобы к нему прикручивали какие-либо конвертеры. Это по идее можно сделать с помощь GNU radio. Но это уже совсем другая история :)
зы: за ссылки на декодировщики IR для кондеев спасибо, нужно будет получше прикрутить свой фуджик, а то он у меня при каких-то командах изменении температуры еще и режим переключает))
Аватара пользователя
woow
Сообщения: 821
Зарегистрирован: Пн июл 04, 2016 8:46 am
Откуда: Mazeikiai
Благодарил (а): 125 раз
Поблагодарили: 46 раз

Re: [Модуль] Broadlink

Сообщение woow » Пн июл 30, 2018 11:12 pm

у меня Broadlink больше не дружит с МД. e-Control всё работает без сбоев, наверное предчувствие что все таймера и управление оставил на e-Control. Захотел к устройству климат контроля A1 подключить несколько устройств с другого племени и тут вижу что МД не принимает с А1 данных цикл практически всегда остановлен. e-Control прекрасно работает.... нечего не понимаю.
деинсталировал Broadlink и вот такие радости:
Warning: include_once(./modules//dev_broadlink/broadlink.class.php): failed to open stream: No such file or directory in /var/www/lib/brlink_command.php on line 2
Warning: include_once(): Failed opening './modules//dev_broadlink/broadlink.class.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/lib/brlink_command.php on line 2
Raspberry Pi 3B+
Pau1td
Сообщения: 75
Зарегистрирован: Ср июл 11, 2018 4:17 pm
Благодарил (а): 36 раз
Поблагодарили: 7 раз

Re: [Модуль] Broadlink

Сообщение Pau1td » Ср авг 01, 2018 9:56 pm

Вопрос по SP3S - при выключении меняется статус Relay, но не меняется статус в PowerSensors, поэтому если розетка выключена, то показывается последнее энергопотребление, и оно отличается от 0.
Посоветуйте, пожалуйста, как это исправить.
Ответить