Добрый день! Вопрос: можно ли продублировать всё виртуальное устройство в какую-либо пользовательскую панель, выводя его в качестве виджета? При чём речь идёт не о ручном добавлении каждого поля в созданный виджет, а именно автоматический вывод. Или подскажите, пожалуйста, иное тех. красивое решение под требуемую задачу.
Я хочу сделать страницу ошибок системы. Ошибок много, десятки, если не сотня наберутся. Поэтому создавать свой Alarm под каждую и потом смотреть весь список - где красные, а где не активные - не очень удобно. Во всяком случае пока это как запасной вариант с разбивкой по подблокам.
А вот чтобы сделать единый список - не плохо подходят команды API управления устройством. Т.е. я создаю виртуальное устройство из правил, и добавляю к нему нужное количество контролов, что-то типа:
Спойлер
var UIControls1Id = defineVirtualDevice(“UIControls1”, {
title:“Кнопки управления (общая группа)”,
cells: {
“Alarm1”: {
type:“alarm”,
value: true,
title: “Очень очень очень очень очень очень длинный текст”,
},
“Alarm2”: {
type:“alarm”,
value: true,
title: “Очень очень очень очень очень очень длинный текст”,
},
“Text1”: {
type:“text”,
value: “Test”,
readonly: false
},
“Switch1”: {
type:“switch”,
value: 0
},
“Value1”: {
type:“text”,
value: “1”,
enum: {“0” : {“ru” : “123”}, “1” : {“ru” : “456”}},
readonly: false
}
}
});
var Testi = 1;
defineRule(“UIControlsAlarms”, {
whenChanged: ["UIControls1/Switch1"],
then: function (newValue, devName, cellName) {
UIControls1Id.removeControl("Alarm" + Testi);
Testi++;
UIControls1Id.addControl("Alarm" + Testi, {type:"alarm", value: true, title: "Очень очень очень очень очень очень длинный текст"});
}
});
(Я пока только тестирую, так что на суть кода внимание не обращайте - потом всё будет красиво в цикле, автоматически. Может даже буду выводить текст с датой и временем срабатывания, и снятия неисправностей, и даже скорее всего сделаю раздел истории). В разделе устройств всё выводиться нормально - alarmы красиво удаляются и создаются новые.
Проблема только в том, что не понимаю можно ли это виртуальное устройство запихать в виджет на нужной мне странице в динамичеком режиме.
Функцию лог не предлагать. Она подходит программистам, для пользователя не очень красива и понятна.
PS: смотрел SCADы - что-то понравившееся платное и не дешевое. Ещё не смотрел Home Assistant - может там есть красивые решения под данные задачи, не знаю. Пытался пока понять как можно сделать красивые интерфейсы и сложные алгоритмы средствами из коробки. Всё же как пользователь я бы хотел делать стандартными средствами, а по вопросам обращаться в тех поддержку, а не искать что там где у стороннего разработчика не работает.