Commandref FileLog; Dedeutung der Wildcard .* in einem speziellen Fall

Begonnen von FHEm2005, 24 Februar 2014, 12:08:21

Vorheriges Thema - Nächstes Thema

FHEm2005

Ich versuche gerade eine Zeile aus der Commandref und dort im Begriff FileLog zu verstehen und komme nicht weiter:

unter define steht  folgende Zeile:

define wzlog FileLog ./log/wz-%Y-%U.log wz:(measured-temp|actuator).*

Deren Sinn ist mir fast gänzlich klar: Eine Filelog mit Namen wzlog wird definiert, welches für jede Woche eine neue Datei anlegt. Die zu loggenden Daten werden von dem Gerät wz geliefert und dort sollen von den readings ausschließlich die Werte  measured-temp und actuator gespeichert werden.

... und wozu ist die Wildcard .* in diesem Falle da?

Angenommen, ich hätte nur diese beiden Werte im readings, wozu dann noch Wildcards? Wenn ich in den readings actuator1-4 hätte, wäre das für mich verständlich, aber so??  Wenn ich die Wildcard weglassen, wird nichts gespeichert.

Viele Grüße
Eberhard

(Ich wünschte ich wäre ein Perl-Experte....)
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM, BSB-LAN

betateilchen

Fast alles richtig interpretiert.

wz:(measured-temp|actuator).*

Der "wildcard" ist allerdings kein wildcard (also in dem Sinne, wie Du es vielleicht beim Auflisten von Dateinamen kennst und verwendest), sondern eine regexp die besagt, "egal, was im Event noch nach dem measured-temp ODER dem actuator noch an Text folgt, logge den Event"

Ein zu loggender Event hört nämlich nicht nach measured-temp oder actuator auf, sondern nach den Suchbegriffen kommt immer noch der Messwert. Also zum Beispiel


wz:measured-temp 17.0
wz:actuator 33%


Die gesamte regexp fängt übrigens bei "wz" an und endet beim "*" - das ist ein kompletter Begriff: wz:(measured-temp|actuator).*

Für Details zu regexp kannst Du google oder wikipedia befragen, da gibt es jede Menge Erklärungen. Das Verständnis von regexp ist eine wichtige Voraussetzung, um sich das Leben mit/in fhem nicht unnötig schwer zu machen.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

FHEm2005

Hallo Betateilchen,

Du hast meinen heutigen Tag gerettet!

ZitatDas Verständnis von regexp ist eine wichtige Voraussetzung, um sich das Leben mit/in fhem nicht unnötig schwer zu machen.
DAS habe ich leider bereits schon erfahren müssen.

Vielen Dank.

Gruß
Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM, BSB-LAN