Страница 13 из 13
Re: [Модуль] Orvibo (orvibo)
Добавлено: Вс авг 07, 2022 12:22 am
Bagir
Есть один момент и очень даже кое что.
Момент: на гитхабе для режима обучения RF 646400187266, у нас в коде 686400187266. Пробовал и так и так, ничего.
Кое что: когда мы привязываем выключатель к приложению в телефоне, мы жмем кнопку выключателя и держим её пока не прозвучит один пик. После этого мы сразу жмем кнопку выключателя в приложении. Выключатель издаст два пика. Всё, привязано. Никакого запуска процесса обучения нет.
В итоге, если так же зажать кнопку выключателя до одного пика, а потом выполнить $orv->sendRF(2, 'fffffffffff') где 2 это id моего AllOne, а ффф любой код выключателя, то наш выключатель подтвердит получение вторым пиком.
Конечно же управлять не получилось, иначе начал бы писать с другой ноты. Но вот уже хоть какая то реакция. И теперь вопрос, кто запоминает код? Может всё же выключатель? А код назначает рандомно китайский сервер при создании объекта в приложении?
Re: [Модуль] Orvibo (orvibo)
Добавлено: Вс авг 07, 2022 12:33 am
Bagir
В яблочко! так и есть! работает! Процесс RF обучения не нужен. Ставим выключатель в обучение, и кидаем ему свой придуманный код. Он его запоминает и в будущем случается его. Завтра всё оформлю и выложу, довольный пошел спать
Решение для выключателей
Добавлено: Вс авг 07, 2022 1:30 am
Bagir
sergejey писал(а): ↑Чт сен 24, 2015 7:27 pm
Добрые люди расковыряли ещё немного протокол Orvibo Allone и я смог добавить базовую поддержку выключателей, работающих по радио-протоколу.
Общий смысл таков:
* Переводим AllOne в режим Learn RF
* Нажимаем специальную кнопку на выключателе -- он отправляет в эфир свой код, который сохраняется в RF-свойство
* Для того, чтобы включить выключатель, отправляем в это связанное свойство "код 1" или "код 0" для выключения. Вместо слова "код" должен быть полученный ранее код выключателя.
К сожалению, проверить не могу, т.к. самих выключателей у меня нет на руках. Если кто сможет, отпишитесь и расскажите.
В итоге получилось так, что модуль уже давным давно был готов для управления выключателями. Только вот с ними всё совсем не так как в ИК пультами. Код запоминает сам выключатель на каждую кнопку свой. А нам надо его придумать. Алгоритм действий такой:
Связывать AllOne в настройках с объектом RF нет необходимости.
Создаем объект реле.
в методе turnOn пишем код
Код: Выделить всё
include_once(DIR_MODULES.'orvibo/orvibo.class.php');
$orv=new orvibo();
$orv->getConfig();
$orv->sendRF(2, '3c321f3a00', 1);
где 2 это id моего AllOne в таблице orvibodevices, 3c321f3a00 придуманный мною код для кнопки выключателя. Замените на свой, только сохраните длину. 1 это команда на включение. В методе turnOff тоже самое с ноликом. Аргументы функции sendRF($id, $code, $rfState=0x01)
Пробуем реле, кружок на AllOne должен моргнуть, значит наш придуманный код отправляется в радиоэфир.
Теперь нажимаем на кнопку выключателя и держим её до одного пика.
"щелкаем" нашей реле, выключатель услышит код и пикнет второй раз.
Код можно испытать в сценарии, или ещё где угодно, главное чтобы было удобно быстро его вызвать при привязке выключателя. Отправлять команду вкл или выкл для привязки без разницы.
Теперь возникает вопрос, где их можно купить
Re: [Модуль] Orvibo (orvibo)
Добавлено: Пн авг 08, 2022 6:29 pm
Bagir
Добавлю еще кое что. Второй мой выключатель не в какую не хотел записывать новый код, какой только я не придумывал. Значит кое что всё же есть. Может быть контрольная сумма или наподобие. Но обхитрить можно. В сценарии пишем такой код:
Код: Выделить всё
include_once(DIR_MODULES.'orvibo/orvibo.class.php');
$orv=new orvibo();
$orv->getConfig();
$rnumber = rand(68719476736, 17592186044415);
$status=$orv->sendRF(2, dechex($rnumber),0);
echo dechex($rnumber).'<br/>';
Еще раз, 2 это id моего AllOne. А длиннючие цифры это диапазон кодов, которые возжелает излучать AllOne. Вводим выключатель в режим запоминания кодов удержанием его кнопки, и начинаем запускать сценарий раз за разом. Как только выключатель скажет пик, записываем код ответа сценария.
Re: [Модуль] Orvibo (orvibo)
Добавлено: Вс дек 11, 2022 12:39 am
samolet
Здравия, что не так с модулем? Не находит Orvibo All One. Как станцевать что-бы его найти в мажоре?