FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Juelo am 06 Mai 2025, 16:05:56

Titel: devspec2array - Reading Filter
Beitrag von: Juelo am 06 Mai 2025, 16:05:56
Hallo zusammen,

ich brauch mal wieder euren Rat.

Aktuell versuche ich alle Geräte mit den folgenden Readings auszugeben.

Wenn ich den Readingsname direkt angebe, funktioniert es. Gerne würde ich jedoch einen Wildcard nutzen.
    my @devs1 = devspec2array("MatchId_55_Map!=");;
  foreach my $dev (@devs1) {

  }
}

Als Wildcard bekomme ich keine Informationen. Jemand eine Idee wie ich alle Geräte mit einem den .* Readings Filter rausbekommen kann?
    my @devs1 = devspec2array("MatchId_.*_Map!=");;
  foreach my $dev (@devs1) {

  }
}

Grüße
Titel: Aw: devspec2array - Reading Filter
Beitrag von: Otto123 am 06 Mai 2025, 16:24:35
Hi,
ich meine das geht nicht, wurde aber hier schon mal in einen anderen Ansatz gewandelt: https://forum.fhem.de/index.php?topic=141277.0

Gruß Otto
Titel: Aw: devspec2array - Reading Filter
Beitrag von: Torxgewinde am 10 Mai 2025, 10:31:23
Alternativ sollte das auch mit DOIF möglich sein, die Funktion kann dann auch RegEx auswerten: https://fhem.de/commandref_DE.html#DOIF_aggregation. Mit z.B. uiTable kann man dann schön kompakt eine Liste der Devices erstellen.

Konkret auf das verlinkte Beispiel bezogen, eine Liste der Devices mit /batter.*/ im Reading, per RegEx gefiltert:
defmod di_battery DOIF ##
attr di_battery state [@":batter.*":"batter.*":$_]