newz20

 
<<< Back

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

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

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

Модуль xiaomihome.

Правильно.

1

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

3

Модуль MQTT.

Правильно.

4

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

6

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

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

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

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

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

Discuss (0) (14)

See also:
2020-10-26 Немного о безопасности.
2020-08-17 Переключение режима устройства долгим удержанием
2020-04-09 Автоматизация бэкапов (полный/мини) через модуль Backup от Eraser1981
2020-04-09 Добавление прокси в сценарий для обхода блокировки
2020-01-23 Как привязать метод к свойству или разберемся в структуре объектов
2019-10-03 Получение адреса по координатам.
2019-09-13 Ввод пин-кода или киношный экран разблокировки версия исправленная и доработанная
2019-09-12 Ввод пин-кода или киношный экран разблокировки
2018-11-12 Получение данных со стороннего сайта (аналог веб-переменным)
2018-09-26 Светильник на ws2812 + светильник с аккумулятором (часть прошивка)
2018-09-24 Светильник на ws2812 + светильник с аккумулятором (часть сборка)
2018-09-17 Немного про правильную перезагрузку.
2018-09-14 Светильник на ws2812 + светильник с аккумулятором

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

На форуме: newz20