FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: HansDampfHH am 11 Februar 2017, 10:51:30

Titel: Notify für devices mit userattr
Beitrag von: HansDampfHH am 11 Februar 2017, 10:51:30
Hallo, ich habe ziemlich viele Funk-Steckdosen.
Die verwende ich immer wieder für unterschiedliche Aufgaben.

Ich würde gerne jeder Steckdose ein userattr zuweisen.
Zum Beispiel userattr Licht und dann per notify alle Steckdosen schalten, die dieses Attribut haben.

Meine Frau wechselt gerne mal die Beleuchtung und ich möchte gerne die Beleuchtungsszenarien ändern. Da wäre es einfacher nur schnell das Attribut zu setzen als jedes mal eine structure.

Wie kann ich am einfachsten alle Devices bekommen mit einem bestimmten userattr?
Wäre da für einen Hinweis, auch gerne nur auf die Commandref, dankbar.
Titel: Antw:Notify für devices mit userattr
Beitrag von: DeeSPe am 11 Februar 2017, 11:43:20
Das geht mit Perl und devspec2array.

Nehmen wir an Du setzt ein userattr "automation" auf "Licht".
my @devices = devspec2array("automation=Licht")
Jetzt hättest Du in @devices ein Array mit allen Devices bei denen "automation" auf "Licht" gesetzt ist.
Über ein weiteres foreach könntest Du alle Device Namen herausholen und als Liste ausgeben.
my @names;
foreach my $dev (@devices)
{
  push @names,$dev->{NAME};
}
my $lichterliste = join(",",@names);


Nun hast Du eine kommaseparierte Liste der Devicenamen in $lichterliste.

Gruß
Dan
Titel: Antw:Notify für devices mit userattr
Beitrag von: justme1968 am 11 Februar 2017, 11:56:11
schau dir in der commandref bei devspec den FILTER an.

set .*:FILTER=automation=Licht ...

gruss
  andre
Titel: Antw:Notify für devices mit userattr
Beitrag von: HansDampfHH am 11 Februar 2017, 21:15:12
Hey klasse, die Variante mit dem Filter ist es geworden.
Vielen  Dank für den Hinweis !!!