Посылка шестнадцатеричного по серийному с питоном

В эти выходные я собираюсь сделать небольшой проект. Получил инвертор солнечной батареи (Danfoss ULX 3600i), который я попытаюсь подключить к моей машине linux, чтобы посмотреть, смогу ли я получить с него данные, сколько энергии было создано, например, для статистики. На нем есть вход для подключения RJ45, но с RS485.

Я получил кабели, чтобы соединить его через мой USB-порт в компьютере с преобразователем RS485 между компьютером и инвертором.

Затем я пишу небольшой код Python, чтобы сделать запрос. Однако я не могу понять, как правильно отправлять данные.

import serial
import struct

ser = serial.Serial(
    port='/dev/ttyUSB0',
    baudrate=19200,
    parity=serial.PARITY_NONE,
    stopbits=serial.STOPBITS_ONE,
    bytesize=serial.EIGHTBITS
)

print(ser.isOpen())
thestring = "7E FF 03 00 01 00 02 0A 01 C8 04 D0 01 02 80 00 00 00 00 8E E7 7E"
data = struct.pack(hex(thestring))
#data = struct.pack(hex, 0x7E, 0xFF, 0x03, 0x00, 0x01, 0x00, 0x02, 0x0A, 0x01, 0xC8,      0x04, 0xD0, 0x01, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0xE7, 0x7E)

ser.write(data)
s = ser.read(1)
print(s)
ser.close()

Инвертор использует протокол Danfoss ComLynx (включенстраница 26 это данные, которые я пытаюсь отправить):

РЕДАКТИРОВАТЬ: Теперь я могу отправить запрос, так как светодиодный индикатор на преобразователе Adam 4520 RS485 мигает один раз, однако никаких данных назад, но я получаю эту ошибку, когда я делаю CTRL + C в терминале:

dontommy@dtbeast:~/workspace/python_scripting/src$ ./sollar.py 
True
^CTraceback (most recent call last):
  File "./sollar.py", line 30, in 
    s = ser.readline().decode('utf-8')
  File "/usr/local/lib/python3.2/dist-packages/serial/serialposix.py", line 446, in read
    ready,_,_ = select.select([self.fd],[],[], self._timeout)
KeyboardInterrupt

Ответы на вопрос(3)

Ваш ответ на вопрос