[Модуль] Xiaomi Home (xiaomihome)

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

Модератор: immortal

skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Контактная информация:

Re: Модуль поддержки Xiaomi Smart Home

Сообщение skysilver »

smart-b писал(а): Вт авг 28, 2018 1:44 pm а еще такой вопрос как включать и выключать розетку зигби свойства статус нету тока команд что туда отправлять?
Что за розетка? По идее у них д. б. метрика channel для управления. Она сама появляется, если приходит репорт о смене состояния розетки, когда ты ее включаешь/выключаешь физической кнопкой или в Михом.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Контактная информация:

Re: Модуль поддержки Xiaomi Smart Home

Сообщение skysilver »

smart-b писал(а): Вт авг 28, 2018 1:44 pm А чей IP-шник в Bind IP прописан?
сервера
А он нужен там? Без него (с пустым полем) не работает?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
smart-b
Сообщения: 17
Зарегистрирован: Ср авг 22, 2018 2:56 pm

Re: Модуль поддержки Xiaomi Smart Home

Сообщение smart-b »

skysilver писал(а): Вт авг 28, 2018 1:59 pm
smart-b писал(а): Вт авг 28, 2018 1:44 pm а еще такой вопрос как включать и выключать розетку зигби свойства статус нету тока команд что туда отправлять?
Что за розетка? По идее у них д. б. метрика channel для управления. Она сама появляется, если приходит репорт о смене состояния розетки, когда ты ее включаешь/выключаешь физической кнопкой или в Михом.
ааа понял в чанел передовать 1 или 0 а я смотрю как обычно статус а его нет
http://prntscr.com/knrxzs
smart-b
Сообщения: 17
Зарегистрирован: Ср авг 22, 2018 2:56 pm

Re: Модуль поддержки Xiaomi Smart Home

Сообщение smart-b »

skysilver писал(а): Вт авг 28, 2018 2:00 pm
smart-b писал(а): Вт авг 28, 2018 1:44 pm А чей IP-шник в Bind IP прописан?
сервера
А он нужен там? Без него (с пустым полем) не работает?
да фиг знает и так заработало
Аватара пользователя
chibis
Сообщения: 199
Зарегистрирован: Пн апр 02, 2018 10:47 am

Re: Модуль поддержки Xiaomi Smart Home

Сообщение chibis »

skysilver писал(а): Вт авг 28, 2018 12:36 pm
smart-b писал(а): Вт авг 28, 2018 7:05 am вот http://prntscr.com/knnh9y
http://prntscr.com/knnhjm
А ключ шлюза точно верный введен? Вижу, была ошибка invalid key.
Прошу прощения за вторжение в дискуссию. Skysilver, что за ошибка эта invalid key ??? У меня она тоже есть, хотя ключик не менялся (совпадает с mihome) и вроде все работает. Что с этим делать, или это просто индикатор?
Raspberry Pi 3B+, HP PC Intel , Ubuntu 18.04 Server LTS - 2 шт.
smart-b
Сообщения: 17
Зарегистрирован: Ср авг 22, 2018 2:56 pm

Re: Модуль поддержки Xiaomi Smart Home

Сообщение smart-b »

chibis писал(а): Вт авг 28, 2018 2:35 pm
skysilver писал(а): Вт авг 28, 2018 12:36 pm
smart-b писал(а): Вт авг 28, 2018 7:05 am вот http://prntscr.com/knnh9y
http://prntscr.com/knnhjm
А ключ шлюза точно верный введен? Вижу, была ошибка invalid key.
Прошу прощения за вторжение в дискуссию. Skysilver, что за ошибка эта invalid key ??? У меня она тоже есть, хотя ключик не менялся (совпадает с mihome) и вроде все работает. Что с этим делать, или это просто индикатор?
Я просто удалил эти свойства и все
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Контактная информация:

Re: Модуль поддержки Xiaomi Smart Home

Сообщение skysilver »

chibis писал(а): Вт авг 28, 2018 2:35 pm Прошу прощения за вторжение в дискуссию. Skysilver, что за ошибка эта invalid key ??? У меня она тоже есть, хотя ключик не менялся (совпадает с mihome) и вроде все работает. Что с этим делать, или это просто индикатор?
Ключ (пароль) нужен для отправки команд на шлюз для управления какими либо девайсами, либо самим шлюзом. При приеме сообщений от шлюза и датчиков он никак не задействован.

С помощью этого ключа и другого уникального токена, который обновляется каждые 10 секунд, шифруются все сообщения для шлюза. Если ключ не верный, то команда не пройдет, и будет зафиксирована ошибка invalid key. Если ключ верный, но от шлюза не приходил новый уникальный токен, то также будет зафиксирована ошибка invalid key.

Уникальные токены шлюза устаревают за 1 минуту. Поэтому, если в сети теряются пакеты, не стабильная связь между шлюзом и сервером, и т.п., то случается так, что токен не обновляется вовремя, и опять возникает эта ошибка, а команда управления не доходит до устройства.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
cepxuo
Сообщения: 98
Зарегистрирован: Вт май 02, 2017 7:31 am

Re: Модуль поддержки Xiaomi Smart Home

Сообщение cepxuo »

