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

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

Модератор: immortal

fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Чт май 03, 2018 9:56 pm

newz20 писал(а):
Чт май 03, 2018 9:40 pm
Может еще есть примеры, чем больше кода тем проще понять.
А что там понимать-то? По сути это кнопка, которая срабатывает когда кубик крутится. Кубик крутим, кнопка срабатывает, вызывается метод. Продолжаем крутить, кнопка ещё раз срабатывает, ещё раз срабатывает метод. В самом методе мы проверяем больше 0 свойство rotate нашей кнопки или меньше, то этого зависит куда крутили кубик - по часовой стрелке или против. Проверяем вот этим вот ифом

if ((float)gg('XiButton02.Rotate')<0) - вместо XiButton2 пишем свой объект, привязанный к вращению
А дальше в фигурных скобках пишем код, который что-то уменьшает - звук, яркость и т.д.

else и дальше в фигурных скобках код, который что-то увеличивает - звук, яркость и т.д.
За это сообщение автора fandaymon поблагодарил:
newz20 (Пт май 04, 2018 6:31 am)
Рейтинг: 1.16%
skyrider
Сообщения: 138
Зарегистрирован: Ср ноя 22, 2017 11:46 am
Благодарил (а): 35 раз
Поблагодарили: 7 раз

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

Сообщение skyrider » Сб май 05, 2018 2:59 pm

Подключил Xiaomi Aqara датчик температуры влажности и давления, вывел на сцену через простые устройства, все ок, вот только к показаниям датчика давления на сцене прилипает надпись "TOPP", как ее убрать и где?
monstr
Сообщения: 2
Зарегистрирован: Сб май 05, 2018 8:22 pm
Благодарил (а): 1 раз
Поблагодарили: 0

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

Сообщение monstr » Сб май 05, 2018 8:36 pm

Добрый день.
Рад влиться в сообщество МЖД:)
Уже месяц так или иначе въезжаю в эту систему, сложно, но интересно.
Вопрос:
есть шлюз ксиаоми гетевэй 2, прошивка 1.4.1_154.0143. К нему прицеплены датчики и кнопка. MD всё видит, отрабатывает.
Однако не хочет управлять ночником шлюза из интерфейса MD. Настроено через простые устройства: RGB контроллер и димер.
То есть в MD корректно отображаются настройки ночника шлюза, но при их изменении через интерфейс MD шлюз не реагирует. Какая то односторонняя связь получается :(
Во всех просмотренных мной видео таких проблем нет Оо
люз1.PNG
люз1.PNG (64.04 КБ) 3953 просмотра
П.С. странная надпись TOPP тоже беспокоит :)
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Сб май 05, 2018 9:06 pm

monstr, на вкладке Общее у шлюза впиши его верный пароль.
За это сообщение автора skysilver поблагодарили (всего 2):
monstr (Сб май 05, 2018 10:35 pm) • Samir77 (Вс май 06, 2018 9:04 pm)
Рейтинг: 2.33%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
monstr
Сообщения: 2
Зарегистрирован: Сб май 05, 2018 8:22 pm
Благодарил (а): 1 раз
Поблагодарили: 0

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

Сообщение monstr » Сб май 05, 2018 10:23 pm

Вот я ... не внимательный какой, правда, 1 символ попутал.
Внутренне был уверен что без пароля он и передавать в MD ничего не будет, а оказывается это только для управления.
Спасибо!!!
Аватара пользователя
leodev
Сообщения: 9
Зарегистрирован: Чт май 03, 2018 5:44 pm
Откуда: Симферополь(Крым)
Благодарил (а): 18 раз
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение leodev » Чт май 10, 2018 11:57 am

Сегодня наконец поборол установку MDM на Windows 10.
  • Majordomo установлена на Windows 10 (192.168.1.12)
  • Mi Home Gateway v3 (192.168.1.20)
  • Роутер TP link TL-WR940N DHCP (192.168.1.1)
  • Роутер ASUS RT-N14U МОСТ (192.168.1.3)
