никак не могу в шаблоне его указать и считать.
и так пробовал
{
“name”: “Power”,
“address”: “1”,
“reg_type”: “holding”,
“type”: “switch”,
“format”: “u16”,
“on_value”: “0xAA”, // Включено (проверьте, возможно, это другое значение)
“off_value”: “0x55”, // Выключено (проверьте, возможно, это другое значение)
“default”: “0x55”, // Выключено по умолчанию
“scale”: 1,
“offset”: 0
}
добрый день
я пробовал разные варианты написания для этого регистра, но никак не получается с него считать данные. я ожидаю увидеть сейчас переключатель в веб интерфейсе в положении вкл, потому что устройство включено
все остальные регистры считываются и работают корректно. а вот как шаблон написать для этого регистра - ума не приложу. через чатгпт перепробовал 100 вариантов, не хочет(
попробовал считать регистры:
мне интересен 1
но его значение не меняется при включении и выключении устройства, если в шаблоне ставлю такое значение то оно одинаковое
root@wirenboard-ASOI7OWQ:~# for i in {0..10}; do
echo "Reading register $I"
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyMOD1 -a2 -t0x03 -r$I 1
done
Reading register 0
0x0001 Opening /dev/ttyMOD1 at 9600 bauds (N, 8, 2)
[02][03][00][00][00][01][84][39]
Waiting for a confirmation...
<02><03><02><90><20><91><9C>
SUCCESS: read 1 of elements:
Data: 0x9020
Reading register 1
0x0001 Opening /dev/ttyMOD1 at 9600 bauds (N, 8, 2)
[02][03][00][01][00][01][D5][F9]
Waiting for a confirmation...
<02><03><02><00><10><FD><88>
SUCCESS: read 1 of elements:
Data: 0x0010
Reading register 2
0x0001 Opening /dev/ttyMOD1 at 9600 bauds (N, 8, 2)
[02][03][00][02][00][01][25][F9]
Waiting for a confirmation...
<02><03><02><00><04><FD><87>
SUCCESS: read 1 of elements:
Data: 0x0004
Reading register 3
0x0001 Opening /dev/ttyMOD1 at 9600 bauds (N, 8, 2)
[02][03][00][03][00][01][74][39]
Waiting for a confirmation...
<02><03><02><00><03><BC><45>
SUCCESS: read 1 of elements:
Data: 0x0003
Reading register 4
0x0001 Opening /dev/ttyMOD1 at 9600 bauds (N, 8, 2)
[02][03][00][04][00][01][C5][F8]
Waiting for a confirmation...
<02><03><02><00><46><7D><B6>
SUCCESS: read 1 of elements:
Data: 0x0046
Reading register 5
0x0001 Opening /dev/ttyMOD1 at 9600 bauds (N, 8, 2)
[02][03][00][05][00][01][94][38]
Waiting for a confirmation...
<02><03><02><00><01><3D><84>
SUCCESS: read 1 of elements:
Data: 0x0001
Reading register 6
0x0001 Opening /dev/ttyMOD1 at 9600 bauds (N, 8, 2)
[02][03][00][06][00][01][64][38]
Waiting for a confirmation...
<02><03><02><00><1E><7C><4C>
SUCCESS: read 1 of elements:
Data: 0x001e
Reading register 7
0x0001 Opening /dev/ttyMOD1 at 9600 bauds (N, 8, 2)
[02][03][00][07][00][01][35][F8]
Waiting for a confirmation...
<02><03><02><00><02><7D><85>
SUCCESS: read 1 of elements:
Data: 0x0002
Reading register 8
0x0001 Opening /dev/ttyMOD1 at 9600 bauds (N, 8, 2)
[02][03][00][08][00][01][05][FB]
Waiting for a confirmation...
<02><03><02><00><0C><FC><41>
SUCCESS: read 1 of elements:
Data: 0x000c
Reading register 9
0x0001 Opening /dev/ttyMOD1 at 9600 bauds (N, 8, 2)
[02][03][00][09][00][01][54][3B]
Waiting for a confirmation...
<02><03><02><00><19><3D><8E>
SUCCESS: read 1 of elements:
Data: 0x0019
Reading register 10
0x0001 Opening /dev/ttyMOD1 at 9600 bauds (N, 8, 2)
[02][03][00][0A][00][01][A4][3B]
Waiting for a confirmation...
<02><03><02><00><2D><3C><59>
SUCCESS: read 1 of elements:
Data: 0x002d
То как написано в инструкции. Просто даже если я пишу 0x0010 то он постоянно активен. Нажимаю на выкл - он опять включается. Если пишу значения как в инструкции то он постоянно выкл. Если включаю то выключается
Проверьте то же самое (записать и прочитать для контроля того что оно удачно записалось значение) с помощью modbus_client.
Если поведение шаблона будет отличаться от поведения при использовании modbus_client - тогда, конечно, изучим. Сейчас я вижу неподходящую документацию, содержимое которой не соответствует значениям в регистрах.
И, кстати, перечитал тему, в документации указано что записывать значения надо командой 0xf.
То есть тип регистра в шаблоне указывать “holding_multi”
Но это не отменяет того что значения в регистрах расходятся с документацией.
но не заработало всё-таки(
может цифры записать надо?
пробовал вручную читать через modbus_client, постоянно вывод 0x0010 - без разницы, включён прибор или выключен с пульта
Драйвер wbn-mqtt-serial работает совершенно теми же командами что и modbus_client. Нет между ними разницы.
Если вы читаете значения следуя документации и получаете неожиданные - то или неверна документация или неисправно устройство. Или документация не от него. Уточните у производителя, я не смогу ответить про стороннее.