ECMD - Wie lese ich eine Tab getrennt Liste ein

Begonnen von andreas.maurer, 05 Januar 2015, 22:50:02

Vorheriges Thema - Nächstes Thema

andreas.maurer

Nabend,

ich versuche grade über USB eine Reihe von Werten einzulesen. Das Commando, das Serial geschickt werden muss ist $CSV. Das Interface antwortet dann mit einer Reihe von Werten, die per TAB getrennt sind. Die brauche ich alle in einzelnen Readings.

Meine bisherigen Einstellungen:

ECMD
define SYSTAserial ECMD serial /dev/ttyUSB0@115200
attr SYSTAserial classdefs SYSTA=/opt/fhem/systa_csv.classdef
attr SYSTAserial logTraffic 5
attr SYSTAserial room 3.1 Paradigma
attr SYSTAserial verbose 5


ECMDDevice
define PARADIGMA ECMDDevice SYSTA
attr PARADIGMA IODev SYSTAserial
attr PARADIGMA room 3.1 Paradigma
attr PARADIGMA verbose 5


systa_csv.classdef:
get getcsv cmd {chr(0x24)."CSV".chr(0x0D)}
get gettxt cmd {chr(0x24)."TXT".chr(0x0D)}


fhem ist aktuell.

leider kommt im Log nur folgendes:
2015.01.05 22:47:17 5: ECMDDevice: Analyze command >{chr(0x24)."CSV".chr(0x0D)}<
2015.01.05 22:47:17 5: SYSTAserial: sending command "$CSV\r"
2015.01.05 22:47:17 5: SYSTAserial: write "$CSV\r"
2015.01.05 22:47:17 5: SW: 244353560d


Jemand eine Idee?

Andreas

Posti123

Hi,

konntest du eine Lösung für dieses Problem finden?

Wie genau sieht deine Paradigma bzw. Datenlogging aus?

Danke

VG
18xHM-CC-RT-DN, 5xHM-TC-IT-WM-W-EU, HMLAN, 2xJeeLink 868, 1xJeeLink433, 1xCUL868, HM-LC-Bl1PBU-FM, HM-LC-Sw2-FM, HM-LC-SW1-FM, HM-LC-Sw1PBU-FM, 5xHM-Sec-SC-2, 2xHM-Sec-SCo, HM-ES-TX-WM, HM-Sen-MDIR-O-2, HM-WDS10-TH-O, 6xTechnoline, 2x PCA301,2xHM-PB-2-WM55-2,2xHM-RC-4-2,2xHM-WDS30-T-O, HM-SEC-WDS-2

leuchte1

Hallo zusammen,

ich kram den alten Thread mal wieder aus. Wenn noch Bedarf besteht, bei mir läuft zwischenzeitlich für eine Paradigma Steuerung und Datenausgabe über ein Systainterface der Datenimport nach FHEM, zwar nicht über ECMD, aber es läuft.

Gruss
Stefan

Hans Franz

Hallo Stefan,

Bekomme gerade die SystaComfort II installiert und habe nun Bedarf :).
Wie ist dein Ansatz?

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

leuchte1

#4
Hallo Hans,

sorry für die verspätete Antwort. Ich hab jetzt mal wieder alles herausgesucht:

# aktualisiert die letzte Zeile der Datei systaneu.csv
sudo tail -n 1 /home/siloader/systainterface.csv > /home/siloader/systaneu.csv
# gibt die Datei systaneu.csv auf der konsole aus
#sed '/^2/d' systaneu.csv
#schreibt den TWO (7 Stelle) in die telnet.txt
sudo cut -d ";" -f 7 /home/siloader/systaneu.csv > /home/siloader/telnet.txt
#warten
#wait 10
#setzt den setreading-Befehl vor den TWO Wert
#sudo sed -i 's/^\(.\)/setreading WW_Speicher TWO \1'/home/siloader/telnet.txt
sed -i 's/^\(.\)/setreading WW_Speicher TWO \1/' /home/siloader/telnet.txt
#setreading schreiben
nc 192.168.178.50 7072 < /home/siloader/telnet.txt
#ab und zu die csv Datei entleeren mit: >systainterface.csv um Speicher zu schaffen
#
#Ausgabe auf Cubietruck im Dummy "Emsystech"
#Solarleistung
sudo cut -d ";" -f 33 /home/siloader/systaneu.csv > /home/siloader/solarnow.txt
sed -i 's/^\(.\)/setreading Emsystech solarnow \1/' /home/siloader/solarnow.txt
nc 192.168.178.34 7072 < /home/siloader/solarnow.txt
#Tagesgewinn
sudo cut -d ";" -f 34 /home/siloader/systaneu.csv > /home/siloader/solarday.txt
sed -i 's/^\(.\)/setreading Emsystech solarday \1/' /home/siloader/solarday.txt
nc 192.168.178.34 7072 < /home/siloader/solarday.txt
.
.
.
quick and dirty, läuft bei mir seit fast einem Jahr relativ stabil.

Gruß
Stefan