Bug : 10_MAX.pm , attr ignore ohne Funktion ?

Begonnen von Wzut, 24 Oktober 2015, 19:02:47

Vorheriges Thema - Nächstes Thema

Wzut

Ich hatte die Tage meine MAX Geräte auf zwei verschiedene fhem Instanzen verteilt, dabei habe ich etlichen Geräten die jeweils am "falschen" fhem empfangen wurden das attr ignore 1 verpasst. Ich habe mich danach allerdings gewundert das für das betroffene Device immer noch die Readings aktualisiert wurden.
Eine Suche in 10_Max.pm nach ignore brachte mich auch nicht weiter bzw. wird dort das Attribut zwar definiert aber nicht abgefragt, daher habe mich in anderen Modulen umgeschaut wie das dort so behandelt wird und siehe da Rudi hat z.B. in seiner sub _Parse den folgenden Abschnitt :

my $def = $modules{HMS}{defptr}{$dev};
my $name = $def->{NAME};
return "" if(IsIgnored($name));

das übertragen auf das 10_MAX Modul habe ich in der sub MAX_Parse nach der Zeile :
my $shash = $modules{MAX}{defptr}{$addr};
noch diese Zeile eingefügt :
return "" if(IsIgnored($shash->{NAME}));
nach einem reload 10_MAX werden nun die MAX Devices mit attr ignore 1 auch wirklich ignoriert :)
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Wzut

Nachtrag : eventuell macht es mehr Sinn bereits in der 14_CUL_MAX anzusetzen und so erst gar nicht mehr in das 10_MAX Moduls bei ignorierten Geräten zu springen.
In der 14_CUL_MAX in der sub CUL_MAX_Parse direkt nach

#convert adresses to lower case
$src = lc($src);
$dst = lc($dst);

einfügen :
return $shash->{NAME} if (IsIgnored($modules{MAX}{defptr}{$src}{NAME}));
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Matthias Gehre

Eingecheckt, danke! Sorry für die Verzögerung.

Wzut

Prima, freut mich. Für welche Version hast dich denn nun entschieden ?
Bzw. wenn du CUL_MAX geändert hast müsste/sollte dann nicht auch MAXLAN nachgezogen werden ? ( Da ich meinen Cube umgebumst habe hatte ich die Art gar nicht mehr auf dem Radar) 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Matthias Gehre

Hab die CUL_MAX Version genommen. Beim Cube sollte man nicht das Problem haben, da der eh nur angelernte Geräte anzeigt.