[00_HMLAN] fix: verhinderung mehrfacher io-zuweisungen (assignments)

Begonnen von frank, 08 August 2023, 10:41:30

Vorheriges Thema - Nächstes Thema

frank

moin.

seit jahren beobachte ich immer mal wieder, dass irgend ein device plötzlich vermehrt kommunikationsprobleme zeigt, weil nun 2 io gemeinsam ACKs senden.

es braucht allerdings 2 unabhängige ereignisse, dass es dazu kommt:

1. zeile 702 in HMLAN_Parse trägt bei jedem empfang einer anlernmessage das sendende device in die liste helper/ids ein. also auch devices, die diesem io regulär nicht zugewiesen werden sollen.
dadurch wird das io zwar noch nicht direkt mit dem device assigned, wird aber quasi "scharf" gemacht.

2. kommt es anschliessend zu einem reassign des io, eventuell erst wochen später, werden dann alle devices dieser liste dem io zugeordnet.


ich habe bei mir zeile 702 nun etwas beschränkt.
    # config message: reset timer handling
    # $hash->{helper}{ids}{$src}{flg} = 0 if ($type eq "00");
    $hash->{helper}{ids}{$src}{flg} = 0 if (defined $hash->{helper}{ids}{$src} && $type eq "00"); #frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html