newz20

 
<<< Назад

Как привязать метод к свойству или разберемся в структуре объектов

Статья из цикла. Настройка для новичков.
Внимание очень-очень много картинок

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

Сначала сделаю скрины для тех кто не хочет разобраться как устроено все, а ниже будет статья пообширнее.

1 2 3 8 6 7

Чтобы сильно меня потом не пинали укажу сразу.
Все названия Классов, Объектов, Методов желательно писать на латинице, а в статье я буду использовать понятные слова.

Как это описано в базах знаний! Методы представляют собой описание возможных действий объекта (или действий над объектом).

Изначально это все не дает никакого понимания человеку только что пришедшему в "Умный дом".
В системе заложена иерархия, ее придется объяснить перед тем как мы начнем двигаться дальше.

Классы-Объекты-Свойства

Классы-это что-то типа группы в которую можно засунуть - сгруппировать все однотипные вещи. Допустим все светильники и лампочки. Класс при этом будет называться условно "Свет"

класс1 класс2

Свойства созданные на уровне Класса сразу прописываются во все объекты и, в отличии от созданных потом отдельно свойствам уже в самом объекте, имеют жирное выделение текстом, и только к таким свойствам можно привязать Метод.

Ну и Свойства - для наших примеров это будут Статус (вкл/выкл) и Яркость (для тех что могут ее менять). Сразу понятно что делать это могут не все лампочки, но и заполнять все свойства нас никто не обязывает.

свойство1 свойство2

Далее идут Объекты - в нашем примере это будут сами лампочки и светильники. Называются они, для примера, Светильник и Лампочка. Их может быть и больше, но нам и 2-х хватит.

объект1 объект2

Ну наконец-то добрались до Методов и их привязки.
Теперь создадим метод, делать это вам позволено только на уровне Класса. Собственно и кнопки добавить метод в другом месте вы не найдете.
Создаем метод Обновлениестатуса!

метод1 метод2

Отправимся в свойство Статус на уровне Класса и откроем редактирование свойства

свойство3

и видим заветные слова. Запускать метод при изменении
Теперь выберем там наш метод и сохраним.

свойство4

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

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

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

И вконце несколько скринов по для понимания что вы находитесь в объекте и что вы можете и не там написать свой код.
Внимательно следите откуда открыт объект и к какому методу вы применяете правку. Структура есть в меню в объектах

класс3 класс4

Все вопросы, предложения и уточнения как обычно в комментариях. Правки вносятся по необходимости. Спасибо за внимание.

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

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

Смотрите так же:
26.10.2020 Немного о безопасности.
17.08.2020 Переключение режима устройства долгим удержанием
09.04.2020 Автоматизация бэкапов (полный/мини) через модуль Backup от Eraser1981
09.04.2020 Добавление прокси в сценарий для обхода блокировки
19.02.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