ich habe derzeit ein wenig zeit und versuche grade meine Solaranlage mittels Serial Port auszulesen.
Ich habe derzeit das Problem das der String den ich sende direkt als String und nicht als Hexadezimal gesendet wird.
Hier wäre der Hexadecimal wert zur abfrage der Daten (QPIGS<CRC><cr> ):
\x51\x50\x49\x47\x53\xb7\xa9\x0D
Ist es möglich Hexadezimal über SendDataToParent zu senden so das diese direkt an die Anlage weitergeleitet werden?
Danke für eure Hilfe.
Swen
[b]
Update: Hab die Lösung selber rausgefunden.
Habe mir die entsprechenden Werte aus der ASCII Tabelle rausgesucht. Hätte ich auch selber drauf kommen können.[/b]
Muss leider noch einmal eine frage zum ReciveData stellen.
Ist es möglich das man beim empfangen der Daten genau zuordnen kann welcher Befehl gesendet wurde, oder das mann eine Prüfsumme mitschickt?
Bezieht sich auf das Serial Port Modul.
Du meinst ob man erkennen kann worauf sich die empfangenen Daten beziehen?
Nein, das geht bei ‚Stream‘ IOs nicht.
Das musst du selber umsetzen.
Bei einigen IOs (Homematic) oder Splittern (z.b. ModBus) bekommst du die Antwort direkt als Rückgabewert von SenddataToParent.
Hier aber nicht.
Geht auch nicht, weil die Hardware ja auch so spontan Daten senden könnte, IPS kennt den Inhalt und Aufbau nicht und kann dort also nichts selber zuordnen.
Michael
Nur zählen ist schlecht. Kurz den Stecker ziehen und stecken und dein Code zählt bis zum IPS Neustart immer falsch.
Besser ist auf bestimmtes Startzeichen zu achten, und dann zu zählen.
Michael
Dann das immer als Beginn einer Antwort nutzen.
Ich meine das jetzt dahingehend, das du sicherstellen kannst dann immer sauber Datenpaket zu erhalten.
Ich meine nicht die Zuordnung der Antwort zur Anfrage.
Michael