Hallo zusammen
Komme nicht weiter mit dem auslesen von state off
State off geht, der Status von off kann aber auch off 10 sein.
Mit welchen Syntax kann ich all off state abdecken, also nicht nur off sondern auch off 10 oder off 48 usw.
Momentan geht das hier ohne Probleme:
{ if ((ReadingsVal("Stern","state",99) eq "toggle") || (ReadingsVal("Stern","state",99) eq "off")) { fhem "set Stern dim56%% 48" }}
Schon mal vielen Dank für das feedback
Heinz
Frage doch auf nicht "on" ab
Hallo Paul
Wollte vermeiden das die ganzen dim... state ebenfalls das Licht schalten.
Das geht leider nicht mit ne "on"
Grüße
Heinz
Ich habe auch die Varianten "off*" und "off.*" gestestet, das geht leider auch nicht.
Übersehe ist etwas, oder geht das nicht?
Grüße
Heinz
Das geht grundsätzlich schon, nennt sich "regular expression" und dazu gibt es ungefähr 3 Mio Einträge bei google.
ReadingsVal("Stern","state","99") =~ m/^off/
Und nochwas: Deine 99 in den ReadingsVal() solltest Du in "99" ändern, denn Du willst ja alphanumerisch vergleichen.
Vielen Dank!
Das geht jetzt!
^off verstehe ich.
aber was macht
~ m
und warum die beiden /
Beste Grüße
Heinz
Verstanden!
^ off ist der Reguläre Ausdruck.
/ begrenzen den Regulären Ausdruck.
^ meint, der Text off muss am Anfang der Zeile stehen um gefunden zu werden.
m meint, matching den Suchmuster Operator.
=~ verknüpft den Regulären Ausdruck mit dem durchsuchten String, also dem state.
Grüße
Heinz
und
$wert =~ s/text1/text2/;
ersetzt in $wert "text1" durch "text2"...
auch nützlich.
siehe auch:
http://www.perlboard.de/perlguide/Inhalt.html
ein bis zweimal durcharbeiten, dann kann mans....
Elektrolurch