FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Puschel74 am 16 Januar 2013, 18:10:15

Titel: Regexp in IF-Abfragen
Beitrag von: Puschel74 am 16 Januar 2013, 18:10:15
Hallo zusammen,

dieser Codeschnipsel funktioniert soweit das zumindest das notify schonmal angesprungen wird.


.*._Fenster:.*|Anwesenheit_.*:.* {
  Log (3,"@");
if ("@" eq "Anwesenheit_.*") {
  Log (3,"Du hast @ umgeschaltet");
  }
  if ("@" eq ".*._Fenster") {
  Log (3,"Du hast @ umgeschaltet");
  }
}

Das sehe ich daran das der erste Log-Eintrag das
2013.01.16 18:02:29 3: DG_Lern_Fenster
im Logfile zum Vorschein bringt.
Leider klappt meine If-Abfrage aber nicht - es gibt auch keine Fehlermeldung im Log.
Auch ohne Punkt in der Abfrage sehe ich nur den ersten Log-Eintrag.

Wie kann ich sowas in meiner IF-Abfrage abfangen das, wenn irgend ein Fenster auslöst (.*._Fenster), die If-Abfrage korrekt
bearbeitet wird?

Danke für Eure Hilfe.

Grüße
Titel: Aw: Regexp in IF-Abfragen
Beitrag von: UliM am 16 Januar 2013, 19:02:11
Hi,
Der Operator eq prüft 'identisch mit' und kann m.W. keine Wildcard wie _.*
Dafür musst Du den Operator =~ verwenden:
if ("@" =~ m"text.*" )

Als delimiter des Suchmusters kannst Du ein beliebiges Zeichen verwenden. Statt " wird meist / verwendet, also
if ("@" =~ m/text.*/ )

Geht's damit?

Gruß Uli
Titel: Aw: Regexp in IF-Abfragen
Beitrag von: UliM am 16 Januar 2013, 19:14:14
PS: google "perl regexp" bringt viele Hilfeseiten dazu, da findest Du ggf schnell ein passendes Beispiel.
Viel Erfolg!
Titel: Aw: Regexp in IF-Abfragen
Beitrag von: Puschel74 am 16 Januar 2013, 19:37:39
Hallo,

perofekto Uli. Wunderbar, danke Dir.

if ("@" =~ m/Anwesenheit.*/ ) {

trifft wunderbar ins schwarze.

Danke auch für den Google-Hinweis ;-)
Aber an meinem Firefox ist das Forum als Startseite eingetragen und goggle klemmt seither bei mir ^^
Schlechte Angewohnheit, ich weiß. Die muss auch wieder weg.

Grüße
Titel: Aw: Regexp in IF-Abfragen
Beitrag von: Dietmar63 am 16 Januar 2013, 21:41:11
Ich habe einen richtig guten Link zum Thema RegExp gefunden.
Dort kann man eigene Ideen interaktiv ausprobieren und muss nicht immer "reloaden".


http://regex.powertoy.org/ (//regex.powertoy.org/)

Dietmar
Titel: Aw: Regexp in IF-Abfragen
Beitrag von: Puschel74 am 16 Januar 2013, 22:38:42
Danke für den Link.
Allerdings scheint mein FF17.0.1 da etwas zu streiken.
Das Menü und die Eingabeleiste sind irgendiwe .. "verschoben"
Titel: Aw: Regexp in IF-Abfragen
Beitrag von: WiKa am 17 Januar 2013, 02:22:25
Zitat von: Puschel74 schrieb am Mi, 16 Januar 2013 22:38Danke für den Link.
Allerdings scheint mein FF17.0.1 da etwas zu streiken.
Hallo Puschel,
nicht nur mit FF 17x.
Wenn Du genau hinschaust, kannst Du auch die Fehlermeldung lesen - steht "verwurschtelt" am linken Rand.
"This Browser does not have an active JavaPlug-in"

VG,
WiKa