Плагин Xiaomi
-
Скажите, у кого есть опыт. У датчиков движения от Xiaomi бывают ложные срабатывания?
-
@Erik Добрый день, ложное срабатывание не замечали, но у них есть нюанс, датчик после фиксации движения уходит в спячку на минуту
-
Участник @dev написал в Плагин Xiaomi:
@Erik Добрый день, ложное срабатывание не замечали, но у них есть нюанс, датчик после фиксации движения уходит в спячку на минуту
Если датчик в комнате без окон в центре дома сработал, а другие на пути к этой комнате нет, значит скорее всего датчик отклеился и упал?
-
@Erik обычно датчики инфракрасные, может у вас там кто-то бегает?
Мышка например
-
Участник @dev написал в Плагин Xiaomi:
@Erik обычно датчики инфракрасные, может у вас там кто-то бегает?
Мышка напримерТам в округе все, что мельче кабана, вОроны склевали.
-
@Erik
Да где же Вы живете, что у вас такие вОроны лютые.
-
@MAMOHT
Дача в Тульской области.Там много хищных птиц летает. Не только вОроны. Что любопытно, когда дачники наставили заборов, и у птиц изменились маршруты облета. Если раньше кружили над полем, постепенно смещаясь в сторону, то теперь кружат строго по границам заборов, летая пониже, чем раньше. Над одним участком покружат - переместятся на соседний, и так весь поселок.
Сороки - вроде не мелкие птицы - к кормушке по двое прилетают. Одна есть, вторая за небом следит. Если подлетает ворон - дает сигнал, и та, которая ест слетает с кормушки. Пока ворон не улетит - держатся подальше.Офтоп, конечно.
-
Датчик на месте.
Никаких следов присутствия нет.
-
Я канал gw_rgb (RGB светильник в шлюзе сяоми) сопоставил с устройством "RGB светильник".
И из правого меню этого устройства все работает - включается, выключается, выбирается цвет.А из скрипта командой Lamp.on() включается всегда без сбоев, а командой Lamp.off() не выключается чаще всего.
Иногда выключается, но редко.Это особенности плагина? Или другую команду нужно использовать для RGB светильника?
-
@Erik Добрый день, странное поведение, нам нужно проверить этот момент, т.е. у вас постоянно на off ситуация повторяется?
-
@dev
Нет. Иногда выключается.
А иногда скрипт завершается с ошибкой, а светильник остается включенным.Вот в этом сценарии когда таймер стоял на 3 минуты - все работало, когда поставил 2 - перестал выключаться.
/** * @name Свет в комнате по движению 2 * @desc * @version 4 */ const Lamp = Device("ActorA", "Светильник"); const Motion = Device("SensorD", "Датчик движения"); const SAF = Device("ActorD","Охрана"); const Last = Device("ActorA","Последнее движение"); // Запустим сценарий при сработке датчика движения, если светильник не горит, режим охраны отключен, выключатель выключен. startOnChange([Motion], Motion.isOn() && Lamp.isOff() && SAF.isOff()); script({ start() { Lamp.on(); Last.setValue(`Последнее движение ${new Date().toLocaleString()}. ${Motion.zoneName}`); // взводим таймер, чтобы отключить this.startTimer("T1", 120, "turnOff"); // Добавляем слушателей - следим за датчиком движения и светильником this.addListener(Motion, "onMotion"); this.addListener(Lamp, "onLamp"); }, onMotion() { // Если движение возобновилось - сбрасываем таймер if (Motion.isOn() ) { this.stopTimer("T1"); } // Если движение прекратилось - взводим таймер (после повторных движений) if (Motion.isOff() && this.timer.T1 == "off") { this.startTimer("T1", 120, "turnOff"); } }, onLamp() { // Светильник выключили другим способом - выходим if (Lamp.isOff()) this.exit(); }, // Функция, которая сработает, когда таймер досчитает - отключаем и выходим turnOff() { Lamp.off(); this.exit(); } });
В этом скрипте у меня RGB светильник и датчик движения - от сяоми. Выключатель на входе меги.
А просто выключение (без доп условий со слушателями) работает четко без сбоев.
Этот скрипт отрабатывает нормально./** * @name Выкл свет по таймеру * @desc * @version 4 */ const Lamp = Device("ActorA", "Светильник"); // Запустим сценарий при сработке датчика движения, если светильник не горит, режим охраны отключен, выключатель выключен. startOnChange([Lamp], Lamp.isOn()); script({ start() { // взводим таймер, чтобы отключить this.startTimer("T1", 3, "turnOff"); }, // Функция, которая сработает, когда таймер досчитает - отключаем и выходим turnOff() { Lamp.off(); this.exit(); } });
-
Вероятно, проблема со сценарием, а не с устройством (плагином)
А иногда скрипт завершается с ошибкой, а светильник остается включенным.
А какая там ошибка, посмотрите пожалуйста в Рабочих сценариях.
-
Участник @intrapro написал в Плагин Xiaomi:
А какая там ошибка, посмотрите пожалуйста в Рабочих сценариях.
В прошлые выходные убил в мультисценарии этот набор устройств.
Сегодня добавил - пока работают без сбоев.
-
Вот. Поймал все таки.
19.01 14:09:27.272 S76(,RGBLAMP1,SMOTION3,ACTOR1,ACTORA79) Check(SMOTION3) => true 19.01 14:09:27.272 S76(,RGBLAMP1,SMOTION3,ACTOR1,ACTORA79) Started 19.01 14:09:27.273 S76(,RGBLAMP1,SMOTION3,ACTOR1,ACTORA79) do RGBLAMP1 on 19.01 14:09:27.274 S76(,RGBLAMP1,SMOTION3,ACTOR1,ACTORA79) do ACTORA79 set Последнее движение 2020-1-19 14:09:27. Баня.Раздевалка 19.01 14:09:27.274 S76(,RGBLAMP1,SMOTION3,ACTOR1,ACTORA79) start timer T1 for 60 sek 19.01 14:09:27.330 S76(,RGBLAMP1,SMOTION3,ACTOR1,ACTORA79) listener on event RGBLAMP1: onLamp 19.01 14:09:27.331 S76(,RGBLAMP1,SMOTION3,ACTOR1,ACTORA79) exec function onLamp 19.01 14:09:27.331 S76(,RGBLAMP1,SMOTION3,ACTOR1,ACTORA79) exit 19.01 14:09:27.331 S76(,RGBLAMP1,SMOTION3,ACTOR1,ACTORA79) Stopped
Осталась включенной.
-
@Erik
Получается, что сценарий выходит по ветке "Cветильник выключили другим способом", поэтому он выходит и по факту не выключает RGB.
На самом деле он просто включиться еще не успел (по крайней мере, не передал сообщения о переключении)
Смотрим по логу, что происходит14:09:27.273 do RGBLAMP1 on - пошла команда на включение
14:09:27.330 listener on event RGBLAMP1: onLamp - через 57 мс пришло событие от лампы, ПРИ ЭТОМ она выключена (состояние еще не успело переключиться в on) -> сценарий завершается.
Вероятно, от лампы приходят еще сообщения, кроме переключения состояния
Можно добавить проверку, что изменился именно state - тогда должно работатьonLamp() { // Светильник выключили другим способом - выходим if ( this.isChanged(Lamp, 'state') && Lamp.isOff() ) this.exit(); },
-
01.02 17:09:32.051 xiaomi1: {"cmd":"report","model":"sensor_switch.aq2","sid":"158d0002008b2c","short_id":62635,"data":"{"status":"click"}"}
01.02 17:09:32.052 IH: get []
set {}
В списке каналов не появляется, а в логе есть. Может надо как-то добавить в плагин ?..Для себя подправил в плагине sensor_switch.aq3
-
Участник @Anatol написал в Плагин Xiaomi:
sensor_switch.aq2
Добрый день, выпущено обновление 0.0.63, добавлены новые устройства:
gateway - Xiaomi GateWay 2 motion - Xiaomi Smart Motion Sensor sensor_motion.aq2 - Xiaomi Smart Motion Sensor and Illumination weather.v1 - Xiaomi Weather sensor_ht - Xiaomi Temperature/Humidity sensor_magnet.aq2 - Xiaomi Door Sensor magnet - Xiaomi Door Sensor smoke - Xiaomi Smoke Detector natgas - Xiaomi Gas Detector curtain - Xiaomi Aqara curtain plug - Xiaomi Smart Plug ctrl_86plug.aq1 - Aqara Smart Socket ctrl_ln1.aq1 - Aqara 1 Channel Wall Switch (LN) ctrl_neutral1 - Xiaomi Wired Single Wall Switch (N) ctrl_neutral2 - Xiaomi Wired Dual Wall Switch (N) ctrl_ln2.aq1 - Aqara Wall Switch Double (LN) sensor_switch.aq2 - Аqara Smart Wireless Switch sensor_switch.aq3 - Aqara Smart Wireless Switch switch - Xiaomi Wireless Switch 86sw2 - Xiaomi Wireless Dual Wall Switch remote.b286acn01 - Aqara Wireless Switch Single remote.b186acn01 - Aqara Wireless Switch Double cube - Xiaomi Cube sensor_wleak.aq1 - Aqara Water sensor
Если у вас есть zigbee устройство, которое отсутсвует в списке каналов, сообщите нам и мы его добавим.
-
А можна по такому что то зделать (esp32s) https://youtu.be/J04PZJTwnnw тогда можна будет подключать bluetooth устройства xiaomi.
-
Добрый день. Одноклавишный выключатель Acara, в отладчике пишет "click", а в статусе "значение с канала" не меняет. Перебрал несколько штук. Все одинаково. При этом двухклавишные все ок. Может в плагине что не так ?
-
и сразу еще вопрос. В двухклавишном выключателе не меняется состояние. Если после левой клавишы нажать правую, статус левой все равно остается в "click" и наоборот, то есть не сбрасывается. Сбрасывается только если делать"long click", в отладчике все пишется правильно, а статус при этом не меняется.