gibt es eigentlich schon eine möglichkeit für das autocreate ein IODev vorzugeben oder auszuschließen?
bei mehreren jeelinks ist es in der regel so das sie mit unterschiedlichen sketches laufen und nicht kompatibel sind. der default immer das letzte 'passende' IODev zu verwenden passt also recht wahrscheinlich nicht. es wäre schöner wenn man beim triggern des autocreate das device mit angeben könnte über das die nachricht reingekommen ist.
gruss
andre
Du kannst $modules{JeeLink}{AutoCreate}{ATTR} = "IODev:$hash->{NAME}" vor der "UNDEFINED" Zeile in ParseFn setzen, das hat aber (vermutlich vernachlaessigbare) Nebenwirkungen, falls autocreate nicht definiert ist.
Oder in der UNDEFINED Zeile als letztes Argument, und JeeLink::DefFn setzt IODev direkt, statt AssignIODev aufzurufen und modifiziert DEF.
Ja, ich kann mich noch an deinem [] Vorschlag erinnern, das waere hier praktisch :) Ist aber nicht einfach ihn fehlerfrei zu implementieren, da du Attribute gesetzt haben willst, bevor DefFn aufgerufen wurde. D.h. AssignIoPort darf nichts machen, falls das Attribut schon gesetzt ist, usw.
ich wollte ja nur hören ob du dich an den [] vorschlag noch erinnerst :)
im ernst: da hätte ich auch selbst drauf kommen können. ich hänge es einfach an die UNDEFINED zeile mit ran und schmeiss es aus dem DEF wieder raus.
ich habe gerade gesehen das das .clientArray nicht aktualisiert wird wenn man das IODev nachträglich per attribut bzw. CommandAttr setzt. ist das so beabsichtigt?
da das setzen des IODev per name statt über durchsuchen der client liste mit allen fehlerprüfungen und .clientArray löschen doch recht lang wird und ich es jetzt schon in drei modulen brauche hab ich es in ein AssignIoPortByName() gesteckt. wäre das nicht etwas zentral für fhem.pl? gleich mit fallback auf AssignIoPort() wenn es nicht geklappt hat?
CommandAttr: habs geaendert
AssignIoPortByName: habs als optionalen Parameter in AssignIoPortByName eingebaut.
danke!
du hast zwar all meine schönen möglichen fehlermeldungen nicht. aber wenn es zentral ist bin ich ja nicht schuld :)
wäre das nicht auch etwas um es im autocreate für fs20, hm und max zu verwenden damit die devices auf dem richtigen cul landen ?
achso: sollte man nicht im proposed fall (und vielleicht sogar auch beim automatisch suchen) das IODev attribut gleich einzutragen damit das IODev beim neustart erhalten bleibt? sonst geht nach dem anstecken und dem autocreate erst mal und nach dem neustart eventuell nicht mehr.
Habs eingebaut und eingecheckt.
danke!