[Модуль] Timeouts
Добавлено: Пт фев 10, 2023 6:50 pm
В какой-то момент меня стала напрягать ситуация с различными таймаутами: их у меня немало, они раскиданы по коду и каждый раз, когда я решил какой-то из них чуть-чуть поменять в плане оптимизации, приходилось искать. В итоге, решил сделать модуль, который позволяет вынести все таймауты на одну панель и спокойно подправить без лишних поисков.
Модуль работает просто: на каждую запись он создает объект в классе Timeouts с заданным именем и значением. Затем это значение, можно использовать в коде.
Значение таймаут можно задать статичным числом или кодом. Такая возможность позволяет определять таймаут динамически, например, в зависимости от каких-то событий в доме или по времени. Код должен возвращать значение таймаута с помощью оператора return. Если таймаут задан кодом, то при использовании необходимо вызывать метод, который будет этот код исполнять, например:
Если таймаут задан статичным числом, можно использовать как свойство, так и метод, что больше нравится или что удобнее. Пример со свойством:
Модуль доступен в маркете.
Модуль работает просто: на каждую запись он создает объект в классе Timeouts с заданным именем и значением. Затем это значение, можно использовать в коде.
Значение таймаут можно задать статичным числом или кодом. Такая возможность позволяет определять таймаут динамически, например, в зависимости от каких-то событий в доме или по времени. Код должен возвращать значение таймаута с помощью оператора return. Если таймаут задан кодом, то при использовании необходимо вызывать метод, который будет этот код исполнять, например:
Код: Выделить всё
callMethod('KitchenLightTimeout.get')
Код: Выделить всё
gg('KitchenLightTimeout.timeout')