FileLog (mal wieder :) ) [Gelöst]

Begonnen von Shardan, 18 Februar 2018, 20:13:25

Vorheriges Thema - Nächstes Thema

Shardan

Vermutlich bin ich mal wieder partiell blind, ich finde den Fehler nicht.

Ein Innenraum - Multisensor gibt folgende Werte zurück (state-Zeile des Device)
CG: 282 CO: 191 Humidity: 19 Lux: 0 Pressure: 1061 RSSI: -50 Temp-int: 27.1 Temperature: 29.9
So weit, so erwünscht.

Im ersten Filelog habe ich mit der Definition
./log/RSC3_CO-%m-%Y.log ESPEasy_RSC3:(CO).*
den "CO" Wert ausgelesen.
Das Log schreibt dann auch brav:
2018-02-18_17:40:37 ESPEasy_RSC3 CO: 183
2018-02-18_17:43:11 ESPEasy_RSC3 CO: 171
2018-02-18_17:45:44 ESPEasy_RSC3 CO: 173
2018-02-18_17:48:17 ESPEasy_RSC3 CO: 166

und so weiter. Mit dem regex ESPEasy_RSC3:CO:.* bekomme ich das gleiche Ergebnis.

Das zweite Log ist identisch definiert mit
./log/RSC3_CG-%m-%Y.log ESPEasy_RSC3:(CG).*
nur dass ich hier den "CG" Teil ausfiltern will.
Das Ergebnis sieht aber so aus:
2018-02-18_19:53:21 ESPEasy_RSC3 CG: 281 CO: 174
2018-02-18_19:53:31 ESPEasy_RSC3 CG: 281 CO: 174 Lux: 0
2018-02-18_19:53:37 ESPEasy_RSC3 CG: 281 CO: 174 Humidity: 20 Lux: 0 Pressure: 1061 Temp-int: 27.3
2018-02-18_19:53:38 ESPEasy_RSC3 CG: 281 CO: 174 Humidity: 20 Lux: 0 Pressure: 1061 Temp-int: 27.3 Temperature: 30.1
2018-02-18_19:53:47 ESPEasy_RSC3 CG: 281 CO: 174 Humidity: 20 Lux: 0 Pressure: 1061 RSSI: -51 Temp-int: 27.3 Temperature: 30.1
2018-02-18_19:54:08 ESPEasy_RSC3 CG: 281 CO: 174 Humidity: 19 Lux: 0 Pressure: 1061 RSSI: -51 Temp-int: 27.3 Temperature: 30.1
2018-02-18_19:54:09 ESPEasy_RSC3 CG: 281 CO: 174 Humidity: 19 Lux: 0 Pressure: 1061 RSSI: -51 Temp-int: 27.3 Temperature: 30.0


Ich habe da auch den normal angebotenen regex ESPEasy_RSC3:CG:.* versucht, gleiches Ergebnis.

Wo liege ich schief?

Grüße
Shardan


FHEM auf Celeron-PC
CUNX mit Pigator, 433 + 868 MHZ.
MAX!-HK-Ventile, ESP8266-Sensoren und -Aktoren
Schaltsteckdosen IT / NetIO230B / Netio4

nils_

kannst du mal ein list von dem sensor posten?
viele Wege in FHEM es gibt!

Shardan

Sorry, hat etwas gedauert, war dienstlich unterwegs.

Was meinst mit list?
Grüße
Shardan
FHEM auf Celeron-PC
CUNX mit Pigator, 433 + 868 MHZ.
MAX!-HK-Ventile, ESP8266-Sensoren und -Aktoren
Schaltsteckdosen IT / NetIO230B / Netio4

nils_

http://commandref.fhem.de/commandref_DE.html#list


anfängerdoku gelesen?
und auch: https://forum.fhem.de/index.php/topic,71806.0.html

das list bitte in code-tags (über dem  :-X smiley), dann ist es lesbarer.
viele Wege in FHEM es gibt!

Beta-User

Du solltest ggf. mal den Event-Monitor bemühen um zu sehen, was dein Sensor so sendet ::) .

