FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: roemi am 08 Dezember 2022, 14:33:19

Titel: [gelöst] regex userreading ausschließen
Beitrag von: roemi am 08 Dezember 2022, 14:33:19
Hallo,

ich habe mir eine Readingsgroup "batterieStatus" angelegt und bekomme alle Device angezeigt die das Readings "Battery" haben.
Leider sind ein paar meiner Sensoren auch Licht- und/oder Temperatursensoren.
Das heißt, ich habe diese mehrmals in der Liste.
Ich würde nun bei allen Device die ich nicht in der Gruppe haben möchte ein Userreading erzeugen wollen. Zum Beispiel "NichtZeigen" = 1.
Bisher ist das alles noch "einfach".
Wie aber kann ich den Filter .*:battery so erweitern, das alle Device mit dem Userreading "NichtZeigen" ausgeschlossen sind?

Ich habe dazu nichts gefunden bzw. das was ich gefunden habe nicht verstanden oder nicht so ändern können das es funktioniert.

Danke

Römi
Titel: Antw:regex userreading ausschließen
Beitrag von: binford6000 am 08 Dezember 2022, 17:14:37
ZitatWie aber kann ich den Filter .*:battery so erweitern, das alle Device mit dem Userreading "NichtZeigen" ausgeschlossen sind?

In dem du den Filter entsprechend anpasst, zB. so:
.*(bwm|door|switch|remote):battery

Dabei bleiben die .*light und .*temp Sensoren außen vor.
Ist natürlich von Vorteil wenn man sich vorher schon Gedanken um eine systematische Benamung der Devices gemacht hat  ;)

VG Sebastian
Titel: Antw:regex userreading ausschließen
Beitrag von: roemi am 08 Dezember 2022, 21:30:36
Hallo und erstmal Danke!

.*(Licht|Temp):battery
Ausgeschrieben, mit und ohne * ... jedesmal bleibt die gesamt Readinggroup leer  :-\
Zumal ich ja evtl. irgendwann einen z.B. Temperatursensor habe der in der Liste auftauchen soll.
Darum will ich ja ein Userreading setzen über das ich "sehen" oder "nicht sehen" regulieren will.

Aber auch mit

.*:FILTER=NAME!=*Temp*
.*:battery

will es nicht klappen.
Titel: Antw:regex userreading ausschließen
Beitrag von: bartman121 am 09 Dezember 2022, 04:49:02
Das Matched quasi auf .* außer, wenn die genannten Zeichenketten enthalten sind..
.*^((?!last_seen|uptime|snr|lastUpdate|utilization).)*$


Aber ich glaube betreff und Inhalt passen nicht zusammen, daher hier die Antwort auf deine Fragte:
defmod RG_Flower readingsGroup <>,<Bewertung>,<Feuchtigkeit>,<Duenger>,<Licht>,<Temperatur>,<BatteryLevel>,<State> TYPE=XiaomiBTLESens:FILTER=state!=disabled:water_ok,moisture,fertility,lux,temperature,batteryPercent,state


Grüße

Andreas
Titel: Antw:[gelöst] regex userreading ausschließen
Beitrag von: roemi am 12 Dezember 2022, 22:43:52
Hallo,

ich löse das ganze nun durch ein userReadings welches ich mit den aktuellen Daten der Batterie fülle und dieses dann als Readingsgroup ausgebe.

Danke für Eure Hilfe

Römi