MDM не видит Mi Home по WiFi через TP link TL-WR940NПоказать
Проблема в WiFi от TP link TL-WR940N.
Трафик виден:
В Windows 10 только через Wireshark - ДА
В Windows 10 только через MiHomeAdmin - НЕТ
На Android через Multicast Tester - НЕТ
Решение: Установка дополнительного роутера ASUS RT-N14U в режиме МОСТ и подключение gateway через его WiFI
Трафик виден на Android через Multicast Tester - ДА
MDM не видит Mi Home из-за обновления Windows 10Показать
Так же это решает проблему подключения по RDP из Windows 10, получаем ошибку "Причиной ошибки может исправление шифрования CredSSP"
Решение1:
Добавить ключ реестра сохранив текст в файле *.reg или добавив значение вручную

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

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters]
"AllowEncryptionOracle"=dword:00000002
Решение2: Удалить обновление
  • Настройки
  • Обновление и безопасность
  • Просмотр журнала обновлений
  • Удаление обновлений
  • Удалить Обновление безопасности для Microsoft Windows KB4103721
  • Перезагрузиться
Последний раз редактировалось leodev Пт май 11, 2018 3:31 pm, всего редактировалось 1 раз.
За это сообщение автора leodev поблагодарил:
skysilver (Чт май 10, 2018 12:27 pm)
Рейтинг: 1.16%
sigment
Сообщения: 138
Зарегистрирован: Вт ноя 14, 2017 6:39 pm
Откуда: Москва
Благодарил (а): 44 раза
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение sigment » Чт май 10, 2018 3:25 pm

Как сделать, чтоб действие проговаривалось один раз до изменения значения с минимального на максимальное и наоборот? А не каждый раз при обновлении значений, даже если они не изменились или изменилось не существенно.

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

if (getGlobal("Sensor_power01.status")<30) {
  say('Котел Выключен', 2);
}
if (getGlobal("Sensor_power01.status")>70) {
  say('Котел включен', 2);
}
Raspberry Pi3, Xiaomi, BroadLink, ESP8266
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Чт май 10, 2018 4:12 pm

sigment писал(а):
Чт май 10, 2018 3:25 pm
Как сделать, чтоб действие проговаривалось один раз до изменения значения с минимального на максимальное и наоборот? А не каждый раз при обновлении значений, даже если они не изменились или изменилось не существенно.

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

if (getGlobal("Sensor_power01.status")<30) {
  say('Котел Выключен', 2);
}
if (getGlobal("Sensor_power01.status")>70) {
  say('Котел включен', 2);
}
Использовать дельту

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

$delta=$params['NEW_VALUE']-$params['OLD_VALUE'];
И дальше смотреть на сколько изменился статус и изменился ли...
Для того чтобы $params работали, код должен быть в методе, который вызывается когда меняется свойство объекта...
sigment
Сообщения: 138
Зарегистрирован: Вт ноя 14, 2017 6:39 pm
Откуда: Москва
Благодарил (а): 44 раза
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение sigment » Чт май 10, 2018 4:28 pm

А можно совсем разжевать и эту строчку вписать в мой код? Пока только с простыми задачами борюсь. Не понимаю как из всего этого сложить пазл.
Raspberry Pi3, Xiaomi, BroadLink, ESP8266
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Чт май 10, 2018 4:43 pm

Если надо просто остлеживать изменилось ли значение

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

$delta=$params['NEW_VALUE']-$params['OLD_VALUE'];
if ($delta!=0) {
 if (getGlobal("Sensor_power01.status")<30) {
   say('Котел Выключен', 2);
 }
 if (getGlobal("Sensor_power01.status")>70) {
   say('Котел включен', 2);
 }

}
Если хотим чтобы сообщения выдавались, только когда состояние менялось (Вкл/Выкл), то лучше добавить ещё одно свойство к объекту Sensor_power01 и назвать его допустим PowerOn. (И присвоить ему то значение, в котором сейчас этот котёл находится - 1 включен, 0 выключен) Пишем такой код

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

if (getGlobal("Sensor_power01.status")<30) {
 if (gg('Sensor_power01.PowerOn')!=0) {
    say('Котел Выключен, 2);
    sg('Sensor_power01.PowerOn',0);
  } 
}
if (getGlobal("Sensor_power01.status")>70) {
  if (gg('Sensor_power01.PowerOn')!=1) {
    say('Котел включен', 2);
    sg('Sensor_power01.PowerOn',1);
  } 
}

}
И куда-нибудь на сцену можно выводить Sensor_power01.PowerOn, который покажет включен или выключен котёл
За это сообщение автора fandaymon поблагодарили (всего 2):
sigment (Чт май 10, 2018 4:45 pm) • ipc2002 (Вт май 29, 2018 1:25 am)
Рейтинг: 2.33%
Ответить