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

Warum überhaupt netcat ersetzten.
Das ist doch ein Bespiel für eine Netzwerkverbindung und nicht wie in meinem Fall für einen TTL-USB Anschluss.
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

Da du die command ref nicht verstehst würde dir das Beispiel helfen die Arbeitsweise des Moduls zu verstehen. netcat durch die usb hardware zu ersetzen ist dann ein Klacks.

CoolTux

Jetzt weiß ich auch wieder wieso in den Kollegen ignoriere. Nur fordern aber nicht selbst genug Leistung bringen wollen.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

dev0

Die erste Antwort hatte mit Tapatalk geschrieben, dort werden Beiträge auch von ignorierten Usern angezeigt ;)

fiedel

Diese Classdef- Geschichten muss man mal gemacht haben - das erschließt sich nicht nebenbei. Hier wäre mal ein Beispiel.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Burny4600

@CoolTux
Deine tollen Bemerkungen sind wirklich hilfreich Hr. Oberlehrer.
Es ist besser du sparst dir deine Kommentare.
Ich bin mit Linux und Perl noch am Anfang, da helfen mir deine Bemerkungen wirklich nicht weiter.

Soweit ich das aus meinen Logs das verstehe liegt es nur an der classdef die ich noch richtig definieren muss.
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

Leider passen die Beispiele aus dem Wiki nicht ganz, da sein Device selbständig sendet, zumindest habe ich das so verstanden. Und genau das kann man mit netcat gut testen/simulieren.

Burny4600

@dev0

Du hast recht. Dieses Modul sendet eigenständig.
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

Burny4600, Du brauchst CoolTux gar nicht so anzugehen, er hat nämlich recht: so wie Du Dich hier im Forum aufführst musst Du mit solchen Kommentaren rechnen. Wir sind nicht Deine persönlichen Assistenten, die Dir Deinen Code schreiben, das musst Du endlich mal verstehen. Ich habe mir gestern mind. 1 Stunde Zeit für DEIN Problem genommen um mir ECMD anzusehen - ich kannte das Modul vorher auch nicht. Dann kann man auch erwarten, dass Du Dich ebenfalls eindenkst und nicht direkt schreibst: "Was muss ich das jetzt eingeben". So nicht!

Aber zurück zum Thema:
- Das ECMD Device hast Du definiert
- Du benötigst jetzt noch die Klassendefinition und ein ECMDDevice.

Da Dein Device die Daten selbständig schickt (spontaneous data transmission) benötigst Du die statements "reading <reading> match "<regex>"" und "reading <reading> postproc { <perl special> }" in der Klassendefinition. Ist so in der command ref beschrieben (Example 3). Da Du mehrere Daten/Readings in einer Zeile empfängst ist es mMn das einfachste die Daten erst in ein Reading einzulesen und dann später in einem 2. Schritt über userReadings zu splitten.

Um die Daten aus dem empfangenen String (CPS, 0, CPM, 1, ...) zu extrahieren (mit <perl special>) solltest Du mit regexp umgehen können. Wenn Du mit regexp noch nicht so vertraut bist, dann musst Du das lernen, das benötigst Du im Umgang mit FHEM immer wieder und wurde Dir auch schon öfters gesagt.

Dokumentation dazu findest Du u.a. hier:
https://wiki.selfhtml.org/wiki/Perl/Regul%C3%A4re_Ausdr%C3%BCcke
http://perldoc.perl.org/perlop.html#Regexp-Quote-Like-Operators

Tester für regexp findest u.a. hier:
http://www.regexe.com/
https://regex101.com/

Wenn sich konkrete Fragen ergeben, dann frag.

Burny4600

@dev0
Gut das kann man sehen wie man will.
Aus meiner Sicht habe ich nur dumme Sprüche erhalten, anstatt klare Hinweise um weiter zu kommen.
Kann sein das ich mich manchmal ein wenig umständilich ausgedrückt habe, dennoch erwarte ich keine dummen Ansagen.
Mein Ding ist mehr die Hardware und nicht die Software.
Mit der Software im speziellen Linux, Fhem und Perl habe ich leider noch viel nachzuholen.
Für jemanden der damit vertraut ist, ist es auch nicht schwer sich darin rein zu denken und stößt vielleicht auf Missverständnisse wenn ich mit meinen Fragen daher komme.
Dennoch erhoffe ich mir klare Hinweise wo ich auch ansetzten kann, und keine globalen Begriffe mit dennen ich noch nichts anfagen kann.
So zb: ein Link mit betreffendem Textinhalt.

Wenn ich etwas geschaft habe, mit dem ich mich schwer getan habe stelle ich ein HowToDo zusammen, dass es auch jemand versteht der absolut keine Ahnung hat. Sollten dennoch Fragen auftauchen, behandle ich die jenige Person nicht von oben herab mit dummen Komentaren mit dem demjenigen nicht weiter geholfen ist.

