defineVirtualDevice и его контролы на кириллице

Чтобы обратиться к контролу виртуального устройства я указываю имя ячейки cell на латинском языке, но это же имя отображается в качестве названия этого контрола в UI. А как обратиться к контролу, если я название хочу переписать на кириллице?

// вот пример для понимания

defineVirtualDevice("Vent_Control_Settings", {
	title: "Настройки работы вентиляции",
	cells: {
	  'valves position control' : {
		  type : "switch",
		  value : true
	  },
	  'by schedule' : {
		  type : "switch",
		  value : false
	  }
	}
  });

// в коде сейчас вот так
dev.Vent_Control_Settings['by schedule'] = 1

не могу же я просто переименовать ["by schedule"] на ["по расписанию"] ?
есть другой способ обращения к ячейке или может свой title добавить к cells?

Можно:

//07_21_test_01.js
defineVirtualDevice("Vent_Control_Settings", {
	title: "Настройки работы вентиляции",
	cells: {
	  'valves position control' : {
		  type : "switch",
		  value : true
	  },
  	  'по расписанию' : {
		  type : "switch",
		  value : false
	  }
    }
  });


defineRule("test_rule2", { //имя правила test_rule
  whenChanged: "Vent_Control_Settings/по расписанию",
  then: function (newValue, devName, cellName) {
    log.info("Rule firing2");
  }
});

Андрей, спасибо. Упростили мне жизнь )))
Для программистов логичнее бы оставить латинское название контролов, а вывод для пользователя предусмотреть со своим заголовком. Это как пожелание :wink:

Хорошей практикой по-прежнему является применение в коде только ascii-символов, вне зависимости от того, на чем написана и где крутится программа. Поверьте.

Согласен, но кому придется пользоваться web интерфейсом, те люди мне спасибо не скажут что означают английские сокращения. Я бы рад применить title или excerpt или hint наконец, но нет их в Вирт контролах - нет и все.

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

1 лайк

Это да. “Внутри” контроллера - оно работает, проблемы (почти наверняка) возникнут при интеграции по MQTT, например.

Да, можно добавить “title” и для ячейки.

1 лайк

это в проекте или уже работает? уточните, для односмысленности, плиз

Пока даже не в проекте, сделать - можно, подам такое предложение.

1 лайк