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

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

Модератор: immortal

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

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

Сообщение skysilver » Вт апр 17, 2018 5:19 pm

Maks21 писал(а):
Вт апр 17, 2018 5:02 pm
дак вопрос то по модулю!рзетка заработала ,остаеться вопрос как получить с ее потребление, с такой же визуализацией как в видосе,с датчиками пока не разбирался ..будуПо указанному видео и разбираюсь
В модуле есть недоработочка - нет возможности к некоторым метрикам прямо из модуля создать и привязать простое устройство. В частности вот с мощностью такая ситуация. Поэтому сначала создай ПУ типа "Датчик мощности" отдельно в разделе Простые устройства, а потом в модуле к метрике power привяжи объект и свойство, которые указаны в твоем ПУ (обычно это Sensor_power0х и value).
За это сообщение автора skysilver поблагодарили (всего 4):
chibis (Вт апр 17, 2018 5:28 pm) • Maks21 (Вт апр 17, 2018 6:28 pm) • Mavric (Вт апр 17, 2018 7:02 pm) • Samir77 (Пт июн 08, 2018 2:01 pm)
Рейтинг: 4.65%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Ср апр 18, 2018 1:50 am

Сделал пулреквест с обновлениями:
  • Добавлена привязка простых устройств для smoke, voltage, load_power, power_consumed, brightness, illumination, lux, pressure_kpa, pressure_mm, leak и др.
  • Добавлена иконка модуля.
  • Добавлен индикатор статуса цикла.
Когда автор модуля его примет, можно будет обновиться в маркете.
За это сообщение автора skysilver поблагодарили (всего 7):
fandaymon (Ср апр 18, 2018 2:25 am) • chibis (Ср апр 18, 2018 8:25 am) • Jager (Ср апр 18, 2018 8:49 am) • iden (Ср апр 18, 2018 1:36 pm) • VladPTZ (Чт апр 19, 2018 7:48 am) • Ron (Вс апр 22, 2018 6:30 pm) • Samir77 (Вс май 06, 2018 9:05 pm)
Рейтинг: 8.14%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
chibis
Сообщения: 199
Зарегистрирован: Пн апр 02, 2018 10:47 am
Откуда: Moscow
Благодарил (а): 40 раз
Поблагодарили: 2 раза

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

Сообщение chibis » Ср апр 18, 2018 10:16 am

fandaymon писал(а):
Вт апр 17, 2018 4:20 pm
Maks21 писал(а):
Вт апр 17, 2018 3:09 pm
Также интересно и про датчик движения и открытия.Единственное что работает,при нажатии кнопки Алиса озвучивает,с этим разобрался.
По-моему после просмотра вот этого вот видео - https://www.youtube.com/watch?v=KHYiCCkv8RQ, вообще никаких вопросов не должно оставаться по поводу Как кнопкой включить розетку.
Добавить простое устройство розетку
Добавить простое устройство кнопку
Связать их. Всё.
Ну или при помощи блокли написать какую угодно логику
Зайти в простые устройства - найти нужную розетку - нажать на карандаш (edit) - выбрать таб Интерфейс и добавить в нужную сцену.

С датчиками движения, открытия всё аналогично - добавляется как простое устройство, в Действие прописывается что именно этот датчик должен делать. Скажем если датчику двери в Действие прописать что-то такое

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

if ($this->getProperty('status')==0) {
say('Дверь открыта');
 sg("GateRGB.brightness",50);
 SetTimeOut('GateOn','sg("GateRGB.brightness",0);',120);
}
else
{
say('Дверь закрыта');
}
то Мажордомо при открытии двери будет говорить, что дверь открыта и на 2 минуты включать подсветку Гейта, а при закрытии - будет говорить что дверь закрыта.

GateRGB - так у меня называется объект гейта, brightness - это свойство этого объекта

Датчики привязанные к Простым устройствам (движения, открытия, протечки и т.д.) ведут себя так же как кнопка, на кнопку нажали - выполнилось действие. Единственная разница, что у датчика открытия вместе с нажатием кнопки (состояние двери изменилось) ещё отправляется информация, о том что дверь или открыли или закрыли. Именно поэтому в приведённом выше коде есть сравнение $this->getProperty('status') с нулём. Таким образом мы узнаём что же произошло с дверью.
Наконец-то хорошие примеры предложены с вменяемым объяснением :)
А можно такой же пример написания сценария для включения света (Relay05) (Розетка), от датчика движения , и выключение через 10 мин. если нет движения ? Что-то чайниковатость подводит меня ...
За это сообщение автора chibis поблагодарил:
Mavric (Пт апр 20, 2018 10:59 am)
Рейтинг: 1.16%
Raspberry Pi 3B+, HP PC Intel , Ubuntu 18.04 Server LTS - 2 шт.
Аватара пользователя
vitt76
Сообщения: 372
Зарегистрирован: Вс апр 09, 2017 2:36 pm
Благодарил (а): 101 раз
Поблагодарили: 51 раз

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

