FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: Sailor am 31 Januar 2020, 10:50:03

Titel: def Befehl filtern
Beitrag von: Sailor am 31 Januar 2020, 10:50:03
Ein herzerfrischendes "Moin" vom hintern Deich vorweg!

Ich habe mal wieder eine Denkblockade und hoffe Ihr könnt mir diese aushebeln.

Der Befehl
{join("\n", grep {$defs{$_}} keys %defs)}liefert mir ganz brav alle Namen der definierten devices.

Wie kann ich diesen Befehl erweitern, so dass nur alle Namen beginnend mit ".*_SmokeDetector" ausgegeben werden_

Danke für die Hilfe...

Gruss
    Sailor
Titel: Antw:def Befehl filtern
Beitrag von: rudolfkoenig am 31 Januar 2020, 11:24:40
{join("\n", grep /^.*_SmokeDetector/, keys %defs)}Oder:
{join("\n", devspec2array(".*_SmokeDetector.*"))}Achtung: Letzteres liefert bei leeren Menge ".*_SmokeDetector.*" zurueck.
Titel: Antw:def Befehl filtern
Beitrag von: Sailor am 31 Januar 2020, 12:01:06
Hallo Rudi

{join("\n", devspec2array(".*_SmokeDetector.*"))}Achtung: Letzteres liefert bei leeren Menge ".*_SmokeDetector.*" zurueck.

devspec2array... Das war es, was mir nicht einfiel!
Danke!

Soll ich mal das Wiki für "list" entsprechend updaten?

Gruss
    Sailor

Titel: Antw:def Befehl filtern
Beitrag von: rudolfkoenig am 31 Januar 2020, 12:04:12
Wenn Du meinst, dass es da sinnvoll ist, dann ja.
Ich versuche mich in wiki Angelegenheiten nicht einzumischen.