[gelöst] Fakelog auslesen

Begonnen von Edi77, 04 September 2017, 01:10:12

Vorheriges Thema - Nächstes Thema

Edi77

Ich lese ein Strahlenmessgerät mit fakelog aus.
Jetzt möchte ich die Messwerte auslesen für die Tablet UI und zum Zweck der Benachrichtigung auswerten.

Mit "get GammaScoutFLog - - 2017-09-01 2017-09-02" kann ich die Werte anzeigen
Mit "{ ReadingsVal("GammaScoutFLog","state","0") }" bekomme ich nur aktiv.

Ich benötige den letzten Wert in dem Logfile


2017-09-02_19:30:00    2017-09-02_20:00:00       736     1800   24.5   0.409
2017-09-02_20:00:00    2017-09-02_20:30:00       702     1800   23.4   0.390
2017-09-02_20:30:00    2017-09-02_21:00:00       778     1800   25.9   0.432
2017-09-02_21:00:00    2017-09-02_21:30:00       734     1800   24.5   0.408
2017-09-02_21:30:00    2017-09-02_22:00:00       715     1800   23.8   0.397
2017-09-02_22:00:00    2017-09-02_22:30:00       836     1800   27.9   0.464
2017-09-02_22:30:00    2017-09-02_23:00:00       756     1800   25.2   0.420
2017-09-02_23:00:00    2017-09-02_23:30:00       751     1800   25.0   0.417
2017-09-02_23:30:00    2017-09-03_00:00:00       737     1800   24.6   0.409
2017-09-03_00:00:00    2017-09-03_00:30:00       779     1800   26.0   0.433
2017-09-03_00:30:00    2017-09-03_01:00:00       783     1800   26.1   0.435
2017-09-03_01:00:00    2017-09-03_01:30:00       777     1800   25.9   0.432
2017-09-03_01:30:00    2017-09-03_02:00:00       796     1800   26.5   0.442
2017-09-03_02:00:00    2017-09-03_02:30:00       804     1800   26.8   0.447
2017-09-03_02:30:00    2017-09-03_03:00:00       726     1800   24.2   0.403
2017-09-03_03:00:00    2017-09-03_03:30:00       779     1800   26.0   0.433
2017-09-03_03:30:00    2017-09-03_04:00:00       739     1800   24.6   0.411
2017-09-03_04:00:00    2017-09-03_04:30:00       830     1800   27.7   0.461
2017-09-03_04:30:00    2017-09-03_05:00:00       799     1800   26.6   0.444
2017-09-03_05:00:00    2017-09-03_05:30:00       751     1800   25.0   0.417
2017-09-03_05:30:00    2017-09-03_06:00:00       769     1800   25.6   0.427
2017-09-03_06:00:00    2017-09-03_06:30:00       790     1800   26.3   0.439
2017-09-03_06:30:00    2017-09-03_07:00:00       782     1800   26.1   0.434
2017-09-03_07:00:00    2017-09-03_07:30:00       747     1800   24.9   0.415
2017-09-03_07:30:00    2017-09-03_08:00:00       803     1800   26.8   0.446
2017-09-03_08:00:00    2017-09-03_08:30:00       744     1800   24.8   0.413
2017-09-03_08:30:00    2017-09-03_09:00:00       741     1800   24.7   0.412
2017-09-03_09:00:00    2017-09-03_09:30:00       715     1800   23.8   0.397
2017-09-03_09:30:00    2017-09-03_10:00:00       771     1800   25.7   0.428
2017-09-03_10:00:00    2017-09-03_10:30:00       786     1800   26.2   0.437
2017-09-03_10:30:00    2017-09-03_11:00:00       767     1800   25.6   0.426
2017-09-03_11:00:00    2017-09-03_11:30:00       748     1800   24.9   0.416
2017-09-03_11:30:00    2017-09-03_12:00:00       764     1800   25.5   0.424
2017-09-03_12:00:00    2017-09-03_12:30:00       761     1800   25.4   0.423
2017-09-03_12:30:00    2017-09-03_13:00:00       744     1800   24.8   0.413
2017-09-03_13:00:00    2017-09-03_13:30:00       729     1800   24.3   0.405
2017-09-03_13:30:00    2017-09-03_14:00:00       807     1800   26.9   0.448
2017-09-03_14:00:00    2017-09-03_14:30:00       761     1800   25.4   0.423
2017-09-03_14:30:00    2017-09-03_15:00:00       782     1800   26.1   0.434
2017-09-03_15:00:00    2017-09-03_15:30:00       760     1800   25.3   0.422
2017-09-03_15:30:00    2017-09-03_16:00:00       723     1800   24.1   0.402
2017-09-03_16:00:00    2017-09-03_16:30:00       762     1800   25.4   0.423
2017-09-03_16:30:00    2017-09-03_17:00:00       781     1800   26.0   0.434
2017-09-03_17:00:00    2017-09-03_17:30:00       767     1800   25.6   0.426
2017-09-03_17:30:00    2017-09-03_18:00:00       816     1800   27.2   0.453
2017-09-03_18:00:00    2017-09-03_18:30:00       805     1800   26.8   0.447
2017-09-03_18:30:00    2017-09-03_19:00:00       743     1800   24.8   0.413
2017-09-03_19:00:00    2017-09-03_19:30:00       724     1800   24.1   0.402
2017-09-03_19:30:00    2017-09-03_20:00:00       815     1800   27.2   0.453
2017-09-03_20:00:00    2017-09-03_20:30:00       759     1800   25.3   0.422
2017-09-03_20:30:00    2017-09-03_21:00:00       740     1800   24.7   0.411
2017-09-03_21:00:00    2017-09-03_21:30:00       786     1800   26.2   0.437

Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

