Вы можете сделать это с помощью цепочки правил Thingsboards.
Для этого также есть официальное руководство:
https://thingsboard.io/docs/user-guide/rule-engine-2-0/tutorials/transform-incoming-telemetry/
Они используют узел правила преобразования, называемый script , для преобразования температур из [ ° F ] в [ ° C]. Хотя это не ваш вариант использования, он показывает вам, как обрабатывать входящую телеметрию до того, как она будет сохранена в базе данных.
Вы можете сделать сопоставление ключей значений следующим образом:
var theCustomizedMessage = {};
theCustomizedMessage['customizedKey'] = msg['originalIncomingKey'];
return {msg: theCustomizedMessage, metadata: metadata, msgType: msgType};
Имейте в виду, что это может быть контрпродуктивным, так как вам нужно обновить сценарии узла правил, когда что-то изменится.
В качестве альтернативы вы можете переименовать ключевые метки в конфигурации виджета. Это не поможет разработчикам вашей панели инструментов. Но документ с документацией подойдет:)
Я настоятельно не рекомендую заменять логические значения строками ('закрыто', 'открыто'). Это работа для виджетов (например, их функций форматирования значений).