Привязка по ID в SVG

Помогите пожалуйста с перепривязкой измененного SVG к уже имеющемуся JSON дашборда.

  1. Отрисовываю в Inkspace SVG
    test.zip (12.1 КБ)

test
2. Перед загрузкой в WebUI подгоняю все имена и ID элементов


3. Загружаю файл в WebUI
4. Привязываю топик

5. Проверяю - работает
image
6. Вношу коррективы в Inkspace для файла SVG (без замены ID у существующих элементов)
7. Снова загружаю файл в WebUI
test

И привязка не работает

JSON

[
{
“id”: “f184dc9d3e71”,
“read”: {
“enable”: false,
“channel”: null,
“value”: “val”
},
“write”: {
“enable”: true,
“channel”: “wb-gpio/A1_OUT”,
“value”: {
“on”: 1,
“off”: 0
}
},
“visible”: {
“enable”: false,
“channel”: null,
“condition”: “==”,
“value”: null
},
“style”: {
“enable”: true,
“channel”: “wb-gpio/A1_OUT”,
“value”: “(val == true) ? ‘;fill: orange’ : ‘;fill: lightblue’”
}
}
]

Каждый раз приходится очищать JSON и каждый элемент привязывать.
Почему в JSON не подтягиваются ID элементов из SVG, а присваиваются случайные?
image

Здесь есть решение схожей проблемы, но у себя не нашел тега “content”

Забыл указать сведения
image

Исторически сложилось, что для установки привязок используются внутренние для нашего софта идентификаторы, которые прописываются в свойство data-svg-param-id.

Поэтому, чтобы отредактировать уже привязанный SVG, нужно редактировать не исходный файл, а тот, что хранится на контроллере с привязками и нужными идентификаторами. Для этого нужно перейти в режим редактирования SVG-дашборда, скачать файл на компьютер, отредактировать в редакторе и загрузить его снова на контроллер. Подробнее в документации.

В планах есть переезд на встроенные в svg идентификаторы, о которых вы говорите, но пока это не сделали.

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.