Hier würde ich sagen: Works as designed, es wird alles gelogt, das mit "(CG).*" beginnt... Du solltest dich neben den von nils_ genannten Dokumenten daher auch mal mit regex beschäftigen ;) , es kommt mir so vor, als wäre die Bedeutung von "." und "*" in dem Zusammenhang nicht klar. Hilfestellung z.B. hier: https://regex101.com/

Mal ab davon: Welchen Sinn hat es, das loging auf mehrere Text-Files zu verteilen? Macht mehr Schreibzugriffe, was der SD-Karte des vermuteten Pi nicht gut tut, und wenn es um's plotten geht, muß man in einem Gesamt-log halt eine andere Spalte auswählen für die unterschiedlichen Teile des Gesamt-Readings. Ist aber kein Hexenwerk...

Just my2ct.

Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Shardan

Zitat von: Beta-User am 22 Februar 2018, 09:23:23
Du solltest ggf. mal den Event-Monitor bemühen um zu sehen, was dein Sensor so sendet ::) .

Hier würde ich sagen: Works as designed, es wird alles gelogt, das mit "(CG).*" beginnt... Du solltest dich neben den von nils_ genannten Dokumenten daher auch mal mit regex beschäftigen ;) , es kommt mir so vor, als wäre die Bedeutung von "." und "*" in dem Zusammenhang nicht klar. Hilfestellung z.B. hier: https://regex101.com/

Mal ab davon: Welchen Sinn hat es, das loging auf mehrere Text-Files zu verteilen? Macht mehr Schreibzugriffe, was der SD-Karte des vermuteten Pi nicht gut tut, und wenn es um's plotten geht, muß man in einem Gesamt-log halt eine andere Spalte auswählen für die unterschiedlichen Teile des Gesamt-Readings. Ist aber kein Hexenwerk...

Just my2ct.

Beta-User

Nein, kein Pi. Ein Low Power Celeron, auf dem noch einiger anderer Kram läuft. Die Log-Größe ist per 500GB-Platte auch nicht ausschlaggebend.

Das Gesamt-Log funktioniert mit diesen Sensoren nicht wirklich. Der Sensor überträgt nicht immer alle Werte in einem Block.
Dadurch ist die Spaltenfolge nicht immer gleich und Plots werden unbrauchbar.
Wenn mit CG:*alles geloggt wird, was mit CG beginnt, warum funktioniert es dann mit CO:.* ? Das Log ist sauber.

Regards
Shardan
FHEM auf Celeron-PC
CUNX mit Pigator, 433 + 868 MHZ.
MAX!-HK-Ventile, ESP8266-Sensoren und -Aktoren
Schaltsteckdosen IT / NetIO230B / Netio4

Shardan

Das list von dem Sensor (sorry, dass ich nicht alle Befehle von fhem auswendig weiß)

  CHANGED   
   DEF        192.168.17.63 80 EspBridge RSC3
   ESP_BUILD  20000
   ESP_BUILD_GIT v2.0-20180130
   ESP_BUILD_NOTES  - Mega
   ESP_NODE_TYPE_ID 17: ESP Easy Mega
   ESP_SLEEP  0
   ESP_UNIT   25
   ESP_VERSION 2
   EspBridge_MSGCNT 173441
   EspBridge_TIME 2018-02-22 22:46:06
   HOST       192.168.17.63
   IDENT      RSC3
   INTERVAL   300
   IODev      EspBridge
   LASTInputDev EspBridge
   MSGCNT     173441
   NAME       ESPEasy_RSC3
   NOTIFYDEV  global
   NR         376
   NTFY_ORDER 50-ESPEasy_RSC3
   PORT       80
   STATE      CG: 338 CO: 814 Humidity: 22 Lux: 40 Pressure: 1060 RSSI: -50 Temp-int: 28.8 Temperature: 30.1
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    1.36
   READINGS:
     2018-02-22 22:46:06   CG              338
     2018-02-22 22:46:06   CO              814
     2018-02-22 22:45:47   Humidity        22
     2018-02-22 22:45:46   Lux             40
     2018-02-22 22:45:47   Pressure        1060
     2018-02-22 22:45:54   RSSI            -50
     2018-02-22 22:45:47   Temp-int        28.8
     2018-02-22 22:45:49   Temperature     30.1
     2018-02-22 22:42:09   presence        present
     2018-02-22 22:46:06   state           CG: 338 CO: 814 Humidity: 22 Lux: 40 Pressure: 1060 RSSI: -50 Temp-int: 28.8 Temperature: 30.1
   helper:
     fpc        1518980009
     pm:
       Encode     1
       JSON       1
     received:
       CG         1519335966
       CO         1519335966
       Humidity   1519335947
       Lux        1519335946
       Pressure   1519335947
       RSSI       1519335954
       Temp-int   1519335947
       Temperature 1519335949
