Du scheinst hexdarstellung mit binären Daten zu verwechseln. Das ist in jedem Fall falsch. Alles wo du hexlify benutzt ist also schon mal fragwürdig. Das serial.to_bytes sieht sinnvoller aus.
Für mehr Hilfe wäre eine Beschreibung/Verlinkung des Protokolls hilfreich.
spezifisches Protokoll mit pyserial verarbeiten
Mit Verlaub - aber du musst mal aufhören zu Cargo culten und dich mit der Verarbeitung von bytes Strings in python beschäftigen.
Diese von-hinten-durch-die-Brust-ins-Auge dekodiere von hex werte liefert EXAKT was da vorher stand:
Das Problem waren also die eingestreuten anderen Zeichen, die du danach eingefügt hast.
In Python kannst du problemlos b'\xAB' schreiben um den Wert 171 als genau ein Byte zu erhalten. Und mehrere Hexwerte als '\x12\x34' etc.
Diese von-hinten-durch-die-Brust-ins-Auge dekodiere von hex werte liefert EXAKT was da vorher stand:
Code: Alles auswählen
>>> codecs.decode('00', 'hex_codec')
b'\x00'
In Python kannst du problemlos b'\xAB' schreiben um den Wert 171 als genau ein Byte zu erhalten. Und mehrere Hexwerte als '\x12\x34' etc.
Die anderen Hex-Werte sind zum Großteil schön lesbare Buchstaben:
Code: Alles auswählen
b'S1000\x05'
b'1020F90X'
b'/N90S\x00\x03\x06'