Ich bin jetzt schon ein paarmal über eine ganz simple, aber sehr nervige Frage gestolpert.
Ich habe in einem Device zwei Readings:
power (mit Einheit W)
powerValue (ohne Einheit)
Nun möchte ich über diverse Module (average oder ElectricityCalculator) auf das power-Reading zugreifen. Aber nur auf das Reading mit dem Namen "power".
Schreibe ich folgendes, so werden beide bzw. alle power-Readings genommen:
switch:power.*
Nutze ich folgende Schreibweise, so wird gar kein Reading genutzt:
switch:power
switch:power$
Laut https://regex101.com/ sollte die Schreibweise aber grundsätzlich stimmen.
Was mache ich falsch? Könnt ihr mir helfen? Danke.
Schau Dir mal im Event Monitor an, wie der komplette event aussieht und poste die Ausgabe hier. Dann kann man Dir sicher besser helfen.
switch.power:.*
Danke, euch beiden.
@Frank: Der Doppelpunkt. Das war es. Da kann mir https://regex101.com/ natürlich auch nicht helfen. :-)
Du meinst aber wahrscheinlich:
switch:power:.*
Oder? Damit läuft es.
Da der "." für alle zeichen steht, also auch für das ":", funktioniert beides. Es ist natürlich immer besser, git einzugrenzen, d.h. switch:power:.* ist für Deine Beschreibung besser.
ich meinte genau meine version, weil das für mich eine "echte" regex auf ein event ist.
der erste doppelpunkt hinter dem devicenamen existiert ja in wirklichkeit bei einem event nicht (hier steht ein leerzeichen), sondern kennzeichnet eine spezialbehandlung.
ich finde das mit dem FHEM-spezifischen Doppelpunkt in regexp auch immer sehr verwirrend und unlogisch.