Device Filterung mit INTERNAL=VALUE

Begonnen von beaune, 08 Januar 2024, 16:18:12

Vorheriges Thema - Nächstes Thema

beaune

Hallo,

ich verzweifele gerade an der Regex-Formulierung. Was ich möchte:
  • Eine Readingsgroup, die Empfangswerte darstellt (wie im Wiki)
  • aber bei der ein bestimmtes Device ausgeschlossen wird

Mein Ansatz:
defmod Empfang readingsGroup
sduino_RSSI=((?!SD_WS_108).*):+sduino_RSSI,+sduino_TIME,<sduino>
 

Also: alle Devices auflisten, die ein Internal namens sduino_RSSI besitzen, außer das, was SD_WS_108 heißt. Es funktioniert aber nicht, es werden trotzd es versuchten Ausschusses alle Devices aufgelistet, auch das SD_WS_108. Was mache ich falsch?

betateilchen

Deine regex funktioniert grundsätzlich wie gewünscht.

Ich habe testweise drei devices angelegt

list SD_WS_.*

liefert als Ergebnis:

SD_WS_107
SD_WS_108
SD_WS_109

list ((?!SD_WS_108).*)

liefert als Ergebnis:

Logfile
SD_WS_107
SD_WS_109
SVG_Metall

und SD_WS_108 ist ausgeschlossen.

Zu readingsgroup kann ich Dir aber nichts sagen, das verwende ich nicht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!