newz20

 
<<< Назад

Правильно привязываем свойства и методы в настройках Модулей

Статья из цикла. Настройка для новичков.
Настройка популярных Модулей или как не поймать ошибку работы по кругу или двойных сработок.
Внимание снова очень много картинок.

Опять вопросы из топа заданных в чате.
Почему у меня свет включается, а потом выключается.
Почему у меня Алиса произносит дважды что дверь открыта.
И еще несколько вопросов о реакции на действия которые не ожидаются.
Сначала сделаю скрины для тех кто не хочет разобраться как устроено все, а ниже будет статья пообширнее.

Модуль xiaomihome.

Правильно.

1

Неправильно.

3

Модуль MQTT.

Правильно.

4

Неправильно.

6

Ну а теперь для тех кто хочет понять что же не так и почему это происходит.
В картинках с подписью неправильно, это совсем даже правильно, но нужно понимать как этим пользоваться.

В системе предусмотрены методы заложенные уровнями выше, и даже на данном уровне (смотрите предыдущую статью из цикла для новичков). Так вот эти методы выполняют определенные действия которые в них заложены, а когда вы выбираете свойство, то при изменении автоматически срабатывает метод привязанный к свойству. Выбрав и свойство и метод вы инициализируете работу метода дважды. При открытии двери, например, вы получите двойное произношение об открытии двери. Или привязав свойство статус лампы, вы выбираете рядом метод свитч, то получите сработку туда-сюда. Допустим статус сменится с 1 на 0 и ваша лампа выключится сработает привязанный к свойству метод, а далее уже выбранный вами метод свитч следом сделает действие обратное вашему, т.к. сработав увидит что статус выкл и включит лампу обратно.

Бывают случаи когда нужно сначала округлить значение от датчика, то мы пишем метод или правим существующий и только в коде метода говорим записать значение в свойство, но если метод привязан к этому свойству, то вновь пойдет цикличный вызов метода, и мы получим вечные опопвещения. Но если метод привязан к другому свойству или не привязан вовсе, то тут уже можно построить маленький огородик и получить желаемое, таким образом мы можем привязать данные к свойству значения датчика и выбрать метод который будет их округлять и отправлять в другое свойство.
Но так же никто не мешает поправить метод который сработает при изменении свойства и из него писать значения в другое свойство.

Тут можно запутаться и это делает почти каждый, так что рекомендую не торопиться и не ругаться, а попробовать понять суть системы.

Это будет другая статья и если не забуду кину сюда ссылку.

Обсуждение (0) (14)

Смотрите так же:
26.10.2020 Немного о безопасности.
17.08.2020 Переключение режима устройства долгим удержанием
09.04.2020 Автоматизация бэкапов (полный/мини) через модуль Backup от Eraser1981
09.04.2020 Добавление прокси в сценарий для обхода блокировки
23.01.2020 Как привязать метод к свойству или разберемся в структуре объектов
03.10.2019 Получение адреса по координатам.
13.09.2019 Ввод пин-кода или киношный экран разблокировки версия исправленная и доработанная
12.09.2019 Ввод пин-кода или киношный экран разблокировки
12.11.2018 Получение данных со стороннего сайта (аналог веб-переменным)
26.09.2018 Светильник на ws2812 + светильник с аккумулятором (часть прошивка)
24.09.2018 Светильник на ws2812 + светильник с аккумулятором (часть сборка)
17.09.2018 Немного про правильную перезагрузку.
14.09.2018 Светильник на ws2812 + светильник с аккумулятором

Краснодар, Россия

На форуме: newz20