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

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

Модератор: immortal

Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Чт сен 14, 2017 11:15 am

Aven писал(а):насчет длины, там вроде только кратно 50см. А укоротить более длинный можно?
И как могут открываться шторы? Только в одну сторону или раздвигаться от центра к краям обе шторы? На одном моторе или надо ставить по обоим краям карниза?
Не знаю как на xiaomi, но бродлинковские карнизы (с 1 мотором) открывают шторы в обе стороны. Скорее всего технологии похожие. Укоротить вроде можно - при первом включении происходит калибровка (полное открытие и закрытие штор).
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
T-REX-XP
Сообщения: 174
Зарегистрирован: Вт июн 16, 2015 10:54 pm
Благодарил (а): 16 раз
Поблагодарили: 32 раза

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

Сообщение T-REX-XP » Чт сен 14, 2017 1:16 pm

Стал обладателем набора Xiaomi для умного дома. Задумался как запилить вывод Алисы через радио на шлюзе.
Нашел похожый проект на гитхабе https://github.com/sfedotoff/miwifiradio , запустил на Xpenology. Буду вечером тестировать.
Zubkov
Сообщения: 35
Зарегистрирован: Вт сен 13, 2016 8:43 pm
Благодарил (а): 9 раз
Поблагодарили: 6 раз

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

Сообщение Zubkov » Пт сен 15, 2017 11:44 am

Aven писал(а):насчет длины, там вроде только кратно 50см. А укоротить более длинный можно?
И как могут открываться шторы? Только в одну сторону или раздвигаться от центра к краям обе шторы? На одном моторе или надо ставить по обоим краям карниза?
да, вообще кратно.... но при заказе указываешь точную длину и присылают в нужный размер (хоть 283см)))
мотор ставится один и открывает/закрывает в обе стороны до центра
Draytek
Сообщения: 9
Зарегистрирован: Сб май 13, 2017 11:50 pm
Благодарил (а): 5 раз
Поблагодарили: 0

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

Сообщение Draytek » Пт сен 15, 2017 4:30 pm

Может кто подскажет, в чём проблема. Получил датчики движения Aqara.
Отчет получаю - report {"cmd":"report","model":"sensor_motion.aq2","sid":"158d0001a6639a","short_id":21820,"data":{"status":"motion"}}
Но не все значения создаются отдельно, только вот эти -
no_motion 1800
voltage 3075
Вложения
Снимок экрана 2017-09-15 в 16.19.33.png
Снимок экрана 2017-09-15 в 16.19.33.png (34.61 КБ) 6823 просмотра
Снимок экрана 2017-09-15 в 16.19.33.png
Снимок экрана 2017-09-15 в 16.19.33.png (34.61 КБ) 6823 просмотра
Punka
Сообщения: 6
Зарегистрирован: Сб апр 08, 2017 4:02 pm
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение Punka » Сб сен 16, 2017 11:02 pm

Draytek писал(а):Может кто подскажет, в чём проблема. Получил датчики движения Aqara.
Отчет получаю - report {"cmd":"report","model":"sensor_motion.aq2","sid":"158d0001a6639a","short_id":21820,"data":{"status":"motion"}}
Но не все значения создаются отдельно, только вот эти -
no_motion 1800
voltage 3075
Проблема в том, что модуль xiaomihome не знаком с датчиками серии aqara. Была такая же проблема, не дождавшись ответа разобрался самостоятельно:
В файл "xiaomihome.class.php" нужно дописать код для датчика движения:
if ($message_data['cmd'] == 'report' && $message_data['model'] == '
sensor_motion.aq2' && $message_data['data']['status'] == 'motion') {
$value = 1;
$command = 'motion';
$got_commands[] = array('command' => $command, 'value' => $value);
}

для кнопки:
if ($message_data['cmd'] == 'report' && $message_data['model'] == 'sensor_switch.aq2') {
$value = 1;
$command = $message_data['data']['status'];
$got_commands[] = array('command' => $command, 'value' => $value);
}

для магнитного датчика:
if ($message_data['cmd'] == 'report' && isset($message_data['data']['status']) && $message_data['model'] == 'sensor_magnet.aq2') {
if ($message_data['data']['status'] == 'close') {
$value = 1;
} else {
$value = 0;
}
$command = 'status';
$got_commands[] = array('command' => $command, 'value' => $value);
}

И чтобы кнопкой можно было вызывать метод - в районе 383-ей строки кода, где идет проверка условий для вызова метода добавить:
$device['TYPE'] == 'sensor_switch.aq2' ||
За это сообщение автора Punka поблагодарил:
Draytek (Вс сен 17, 2017 11:23 pm)
Рейтинг: 1.16%
T-REX-XP
Сообщения: 174
Зарегистрирован: Вт июн 16, 2015 10:54 pm
Благодарил (а): 16 раз
Поблагодарили: 32 раза

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

Сообщение T-REX-XP » Вс сен 17, 2017 12:16 pm