Attributes:
   IODev      EspBridge
   Interval   300
   event-on-change-reading .*
   group      ESPEasy Device
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy
   setState   12
FHEM auf Celeron-PC
CUNX mit Pigator, 433 + 868 MHZ.
MAX!-HK-Ventile, ESP8266-Sensoren und -Aktoren
Schaltsteckdosen IT / NetIO230B / Netio4

Beta-User

Zitat von: Shardan am 22 Februar 2018, 22:44:17
Das Gesamt-Log funktioniert mit diesen Sensoren nicht wirklich. Der Sensor überträgt nicht immer alle Werte in einem Block.
Dadurch ist die Spaltenfolge nicht immer gleich und Plots werden unbrauchbar.
Wenn mit CG:*alles geloggt wird, was mit CG beginnt, warum funktioniert es dann mit CO:.* ? Das Log ist sauber.
In dem kurzen Auszug sah es aber so aus, als würde - wenn ein Block übertragen wird - dann immer mit CG begonnen. Und die Regex fragt den Beginn ab... Also entweder du erweiterst die Regex um eine Längenangabe (etwas Beschäftigung mit der bereits verlinkten Seite schadet nicht), oder du logst halt weiter alles. Welche Variante sinnvoll ist, hängt davon ab, ob der Sensor immer auch alle Teile einzeln sendet oder nicht. Das sieht man im Event-Monitor (bzw. mit der aktuellen Regex im Log ;) ).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Shardan

Die Lösung, die die Seite https://regex101.com/ als funktionierend ausweist, läuft in fhem auf einen Fehler.
(CG: )[0-9]{3,} funktioniert auf der Seite. fhem sagt mir "wrong syntax: define <name> FileLog filename regexp [readonly]"

Naja, weitersuchen. Vielleicht finde ich irgendwo einen anwendbaren tipp.

Danke soweit
Shardan
FHEM auf Celeron-PC
CUNX mit Pigator, 433 + 868 MHZ.
MAX!-HK-Ventile, ESP8266-Sensoren und -Aktoren
Schaltsteckdosen IT / NetIO230B / Netio4

Beta-User

#9
Kurz, da mobil:

Edit, da auf dem Bildschirm besser erkennbar:
Mindestens das Leerzeichen mag FHEM nicht. Es dürften zwei stattdessen ein Punkte "CG:." erforderlich sein, damit das passt. Ggf. im Event-Monitor mal testen...

EDIT: Btw.: Die Klammer um CG ist nicht erforderlich, du hast ja keine Alternativangaben.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Shardan

danke

Mit Hilfe eines Kollegen aus der Software (Ich bin entschieden Hardware, meine Programmierkenntnisse enden bei ein wenig Fortran und Grundkurs "C" for ca 30 Jahren) habe ich eine andere Lösung gefunden: (CG:\s) hilft ganz gut.

Die Klammern lasse ich mit Absicht stehen: Ich komme immer nur alle paar Wochen dazu, mich mit meinem fhem Server zu befassen - da sind Templates in Form funktionierender Defines ganz nützlich, wenn mal Alternativangaben eine Rolle spielen - bis dahin hab ich das vergessen :)

Regards
Shardan
FHEM auf Celeron-PC
CUNX mit Pigator, 433 + 868 MHZ.
MAX!-HK-Ventile, ESP8266-Sensoren und -Aktoren
Schaltsteckdosen IT / NetIO230B / Netio4

Beta-User

Danke für die Rückmeldung, dass FHEM in dem Kontext Leerzeichen nicht mag, muß man halt wissen :D .

Da es jetzt geklappt hat, könntest du den Thread noch als [gelöst] kennzeichnen? (Titel im ersten Beitrag editieren).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files