Коэффициент трансформации mercury230, Energomera CE301/CE303

Можно ли прописать коэффициент трансформации в драйверах счетчиков Меркурий и Энергомера?
В каком формате и строке прописывается в драйвере?
Файл config-energomera-ce301.
{
“device_type”: “Energomera CE301/CE303”,
“device”: {
“name”: “Energomera CE301/CE303”,
“id”: “energomera301”,
“protocol” : “energomera_iec”,
“frame_timeout_ms” : 100,
“channels”: [
{
“name”: “Total A energy”,
“reg_type”: “group_single”,
“type”: “power_consumption”,
“address”: “0x100101”
},
{
“name”: “Total RP energy”,
“reg_type”: “group_single”,
“type”: “power_consumption”,
“address”: “0x100401”
},
{
“name”: “Total RN energy”,
“reg_type”: “group_single”,
“type”: “power_consumption”,
“address”: “0x100801”
},
{
“name”: “Total P”,
“reg_type”: “group_single”,
“type”: “power”,
“scale” : 1000,
“address”: “0x400304”
},
{
“name”: “P L1”,
“reg_type”: “group_single”,
“type”: “power”,
“scale” : 1000,
“address”: “0x400301”
},
{
“name”: “P L2”,
“reg_type”: “group_single”,
“type”: “power”,
“scale” : 1000,
“address”: “0x400302”
},
{
“name”: “P L3”,
“reg_type”: “group_single”,
“type”: “power”,
“scale” : 1000,
“address”: “0x400303”
},
{
“name”: “Urms L1”,
“reg_type”: “group_single”,
“type”: “voltage”,
“address”: “0x400101”
},
{
“name”: “Urms L2”,
“reg_type”: “group_single”,
“type”: “voltage”,
“address”: “0x400102”
},
{
“name”: “Urms L3”,
“reg_type”: “group_single”,
“type”: “voltage”,
“address”: “0x400103”
},
{
“name”: “Irms L1”,
“reg_type”: “group_single”,
“type”: “current”,
“address”: “0x400201”
},
{
“name”: “Irms L2”,
“reg_type”: “group_single”,
“type”: “current”,
“address”: “0x400202”
},
{
“name”: “Irms L3”,
“reg_type”: “group_single”,
“type”: “current”,
“address”: “0x400203”
},
{
“name”: “Frequency”,
“reg_type”: “group_single”,
“type”: “value”,
“address”: “0x400D01”
},
{
“name”: “Voltage angle L1-L2”,
“reg_type”: “group_single”,
“type”: “value”,
“address”: “0x400B01”
},
{
“name”: “Voltage angle L3-L1”,
“reg_type”: “group_single”,
“type”: “value”,
“address”: “0x400B03”
},
{
“name”: “Voltage angle L2-L3”,
“reg_type”: “group_single”,
“type”: “value”,
“address”: “0x400B02”
},
{
“name”: “PF L1”,
“reg_type”: “group_single”,
“type”: “value”,
“address”: “0x400701”
},
{
“name”: “PF L2”,
“reg_type”: “group_single”,
“type”: “value”,
“address”: “0x400702”
},
{
“name”: “PF L3”,
“reg_type”: “group_single”,
“type”: “value”,
“address”: “0x400703”
},
{
“name”: “Total PF”,
“reg_type”: “group_single”,
“type”: “value”,
“address”: “0x400704”
},
{
“name”: “Serial”,
“reg_type”: “group_single”,
“type”: “value”,
“address”: “0x500301”
}
]
}
}

