Wie kann ich von einer TTL USB Schnittstelle Daten aufbereiten

Begonnen von Burny4600, 12 Mai 2016, 14:19:00

Vorheriges Thema - Nächstes Thema

Burny4600

Die Schnittstelle funktioniert und liefert Daten.
define gmz ECMD serial /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@9600

Wie kann ich jetzt die Daten sinnvoll für eine Anzeige bzw. plot aufbereiten?

Folgende Einträge sind im Log. (siehe Anhang)

Soll sollte eigentlich die Ausgabe aussehen.
CPS, #####, CPM, #####, uSv/hr, ###.##, <Modus> bzw. Bildanhang.

Ich weis wirklich nicht wie und wo ich hier ansetzten soll.
LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

dev0

Die Antwort dazu hast Du schon hier bekommen: https://forum.fhem.de/index.php/topic,52894.msg446961.html#msg446961
Auch wenn Du noch mehr Threads zu diesem Thema aufmachst, musst Du selbst schon ein wenig mitdenken und die Doku lesen/verstehen.

Burny4600

Sorry aber ich Blicke hier leider nicht so richtig durch sonst wäre ich nicht noch immer bei diesem Thema.
LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

dev0

Du bist noch bei dem Thema, weil Du Dich nicht einarbeiten möchtest und darauf spekulierst, dass Dir das jemand abnimmt und eine fertige Lösung präsentiert.

Wernieman

Sag uns wo Du Probleme hast.

Sorry aber das Forum ist "Hilfe zur Selbsthilfe". Wenn es den Thread neu öffnest, denken aber alle, die hier Ihre private zeit opfern, das sie vera..... werden. Sorry es so hart zu sagen.

Und wie ich häufig schreibe:
Ohne Input kein Output
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Burny4600

Vera..... kam ich mir vor mit den Antworten auf meine Fragen.
Darum habe ich es nochmals versucht beschränkt auf die bisherigen offenen Punkte.

Darum habe ich den Datenoutput eines Schnittstellentesters und die des FHEM logs bei gepackt.
Da ich noch nie an einer Schnittstelle etwas zu konfigurieren hatte, weis ich mit den diversen geistreichen Ratschlägen immer noch nicht wo ich ansetzten muß.
Ist für jemanden der FHEM in und auswendig kennt wahrscheinlich nicht nachvollziehbar, was ich anhand der diversen Ratschlägen.
Und auf gar keinen Fall habe ich hier vor jemanden zu vera.....

Ganz im Gegenteil.
LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

Wernieman

a) Hast Du, wie dort vorgeschlagen, Dir die anderen dort genannten Module angeschaut?
oder
b) Du schriebst: "Die Schnittstelle funktioniert und liefert Daten."
Es funktioniert also innerhalb FHEM?

Weiß jetzt wirklich nicht, was genau bei Dir jetzt funktioniert oder nicht.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Burny4600

Wie schon beschrieben hängt das Gerät mit einem TTL-USB Konverter am PI.

Damit der PI Daten bekommt habe ich die Schnittstelle die folgt konfiguriert.
Zitatdefine gmz ECMD serial /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@9600
Somit bekommt der Pi die Daten.

Damit ich aber mit den Daten etwas anfangen kann Bedarf es noch einer Konfiguration der Datenschnittstelle im Pi.
Wie die Daten aussehen die der Pi bekommt und noch nicht verarbeiten kann ist in dem Log File ersichtlich.
Und da stehe ich an mit meinen Kenntnissen.
LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Burny4600

#9
Ja die Doku zu EMCD habe ich mir gelesen.

Nur blicke ich dabei nicht durch was es mit der class auf sich hat.

Was gehört in die Datei classdef überhaupt eingetragen in meinem Fall.
Die bisherigen Schritte:
define gmz ECMD serial /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@9600
set gmz classdef gmz /media/hdd/fhem/classdef/gmz.classdef
define gmz classdef /media/hdd/fhem/classdef/gmz.classdef
set gmz reopen
get gmz raw { "r\n" }


