[Модуль] Orvibo (orvibo)
Модератор: immortal
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Модуль работы с wifi-модулями Orvibo
У меня такого устройства нет, поэтому мне сложно сказать, насколько проблемно добавить его поддержку... Честно говоря, я и предыдущие устройства этого производителя смог подключить только по примерам работы с протоколом в интернете. Т.е. надо знать команды, которые отправляет телефон для управления устройством. А может они вовсе с розеткой совпадают?
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
- m-malva
- Сообщения: 291
- Зарегистрирован: Чт фев 26, 2015 1:38 am
- Откуда: Санкт-Петербург
- Благодарил (а): 16 раз
- Поблагодарили: 66 раз
- Контактная информация:
Re: Orvibo, AllOne, Управляемый по WiFi пульт IR/RF
Друзья, у кого есть данная железка?
Поделитесь впечатлениями.
Две недели как наблюдаю сей чудо девайс, и чувствую себя разочарованным и обманутым.
Не очень хочется писать вторым постом отрицательные впечатления, однако устройство работает через раз.
Никакой систематики пока не установил. Просто перестает слать или посылает через раз.
Но индикация отсутствия соединения при этом не зажигается.
Что может быть причиной?
и еще из странно - обычно устройство "спит" (не мигает) и и вдруг пробуждается и начинает плавно мигать "синим"
Что его будит?
Поделитесь впечатлениями.
Две недели как наблюдаю сей чудо девайс, и чувствую себя разочарованным и обманутым.
Не очень хочется писать вторым постом отрицательные впечатления, однако устройство работает через раз.
Никакой систематики пока не установил. Просто перестает слать или посылает через раз.
Но индикация отсутствия соединения при этом не зажигается.
Что может быть причиной?
и еще из странно - обычно устройство "спит" (не мигает) и и вдруг пробуждается и начинает плавно мигать "синим"
Что его будит?
-
- Сообщения: 146
- Зарегистрирован: Сб авг 06, 2016 2:11 am
- Откуда: Рига
- Благодарил (а): 13 раз
- Поблагодарили: 18 раз
Re: Orvibo, AllOne, Управляемый по WiFi пульт IR/RF
У меня есть такая штука Если честно - то тоже не очень доволен Да, тоже заметил что иногда сама "просыпается"... Надо за ней понаблюдать Очень большой геморрой перенести девайс в другую WiFi сеть.. С мобилки вроде более - менее работает и есть подтверждение отсылки команды (вибрация). С MJD пока не подружилась, да и нет подтверждения об отсылке команды
Немного желания, терпения и времени - и все получится
-
- Сообщения: 32
- Зарегистрирован: Вс фев 28, 2016 8:11 am
- Благодарил (а): 1 раз
- Поблагодарили: 3 раза
Re: Модуль работы с wifi-модулями Orvibo
Странно..
Обновил апельсинку.. (поставил другой образ). Модуль Orvibo не работает:
в логе.
получается ругается на строку 45
!socket_bind($sock, $orvibo->ip , $orvibo->port)
Не могу понять по чему ошибка?
Обновил апельсинку.. (поставил другой образ). Модуль Orvibo не работает:
в логе.
Код: Выделить всё
21:01:14 running cycle_orvibo.php
21:01:59 running cycle_orvibo.php
Socket created
Warning: socket_bind(): unable to bind address [98]: Address already in use in /var/www/scripts/cycle_orvibo.php on line 45
Could not bind socket : [98] Address already in use
!socket_bind($sock, $orvibo->ip , $orvibo->port)
Не могу понять по чему ошибка?
-
- Сообщения: 32
- Зарегистрирован: Вс фев 28, 2016 8:11 am
- Благодарил (а): 1 раз
- Поблагодарили: 3 раза
Re: Модуль работы с wifi-модулями Orvibo
Спасибо.. разобрался (когда добавил отладку). Суть Orvibo стучится на порт 10000. Сервер Webmin работает на данном порту. Происходит конфликт.anneksiya82 писал(а):Странно..
Обновил апельсинку.. (поставил другой образ). Модуль Orvibo не работает:
в логе.получается ругается на строку 45Код: Выделить всё
21:01:14 running cycle_orvibo.php 21:01:59 running cycle_orvibo.php Socket created Warning: socket_bind(): unable to bind address [98]: Address already in use in /var/www/scripts/cycle_orvibo.php on line 45 Could not bind socket : [98] Address already in use
!socket_bind($sock, $orvibo->ip , $orvibo->port)
Не могу понять по чему ошибка?
- Bagir
- Сообщения: 1613
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 374 раза
Re: Модуль работы с wifi-модулями Orvibo
Вернулся ещё раз погрызть Orvibo в целом и особенно выключатели.
Для начала я попробовал разобраться в файле orvibo.class.php
function setIRLearning($id) отрабатывает нормально. И потом мы получаем ответ, который обрабатывает function processMessage($buf, $remote_ip, $sock). Ответ приходит с кодом 6c73 и затем записывается в базу данных. Тут всё хорошо.
По образу и подобию работает и function setRFLearning($id). После её выполнения я никаких ругательств не замечаю. Смею предположить, что устройство всё таки уходит в режим ожидания RF кода от выключателя. Ответ так же должна поймать функция processMessage. Но в ней нет подобных указаний. Так же нет указаний для RF, подобно тому, как в логи пишется успешное подтверждения излучения IR.
Несколько раз в debmes я получал ошибку Unknown command: 7266. И действительно в функции processMessage нет условия для кода 7266. Что это был за код, я пока сказать не могу. Потом буду искать в Интернете. Возможно в нем ответ с полученным кодом выключателя, а возможно какое нибудь ругательство о неудаче.
Чтобы выключатель привязать к объекту в его андроид приложении, нужно сначала нажать кнопку включения света на выключателе и держать её пока не прозвучит одинарный писк. Потом сразу нужно в приложении нажать на нужный объект выключателя. При этом произойдет привязка выключателя к объекту, и выключатель подтвердит это двойным писком. Как видим, алгоритм обучения RF совершенно не похож на IR/
Самое печальное то, что я больше не получаю запись с кодом 7266. А следовательно не погу посмотреть что в этот момент было в ответе AllOne. Вот например, если включить IR обучение и ничего не записать, то получим следующее:
20:16:43 IR learning mode done from accf23298b8c
20:16:43 Ignoring result
Явно видно, что всё работает исправно. А при попытке загнать в RF обучение, в ответ вообще ничего нет. Даже неизвестного кода нету. Это наводит на мысль, что AllOne не заходит в режим обучения. А следовательно надо посмотреть на function setRFLearning($id)
Вторая тема:
Отдельно хочется обсудить указания метода, который должен запускаться при нажатии кнопки на AllOne. Тут есть неясность. А именно метод какого объекта?
Становится понятно только при анализе таблицы orvibodevices в базе данных и финальных действий функции processMessage строка примерно 640Вероятно изначально у AllOne был только записан один объект 'LINKED_OBJECT', он и был взят за основу для метода кнопки. Но потом появился еще и 'LINKED_OBJECT_RF', и вот тогда получилась путаница.
Я бы вообще предложил не привязывать метод кнопки к IR объекту. Переименовать на веб страничке Метод (Button pressed): в Объект.Метод (Button pressed): Тогда в поле можно будет указать совершенно любой объект.метод, который будет выполнен при нажатии кнопки на AllOne. Код тогда надо заменить наПравда на счет необходимости передачи $params я тоже не уверен. Если уж передавать 'VALUE_IR', то тогда и 'VALUE_RF' тоже.
Для начала я попробовал разобраться в файле orvibo.class.php
function setIRLearning($id) отрабатывает нормально. И потом мы получаем ответ, который обрабатывает function processMessage($buf, $remote_ip, $sock). Ответ приходит с кодом 6c73 и затем записывается в базу данных. Тут всё хорошо.
По образу и подобию работает и function setRFLearning($id). После её выполнения я никаких ругательств не замечаю. Смею предположить, что устройство всё таки уходит в режим ожидания RF кода от выключателя. Ответ так же должна поймать функция processMessage. Но в ней нет подобных указаний. Так же нет указаний для RF, подобно тому, как в логи пишется успешное подтверждения излучения IR.
Несколько раз в debmes я получал ошибку Unknown command: 7266. И действительно в функции processMessage нет условия для кода 7266. Что это был за код, я пока сказать не могу. Потом буду искать в Интернете. Возможно в нем ответ с полученным кодом выключателя, а возможно какое нибудь ругательство о неудаче.
Чтобы выключатель привязать к объекту в его андроид приложении, нужно сначала нажать кнопку включения света на выключателе и держать её пока не прозвучит одинарный писк. Потом сразу нужно в приложении нажать на нужный объект выключателя. При этом произойдет привязка выключателя к объекту, и выключатель подтвердит это двойным писком. Как видим, алгоритм обучения RF совершенно не похож на IR/
Самое печальное то, что я больше не получаю запись с кодом 7266. А следовательно не погу посмотреть что в этот момент было в ответе AllOne. Вот например, если включить IR обучение и ничего не записать, то получим следующее:
20:16:43 IR learning mode done from accf23298b8c
20:16:43 Ignoring result
Явно видно, что всё работает исправно. А при попытке загнать в RF обучение, в ответ вообще ничего нет. Даже неизвестного кода нету. Это наводит на мысль, что AllOne не заходит в режим обучения. А следовательно надо посмотреть на function setRFLearning($id)
Вторая тема:
Отдельно хочется обсудить указания метода, который должен запускаться при нажатии кнопки на AllOne. Тут есть неясность. А именно метод какого объекта?
Становится понятно только при анализе таблицы orvibodevices в базе данных и финальных действий функции processMessage строка примерно 640
Код: Выделить всё
if ($rec['LINKED_OBJECT'] && $rec['LINKED_METHOD_BUTTON']) {
$params=array();
$params['VALUE']=$rec['VALUE_IR'];
callMethod($rec['LINKED_OBJECT'].'.'.$rec['LINKED_METHOD_BUTTON'], $params);
}
Я бы вообще предложил не привязывать метод кнопки к IR объекту. Переименовать на веб страничке Метод (Button pressed): в Объект.Метод (Button pressed): Тогда в поле можно будет указать совершенно любой объект.метод, который будет выполнен при нажатии кнопки на AllOne. Код тогда надо заменить на
Код: Выделить всё
if ($rec['LINKED_METHOD_BUTTON']) {
$params=array();
$params['VALUE']=$rec['VALUE_IR'];
callMethod($rec['LINKED_METHOD_BUTTON'], $params);
}
- Bagir
- Сообщения: 1613
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 374 раза
Re: Модуль работы с wifi-модулями Orvibo
Небольшой итог:
Функция setRFLearning() вешает мой AllOne. Довольно странно. Она написана под копирку как и на github. setRFLearning() отличается от setIRLearning() только одной константой.
Возможно не работает вызов функции sendRF() при изменении связанного свойства. То есть, когда мы например записываем новый IR код в связанное свойство, то это приводит к вызову функции sendIR() и AllOne излучает наш код. Такой же алгоритм должен быть и для RF, но он не работает. Так же у связанного свойства для RF кода нет подписи (linked to: orvibo)
Но всё же функция sendRF() вероятно работает! Я попробовал вызвать её примерно так:где 2 это ID AllOne из таблицы orvibodevices, а 1212121212 просто левый хлам. Тут должен быть указан код моего выключателя, который я не знаю. Но похоже AllOne всё равно чего отправлять, и при выполнении этого кода на AllOne мигает лампочка активности. А в debmes я получаю две новые записи. функция processMessage() регистрирует Unknown command: 7167 (возможно это означает подтверждение излучения RF сигнала как в случае с IR), и State change reply from accf23298b8c код 6463.
Для продолжения "разбора полётов", мне надо узнать код моего выключателя. Может кто подкинет идею как это сделать, при условии что setRFLearning не работает. Но я могу управлять выключателем с телефона из приложения.
Функция setRFLearning() вешает мой AllOne. Довольно странно. Она написана под копирку как и на github. setRFLearning() отличается от setIRLearning() только одной константой.
Возможно не работает вызов функции sendRF() при изменении связанного свойства. То есть, когда мы например записываем новый IR код в связанное свойство, то это приводит к вызову функции sendIR() и AllOne излучает наш код. Такой же алгоритм должен быть и для RF, но он не работает. Так же у связанного свойства для RF кода нет подписи (linked to: orvibo)
Но всё же функция sendRF() вероятно работает! Я попробовал вызвать её примерно так:
Код: Выделить всё
nclude_once(DIR_MODULES.'orvibo/orvibo.class.php');
$orv=new orvibo();
$orv->getConfig();
$zzz=$orv->sendRF(2, '1212121212');
Для продолжения "разбора полётов", мне надо узнать код моего выключателя. Может кто подкинет идею как это сделать, при условии что setRFLearning не работает. Но я могу управлять выключателем с телефона из приложения.
-
- Сообщения: 4
- Зарегистрирован: Вт сен 26, 2017 9:12 pm
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
Re: Модуль работы с wifi-модулями Orvibo
Хотелось бы предостеречь от покупки продукции Orvibo, в частности от AllOne.
С конца 2016 года полностью изменился протокол работы - появилось шифрование трафика, кроме того устройство работает только через облако homemate, подключиться локально невозможно. Так же отсутствует функция обучения (не нашел информации, это аппаратно или програмно)
Код новой модели VS20RB-1GO
https://community.openhab.org/t/orvibo- ... de/9111/46
https://github.com/Grayda/node-orvibo/issues/11
Для нового протокола есть несколько проектов:
https://github.com/insertjokehere/homemate-bridge - ведется разработка для розетки Orvibo S20c, для Allone нет функционала
https://github.com/Grayda/node-orvibo2 - разработка библиотеки для управления всеми устройствами, но проект не законченный и давно не обновлялся.
С конца 2016 года полностью изменился протокол работы - появилось шифрование трафика, кроме того устройство работает только через облако homemate, подключиться локально невозможно. Так же отсутствует функция обучения (не нашел информации, это аппаратно или програмно)
Код новой модели VS20RB-1GO
https://community.openhab.org/t/orvibo- ... de/9111/46
https://github.com/Grayda/node-orvibo/issues/11
Для нового протокола есть несколько проектов:
https://github.com/insertjokehere/homemate-bridge - ведется разработка для розетки Orvibo S20c, для Allone нет функционала
https://github.com/Grayda/node-orvibo2 - разработка библиотеки для управления всеми устройствами, но проект не законченный и давно не обновлялся.
- За это сообщение автора a.rahmanny поблагодарили (всего 4):
- sergejey (Вт сен 26, 2017 9:48 pm) • Denis_k (Вт сен 26, 2017 10:42 pm) • Bagir (Пт мар 09, 2018 4:10 pm) • sega6549 (Чт янв 03, 2019 6:13 pm)
- Рейтинг: 4.65%
-
- Сообщения: 530
- Зарегистрирован: Чт авг 20, 2015 11:32 am
- Откуда: Ярославль
- Благодарил (а): 61 раз
- Поблагодарили: 75 раз
- Контактная информация:
Re: Модуль работы с wifi-модулями Orvibo
Всем привет, может знает кто с чем может связана такая ошибка
ошибка возникает на свежеустановленой виндовс 10 с только что поставленой последней системой, возникает как только нажмешь галочку API Enable и обновить, к слову на линуксе все работало и завелось практически сразу
СпойлерПоказать
Fatal error: Uncaught ArgumentCountError: Too few arguments to function SaveFile(), 1 passed in C:\_majordomo\htdocs\modules\orvibo\orvibo.class.php on line 144 and exactly 2 expected in C:\_majordomo\htdocs\lib\general.class.php:210 Stack trace: #0 C:\_majordomo\htdocs\modules\orvibo\orvibo.class.php(144): SaveFile('C:\\_majordomo\\h...') #1 C:\_majordomo\htdocs\modules\orvibo\orvibo.class.php(91): orvibo->admin(Array) #2 C:\_majordomo\htdocs\lib\jTemplate.class.php(712) : eval()'d code(8): orvibo->run() #3 C:\_majordomo\htdocs\lib\jTemplate.class.php(712): eval() #4 C:\_majordomo\htdocs\lib\jTemplate.class.php(195): jTemplate->parseModules('...', Array, './templates/') #5 C:\_majordomo\htdocs\lib\jTemplate.class.php(109): jTemplate->parse('...', Array, './templates/') #6 C:\_majordomo\htdocs\lib\parser.class.php(93): jTemplate->__construct('./templates/pan...', Array, Object(panel)) #7 C:\_majordomo\htdocs\lib\parser.class.php(63): parser->jtemplate_parse('./templates/pan...', Array) #8 C:\ in C:\_majordomo\htdocs\lib\general.class.php on line 210
-
- Сообщения: 530
- Зарегистрирован: Чт авг 20, 2015 11:32 am
- Откуда: Ярославль
- Благодарил (а): 61 раз
- Поблагодарили: 75 раз
- Контактная информация:
Re: Модуль работы с wifi-модулями Orvibo
неужели у всех работает на винде? пробовал и с последними обновлениями и самые первые бекапы, или модуль заточен чисто под линукс?