Файл config-mercury230.json
{
“device_type”: “mercury230”,
“device”: {
“name”: “Mercury 230AR-02”,
“id”: “mercury230ar02”,
“protocol”: “mercury230”,
“channels”: [
{
“name”: “Total consumption”,
“reg_type”: “array”,
“address”: “0x0000”,
“format”: “u32”,
“type”: “power_consumption”,
“scale”: 0.001
},
{
“name”: “Total reactive energy”,
“reg_type”: “array”,
“address”: “0x0002”,
“format”: “u32”,
“type”: “power_consumption”,
“scale”: 0.001
},
{
“name”: “AP1”,
“reg_type”: “array12”,
“address”: “0x0600”,
“format”: “u32”,
“type”: “power_consumption”,
“scale”: 0.001
},
{
“name”: “AP2”,
“reg_type”: “array12”,
“address”: “0x0601”,
“format”: “u32”,
“type”: “power_consumption”,
“scale”: 0.001
},
{
“name”: “AP3”,
“reg_type”: “array12”,
“address”: “0x0602”,
“format”: “u32”,
“type”: “power_consumption”,
“scale”: 0.001
},
{
“name”: “P”,
“reg_type”: “param_sign_active”,
“address”: “0x1100”,
“format”: “s24”,
“type”: “power”,
“scale”: 0.01
},
{
“name”: “P1”,
“reg_type”: “param_sign_active”,
“address”: “0x1101”,
“format”: “s24”,
“type”: “power”,
“scale”: 0.01
},
{
“name”: “P2”,
“reg_type”: “param_sign_active”,
“address”: “0x1102”,
“format”: “s24”,
“type”: “power”,
“scale”: 0.01
},
{
“name”: “P3”,
“reg_type”: “param_sign_active”,
“address”: “0x1103”,
“format”: “s24”,
“type”: “power”,
“scale”: 0.01
},
{
“name”: “Q”,
“reg_type”: “param_sign_reactive”,
“address”: “0x1104”,
“format”: “s24”,
“type”: “power”,
“scale”: 0.01
},
{
“name”: “Q1”,
“reg_type”: “param_sign_reactive”,
“address”: “0x1105”,
“format”: “s24”,
“type”: “power”,
“scale”: 0.01
},
{
“name”: “Q2”,
“reg_type”: “param_sign_reactive”,
“address”: “0x1106”,
“format”: “s24”,
“type”: “power”,
“scale”: 0.01
},
{
“name”: “Q3”,
“reg_type”: “param_sign_reactive”,
“address”: “0x1107”,
“format”: “s24”,
“type”: “power”,
“scale”: 0.01
},
{
“name”: “U1”,
“reg_type”: “param”,
“address”: “0x1111”,
“format”: “u24”,
“type”: “voltage”,
“scale”: 0.01
},
{
“name”: “U2”,
“reg_type”: “param”,
“address”: “0x1112”,
“format”: “u24”,
“type”: “voltage”,
“scale”: 0.01
},
{
“name”: “U3”,
“reg_type”: “param”,
“address”: “0x1113”,
“format”: “u24”,
“type”: “voltage”,
“scale”: 0.01
},
{
“name”: “I1”,
“reg_type”: “param”,
“address”: “0x1121”,
“format”: “u24”,
“type”: “value”,
“scale”: 0.001
},
{
“name”: “I2”,
“reg_type”: “param”,
“address”: “0x1122”,
“format”: “u24”,
“type”: “value”,
“scale”: 0.001
},
{
“name”: “I3”,
“reg_type”: “param”,
“address”: “0x1123”,
“format”: “u24”,
“type”: “value”,
“scale”: 0.001
},
{
“name”: “Frequency”,
“reg_type”: “param”,
“address”: “0x1140”,
“format”: “u24”,
“type”: “value”,
“scale”: 0.01
},
{
“name”: “PF”,
“reg_type”: “param_sign_active”,
“address”: “0x1130”,
“format”: “s24”,
“type”: “value”,
“scale”: 0.001
},
{
“name”: “PF1”,
“reg_type”: “param_sign_active”,
“address”: “0x1131”,
“format”: “s24”,
“type”: “value”,
“scale”: 0.001
},
{
“name”: “PF2”,
“reg_type”: “param_sign_active”,
“address”: “0x1132”,
“format”: “s24”,
“type”: “value”,
“scale”: 0.001
},
{
“name”: “PF3”,
“reg_type”: “param_sign_active”,
“address”: “0x1133”,
“format”: “s24”,
“type”: “value”,
“scale”: 0.001
},
{
“name”: “KU1”,
“reg_type”: “param”,
“address”: “0x1161”,
“format”: “u16”,
“type”: “value”,
“error_value”: “0xffff”,
“scale”: 0.01
},
{
“name”: “KU2”,
“reg_type”: “param”,
“address”: “0x1162”,
“format”: “u16”,
“type”: “value”,
“error_value”: “0xffff”,
“scale”: 0.01
},
{
“name”: “KU3”,
“reg_type”: “param”,
“address”: “0x1163”,
“format”: “u16”,
“type”: “value”,
“error_value”: “0xffff”,
“scale”: 0.01
},
{
“name”: “Temperature”,
“reg_type”: “param_be”,
“address”: “0x1170”,
“format”: “u16”,
“type”: “value”,
“scale”: 1
}
]
}
}

Добрый день.
При необходимости можно добавить.изменить параметр “scale”.
Все параметры описаны в GitHub - wirenboard/wb-mqtt-serial: Wiren Board MQTT serial protocol driver
А какую задачу планируете решить редактированием шаблонов?

со счетчиков меркурий, энергомера, с трансформаторами тока данные передаются на WB5 , а затем на сервер.
ПО контроллеров WB5 периодически обновляется, и после обновления, вручную приходится выставлять коэффициенты трансформации на объектах.

Задача такая : в драйвере счетчика прописать КТ , тогда после обновления ПО на сервере будут корректные данные.

Не очень верный подход… Редактирование встроенных шаблонов приведет к шансу их замены после обновления. Я бы сделал виртуальные устройства для преобразования на контроллере или преобразовывал на сервере.

В драйвере счетчика меркурий параметр выводится в формате “scale”: 0.001
Это значение умножаем на Коэф. Трансформации , например 30 и записываем, Верно?
Итак же с остальными нужными значениями.

“name”: “PF”,
“reg_type”: “param_sign_active”,
“address”: “0x1130”,
“format”: “s24”,
“type”: “value”,
“scale”: 0.03

Да, если принято решение править шаблоны - то именно так.