Проверка на существование устройства

Для правильной работы скрипта в части создания виртуального устройства через:

defineVirtualDevice('status-info', {title: 'Информация', cells: {}});

Хочу предварительно проверить существует ли такое виртуальное/реальное устройство.
При попытке проверки через конструкцию:

log.info(getDevice('status-info').getId() ? 'exists' : 'not exists');

Возникает ошибка:

Error in getting device: Device with given ID doesn’t exist

Вопрос: как правильно осуществить проверку? (сижу на релизе wb-2207)

Добрый день.
Описано в документации.
Пример

//04_24_test_02.js

var vdName = "system";

log.info("проверим наличие");

if (!getDevice(vdName)) {
 log.info("Устройства "+vdName+" нет")
} else {
  log.info("Устройство "+vdName+" есть.")
}

И да, при попытке получить отсутствующее устройство возникает исключение.

Спасибо за пример, но данное применение вызвывает ошибку в самом скрипте при сохранении файла. Лучше и надежнее заключить все в try..catch:

try {
	var check = getDevice('status-info');
}
finally {
	if (!check) defineVirtualDevice('status-info', {title: 'Информация', cells: {}});
}

Для более удобной работы можно использовать использовать следующую конструкцию, которая создаст вирт. устройство если его нет, или будет сразу его использовать:

var device = getDevice('status-info') || defineVirtualDevice('status-info', {title: 'Информация', cells: {}});

device.addControl('active', {type: 'switch', value: false, readonly: true});

Функцию makeNewVirtualControl отсюда посмотрите - уже готовая реализация, как раз с правильной проверкой.