[Модуль] Broadlink (dev_broadlink)
Модератор: immortal
- dimaxus
- Сообщения: 6
- Зарегистрирован: Сб мар 28, 2020 2:15 pm
- Благодарил (а): 2 раза
- Поблагодарили: 1 раз
Re: [Модуль] Broadlink (dev_broadlink)
Доброго всем дня.
Хотел подключится к теме SP4L, два раза вопрос задавался, но ответ так и повис в воздухе, разработчик ау...
Хотел подключится к теме SP4L, два раза вопрос задавался, но ответ так и повис в воздухе, разработчик ау...
- dance12r
- Сообщения: 105
- Зарегистрирован: Пн июл 17, 2017 12:14 pm
- Откуда: Киев
- Благодарил (а): 10 раз
- Поблагодарили: 47 раз
Re: [Модуль] Broadlink (dev_broadlink)
Всем день добрый, выдрал из e-Control коды кнопок выключателей TC, может кто сможет теперь напомнить как выглядела структура бекапа для импорта?
Raspberry Pi 3 + Broadlink + MySensors + MDM VoiceAssistant
- dance12r
- Сообщения: 105
- Зарегистрирован: Пн июл 17, 2017 12:14 pm
- Откуда: Киев
- Благодарил (а): 10 раз
- Поблагодарили: 47 раз
Re: [Модуль] Broadlink (dev_broadlink)
Если вдруг кому нужно:
1. Заходим в e-Control и пытаемся сделать резевную компию - получаем ошибку
2. Открываем в телефоне проводник и идем в папку: /broadlink/newremote/SharedData/
3. Копируем от сюда файлы: jsonDevice, jsonSubIr, jsonButton, jsonIrCode на локальный компьютер
4. Создаем дирректории в MJDM:
5. Копируем загруженные файлы в эту папку:
6. Открываем в браузере модуль Broadlink - > BLCloud - > Экспорт облачных команд
7. Копируем содержимое и импортируем
8. DONE!
1. Заходим в e-Control и пытаемся сделать резевную компию - получаем ошибку
2. Открываем в телефоне проводник и идем в папку: /broadlink/newremote/SharedData/
3. Копируем от сюда файлы: jsonDevice, jsonSubIr, jsonButton, jsonIrCode на локальный компьютер
4. Создаем дирректории в MJDM:
Код: Выделить всё
ssh pi@mjdm_ip
cd /var/www/html/cms/cached
mkdir broadlink
cd broadlink/
mkdir SharedData
Код: Выделить всё
scp * pi@mjdm_ip:/var/www/html/cms/cached/broadlink/SharedData
7. Копируем содержимое и импортируем
8. DONE!
- Рейтинг: 3.49%
Raspberry Pi 3 + Broadlink + MySensors + MDM VoiceAssistant
Re: [Модуль] Broadlink (dev_broadlink)
Есть такой проект: https://github.com/mjg59/python-broadlink
Там давно расписан протокол общения с новыми устройствами broadlink.
В частности, для RM4, совместив данные оттуда с кодом модуля, получил две функции:
Там давно расписан протокол общения с новыми устройствами broadlink.
В частности, для RM4, совместив данные оттуда с кодом модуля, получил две функции:
Код: Выделить всё
public function Send_data($data){
$packet = self::bytearray(6);
$packet[2] = 0x02;
if(is_array($data)){
$packet = array_merge($packet, $data);
}
else{
for($i = 0 ; $i < strlen($data) ; $i+=2){
array_push($packet, hexdec(substr($data, $i, 2)));
}
}
$checksum = sizeof($packet) - 2;
$packet[0] = $checksum & 0xFF;
$packet[1] = $checksum >> 8;
$response = $this->send_packet(0x6a, $packet);
$err = hexdec(sprintf("%x%x", $response[0x23], $response[0x22]));
return($err);
}
Код: Выделить всё
public function Check_temperature(){
$temp = false;
$packet = $this->bytearray(16);
$packet[0] = 0x04;
$packet[2] = 0x24;
$response = $this->send_packet(0x6a, $packet);
if (empty($response))
return false;
$err = hexdec(sprintf("%x%x", $response[0x23], $response[0x22]));
if($err == 0){
$enc_payload = array_slice($response, 0x38);
if(count($enc_payload) > 0){
$payload = $this->byte2array(aes128_cbc_decrypt($this->key(), $this->byte($enc_payload), $this->iv()));
$temp = $payload[0x6] + $payload[0x7] / 100.0;
}
}
return $temp;
}
-
- Сообщения: 17
- Зарегистрирован: Вс мар 10, 2019 1:18 pm
- Благодарил (а): 8 раз
- Поблагодарили: 1 раз
Re: [Модуль] Broadlink (dev_broadlink)
что не так делаю подскажите система стоит на убунту сервере. на PHP ONLINE добавил коды которые в бродлинк с помощью RM плагина в консоли пробую код зависает и не происходит не чего хотя на RM плагине все работает сразу,бродлинк RM2PRO+
-
- Сообщения: 16
- Зарегистрирован: Сб дек 21, 2019 9:23 am
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Re: [Модуль] Broadlink (dev_broadlink)
Только у меня такая фигня? не могу добавить BroadLink RM4 pro и потом его использовать?
1. Нашел, но видно, что дата неверная 2. Собственно ошибка 3. Пробую вставить в базу напрямую 4. Цикл запущен, устройство есть, но нет картинки (подозрительно) 5. Но пробую обучить - железка не переходит в режим обучения
Куда копать?
1. Нашел, но видно, что дата неверная 2. Собственно ошибка 3. Пробую вставить в базу напрямую 4. Цикл запущен, устройство есть, но нет картинки (подозрительно) 5. Но пробую обучить - железка не переходит в режим обучения
Куда копать?
-
- Сообщения: 33
- Зарегистрирован: Вт сен 17, 2019 12:25 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: [Модуль] Broadlink (dev_broadlink)
Всем привет, сегодня решил подключить свой старый broadlink RM pro+ к мажору и что то ничего не выходит. Подключаю через PHP only. Цикл не стартует, устройство не видит(
Мажор стоит на винде.
Вот что в логах при нажатии кнопки "обновить"
Мажор стоит на винде.
Вот что в логах при нажатии кнопки "обновить"
Код: Выделить всё
10:32:56 0.91123800 /admin.php?pd=ZGV2X2Jyb2FkbGluazp7aW5zdGFuY2U9YWRtfQ%3D%3Dpz_cGFuZWw6e2FjdGlvbj1kZXZfYnJvYWRsaW5rfQ%3D%3Dpz_&md=dev_broadlink&inst=adm&data_source=&id=&view_mode=&mode=check_params
PHP shutdown error: Uncaught Error: Call to undefined method SP1::Check_temperature() in C:\_majordomo\htdocs\modules\dev_broadlink\dev_broadlink_check.inc.php:96
Stack trace:
#0 C:\_majordomo\htdocs\modules\dev_broadlink\dev_broadlink.class.php(627): require()
#1 C:\_majordomo\htdocs\modules\dev_broadlink\dev_broadlink.class.php(190): dev_broadlink->check_params()
#2 C:\_majordomo\htdocs\modules\dev_broadlink\dev_broadlink.class.php(120): dev_broadlink->admin(Array)
#3 C:\_majordomo\htdocs\lib\jTemplate.class.php(640) : eval()'d code(8): dev_broadlink->run()
#4 C:\_majordomo\htdocs\lib\jTemplate.class.php(640): eval()
#5 C:\_majordomo\htdocs\lib\jTemplate.class.php(181): jTemplate->parseModules('<!DOCTYPE html>...', Array, './templates/')
#6 C:\_majordomo\htdocs\lib\jTemplate.class.php(98): jTemplate->parse('<!DOCTYPE html>...', Array, './templates/')
#7 C:\_majordomo\htdocs\lib\parser.class.php(93): jTemplate->__construct('./templates/pan...', Array, Object(panel))
#8 C:\_majordomo\htdocs\lib\parser.class.php(63): parser->jtem
Backtrace: #0 [internal function]: phpShutDownFunction()
#1 {main}
10:32:56 0.77318400 /admin.php?pd=ZGV2X2Jyb2FkbGluazp7aW5zdGFuY2U9YWRtfQ%3D%3Dpz_cGFuZWw6e2FjdGlvbj1kZXZfYnJvYWRsaW5rfQ%3D%3Dpz_&md=dev_broadlink&inst=adm&data_source=&id=&view_mode=&mode=check_params&part_load=1
PHP shutdown error: Uncaught Error: Call to undefined method SP1::Check_temperature() in C:\_majordomo\htdocs\modules\dev_broadlink\dev_broadlink_check.inc.php:96
Stack trace:
#0 C:\_majordomo\htdocs\modules\dev_broadlink\dev_broadlink.class.php(627): require()
#1 C:\_majordomo\htdocs\modules\dev_broadlink\dev_broadlink.class.php(190): dev_broadlink->check_params()
#2 C:\_majordomo\htdocs\modules\dev_broadlink\dev_broadlink.class.php(120): dev_broadlink->admin(Array)
#3 C:\_majordomo\htdocs\lib\jTemplate.class.php(640) : eval()'d code(8): dev_broadlink->run()
#4 C:\_majordomo\htdocs\lib\jTemplate.class.php(640): eval()
#5 C:\_majordomo\htdocs\lib\jTemplate.class.php(181): jTemplate->parseModules('<!DOCTYPE html>...', Array, './templates/')
#6 C:\_majordomo\htdocs\lib\jTemplate.class.php(98): jTemplate->parse('<!DOCTYPE html>...', Array, './templates/')
#7 C:\_majordomo\htdocs\lib\parser.class.php(93): jTemplate->__construct('./templates/pan...', Array, Object(panel))
#8 C:\_majordomo\htdocs\lib\parser.class.php(63): parser->jtem
Backtrace: #0 [internal function]: phpShutDownFunction()
- Вложения
-
- image_2023-02-17_10-35-19.png (155.73 КБ) 2177 просмотров
-
- image_2023-02-17_10-28-19.png (40.53 КБ) 2178 просмотров
Re: [Модуль] Broadlink (dev_broadlink)
Willy писал(а): ↑Вс сен 11, 2022 1:32 pmТолько у меня такая фигня? не могу добавить BroadLink RM4 pro и потом его использовать?
1. Нашел, но видно, что дата неверная 1.jpg
2. Собственно ошибка 2.jpg
3. Пробую вставить в базу напрямую 3.jpg
4. Цикл запущен, устройство есть, но нет картинки (подозрительно) 4.jpg
5. Но пробую обучить - железка не переходит в режим обучения 5.jpg
Куда копать?
Re: [Модуль] Broadlink (dev_broadlink)
RM4 mini не обучается кодам ,аналогичная проблема..
Может кто нибудь подсказать ,куда копать?
Может кто нибудь подсказать ,куда копать?
-
- Сообщения: 63
- Зарегистрирован: Пн апр 23, 2018 11:10 am
- Благодарил (а): 16 раз
- Поблагодарили: 32 раза
Re: [Модуль] Broadlink (dev_broadlink)
Лень было обучать кондиционер вручную, а из бэкапа вытащить не получалось... В итоге использовал базу кодов отсюда. Они там в base64, я написал конвертер:
Если кому еще будет нужно, находите подходящее устройство, заменяете 1401 на ваш айди, заодно меняете MAC и NAME_PREFIX. Скрипт выдаст готовый JSON, который можно будет засунуть в импорт в модуле бродлинка.
Код: Выделить всё
<?php
const NAME_PREFIX = "samsung_ac";
const MAC = "78:0f:77:11:22:33";
const URL = "https://raw.githubusercontent.com/smartHomeHub/SmartIR/master/codes/climate/1401.json";
function decodeIrCode($data)
{
$bytes = base64_decode($data);
$decodedIrCode = "";
for ($i = 0; $i < strlen($bytes); $i++) {
$byte = $bytes[$i];
$value = unpack('C', $byte)[1];
$value = dechex($value);
$decodedIrCode .= str_pad($value, 2, "0", STR_PAD_LEFT);
}
return $decodedIrCode;
}
function mapArray($name, $data)
{
$result = [];
foreach ($data as $key => $value) {
if (is_array($value)) {
$subResult = mapArray($name . "_" . $key, $value);
$result = array_merge($result, $subResult);
} else {
$result[] = ["name" => $name . "_" . $key, "data" => decodeIrCode($value), "mac" => MAC];
}
}
return $result;
}
$content = file_get_contents(URL);
$json = json_decode($content, true);
echo json_encode(mapArray(NAME_PREFIX, $json['commands']));
- За это сообщение автора bartwell поблагодарили (всего 3):
- andrey040670 (Ср июн 12, 2024 12:40 am) • Chainik (Ср июн 12, 2024 12:19 pm) • xor (Ср июн 12, 2024 10:30 pm)
- Рейтинг: 3.49%