FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Nano_ am 29 Juni 2016, 15:19:14

Titel: alle Device Names in Perl Array
Beitrag von: Nano_ am 29 Juni 2016, 15:19:14
Wie komme ich an die Namen aller aktuell definierten fhem-Devices (oder z.B. alle Rollladen.*) von einer Perl-Subroutine aus, um sie z.B in einem Array weiterzuverabeiten? 
Ich habe dazu im Forum nichts finden können.
Titel: Antw:alle Device Names in Perl Array
Beitrag von: jmike am 29 Juni 2016, 15:33:11
Hi.

in $defs müsstest du alles finden, z.b. $defs{"Rolladen_Tuere"} beinhaltet das device.
Da kannst du dir sicher mit ner Schleife was basteln.

Oder jemand hat noch eine bessere Idee.

mike
Titel: Antw:alle Device Names in Perl Array
Beitrag von: Ellert am 29 Juni 2016, 15:41:25
my @alle = keys %defs;
Titel: Antw:alle Device Names in Perl Array
Beitrag von: betateilchen am 29 Juni 2016, 15:54:52
und wenn man nur ein Array einer bestimmten Teilmenge haben möchte:


my @teilmenge = defInfo('TYPE=notify','NAME');


liefert ein array mit allen notify devices.
Titel: Antw:alle Device Names in Perl Array
Beitrag von: Nano_ am 29 Juni 2016, 16:31:41
Perfekt!   :)

In meinem Bsp. für alle Rollladen.* also:


my @teilmenge = defInfo('NAME=Rollladen.*','NAME');