Mehrere Gerätes eines Types und Namensschemas finden und Attribut setzen

Begonnen von prodigy7, 03 September 2017, 09:41:25

Vorheriges Thema - Nächstes Thema

prodigy7

Guten Morgen,

ich habe mir vor längerem mal ein Skript gebastelt, dass bei geöffneten Fenstern alle 5 Minuten eine Ansage bringt, dass die Fenster geschlossen werden sollen. Funktioniert soweit, auch unter Einbeziehung dass die Ansage nur bei 16 Grad oder Kälter kommt, ich würde aber gerne noch eine Funktion nachrüsten, dass man temporär die Ansage stumm schalten kann.
Betreffen würde es die AT Kommandos, die im Hintergrund gesetzt sind und die ich via list TYPE=at:FILTER=.*.Reminder bekomme. Ich möchte nun einfach nur bei den Devices, die von dem AT Befehl abgefragt werden, ob die noch geöffnet sind, ein Attribut setzen (z.B. keepQuiet). Ist das gesetzt, wird die Funktion ruhig bleiben die sonst die Sprachausgabe macht. Kann ich "irgendwie" den Befehl list innerhalb der Perl Funktion die ich in 99_myUtils.pm definieren würde, in einer for each Liste durchlaufen?
Mir fehlt gerade der (wahrscheinlich sehr kleine) Denkanstoß wie das ginge. Vielleicht geht es auch vollständig mit einem FHEM Einzeiler das Setzen des Attributes?

Grüße, p7

prodigy7

Okay, Beispiel in der Datei ./FHEM/98_powerMap.pm gefunden:
                    foreach ( devspec2array("TYPE=$TYPE:FILTER=$ta=$tm") ) {
                        next if ( $maps{$_} );

                        if ( $m->{map} ) {
                            next unless ( keys %{ $m->{map} } );
                            $maps{$_} = $m;
                        }
                        else {
                            next unless ( keys %{$m} );
                            $maps{$_}{map} = $m;
                        }
                    }

CoolTux


my @listAT=devspec2array("TYPE=at:FILTER=.*.Reminder");


Gerade ungetestet. Sollte aber gehen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net