Ich muss leider feststellen, wenn man sich in manchen Foren so umschaut, das es zunehmends Personen gibt die anscheinend gar nicht interessiert sind in Foren ihr wissen weiter zu geben. Das hat aber nichts mmit meiner Person zu tun, sonst würde es vielen anderen nicht auch so ergehen wie mir wenn man sich in neue Bereiche begibt.
Mein bestreben ist es jedenfalls anderen zu helfen wenn ich kann, und wenn ich nicht will lasse ich keine dummen Sprüche ab. Das hat etwas mit Respekt zu tun und nicht mit Klug- oder Weisheit.

Jedenfalls Danke für deine Tipps die du mir hier noch gegeben hast.
Ich hoffe ich kann das mit meinen Grundlagenbüchern jetzt umsetzten.
Jedenfalls ist das Ganze jetzt für mich ein gutes Übungsobjekt mit diesen Informationen von Dir. 
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

CoolTux

Du hast viele wertvolle Tips im anderen Thread erhalten. Unter anderem wurden Dir 2 Module empfohlen die ein ähnliches Funktionsprinzip haben wie das was Du benötigst. Es wurde Dir gesagt das Du daraus ein eigenes Modul machen kannst.
Die Grundlagen über den Aufbau eines Modules findest Du im Developer Wiki.
Und ich persönlich darf es mir erlauben Dir sowas vor zu halten, ich selbst habe vor genau einem dreiviertel Jahr angefangen mit Perl und FHEM. Grund bei mir war das ich Androidgeräte steuern wollte aber mirt dem vorhandenen unzufrieden war. Ich habe einen Monat lang Perl gebüffelt, danach mir 3 Wochen das Developer Guide angesehen und vor allem habe ich Stunden damit verbracht andere Module mir an zu sehen und den Code zu verstehen.
Erst nach zweieinhalb Monaten habe ich mich mit vorhandenen Code und Fehlern an das Forum gewendet. Ich habe auch meinen Code zu erst in einer 99myUtils Datei geschrieben und damit probiert. Später habe ich mir noch einen Mentor gesucht.

Unsere Grundlagen und Ambitionen scheinen also gleich gewesen zu sein.



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

ernst1024

@Burny4600

ich kann gut nachvollziehen wie du dich fühlst. Ich habe hier auch schon manch Strauss mit dem einen oder anderen Protagonisten ausgefochten.

Dabei ist mir auch immer wieder diese erhobene Zeigefinger Attitüde aufgestossen. Ich denke mittlerweile dass viele einfach nicht nachvollziehen können dass man als Einsteiger oft den Wald vor lauter Bäumen nicht sieht. Da nützt dann auch kein Hinweis wie: "hast du dir das Modul xxyy mal angeschaut?" oder ähnliches.

Auch wird dann gerne mal unterstellt dass man ja offensichtlich nicht bereit sei sich mit dem Thema auseinander zu setzen und stattdessen auf eine mündchensparate Lösung durch ein Forum Mitglied hoffe.

Andere fordern dann auch gerne mal den Fhem-Führerschein der erst berechtigt Fragen im ANFÄNGER Forum zu stellen :-)

Ich denke es ist klar dass fhem keine Fertiglösung ist und ein gehörig Mass an Einarbeitung erfordert.

Mittlerweile versuche ich mich weitestgehend selber durchzubeißen, und da, wo ich kann zu helfen und sei es nur wie in diesem Fall mit moralischer Unterstützung
:-)
Gruß Ernst

Burny4600

@CoolTux
Alles recht und schön, aber es gibt Dir noch lange nicht das Recht herablassend dumme Bemerkungen zu machen.
Es ist eine Karaktersache, wie man sich jemanden gegenüber äussert.
Und noch eines auf dem Weg. Man soll nie von sich auf Andere schließen.
Wenn sich ein jeder so leicht ,,damit auseinandersetzten könnte", dann gäbe es lauter Wunderwuzzis und keine Foren.
Also ich würde gerade Dir anraten künftig ein wenig auf deine Ausdrucksweise zu achten.
Und wenn du nicht helfen willst, musst du ja nicht.
Alle Ratschläge von dir waren auch nicht richtig, möchte ich hier einmal am Rande bemerken, wenn du schon mit den Aufzählungen von allen möglichen Ratschlägen machst.
Mit solch einer Art vermisst du so manchen überhaupt etwas neues anzufangen.
Ich hoffe du bist mit deinen Kollegen im Job ein wenig umgänglicher.
Künftig hoffe ich von Dir keine dummen Bemerkungen zu hören.
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

pejonp

Hallo,

ich habe hier mal ein Beispiel für emcd was auch läuft (https://forum.fhem.de/index.php/topic,42793.msg351541.html#msg351541)
Anpassung müssen natürlich gemacht werden.

pejonp
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect