[gelöst] Filter für 2 unterschiedliche Readings gleichzeitig?

Begonnen von gestein, 13 April 2021, 14:39:22

Vorheriges Thema - Nächstes Thema

gestein

Hallo,

ich möchte gerne einen Filter mit einem Vergleichswert auf 2 unterschiedliche Readings anwenden.

Hintergrund ist, dass ich meinen Residents und Guests je einen Gtag im Reading zugeordnet habe.
Allerdings heißt bei den Residents das Reading "rr_presenceDevices" und bei den Guests "rg_presenceDevices".
Irgendwo wird z.B. das Gtag_orange verwendet und ich möchte nun das entsprechende Device bekommen.

Leider klappt ein "list TYPE=.*:FILTER=(rr_presenceDevices=Gtag_orange2:rg_presenceDevices=Gtag_orange2)" nicht, auch ein "list TYPE=.*:FILTER=(r._presenceDevices=Gtag_orange2) findet kein Device.

Momentan helfe ich mir in einer Perl-Funktion mit 2 Aufrufen von "devspec2array".

Kann man das auf eine Abfrage kürzen?

Danke im Voraus
liebe Grüße
Gerhard

Otto123

Hallo Gerhard,

gerade probiert: list .*:FILTER=NAME=BT_MiA1|BT_MiA2
Also "oder" funktioniert :)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

gestein

Hallo Otto,

ja, das kenne ich. Man kann ein Feld auf verschiedene Werte filtern.
Ich bräuchte aber so etwas:
list .*:FILTER=(NAME|TYPE)=BT_MiA1

bzw. in meinem Fall:
list .*:FILTER=(rg_presenceDevices|rr_presenceDevices)=Gtag_orange

Und das geht leider nicht.
lg, Gerhard

Beta-User

Was spricht gegen "das Komma"?
list NAME=BT_MiA1,TYPE=BT_MiA1
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

gestein

Dagegen spricht das "Nichtkennen"  ;)
Danke. Das war's. Damit funktioniert der Aufruf in einer Zeile.

lg, Gerhard