FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: noxx am 25 März 2016, 23:37:21

Titel: LOG File auslesen
Beitrag von: noxx am 25 März 2016, 23:37:21
Hallo

diesen Beitrag habe ich hier gefunden, würde gerne was ähnliches machen
https://forum.fhem.de/index.php/topic,38948.msg310965.html#msg310965

Meine Text Datei (/home/pi/fhem.txt):
Zeit: 25.03.2016 23:20:00
Servertime: 51 Tage, 1 Stunde, 8 Minuten
Weewxtime: 42 Tage, 6 Stunden, 31 Minuten
--------------------------------------------------------------------------------------
Temperatur Aktuell aussen: 5.29655172414
Windchill Aktuell: 3.16896551724
Hitze-Index: 5.29655172414
Taupunkt Aktuell: 2.81427677908
Luftfeuchte Aktuell: 84.0
Luftdruck Aktuell: 1011.875
Wind Aktuell: 3.38516344698 WSW (254.75823564)
--------------------------------------------------------------------------------------
Temperatur Hoechste aussen: 9.1: 13:54:23
Temperatur Tiefste aussen: 5.1: 22:45:00
Hoechster Hitze-Index: 9.1: 13:54:23
Niedrigste Windchill: 2.4: 21:06:38
Hoechster Taupunkt: 7.05081756202: 13:54:23
Niedrigster Taupunkt: 2.62171885106: 22:38:23
Hoechste Luftfeuchte: 87.0: 09:34:34
Niedrigste Luftfeuchte: 81.0: 00:00:05
Hoechster Luftdruck: 1012.0625: 22:10:39
Niedrigster Luftdruck: 999.5625: 07:30:41
Heutiger Regenfall: 1.79184719817
Max. Wind: 26.23224199 270.0: 14:24:36
Wind (Durchschnitt): 8.26171270964
Wind (RMS): 9.12803173531
Wind Geschwindigkeit: 6.22841808872
Vorwiegende Windrichtung: 247.54006269


Ich würde gerne die Aussentemperatur auslesen, aber folgender Code klappt
leider nicht

# Wetterstation
define Aussentemp FileLog /home/pi/fhem.txt "Temperatur Aktuell aussen:"


ERROR:
wrong syntax: define FileLog filename regexp [readonly]
Titel: Antw:LOG File auslesen
Beitrag von: willyk am 26 März 2016, 07:58:11
FileLog ist dafür da, Logs aus FHEM zu schreiben. Nicht, Dateien einzulesen. regexp gibt an, welche Daten auf das log geschrieben werden sollen.

Schau dir den Beitrag, den du verlinkt hast, nochmal an. Die Datei fhem-log.txt wird dort per cron gefüllt. Der filelog-Eintrag ist eigentlich nur dazu da, die Datei bekanntzugeben, das regexp hat (fast) keine Wirkung. Versuch es mal mit

# Wetterstation
define Aussentemp FileLog /home/pi/fhem.txt AbCdEfGh


Der Wert AbCdEfGh sagt, bei welchem Event das Filelog von fhem geschrieben werden soll. Das angegebene Event wird nie vorkommen, also wird auch nichts geschrieben.

gruss
willyk
Titel: Antw:LOG File auslesen
Beitrag von: noxx am 26 März 2016, 08:07:24
OK, kann ich mit fhem Dateien auslesen und in variablen schreiben?

Gesendet von meinem GT-I9195 mit Tapatalk

Titel: Antw:LOG File auslesen
Beitrag von: MadMax-FHEM am 26 März 2016, 08:35:14
Hallo,

CustomReadings ist eine Möglichkeit:


http://www.fhemwiki.de/wiki/CustomReadings
(http://www.fhemwiki.de/wiki/CustomReadings)

define myReadings CustomReadings
attr myReadings interval 2
attr myReadings readingDefinitions FileContent:qx(cat /Path/Filename)

statt 'cat' halt evtl. etwas spezifischres, also bestimmte Zeile auslesen etc.

Gruß, Joachim
Titel: Antw:LOG File auslesen
Beitrag von: noxx am 26 März 2016, 09:02:25
danke....

habe mir die seite mal angeschaut und auch die beispiele, bekomme
aber leider keinen wert in fhem angezeigt

# Wetterstation
define myReadings CustomReadings
attr myReadings interval 2
attr myReadings:qx(grep -i "Temperatur Aktuell aussen:" /home/pi/fhem.txt|tail -1)
Titel: Antw:LOG File auslesen
Beitrag von: MadMax-FHEM am 26 März 2016, 10:30:37
Hallo,

funktioniert der Aufruf direkt in einer Linux shell auf dem PI?

Hatte auch Probleme die Daten aus der Datei zu bekommen und im Netz gefunden, dass "manche Dinge" (weiß leider nicht genau welche, habe gerade keinen Zugriff auf mein Testsystem wo ich mal so ein paar "Versuche" hab, sorry) nicht funktionieren.

War irgendwas bei der Übergabe von Parametern bei head/tail glaub ich...

Abhilfe ist vielleicht ein shell-script zu bauen, was die "Filterung" bereits macht und dann "nur noch" alle Ergebnisse der Ergebnisdatei einlesen...

Gruß, Joachim
Titel: Antw:LOG File auslesen
Beitrag von: Hans Franz am 26 März 2016, 13:05:56
Ähm,
Zitatattr myReadings:qx(grep -i "Temperatur Aktuell aussen:" /home/pi/fhem.txt|tail -1)
Ich glaube da fehlt einiges.
Müsste es nicht in etwa so aussehen?
attr myReadings readingDefinitions TempAkt:qx(grep -i "Temperatur Aktuell aussen:" /home/pi/fhem.txt|tail -1)

Gruß
Hans
Titel: Antw:LOG File auslesen
Beitrag von: noxx am 26 März 2016, 13:10:59
danke..... :-) klappt

Titel: Antw:LOG File auslesen
Beitrag von: noxx am 26 März 2016, 16:10:28
ne blöde frage.

wie kann ich mir hier die Temp anzeigen lassen und wie kann ich Reihenfolge ändern (Zeit soll oben stehen)

Titel: Antw:LOG File auslesen
Beitrag von: Hans Franz am 26 März 2016, 16:30:38
Mit readingsGroup. Und du brauchst nicht jedesmal ein neues CustomReading-Device, sondern kannst die weiteren Readings kommasepariert anhängen.

Gruß
Hans
Titel: Antw:LOG File auslesen
Beitrag von: M.Piet am 05 Februar 2017, 21:01:09
Hallo Zusammen,

ich möchte ähnliches lösen.
Bei mir findet sich das Log wie folgt vor:

Pfad: /home/pi/zisterne.log

Inhalt:
[...]
2017-02-05_17:00:01 Entfernung: 184.8 cm  Fuelhoehe: 15.2 cm  Liter: 914 l
2017-02-05_18:00:01 Entfernung: 186.9 cm  Fuelhoehe: 13.1 cm  Liter: 784 l
2017-02-05_18:10:02 Entfernung: 186.5 cm  Fuelhoehe: 13.5 cm  Liter: 813 l
2017-02-05_19:00:01 Entfernung: 186.9 cm  Fuelhoehe: 13.1 cm  Liter: 783 l
2017-02-05_20:00:02 Entfernung: 186.5 cm  Fuelhoehe: 13.5 cm  Liter: 808 l


Wie bekomme ich mit dem Attribut readingDefinitions ein Reading hin, welches mir die Literanzahl (die reine Zahl, ohne das "l") in ein Reading schreibt? So richtig bekomme ich das nicht hin.

Vielen Dank :)