Запуск виртуального устройства

Здравствуйте уважаемые.

Есть потребность выполнить некоторый код ПОСЛЕ успешной инициализации виртуального устройства. Как лучше это сделать?
Спасибо!

Добрый день.
Если не говорить про возможные нюансы типа lazy init то:
Нужно ли проверять существование контрола на момент старта кода?
Если да - то так:

var vdName = "someDev"
var nameControl = "someControl"
var devObj = getDevice(vdName);
if (devObj && devObj.isControlExists(nameControl)) {
        log.debug("Контрол " + nameControl + " есть")
}

Ну или подписаться на значение контрола. Появилось !null - значит уже контрол есть.

Хотя я не уверен что правильно понимаю смысл вопроса, какой критерий “успешности” инициализации?
Вот, для примера: я опубликовал из bash скрипта топики, устройство отобразилось в интерфейсе. Оно инициализировалось?

Хорошо, упрощяем задачу.
Нужнен момент времени, когда объект виртуального устройства создан и его default значения установлены. Не обязательно его отображение, главное - обратиться к полям объекта из правила без получения ошибки.

Вот когда

возвращает истину - объект уже создан.

отлично, а где в коде объявления виртуального девайса это надо проверить/прописать?

Я не понимаю вопроса.
Вот тут подробно описан API

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

Например, метод ::addListenerOnStarted( ref_to_function );

В результате наколхозил дурь на таймерах, таймстемпах и статусах :frowning:

Такого, к сожалению нету.
Разве что использовать trackMqtt().