Наконец-то вернулся с отпуска и появилось время разобраться что к чему в проблемах, про которые я писал тут и в ветке про Простые Устройства (ПУ). Итак:
1. Метод Switch не запускался потому, что после прошивки гейтвея изменились параметры, которые он отдаёт при нажатии кнопок. Раньше было click0 и cclick1, а теперь left_click и right_click. После переназначения действия туда - всё заработало.
2. Про следующую проблему я писал в ПУ, и там skysilver порекомендовал вместо ПУ, дёргать метод напрямую в объекте. Так что я попробовал при срабатывании датчика движения напрямую включать объект SRelay. И правда, скорость реакции заметно сократилась. Теперь это - около 1-2 секунды.
3. В связи с предыдущим пунктом, появилась "хотелка" для модуля XiaomiSmartHome - иметь отдельную привязку к свойствам одних объектов и методам других. Например при срабатывании датчика движения - записывать это событие в свойство Status объекта MotionDetector, и при этом запускать метод turnOn объекта SRelay. Это можно реализовать в будущих версиях модуля?
4. В настройках устройств, на вкладке "Данные" есть параметр "report" в котором содержится ответ гейтвея. Вопрос - там содержится любой ответ от гейтвея по данному устройству или только те ответы, которые может распознавать модуль? Поясню, почему спросил. У меня есть выключатель с нейтральным контактом, который встраивается в стенку вместо обычного выключателя, но требует ещё наличие нулевого провода. Так вот, после обновления прошивки гейтвея, в приложении Mi Home для смартфона, в свойствах выключателя наконец-то появилась возможность перевести одну из клавиш в просто кнопку (без дёргания внутренней релюхой при нажатии на клавишу выключателя). В журнале приложения это отображается, как "Щелчёк левой/правой кнопкой", но вот в параметр "report" ничего не передаётся. Там появляются значения только если срабатывает реле, включая или выключая свет в комнате. Как понять, передаёт ли что-то гейтвей модулю?

Ну и напоследок - огромное спасибо за мощный и необходимый модуль!!!
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Контактная информация:

Re: Модуль поддержки Xiaomi Smart Home

Сообщение skysilver »

cepxuo писал(а): Ср авг 29, 2018 12:06 pm 1. Метод Switch не запускался потому, что после прошивки гейтвея изменились параметры, которые он отдаёт при нажатии кнопок. Раньше было click0 и cclick1, а теперь left_click и right_click. После переназначения действия туда - всё заработало.
Угу. Я писал про это в комментариях к обновлению.
cepxuo писал(а): Ср авг 29, 2018 12:06 pm 2. Про следующую проблему я писал в ПУ, и там skysilver порекомендовал вместо ПУ, дёргать метод напрямую в объекте. Так что я попробовал при срабатывании датчика движения напрямую включать объект SRelay. И правда, скорость реакции заметно сократилась. Теперь это - около 1-2 секунды.
Я рекомендовал проверить вообще без ПУ. ))
cepxuo писал(а): Ср авг 29, 2018 12:06 pm 3. В связи с предыдущим пунктом, появилась "хотелка" для модуля XiaomiSmartHome - иметь отдельную привязку к свойствам одних объектов и методам других. Например при срабатывании датчика движения - записывать это событие в свойство Status объекта MotionDetector, и при этом запускать метод turnOn объекта SRelay. Это можно реализовать в будущих версиях модуля?
Это уже перебор. ) Я таким точно заниматься не буду, там используется стандартная форма из ядра, и ее придется переписывать. Запуск метода всегда можно прописать в метод, вызываемый при изменении привязанного свойства.
cepxuo писал(а): Ср авг 29, 2018 12:06 pm 4. В настройках устройств, на вкладке "Данные" есть параметр "report" в котором содержится ответ гейтвея. Вопрос - там содержится любой ответ от гейтвея по данному устройству или только те ответы, которые может распознавать модуль? Поясню, почему спросил. У меня есть выключатель с нейтральным контактом, который встраивается в стенку вместо обычного выключателя, но требует ещё наличие нулевого провода. Так вот, после обновления прошивки гейтвея, в приложении Mi Home для смартфона, в свойствах выключателя наконец-то появилась возможность перевести одну из клавиш в просто кнопку (без дёргания внутренней релюхой при нажатии на клавишу выключателя). В журнале приложения это отображается, как "Щелчёк левой/правой кнопкой", но вот в параметр "report" ничего не передаётся. Там появляются значения только если срабатывает реле, включая или выключая свет в комнате. Как понять, передаёт ли что-то гейтвей модулю?
Чтобы наверняка узнать, нужно включить DebMes-лог и смотреть его. Там будут все сообщения от шлюза для всех устройств. Насколько мне известно, шлюз не шлет события о кликах на клавиши у этих выключателей.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
tarasfrompir
Сообщения: 3217
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин

Re: Модуль поддержки Xiaomi Smart Home

Сообщение tarasfrompir »

cepxuo писал(а): Ср авг 29, 2018 12:06 pm 3. В связи с предыдущим пунктом, появилась "хотелка" для модуля XiaomiSmartHome - иметь отдельную привязку к свойствам одних объектов и методам других. Например при срабатывании датчика движения - записывать это событие в свойство Status объекта MotionDetector, и при этом запускать метод turnOn объекта SRelay. Это можно реализовать в будущих версиях модуля?
Так это решается в ПУ - свойства датчика движения -> связанные устройства
Спасибо нам ПОМОЖЕТ..!
Ответить