Hallo Zusammen,
ich möchte gerne einen NOTIFY auf ein DEVICE, welches im STATE ein Leerzeichen hat.
Es kann z.B. STATE=AUS oder STATE=AUS (manuell)
Habe jetzt mal mit
notify DEVICE:AUS*
und
notify DEVICE:AUS.
und
notify DEVICE:AUS (manuell)
getestet.
Leider alles ohne Erfolg.
Gibt es da eine Möglichkeit?
DEVICE:AUS.*
Versuche mal ein .* anstatt des Leerzeichens!
Und dann empfehle ich das:
http://www.danielfett.de/internet-und-opensource,artikel,regulaere-ausdruecke (http://www.danielfett.de/internet-und-opensource,artikel,regulaere-ausdruecke)
anstelle des leerzeichens nur einen einzelnen . (punkt)
.* bedeutet beliebig viele Zeichen.
gruss
andre
Es geht in diesem Fall schon um das Leerzeichen und alles was dahinter kommt. Das kann nämlich unterschiedlich sein (siehe ersten Beitrag).
Hätte ich aber auch selber drauf kommen können, sehr peinlich :-[
Danke euch für die Antworten, jetzt passt es.
Danke auch für den Link. Ich stehe nämlich mit diesen RegExen auf Kriegsfuß ;D
Hehe meine Mutter hat gesagt: Lass die Finger von RegEx :D
ups... wer lesen kann ...
Jetzt muss ich da nochmal nachhacken.
Grundsätzlich funktioniert das ganze mit .*
.
Wenn ich jetzt aber genau auf das hin triggen will: AUS (manuell)
Laut der verlinkten Seite ist \s ein Leerzeichen. Also: notify DEVICE:AUS\s(manuell)
??
ja. aber vermutlich musst du noch die klammern jeweils mit einem \ maskieren.
gruss
andre
Hallo,
der . steht doch für ein beliebiges Zeichen.
Sollte da nicht das
notify DEVICE:AUS.(manuell)
auch klappen?
Evtl. gibt es ein Problem mit den Klammern aber müssen die sein?
Wobei die Klammern doch eigentlich egal sein müssten?
Ach halt, die werden vermutlich nicht ausgewertet und daher wird (manuell) dann nicht zutreffen sondern FHEM wartet auf ein
DEVICE:AUS.manuell
Grüße
Klammern werden ja bei Regex genutzt und somit müssten diese maskiert werden (mit \).
Hallo,
Zitat von: marvin78 am 10 Juli 2014, 17:07:10
Klammern werden ja bei Regex genutzt und somit müssten diese maskiert werden (mit \).
So ist es ;D
Grüße