Подключение Turkov Zenit500 к wb6

Добрый день!
Вчера начал подключение рекуператора Turkov Zenit500 к умному дому, но он не обнаруживается…

Нужно ли прописывать устройство?
Как узнать его адрес?

Уточню: подключаю по rs485, сообщения жду в очереди mqtt :blush:

Рано еще ждать его сообщений по MQTT.
Данные нужно сначала получить в WB от Туркова по RS-485.
Для этого нужно настроить соединение по инструкции на стр. 52


Адрес у него 0x00 по умолчанию, скорость 9600, Parity N, Data bits 8, Stop bits 1 (! по умолчанию)
Подключитесь сначала через программу PuTTy и сервис modbus_client
https://wirenboard.com/wiki/index.php/Modbus-client

1 лайк

Отписывайтесь пожалуйста по результатам подключения - всем будет интересно!

Видимо это подключение растянется, т.к. вечерами много времени уделить не смогу.

зашел на wb через ssh. Трижды запустил одну и ту же команду и получил ответы с переменным успехом.

root@wirenboard-AH4OLZNI:~# modbus_client --debug -mrtu -t0x03 /dev/ttyRS485-1 -a5 -pnone -r0x02 0x01
0x0001 Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 1)
[05][03][00][02][00][01][24][4E]
Waiting for a confirmation…
<05><03><02><00><07><08><46>
SUCCESS: read 1 of elements:
Data: 0x0007
root@wirenboard-AH4OLZNI:~# modbus_client --debug -mrtu -t0x03 /dev/ttyRS485-1 -a5 -pnone -r0x02 0x01
0x0001 Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 1)
[05][03][00][02][00][01][24][4E]
Waiting for a confirmation…
ERROR Connection timed out: select
<04><0A>ERROR occured!
root@wirenboard-AH4OLZNI:~# modbus_client --debug -mrtu -t0x03 /dev/ttyRS485-1 -a5 -pnone -r0x02 0x01
0x0001 Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 1)
[05][03][00][02][00][01][24][4E]
Waiting for a confirmation…
<51><04><02><0D><5D><55>
Received function not corresponding to the request (4 != 3)
ERROR occured!

взял настройки из web-ui. результат не улучшился.

root@wirenboard-AH4OLZNI:~# modbus_client --debug -mrtu /dev/ttyRS485-1 -a0x05 -t0x03 -b9600 -pnone -s2 -r0x02 0x01
0x0001 Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[05][03][00][02][00][01][24][4E]
Waiting for a confirmation…
ERROR Connection timed out: select
<22>ERROR occured!
root@wirenboard-AH4OLZNI:~# modbus_client --debug -mrtu /dev/ttyRS485-1 -a0x05 -t0x03 -b9600 -pnone -s2 -r0x02 0x01
0x0001 Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[05][03][00][02][00][01][24][4E]
Waiting for a confirmation…
ERROR Connection timed out: select
<01><01><00>ERROR occured!
root@wirenboard-AH4OLZNI:~# modbus_client --debug -mrtu /dev/ttyRS485-1 -a0x05 -t0x03 -b9600 -pnone -s2 -r0x02 0x01
0x0001 Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[05][03][00][02][00][01][24][4E]
Waiting for a confirmation…
<05><03><02><00><07><08><46>
SUCCESS: read 1 of elements:
Data: 0x0007

Писать (вкл/выкл установки) получается тоже с периодическим успехом.

root@wirenboard-AH4OLZNI:~# modbus_client --debug -mrtu /dev/ttyRS485-1 -a0x05 -t0x06 -b9600 -pnone -s2 -r0x01 0x01
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[05][06][00][01][00][01][18][4E]
Waiting for a confirmation…
ERROR Connection timed out: select
<25>ERROR occured!
root@wirenboard-AH4OLZNI:~# modbus_client --debug -mrtu /dev/ttyRS485-1 -a0x05 -t0x06 -b9600 -pnone -s2 -r0x01 0x01
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[05][06][00][01][00][01][18][4E]
Waiting for a confirmation…
<05><06><00><01><00><01><18><4E>
SUCCESS: written 1 elements!

