In meinen beiden geerbten Modulen wird jeweils in der sub Define auch AssignIOPort($hash) aufgerufen. Bisher habe ich wenig Gedanken daran verschwendet warum, ala wird schon richtig sein denn wir brauchen ja später ein IODev. Da ich z.Z. einen Fehler suche habe ich das beim 10_MAX.pm Modul mal auskommentiert und war doch etwas überrascht das nach einem Restart noch alles lief. Wenn ich das nun richtig sehe/lese wird AssignIOPort eh von fhem.pl beim Start aufgerufen wenn das Device ein Attribut IODev hat. D.h. ein eigener Aufruf ist unnötig ? zumindest würde das erklären warum ein grep AssignIOPort *.pm so wenig andere Module zeigt.
Beim 14_CUL_MAX.pm kann das vernutlich im Define auch entfallen, mit einer Ausnahme :
Da ich das Modul umgebaut habe das es mit mehr als einem CUL als IODev arbeiten kann rufe ich zum Wechseln des aktuellen CULs AssignIOPort auf.
Allerdings nicht nur mit dem $hash sondern auch dem zweiten Parameter proposed und der ist dann vorbesetzt mit dem neuen "Wunsch" CUL Device.
Wenn ich hier die sub wieder richtig lese, ist das lediglich ein Wunsch, d.h. schlägt dieser Versuch fehl greif wieder das eigenliche IODev unter dem Attribut.
Habe ich das soweit richtig verstanden ? Bzw. hat jemand eine mögliche Erklärung dafür warum M.Gehre das damals mit ins Define gepackt hat ?