amenomade

Wäre es nicht einfacher (und prinzipiell mehr in der Fhem-Logik), das Gerät direkt ein dummy o.ä. setzen zu lassen, und dieses Dummy von FHEM loggen zu lassen, statt eine Log zu schreiben und auszulesen? Das Problem mit deiner Logik ist, dass die Änderung eines Wertes kein Event generiert. Wie wirst Du dann in Fhem die Aktualisierung steuern, falls Du es schafst den letzten Wert auzulesen? Mit einem AT ?

Evtl. könntest Du dein get mittels einer perl Funktion anpassen, damit er nur die letzte halbe Stunde abfragt. Aber nicht schön... siehe oben.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Edi77

Leider gibt es keine Möglichkeit den GammaScout anzubinden.
https://www.gamma-scout.com/DE/Home.php

Ich habe es mal hin bekommen ein Logfile zu schreiben, und mir das in FHEM Anzeigen zu lassen.

Ja es ist nicht schön, es müsste dann wohl mit AT und GET gelöst werden, aber wie bringe ich es hin das mit GET nur den letzten Wert 0.xxx übergibt ohne Uhrzeit und Datum?
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

Otto123

Hi Edi77,

vielleicht hilft Dir diese Diskussion in den letzten Tagen. Das war eigentlich das gleiche Problem
-> https://forum.fhem.de/index.php/topic,64627.msg678581.html#msg678581

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Edi77

Teilweise funktioniert es schon.

Ich bekomme jetzt schon mal die letzte Zeile, aber das mit dem letzten Wert klappt noch nicht


define GammascoutWert dummy
attr GammascoutWert room GammaScout
attr GammascoutWert userReadings Wert1 { return (split(" ",ReadingsVal("GammascoutWert", "state", 0)))[6]}
define GammascoutWert_at at +*00:05:00 { my @content = FileRead({FileName => "log/gammascout-2016.log", ForceType => "file"});; $content[-1] =~ s/\;;/,/g;; fhem "set GammascoutWert $content[-1]"}
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

Otto123

nicht blind kopieren sondern verstehendes Lesen ist gefragt.
Den Part $content[-1] =~ s/\;;/,/g;;  brauchst Du nicht, Du musst kein ; gegen ein Komma tauschen.

Du musst die letzte Zeile an den Leerzeichen aufteilen. So ähnlich wie hier
-> http://www.hidemail.de/blog/split-in-perl.shtml

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Edi77

Hat funktioniert

DANKE


define GammascoutWert dummy
attr GammascoutWert room GammaScout
attr GammascoutWert userReadings Wert { return (split(/ /,ReadingsVal("GammascoutWert", "state", 0)))[5]}
define GammascoutWert_at at +*00:05:00 { my @content = FileRead({FileName => "log/gammascout-2016.log", ForceType => "file"});; $content[-1] =~ s/\;;/,/g;; fhem "set GammascoutWert $content[-1]"}

Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D