Господа, кто нибудь покупал датчики открытия($6.99 против $8.78 за оригинальные) https://www.gearbest.com/access-control/pp_626703.html ??
нашел у них на сайте отзыв что не совместимы с крайней версией прошивки шлюза. но цена вроде дешевле оригинальных с набора.

может что знает альтернативные датчики совместимые с Xiaomi?
Aven
Сообщения: 529
Зарегистрирован: Сб мар 12, 2016 6:33 pm
Откуда: Ухта, Россия
Благодарил (а): 3 раза
Поблагодарили: 154 раза

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

Сообщение Aven » Вс сен 17, 2017 8:52 pm

Нормально работают, кроме формы корпуса и изменившейся модели вроде ничем не отличаются.
Aven
Сообщения: 529
Зарегистрирован: Сб мар 12, 2016 6:33 pm
Откуда: Ухта, Россия
Благодарил (а): 3 раза
Поблагодарили: 154 раза

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

Сообщение Aven » Вс сен 17, 2017 8:54 pm

Zubkov писал(а):
Aven писал(а):насчет длины, там вроде только кратно 50см. А укоротить более длинный можно?
И как могут открываться шторы? Только в одну сторону или раздвигаться от центра к краям обе шторы? На одном моторе или надо ставить по обоим краям карниза?
да, вообще кратно.... но при заказе указываешь точную длину и присылают в нужный размер (хоть 283см)))
мотор ставится один и открывает/закрывает в обе стороны до центра
А вариант, когда штора одна и открывается с одного края и на весь карниз невозможен?
Draytek
Сообщения: 9
Зарегистрирован: Сб май 13, 2017 11:50 pm
Благодарил (а): 5 раз
Поблагодарили: 0

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

Сообщение Draytek » Вс сен 17, 2017 11:32 pm

Punka писал(а):
Draytek писал(а):Может кто подскажет, в чём проблема. Получил датчики движения Aqara.
Отчет получаю - report {"cmd":"report","model":"sensor_motion.aq2","sid":"158d0001a6639a","short_id":21820,"data":{"status":"motion"}}
Но не все значения создаются отдельно, только вот эти -
no_motion 1800
voltage 3075
Проблема в том, что модуль xiaomihome не знаком с датчиками серии aqara. Была такая же проблема, не дождавшись ответа разобрался самостоятельно:
В файл "xiaomihome.class.php" нужно дописать код для датчика движения:
if ($message_data['cmd'] == 'report' && $message_data['model'] == '
sensor_motion.aq2' && $message_data['data']['status'] == 'motion') {
$value = 1;
$command = 'motion';
$got_commands[] = array('command' => $command, 'value' => $value);
}

для кнопки:
if ($message_data['cmd'] == 'report' && $message_data['model'] == 'sensor_switch.aq2') {
$value = 1;
$command = $message_data['data']['status'];
$got_commands[] = array('command' => $command, 'value' => $value);
}

для магнитного датчика:
if ($message_data['cmd'] == 'report' && isset($message_data['data']['status']) && $message_data['model'] == 'sensor_magnet.aq2') {
if ($message_data['data']['status'] == 'close') {
$value = 1;
} else {
$value = 0;
}
$command = 'status';
$got_commands[] = array('command' => $command, 'value' => $value);
}

И чтобы кнопкой можно было вызывать метод - в районе 383-ей строки кода, где идет проверка условий для вызова метода добавить:
$device['TYPE'] == 'sensor_switch.aq2' ||
Датчик движения заработал! Спасибо!
Остальных устройств пока нет.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Вт сен 19, 2017 3:04 pm

Punka писал(а):Имеется такая проблема: MD как полагается отлавливает события (нажатия - одиночные, двойные, срабатывания магнитного сенсора и т.п.), отражает их в событии report в поле {"status":"ххх"}, но по непонятной причине не создает отдельные записи событий status - click, double_click и т.п. Использую PHP 5.4, MD - последняя версия.
Например:
1. Кнопка sensor_switch.aq2 (квадратная, серия aqara) создает только следующие события:
- report {"cmd":"report","model":"sensor_switch.aq2","sid":"158d0001a66e48","short_id":52700,"data":{"status":"click"}}
- report {"cmd":"report","model":"sensor_switch.aq2","sid":"158d0001a66e48","short_id":52700,"data":{"status":"double_click"}}
- voltage 3115
Самостоятельные события click и double_click в MD не прописываются
2. Магнитный сенсор (серия aqara) создает только следующие события:
- report {"cmd":"report","model":"sensor_magnet.aq2","sid":"158d0001a3df6e","short_id":51948,"data":{"status":"close"}}
- report {"cmd":"report","model":"sensor_magnet.aq2","sid":"158d0001a3df6e","short_id":51948,"data":{"status":"open"}}
- voltage 3075
- no_close 60
Самостоятельные события close и open в MD не прописываются
Я добавил в основную ветку код поддержки событий от сенсоров Aqara. Т.е. первый пункт должен работать полностью.
По второму -- close/open реализованы не как отдельные события, а как одно событие status для привязки свойства объекта либо вызова метода. В методе уже можно необходимости делать проверку параметра $params['status']

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