FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: klaso am 29 Dezember 2016, 19:31:16

Titel: Teile aus Readings-Zeichenkette verwenden
Beitrag von: klaso am 29 Dezember 2016, 19:31:16
Hallo zusammen,
ich möchte von einem Reading nur Teile der Zeichenkette verwenden. Es gibt schon zahlreiche Ansätze im Forum, komme hier jedoch nicht weiter, da das Reading keinerlei Trennzeichen hat (kein Komma, kein Doppelpunkt, kein Leerzeichen...).
Ich lese täglich um Mitternacht mit dem Script uh50.py einen Wäremmengenzähler Landys&Gyr Ultraheat T550 via IR-Lesekopf aus ( Baugleich Siemens UH50). Durch das Script wird der Zähler "zum Senden animiert", das Ergebnis schreibe ich in das TextFile wmz.txt. Aus diesem File benötige ich nur den Gesamtverbrauch, in meinem Fall 007.840.
Ich habe nun ein customReading angelegt, erhalte aber immer die komplette Zeile in fhem dargestellt, also:    
6.8(0007.840*MWh)6.26(00172.21*m3)9.21(68416626)
wie gesagt, ich benötige nur den Wert 007.840

Anbei meine config:
define myReadings CustomReadings
attr myReadings interval 15
attr myReadings room WMZ
attr myReadings readingDefinitions Verbrauch:qx(grep "6.8\(0" /opt/fhem/log/wmz.txt)

Habe schon verschiedenes versucht, zum einen mit awk, aber auch mit anderen Modulen ( readingsProxy, ....), kurz gesagt, ich komme nicht weiter.
Nachdem viele Wege nach Rom führen bitte ich um kurze Info, ob der Weg zielführend ist, oder ob es eine für mich einfachere Möglichkeit gibt, den einen Wert auszulesen. Falls der eingeschlagene Weg machbar ist, bitte ich um eine Hilfestellung, wie ich hier weitermachen kann......ich steh da seit einigen Tagen komplett auf dem Schlauch.

Vielen Dank und Grüsse
klaso
Titel: Antw:Teile aus Readings-Zeichenkette verwenden
Beitrag von: Wzut am 29 Dezember 2016, 20:22:10
Zitat von: klaso am 29 Dezember 2016, 19:31:16
attr myReadings readingDefinitions Verbrauch:qx(grep "6.8\(0" /opt/fhem/log/wmz.txt)
grep "6.8(0" /opt/fhem/log/wmz.txt | cut -d "(" -f2 | cut -d "*" -f1
0007.840
Titel: Antw:Teile aus Readings-Zeichenkette verwenden
Beitrag von: klaso am 29 Dezember 2016, 22:25:34
Lieber Wzut,
Vielen herzlichen Dank.....ab und an sieht man den Wald vor lauter Bäumen nicht.......VIELEN DANK !!

Anbei die komplette config, falls mal ein anderer dies benötigt
define myReadings CustomReadings
attr myReadings interval 600
attr myReadings room WMZ
attr myReadings readingDefinitions Verbrauch:qx (grep "6.8\(0" /opt/fhem/log/wmz.txt | cut -d "\(" -f2 | cut -d "\*" -f1)

VG und schönen Abend
klaso