Hauptmenü

Notify reagiert nicht

Begonnen von Andi.Riese, 03 Mai 2017, 10:01:57

Vorheriges Thema - Nächstes Thema

Andi.Riese

Hallo,

ich habe folgendes notify definiert:
-----------------------------------------
Andreas[^X]|Hanna[^X] {
Log 1, "*** Name: $NAME Event: $EVENT"
}
----------------------------------------
Es soll bei Ereignissen "Andreas" oder "Hanna" aktiv werden, aber nicht bei "AndreasX" oder "HannaX"
Das notify reagiert aber nur bei "Andreas" richtig, "Hanna" wird ignoriert.
Vertausche ich so, dass  Hanna[^X] am Anfang, vor dem "|" steht, ist es genau anders rum.
Was mache ich falsch`?

Danke im Voraus!

Andreas

DeeSPe

#1
Nimm doch einfach:
Andreas|Hanna {}

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Andi.Riese

Hilft mir nix, weil es 2 Ereignisse gibt: Hanna und HannaX
Außerdem würde ich gerne wissen, was daran falsch ist.

Thorsten Pferdekaemper

Zitat von: Andi.Riese am 03 Mai 2017, 10:54:46
Hilft mir nix, weil es 2 Ereignisse gibt: Hanna und HannaX
Ja, aber Andreas|Hanna dürfte bei HannaX nicht matchen.

Zitat
Außerdem würde ich gerne wissen, was daran falsch ist.
Ich bin mir nicht ganz sicher aber ich glaube, dass Deine Angabe

Andreas[^X]|Hanna[^X]

...implizit so geklammert wird:

Andreas([^X]|Hanna)[^X]

D.h. es matcht auf alles, was mit Andreas anfängt und danach zweimal kein X hat und auf alles, was mit AndreasHanna anfängt und danach kein X hat.
Also z.B. auf:

Andreas
AndreasY
AndreasYY
AndreasHanna
AndreasHannaY

Das hier müsste das tun, was Du willst:

(Andreas[^X])|(Hanna)[^X])

Ich bin aber auch kein echter RegEx-Held, das kann also auch falsch sein.
...wobei das halt auch auf AndreasY matchen würde, was Du vielleicht nicht willst. Dans Vorschlag ware da einfacher und meiner Meinung nach besser.
Gruß,
   Thorsten

FUIP

DeeSPe

#4
Zitat von: DeeSPe am 03 Mai 2017, 10:41:11
Nimm doch einfach:
Andreas|Hanna {}

Gruß
Dan

Bin mir ziemlich sicher dass das wie gewünscht funktioniert!

Gruß
Dan

P.S. ^ und $ werden beim Matching ergänzt, also kommt heraus: m/^Andreas|Hanna$/
Das matcht auch nur auf Andreas und/oder Hanna.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Andi.Riese

(Andreas^X)|(Hanna^X)
macht anscheinend das, was ich wollte.

Danke!