Hex-Werte an Child weiterleiten

Hallo Zusammen,

Wie ist es möglich, einen Hex-Wert von einem I/O Socket über einen Splitter möglichst veränderungsfrei an eine Verarbeitungs-Instanz weiterzuleiten ?

Konstellation:
Serielles Client Socket
Empfängt einzelne HEX-Werte (AA, 0C usw) ->
Splitter-Instanz
Empfängt die HEX-Werte, bis das Paket „zusammen“ ist (AA, 0C, FF, 50, 53, 70, 04) ->
Verarbeitungs-Instanz
Wertet das Paket aus (Dabei muss unter Anderem mit substr gearbeitet werden)

Die Daten werden jeweils per SendDataToChildren verschickt und müssen dazu in JSON umgewandelt werden:
Da die Hexwerte wohl als String verarbeitet werden (und teilweise nicht UTF-8 konform sind) bekomme ich nicht alle Werte im Child.

Gibt es dazu eine „Best practice“, bzw. andere Lösungsansätze / Ideen?

Vielen Dank im Vorraus !

Schau mal in die SDK Beispiel: Wir konvertieren immer alles per utf8_encode vorher. SymconTest/module.php at master · symcon/SymconTest · GitHub

paresy

Die Idee hatte ich auch schon, allerdings habe ich die Befürchtung, das dadurch Werte verändert werden:

Was ist z.B. mit einem Hex-Wert, welches in ASCII ein Steuerzeichen oder Umlaut darstellt, wie z.B.: 000 - 0032, oder 178
Kommt es dabei nicht zu Konvertierungsfehler ?

Nein kommt es nicht, da nicht UTF8 konforme Daten nicht mit json de/encodiert werden können, musst du beim Empfang immer mit utf8decode und beim senden (egal ob zum Splitter, IO oder Device) immer mit utf8encode arbeiten.

Michael