ReadingsVal FS20

Begonnen von heinzfo, 10 Januar 2015, 19:01:08

Vorheriges Thema - Nächstes Thema

heinzfo

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

Paul

Frage doch auf nicht "on" ab
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

heinzfo

#2
Hallo Paul

Wollte vermeiden das die ganzen dim...  state ebenfalls das Licht schalten.

Das geht leider nicht mit ne "on"

Grüße
Heinz

heinzfo

Ich habe auch die Varianten "off*" und "off.*" gestestet, das geht leider auch nicht.

Übersehe ist etwas, oder geht das nicht?

Grüße
Heinz

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

heinzfo

#5
Vielen Dank!

Das geht jetzt!

^off verstehe ich.
aber was macht
~ m
und warum die beiden /

Beste Grüße
Heinz

heinzfo

#6
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

Elektrolurch

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
configDB und Windows befreite Zone!