После перезагрузки трассира часто может возникнуть ситуация, когда некоторые объекты загружаются дольше чем скрипт. Если скрипт работает с объектами, например расписания через метод host.object('My Schedule') то после перезагрузки скрипт может вызвать ошибку: ERROR: EnvironmentError: object 'My Schedule' not found
Предотвратить данную ошибку можно с помощью класса ScheduleObject
Аргументы класса
name_or_guid (str): Имя или guid объекта
color_change_handler (callable, optional): Функция, которая вызывается при изменении состояния объекта. В функцию передается аргумент self
tries (int, optional): Кол-во попыток загрузки объекта, по умолчанию 5.
Если для инициализации объекта используется название - оно должно быть уникально для всех объектов в трассире, в т.ч. объектов на других северах, подключеных по сетик к главному серверу.
Например, если сервер Б подключен по сети к серверу А и на обоих серверах есть расписание с именем "Schedule" то скрипта на сервере А он выберет рандомно один из объектов.
Также если на одном сервере, например IP Устройство и Канал называются одинаково - то скрипт также выберет рандомно объект.
Кол-во попыток ~ равны кол-ву секунд ожидания загрузки объекта, т.е. каждая следующая попытка происходит ~ через 1 секунду
Публичные атрибуты
name (str): Имя объекта
guid (str): Guid объекта
color ('Red' | 'Green' | 'Blue' | None): Возвращает текущий цвет расписания. None если объект еще не загружен.
prev_color ('Red' | 'Green' | 'Blue' | None): Возвращает предыдущий цвет расписания. None если объект еще небыло смены цвета. Если не установлен color_change_handler то prev_color всегда возвращает None
Примеры скриптов
По нажатию клавиши F1 отображаем текущий цвет расписания