Fehler im Cutter Modul?

Hallo zusammen,

beim einlesen meiner Daten aus einer Wetterstation bin ich auf das Cutter Modul gestossen und habe dort die Daten die per Ascii reinkommen splitten wollen.
Wie zu sehen ist, werden die Daten auch korrekt eingelesen, dann wird aber im Buffer das ein wenig verwurschtelt. Die Datensatzlänge im Buffer stimmt nicht mehr und anschliessend werden nur 5 der 9 Datensätze ausgegeben. Dabei fällt auf, das Datensätze in der Mitte fehlen.
Vielleicht schaut Ihr Euch das mal an und könnt da weiter helfen.

So sieht da richtige Protokoll aus:

02 STX (SOT)
30 31 2E 30 31 2E 30 30 20 30 32 3A 30 32 3A 33 33 Datum Zeit
3B ;
30 30 30 2E 30 Helligkeit Ost
3B ;
30 30 30 2E 30 Helligkeit Süd
3B ;
30 30 30 2E 30 Helligkeit West
3B ;
30 30 31 Dämmerung
3B
30 36 33 Feuchte
3B ;
2B 32 33 2E 37 Temperatur
3B ;
30 Niederschlag
3B ;
30 30 2E 30 Windgeschwindigkeit
3B ;
30 32 Sensorstatus
3B ;
31 35 Prüfsumme
03 EOT
0D CR
0A LF

Dies ist das Hex Protokoll vom Debugger

Und hier mal was der Cutter aus den Daten macht

MfG

Ingo

Ohne die Konfiguration vom Cutter zu kennen, wird das schwer nachzuvollziehen.
Michael
PS: der Cutter ist Bestandteil von Symcon und kein PHP-Modul.

Und hier die Cutter Konfiguration:

Der Cutter schneidet die Trennzeichen(0x3B) aus dem Datenstrom heraus. Damit fehlt Dir das Startzeichen für den nächsten Wert und erst der übernächste Wert hat wieder beide Bedingungen.
Besser wäre zwischen STX und ETX zu schneiden und dann den Datensatz im Script auseinander zu nehmen.

Okay das erklärt die fehlenden Datensätze :slight_smile:
Vielen Dank

Das sollte im Script funktionieren.

$values = explode(';',$_IPS['VALUE']);

Vielen Dank dafür aber meine Kenntnisse in Scripting sind minimal.
Ich wollte das einfach nur umsetzen und dann in IPS View weiterverarbeiten.
Da ich das nun so nicht hinbekomme werde ich das wohl aufgeben.

Das sollte doch recht einfach sein.

$values = explode(';',$_IPS['VALUE']);
// Datum
SetValue(01234,$values[0]);
//Helligkeit Ost
SetValue(12345,$values[1]);
//Helligkeit Süd
SetValue(23456,$values[2]);
// usw

Variablen anlegen, ID’s anpassen, Fertig

Ah Ja
Ich werde mir das einmal anschauen und dann probieren.
Vielen Dank nochmals

Nochmals vielen Dank an Attain

Nach einigem Hin und Her probieren hat es nun geklappt.

1 „Gefällt mir“