Да, странное поведение. Линия длинная или вы подключали непосредственно к контроллеру?
А есть или нет терминатор на устройстве (можно попробовать снять/поставить).
Попробуйте поменять настройки failsafe bias для порта:

Провода до рекуператора метра 3-4 (самая маленькая), на порту rs485-1 у меня висят еще 3 универсальных датчика WB.

Терминатор - это что такое?

Два ближних провода - rs485
Питается устройство от своей розетки

с RS485 failsafe bias configuration = disabled вообще через CRC-error сложно пробиться.

Так RS-485 подключать нельзя!
А и В должны быть в скрутке одной пары.
Сделайте А - оранжевый, В - бело-оранжевый.
Возможно исправится ситуация.

Терминатор - терминирующий резистор на конце линии (у последнего устройства) 120 Ом между контактами А и В.

2 лайка

Done. Связь стала надежной.

  1. Разделил на бело-оранжевый и оранжевый,
  2. Присоединил к rs485-2
  3. Turkov написал, что резистор уже есть

Какие следующие шаги? Надеюсь, что драйвер писать не придется? :face_with_raised_eyebrow:

Драйвер, слава богу, писать не надо :slightly_smiling_face:
Нужно создать свой конфигурационный файл.
Но перед этим воспользуйтесь утилитой modbus_client, для того чтобы убедиться, что возможность управлять Турковым из WB есть.
https://wirenboard.com/wiki/index.php/Modbus-client/ru

так я его еще в прошлый раз включал и выключал. Так, что возможность есть. Теперь просто буду перебирать команды одна за другой.

Но начну все-таки с пассивных операций - мне сейчас важнее в history писать показатели.

Да, забыл уже.
Поделитесь здесь конфигом пожалуйста когда заработает.

странно записался конфиг. много лишних значений, которых нет в web-UI:

  • RGB, White, RGB_All, White1, Voltage - Эти значения не заводил
  • temp limit - задублировалось

image

Можно было и сам файл выложить - здесь не форум экстрасенсов!

Проблема в том, что все эти поля не не добавлял в интерфейс, а они вылезли. Сейчас придется искать конфигурационный файл, т.к. через web-UI их не видно.

Откуда WB на закладке Devices для webUI взял поля, которых нет в конфиге?!

/etc/wb-mqtt-serial.conf

    {
        "path": "/dev/ttyRS485-2",
        "devices": [
            {
                "slave_id": "8",
                "setup": [],
                "name": "Turkov Zenit 500",
                "poll_interval": 20,
                "channels": [
                    {
                        "name": "Power",
                        "type": "switch",
                        "reg_type": "holding",
                        "address": 1,
                        "format": "s16",
                        "scale": 1,
                        "offset": 0
                    },
                    {
                        "name": "Temp Limit",
                        "type": "range",
                        "reg_type": "holding",
                        "address": 2,
                        "format": "s16",
                        "scale": 1,
                        "offset": 0,
                        "channel_readonly": false,
                        "max": 20
                    },
                    {
                        "name": "Vent speed",
                        "type": "value",
                        "reg_type": "holding_single",
                        "address": "3",
                        "format": "s16",
                        "scale": 1,
                        "offset": 0
                    }
                ]
            }
        ],
        "baud_rate": 9600,
        "parity": "N",
        "data_bits": 8,
        "stop_bits": 2,
        "poll_interval": 10,
        "enabled": true
    },
    {
        "path": "/dev/ttyMOD1",
        "devices": [],
        "baud_rate": 9600,
        "parity": "N",
        "data_bits": 8,
        "stop_bits": 2,
        "poll_interval": 10,
        "enabled": false
    },