Сообщение vitt76 » Ср апр 18, 2018 10:26 am

Подскажите, как быть, если у меня gateway в другой подсети, связанной с основной по VPN, как его увидеть? Broadcast, конечно не работает. Можно ли прописать его IP в модуль? Как тогда мне подключить второй gateway, поле же в настройках одно? Спасибо!
Broadlink + Orange Pi PC ARMBIAN 5.31
IgorAntarov
Сообщения: 1
Зарегистрирован: Ср апр 18, 2018 12:10 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение IgorAntarov » Ср апр 18, 2018 12:16 pm

Проблема: не появляется шлюз в устройствах после установки модуля.

Ситуация: Windows 10,
- установил win дистрибутив majordomo
- нажал обновить систему, поставил модуль

Вместо списка устройств вижу "Нет данных", хаб xiaomi не появляется.
Как диагностировать привчину и решить проблему?

Судя по комментариям здесь, проблема возникает не первый раз:
https://kb.smartliving.ru/kak-podkluchi ... omment-117
Здорово будет в базе знаний указать инструкцию что делать в таком случае. Спасибо!
iden
Сообщения: 84
Зарегистрирован: Вт мар 13, 2018 1:51 pm
Благодарил (а): 34 раза
Поблагодарили: 6 раз

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

Сообщение iden » Ср апр 18, 2018 1:36 pm

IgorAntarov писал(а):
Ср апр 18, 2018 12:16 pm
Проблема: не появляется шлюз в устройствах после установки модуля.
попробуй скачать на телефон MulticastTester и проверить есть ли что там от шлюза ip: 224.0.0.50 порт 9898
должно быть что то подобное
СпойлерПоказать
Screenshot_20180418-173219.png
Screenshot_20180418-173219.png (110.6 КБ) 4875 просмотров
А про win 10, тут много чего написано, если коротко то с win 10 проблемы.
smart_g
Сообщения: 292
Зарегистрирован: Вт окт 17, 2017 11:29 am
Откуда: Украина, Киев
Благодарил (а): 15 раз
Поблагодарили: 33 раза

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

Сообщение smart_g » Ср апр 18, 2018 1:51 pm

chibis писал(а):
Ср апр 18, 2018 10:16 am
fandaymon писал(а):
Вт апр 17, 2018 4:20 pm
Maks21 писал(а):
Вт апр 17, 2018 3:09 pm
Также интересно и про датчик движения и открытия.Единственное что работает,при нажатии кнопки Алиса озвучивает,с этим разобрался.
По-моему после просмотра вот этого вот видео - https://www.youtube.com/watch?v=KHYiCCkv8RQ, вообще никаких вопросов не должно оставаться по поводу Как кнопкой включить розетку.
Добавить простое устройство розетку
Добавить простое устройство кнопку
Связать их. Всё.
Ну или при помощи блокли написать какую угодно логику
Зайти в простые устройства - найти нужную розетку - нажать на карандаш (edit) - выбрать таб Интерфейс и добавить в нужную сцену.

С датчиками движения, открытия всё аналогично - добавляется как простое устройство, в Действие прописывается что именно этот датчик должен делать. Скажем если датчику двери в Действие прописать что-то такое

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

if ($this->getProperty('status')==0) {
say('Дверь открыта');
 sg("GateRGB.brightness",50);
 SetTimeOut('GateOn','sg("GateRGB.brightness",0);',120);
}
else
{
say('Дверь закрыта');
}
то Мажордомо при открытии двери будет говорить, что дверь открыта и на 2 минуты включать подсветку Гейта, а при закрытии - будет говорить что дверь закрыта.

GateRGB - так у меня называется объект гейта, brightness - это свойство этого объекта

Датчики привязанные к Простым устройствам (движения, открытия, протечки и т.д.) ведут себя так же как кнопка, на кнопку нажали - выполнилось действие. Единственная разница, что у датчика открытия вместе с нажатием кнопки (состояние двери изменилось) ещё отправляется информация, о том что дверь или открыли или закрыли. Именно поэтому в приведённом выше коде есть сравнение $this->getProperty('status') с нулём. Таким образом мы узнаём что же произошло с дверью.
Наконец-то хорошие примеры предложены с вменяемым объяснением :)
А можно такой же пример написания сценария для включения света (Relay05) (Розетка), от датчика движения , и выключение через 10 мин. если нет движения ? Что-то чайниковатость подводит меня ...

