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

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

Модератор: immortal

nooze
Сообщения: 11
Зарегистрирован: Ср мар 29, 2017 9:09 pm
Благодарил (а): 5 раз
Поблагодарили: 0

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

Сообщение nooze » Чт мар 30, 2017 3:33 pm

Rad81 писал(а):
Это все что требуется или может я что-то упустил и зря жду чуда?
Лично на моей системе все работает без кода.
Заработало!
Надо было обратить внимание на "error:invalid_key" - почему-то старый ключ который работал нормально перестал приниматься шлюзом (причина мне не понятна) и в приложении Mi home я сделал новый ключ, обновил его в majordomo и все заработало!

Что касается кода - ваша правда, он не нужен для работы подсветки. Но зато я знаю теперь как менять подсветку шлюза без выборщика цвета )

Теперь приступлю к реализации своей первой задумки - цвет шлюза в зависимости от показаний датчика температуры на улице )
Спасибо за помощь!
Rad81
Сообщения: 193
Зарегистрирован: Пт апр 01, 2016 2:42 pm
Благодарил (а): 10 раз
Поблагодарили: 10 раз

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

Сообщение Rad81 » Чт мар 30, 2017 3:59 pm

Потом поделитесь задумка хорошая.
nooze
Сообщения: 11
Зарегистрирован: Ср мар 29, 2017 9:09 pm
Благодарил (а): 5 раз
Поблагодарили: 0

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

Сообщение nooze » Чт мар 30, 2017 11:18 pm

Rad81 писал(а):Потом поделитесь задумка хорошая.
Обязательно! В принципе я уже все реализовал, подбираю цвета и донастраиваю

Тем временем забрал с почты еще 2 xiaomi девайса серии Aqara

Изображение

1 (слева) - беспроводной переключатель на две кнопки. С ним все хорошо, определился готовый к "простым устройствам"

Изображение

А вот со вторым (на фото справа) - проводным выключателем тоже на две клавиши, только тем который страивается в стену повезло уже не так сильно

Изображение

Так как он одновременно И управляющий И принимающий команды - логика переменных у него отличается от обычных кнопок. Тут придется уже шаманить.
nooze
Сообщения: 11
Зарегистрирован: Ср мар 29, 2017 9:09 pm
Благодарил (а): 5 раз
Поблагодарили: 0

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

Сообщение nooze » Пт мар 31, 2017 12:16 am

Вот еще наковырял такой момент

В общем классе модуля по устройства xiaomi есть такой отрывок

Код: Выделить всё

if ($command=='report' && isset($message_data['data']['rgb']) && $message_data['model']=='gateway') {
                    $command='rgb';
                    $value=substr(dechex($message_data['data']['rgb']),-6);
                } 
В этот момент скрипт как раз выхватывает из данных полученных от шлюза код RGB цвета
Вот только в процессе он из полученного значения (типа 4bff00f9) забирает только последние 6 символов выкидывая остальное.
А как оказалось - очень зря )) Ведь именно в первой части до rgb цвета заложено значение яркости.
Оно десятеричное - от 2 (по крайней мере это минимум который дает выставить Mi Home, хоть и говорит что это 0) до 100

И чтобы получить его нужно дописать строку например

Код: Выделить всё

$brightness=hexdec(substr(dechex($message_data['data']['rgb']),0,-6)); 
(извиняюсь за корявый код, полу-сплю)
Что с этим дальше делать я честно говоря не знаю, т.к. беглым взглядом скрипт за раз берет только одно значение, а надо разбить его на два и я видел в других местах что это возможно, но я там пока не так глубоко ковырялся.

Ну и дальше во время отправки видимо чтобы код принимался просто в начало дописывается ff что обозначает полную яркость (даже более чем, ведь полная яркость 100 будет в hex = 64, но видимо хаб прощает такой выход за рамки)

Код: Выделить всё

