Manchmal sucht man bestimmte Daten aus mehreren Devices, um damit weiterzuarbeiten.
Dazu habe ich mir folgende kleine Funktion gebaut, die ich zur Zeit in meiner 99_myUtils.pm eingebaut habe:
sub defInfo($;$) {
my ($search,$internal) = @_;
$internal = 'DEF' unless defined($internal);
my @ret;
my @etDev = devspec2array($search);
foreach my $d (@etDev) {
next unless $d;
push @ret, $defs{$d}{$internal};
}
return @ret;
}
Die Funktion wird z.B. so aufgerufen:
my @gplotFiles = defInfo('TYPE=SVG','GPLOTFILE');
Man erhält als Rückgabe ein array, das die Namen aller in der aktuellen Konfiguration verwendeten gplot-Dateien enthält.
Der erste Parameter folgt der devspec Logik.
Der zweite Aufrufparameter ist optional, fehlt dieser, wird DEF ausgelesen.
In der configDB verwende ich diese Vorgehensweise, um bei der Migration (beispielsweise) alle verwendeten gplot-Files zu ermitteln und diese automatisch in die Datenbank zu importieren.
Mein Vorschlag wäre, diese Funktion entweder in die 99_Utils.pm oder sogar in die fhem.pl aufzunehmen, da sie an vielen Stellen die Arbeit erleichtern kann.
Habe auch etwas in der Art. Finde den Vorschlag gut.
Habs in 99_Utils.pm eingefuegt.
super, danke.
Dann kann ich ja morgen abend testen, ob das (neue) update der 99_Utils.pm korrekt funktioniert, falls diese Datei in der configDB abgelegt ist :)