Der Inhalt der LOG Datei:
2016-05-13_12:58:18 gmz UNKNOWNCODE C
2016-05-13_12:58:18 gmz UNKNOWNCODE PS, 0, CPM, 11,
2016-05-13_12:58:19 gmz UNKNOWNCODE  uSv/hr, 0.06,
2016-05-13_12:58:19 gmz UNKNOWNCODE SLOW

2016-05-13_12:58:19 gmz UNKNOWNCODE C
2016-05-13_12:58:19 gmz UNKNOWNCODE PS, 2, CPM, 13
2016-05-13_12:58:20 gmz UNKNOWNCODE , uSv/hr, 0.07,
2016-05-13_12:58:20 gmz UNKNOWNCODE  SLOW

2016-05-13_12:58:20 gmz UNKNOWNCODE C
2016-05-13_12:58:20 gmz UNKNOWNCODE PS, 0, CPM, 13
2016-05-13_12:58:20 gmz UNKNOWNCODE , uSv/hr, 0.07
2016-05-13_12:58:21 gmz UNKNOWNCODE , SLOW

2016-05-13_12:58:21 gmz UNKNOWNCODE CP
2016-05-13_12:58:21 gmz UNKNOWNCODE S, 0, CPM, 12,
2016-05-13_12:58:21 gmz UNKNOWNCODE uSv/hr, 0.06,
2016-05-13_12:58:22 gmz UNKNOWNCODE SLOW

2016-05-13_12:58:22 gmz UNKNOWNCODE CP
2016-05-13_12:58:22 gmz UNKNOWNCODE S, 0, C
2016-05-13_12:58:22 gmz UNKNOWNCODE PM, 12, uSv/hr, 0.06, SLOW
2016-05-13_12:58:23 gmz UNKNOWNCODE

2016-05-13_12:58:23 gmz UNKNOWNCODE C
2016-05-13_12:58:23 gmz UNKNOWNCODE PS, 0,
2016-05-13_12:58:23 gmz UNKNOWNCODE CPM, 12
2016-05-13_12:58:23 gmz UNKNOWNCODE , uSv/h
2016-05-13_12:58:23 gmz UNKNOWNCODE r, 0.06
2016-05-13_12:58:23 gmz UNKNOWNCODE , SLOW


Nur wie werden hier zyklisch Daten eingetragen?
Und wie splitte ich das in vier Zeilen mit den dazugehörigen Werten?
LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

dev0

Zitat von: Burny4600 am 13 Mai 2016, 12:54:59
Ja die Doku zu EMCD habe ich mir gelesen.
Aber anscheinend nicht gründlich genug.

Zitat von: Burny4600 am 13 Mai 2016, 12:54:59
Was gehört in die Datei classdef überhaupt eingetragen in meinem Fall.
Wie in der Command ref beschrieben für "A spontaneous data transmission from the physical device":
reading <reading> match "<regex>"
reading <reading> postproc { <perl special> }

Beispiel 3 aus der command ref scheint für Deinen Fall gar nicht verkehrt: Du musst nur netcat durch Deine Hardware ersetzen und natürlich <regex>/<perl special> anpassen.

Burny4600

Ich weis nicht wo du das im Command ref gefunden hast.
Ich finde es leider nicht.
LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess


Burny4600

#13
Diese Links kenne ich schon.

ZitatDu musst nur netcat durch Deine Hardware ersetzen und natürlich <regex>/<perl special> anpassen
Trotzdem versteh ich nicht wie ich das Bespiel 3 für mein Gerät übernehmen kann.
LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

dev0

Dann setzte doch erstmal das Beispiel um, dass genau so funktioniert wie es dort angegeben ist und lerne.
Regexp und Perl Grundlagen benötigt man natürlich, aber das ist ja klar und nichts neues.