if ($command['TITLE']=='rgb') {
            $value=preg_replace('/^#/','',$value);
            if (strlen($value)<8 && hexdec($value)>0) {
                $value='ff'.$value;
            }
            $sendvalue=hexdec($value);

А хотелось бы яркость посылать отдельно

Т.к. я не очень глубоко знаком с тем как тут происходит обновление модулей и всякие организацонно-технические штуки, скажите что делать дальше с этой полезной информацией :D
Сердобольный
Сообщения: 11
Зарегистрирован: Пт янв 06, 2017 11:29 pm
Благодарил (а): 12 раз
Поблагодарили: 1 раз

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

Сообщение Сердобольный » Пт мар 31, 2017 12:31 am

За это сообщение автора Сердобольный поблагодарил:
nooze (Пт мар 31, 2017 12:31 pm)
Рейтинг: 1.16%
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Пт мар 31, 2017 10:58 am

nooze писал(а):...
А вот со вторым (на фото справа) - проводным выключателем тоже на две клавиши, только тем который страивается в стену повезло уже не так сильно
...
Так как он одновременно И управляющий И принимающий команды - логика переменных у него отличается от обычных кнопок. Тут придется уже шаманить.
Попробуйте пожалуйста обновить модуль, я немного переделал работу с такими выключателями, чтобы была одна команда со статусом 1/0, а не отдельные команды на включение/выключение каждого канала.
За это сообщение автора sergejey поблагодарил:
nooze (Пт мар 31, 2017 12:31 pm)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
nooze
Сообщения: 11
Зарегистрирован: Ср мар 29, 2017 9:09 pm
Благодарил (а): 5 раз
Поблагодарили: 0

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

Сообщение nooze » Пт мар 31, 2017 12:28 pm

sergejey писал(а):
nooze писал(а):...
А вот со вторым (на фото справа) - проводным выключателем тоже на две клавиши, только тем который страивается в стену повезло уже не так сильно
...
Так как он одновременно И управляющий И принимающий команды - логика переменных у него отличается от обычных кнопок. Тут придется уже шаманить.
Попробуйте пожалуйста обновить модуль, я немного переделал работу с такими выключателями, чтобы была одна команда со статусом 1/0, а не отдельные команды на включение/выключение каждого канала.
Спасибо, теперь вот так.

Изображение

При авто-привязке предлагает тип устройства "Датчик открытия/закрытия". Управлять пока не пробовал - не дома.

Что касается дублирующего беспроводного выключателя - я немного поторопился сказав что он сразу заработал - на самом деле у него еще есть третье действие (кроме нажатия левой и правой клавиш) - это одновременное нажатие обоих.

Код: Выделить всё

report    {"dual_channel":"both_click"}      
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Пт мар 31, 2017 12:37 pm

nooze писал(а):Что касается дублирующего беспроводного выключателя - я немного поторопился сказав что он сразу заработал - на самом деле у него еще есть третье действие (кроме нажатия левой и правой клавиш) - это одновременное нажатие обоих.

Код: Выделить всё

report    {"dual_channel":"both_click"}
Прикольно, не знал. Добавил поддержку команды both_click.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
nooze
Сообщения: 11
Зарегистрирован: Ср мар 29, 2017 9:09 pm
Благодарил (а): 5 раз
Поблагодарили: 0

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

Сообщение nooze » Пт мар 31, 2017 12:55 pm

sergejey писал(а):
nooze писал(а):Что касается дублирующего беспроводного выключателя - я немного поторопился сказав что он сразу заработал - на самом деле у него еще есть третье действие (кроме нажатия левой и правой клавиш) - это одновременное нажатие обоих.

Код: Выделить всё

report    {"dual_channel":"both_click"} 
Прикольно, не знал. Добавил поддержку команды both_click.
Спасибо!

А что скажете насчет управлению яркостью подсветки хаба через свойство rgb?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Пт мар 31, 2017 1:26 pm

nooze писал(а):А что скажете насчет управлению яркостью подсветки хаба через свойство rgb?
Честно говоря, это было "быстрым" решением и его доработать пока не дошли руки. Я помечу себе, что есть необходимость в регулировании яркости и надо добавить команду для этого.
За это сообщение автора sergejey поблагодарил:
nooze (Пт мар 31, 2017 1:29 pm)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ответить