Daten vom SerialPort in einem Rutsch?

Hallo zusammen

Ich habe mir ein Modul mit dem PHO-SDK programmiert, welches mir die Daten eines STECA Solarreglers (sendet jeweils einmal pro Minute einen String mit etwa 100 Zeichen) über den Seriellen Port in mein Modul holt und dort die entsprechenden Variablen beschreibt. Das klappt prinzipiell ganz gut Mein problem ist jetzt aber, dass der Seriellel Port nach Gutdünken die Funktion ReceiveData() aufruft, weshalb mein Datenstring häppchenweise geliefert wird und nicht in einem Rutsch. ICh kann ihn abe rnur im Ganzen auswerten. Hat jemand einen Tipp wie ich das machen kann, dass er in einem Stück geliefert wird und ich erst beim Empfangen des Zeichens \LF ihn als komplett ansehen kann. Bin leider in PHP noch nicht so gut.

Du kannst das Cutter Splitter Modul dazwischen packen. Oder du pufferst den String selber in einer String Variable zwischen.

paresy

Also quasi alles in einer Variable anhängen bis dann das \LF kommt ?

Jup, Macht ich aktuell auch so in diversen Modulen und zum empfangen auch wunderbar.
Schwieriger wird es, wenn du auch senden und gleich die Antwort haben möchtest.
Aber das scheinst du aktuell ja nicht zu brauchen :slight_smile:
Michael

Nein das Modul will nur Daten empfangen. Es geht also nur in eine Richtung.

Ich hab mir jetzt im Objektbaum einen Cutter angelegt und konfiguriert. Im Debug kommen die Daten auch so wie ich sie haben will. Nun muss ich nur nur mein Modul noch so umbauen dass es nicht mehr den Seriellen Port sondern den neuen eigenen Cutter als Parent erkennt. Blöderweise kenne ich die GUID von dem nicht. wie bekomme ich die denn. Die GUID vom Seriellen Port hatte ich aus den modulen von Tommy entnommen.
In anderen Modulen gibt es ja auch so eine Auswahlbox wo man einfach die Parentinstanz auswählen kann. So richtig hab ich noch nicht verstanden wie ich sowas in das form.json einbaue.
Die Doku zum PHP-SDK ist zwar ziemlich umfangreich, aber irgendwie nicht sehr übersichtlich um zu erkennen, was wie zusammenhängt. Oder ich bin einfach zu blöd. :smiley:

Moin Thomas.

Ich würde einfach in dem PHP-Module Thread nachschauen und anhand eines Moduls, was ungefähr macht was du willst mir die Anregungen und Ideen besorgen. Die Doku kannst du dann als Stütze heranziehen und das Modul so bauen wie du magst.

Module: https://www.symcon.de/forum/threads/28505-%C3%9Cbersicht-der-PHP-Module

Zu den GUID’s gibt es auch eine Übersicht:
https://www.symcon.de/service/dokumentation/befehlsreferenz/modulverwaltung/ips-getmodulelist/

Weitere Informationen zur Anwendung etc:
https://www.symcon.de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/datenfluss/

Ich hoffe das hilft dir ein wenig auf die Sprünge.

Grüße
Pio