Создаете для розетки метод ON_motion с кодом
sg("Relay05.status",1);
SetTimeOut('Relay05OFF','sg("Relay05.status",0);',600);

и привязываете этот метод к устройству ДАТЧИК ДВИЖЕНИЯ свойство motion.
Если будет движение, то датчик будет постоянно дергать этот метод.
За это сообщение автора smart_g поблагодарил:
Volk (Пт апр 27, 2018 12:37 pm)
Рейтинг: 1.16%
Ubuntu Server 16.04 LTS, OpenWRT 1-wire, SonOFF, MYSensors, MiHome, Yeelight, MiFlower
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Ср апр 18, 2018 3:54 pm

vitt76 писал(а):
Ср апр 18, 2018 10:26 am
Подскажите, как быть, если у меня gateway в другой подсети, связанной с основной по VPN, как его увидеть? Broadcast, конечно не работает. Можно ли прописать его IP в модуль? Как тогда мне подключить второй gateway, поле же в настройках одно? Спасибо!
Если сможешь маршрутизировать мультикаст трафик от шлюза в сеть с МДМ, то заработает. Поле IP шлюза в настройках модуля тут ничем не поможет. Тестировать можно приложением MiHomeAdmin на винде или Multicast Tester на андроиде.
За это сообщение автора skysilver поблагодарили (всего 3):
vitt76 (Ср апр 18, 2018 5:39 pm) • Mavric (Пт апр 20, 2018 11:00 am) • Samir77 (Пт июн 08, 2018 2:02 pm)
Рейтинг: 3.49%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Ср апр 18, 2018 4:29 pm

IgorAntarov писал(а):
Ср апр 18, 2018 12:16 pm
Проблема: не появляется шлюз в устройствах после установки модуля.
Ситуация: Windows 10,
- установил win дистрибутив majordomo
- нажал обновить систему, поставил модуль
Вместо списка устройств вижу "Нет данных", хаб xiaomi не появляется.
Как диагностировать привчину и решить проблему?
На Win10 у многих есть проблемы.

Проверь вот этот момент с маршрутизацией viewtopic.php?f=5&t=5091&p=75240&hilit=route#p75240

1. ‎Включен режим разработчика на шлюзе?
2. Трафик от шлюза есть в приложении Multicast Tester на телефоне?
3. Трафик от шлюза есть в приложении MiHomeAdmin на компе с виндой?
4. ‎Выключен (или настроен) фаервол/антивирус?
5. Изоляция wifi-клиентов на роутере выключена?
6. Веб-морда МДМ на стандартном порту (80) или нет?
7. Цикл модуля запущен?
8. ‎В настройках модуля указан ip сервера (без всяких http и прочего, просто ip)?
9. Лог цикла модуля (log_дата_cycle_xiaomihome.php.txt).
10. Лог самого модуля (дата_xiaomi.log).
11. Скриншоты главной страницы модуля и его настроек.
12. Скриншот вкладки Services из X-Ray.
13. Содержимое файла hosts.
14. Результат команды netstat -ab -p UDP (для windows).
15. Результат команды route print (для windows).
16. Результат команды netsh interface ipv4 show joins (для windows).
17. Результат команды sudo netstat -avpu (для linux).
18. Результат команды sudo netstat -r (для linux).
19. Результат команды sudo netstat -g (для linux).
За это сообщение автора skysilver поблагодарил:
Samir77 (Вс май 06, 2018 9:06 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
smart_g
Сообщения: 292
Зарегистрирован: Вт окт 17, 2017 11:29 am
Откуда: Украина, Киев
Благодарил (а): 15 раз
Поблагодарили: 33 раза

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

Сообщение smart_g » Ср апр 18, 2018 5:58 pm

vitt76 писал(а):
Ср апр 18, 2018 10:26 am
Подскажите, как быть, если у меня gateway в другой подсети, связанной с основной по VPN, как его увидеть? Broadcast, конечно не работает. Можно ли прописать его IP в модуль? Как тогда мне подключить второй gateway, поле же в настройках одно? Спасибо!
Смотря как настроен VPN. У меня проброшен VPN так, что с компами по сети я общаюсь по айпишникам локальным, а не VPNновским.
Если так сделать, то шлюз будет виден и в другой подсети.
Ubuntu Server 16.04 LTS, OpenWRT 1-wire, SonOFF, MYSensors, MiHome, Yeelight, MiFlower
Ответить