Ich besitze bisher 3 Oregon Scientific Sensoren für Luftfeuchtigkeit und Temperatur. Deren Einzelwerte (temperature, humidity) konnte ich einfachst freischalten im stateFilter. Nun nutzt andFHEM aber bei der Anzeige dieser Sensoren als Widget auf dem Handy den state mit allen drei Werten z. B."T: 20.4 H: 44 BAT: ok", "T: 20 H: 44 BAT: low" (mehr Ausprägungen gibt es hier nicht). Ich habe dieses wie folgt versucht freizuschalten über RegEx:
^T:\ ([0-9]+[\.]{0,1}[0-9]{0,1}?)\ H:\ ([0-9]){2}\ BAT:\ [a-z]{1,3}\Z
Aus welchen Gründen auch immer wird es nicht so sauber genutzt. Die Folge ist, dass wenn ich auf den Sensor als Widget ansehe und drauf Tippe der Wert da schon abweicht von den readings temperature und humidity. Aber ich erhalte auch keine Meldung mehr im Log, dass das Reading ignoriert wird wegen des stateFilters.
Hat da jemand eine Idee zu oder habe ich noch etwas falsch gemacht? Habe mir das Ganze auch hier schon angesehen und es wirkt korrekt: https://regex101.com/r/SexJVv/1
Ich danke euch ;-)
Ich würde folgenden RegEx nehmen. Habe ihn auf der von dir verlinkten Seite getestet und er liefert die drei Werte korrekt zurück ($1=Temperatur, $2=Luftfeuchtigkeit, $3=Batteriestatus.):
^T: (\d+\.\d*) H: (\d+) BAT:(.+)
Deinen RegEx habe ich dort auch ausprobiert und sehe, dass er eben nicht passt.
^T:\ ([0-9]+[\.]{0,1}[0-9]{0,1}?)\ H:\ ([0-9]){2}\ BAT:\ [a-z]{1,3}\Z
String: T: 20.3 H: 44 BAT: ok
$1=`20.3` -> OK
$2=`4` -> falsch
$3 -> fehlt im RegEx
Grüße James
Stimmt meiner war nicht richtig ;-)
Ich fummel an meinem nochmal - auch wenn deiner richtig ist. :-)
Nur lernen macht den Meister.
Vielen Dank!