FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: hmtec99 am 12 Januar 2021, 09:42:07

Titel: ReadingsGroup - Filterfunktion falsch verstanden?!
Beitrag von: hmtec99 am 12 Januar 2021, 09:42:07
Hallo Leute.

Trotz Filter erscheinen Einträge in der ReadingsGroup, die ich da eigentlich nicht haben will?

Habe ich den Filter falsch gesetzt?

Gruß, Oli
Titel: Antw:ReadingsGroup - Filterfunktion falsch verstanden?!
Beitrag von: OdfFhem am 12 Januar 2021, 12:30:52
Vermutlich statt "FILTER=!NAME=" eher FILTER=NAME!= verwenden ...
Titel: Antw:ReadingsGroup - Filterfunktion falsch verstanden?!
Beitrag von: hmtec99 am 16 Januar 2021, 15:52:37
Hast du das selbst schon mal getestet??

Danach habe ich absolut JEDES Gerät in der readingsGroup!

Kann ich über diese Filterfunktion grundsätzlich Module blockieren, die aufgrund der Bedingung der readingsGroup Daten liefern wollen? Oder ist das anders gedacht??
Titel: Antw:ReadingsGroup - Filterfunktion falsch verstanden?!
Beitrag von: OdfFhem am 17 Januar 2021, 10:06:28
@hmtec99

FILTER setze ich häufig ein; es ist ja eine Möglichkeit zum Ausdünnen der sich qualifizierenden Geräte ...

Bei Dir dürfte das im aktuellen Zustand noch nicht der finale Zustand sein, da Du ja zum Einstieg eine Maske ".*"  angibst, die für alle Geräte gilt. Auf die sich so qualifizierenden Geräte wendest Du dann Deinen angegebenen  FILTER an - letztlich wird also ein Gerät rausgefiltert, wenn der NAME auf freezeMonitor passt.

Meine Gerätewelt sieht logischerweise ein wenig anders aus, aber die folgenden Beispiele sollten auch bei Dir - nach entsprechender Anpassung der Filterbedingungen - funktionieren ...


defmod rg_TEST readingsGroup .*:[Bb]attery

liefert eine Übersicht aller Geräte, die ein entsprechendes "[Bb]attery"-Reading haben ...


defmod rg_TEST readingsGroup .*:FILTER=TYPE!=MQTT2_.*:[Bb]attery

liefert eine Übersicht aller Geräte, die ein entsprechendes "[Bb]attery"-Reading haben ... sofern deren TYPE nicht mit "MQTT2_" beginnt ...


defmod rg_TEST readingsGroup .*:FILTER=TYPE!=MQTT2_.*:FILTER=NAME=HM_.*:[Bb]attery

liefert eine Übersicht aller Geräte, die ein entsprechendes "[Bb]attery"-Reading haben ... sofern deren TYPE nicht mit "MQTT2_" beginnt ... und deren NAME mit "HM_" beginnt ...