[cul_hm] patch: fehlende A112 msg beim abarbeiten der autoReadReg-wakeup-queue

Begonnen von frank, 14 Februar 2022, 15:45:36

Vorheriges Thema - Nächstes Thema

frank

hallo martin,
folgendes problem:

in folge eines fehlgeschlagenen regset mit automatischem getconfig bei einem hm-cc-vd stellt fhem fest, dass daten fehlen:
configCheck done:

missing register list
    Ventil.AZ.Nord: RegL_05.

peer list incomplete. Use getConfig to read it.
    Ventil.AZ.Nord:

peer not verified. Check that peer is set on both sides
    VentilControler.AZ.Nord_Btn1: p:Ventil.AZ.Nord


die entities kommen in die autoreadtest-queue:
    CUL_HM queue length:0

    requests pending
    ----------------
    autoReadReg          :
        recent           : none
    status request       :
    autoReadReg wakeup   :
    status request wakeup:
    autoReadTest         : VentilControler.AZ.Nord_Btn1 Ventil.AZ.Nord


nach ablauf des timers:
Mon Feb 14 12:50:41    1455: CUL_HM_complConfigTO          :CUL_HM_complConfigTO

wird autoReadReg wakeup gefüllt:
    CUL_HM queue length:0

    requests pending
    ----------------
    autoReadReg          :
        recent           : none
    status request       :
    autoReadReg wakeup   : Ventil.AZ.Nord
    status request wakeup:
    autoReadTest         :


diverse eingebaute logausgaben zeigen, dass das io zunächst korrekt präpariert wird (VAR1=>{helper}{prt}, VAR2 => {helper}{io}). zb am ende von CUL_HM_qEntity():
  else {
    CUL_HM_hmInitMsgUpdt($defs{$devN}, 1) if ($rxt & 0x18); #wakeup prep for wakeup, lazyConfig
Log(1,"----- CUL_HM_qEntity-$devN-00 ----- => ".Dumper($defs{$devN}->{helper}{prt}, $defs{$devN}->{helper}{io}))
if($defs{$devN}->{DEF} eq '1C4E25' || $defs{$devN}->{DEF} eq '20DFE1');
  }


das ergibt beim befüllen von autoReadReg folgende ausgabe:
2022.02.14 13:22:19.335 1 : ----- CUL_HM_qEntity-Ventil.AZ.Nord-00 ----- => $VAR1 = {
          'tryMsg' => {},
          'sProc' => 0,
          'bErr' => 0
        };
$VAR2 = {
          'flgs' => 2,
          'prefIO' => [
                        'cul868',
                        'hmlan1'
                      ],
          'rxt' => 2,
          'vccu' => 'ccu',
          'newChn' => '+1C4E25,02,00,00',
          'nextSend' => '1644841306.27985',
          'sendWu' => 1,
          'p' => [
                   '1C4E25',
                   '00',
                   '00',
                   '00'
                 ]
        };



soweit scheint alles "normal" zu laufen.
beim ansteuern des vd durch einen virtuellen tc kommt es nun aber zum problem.
das wecken des vd setzt das io nun leider wieder zurück, so dass im folgenden keine A112 msg gesendet wird.
das passiert scheinbar durch den aufruf von CUL_HM_protState("processing").
dadurch schläft der vd zu früh ein, die liste wird erneut nicht erfolgreich gelesen, .....
so kommt es zu ständigem nicht erfolgreichem auslesen des vd im halbstündigem rythmus.

hier der einbau der 3 logmeldungen in CUL_HM_protState:
sub CUL_HM_protState($$){
  my ($hash,$state) = @_;
  my $name = $hash->{NAME};

  Log(1,"----- CUL_HM_protState-$name-00 ----- => ".Dumper($hash->{helper}{prt}, $hash->{helper}{io}))
    if($hash->{DEF} eq '1C4E25' || $hash->{DEF} eq '20DFE1');
  my $sProcIn = $hash->{helper}{prt}{sProc};
  $sProcIn = 0 if(!defined $sProcIn);
  if ($sProcIn == 3){#FW update processing
    # do not change state - commandstack is bypassed
    return if ( $state !~ m/(Info_Cleared|_FWupdate)/);
  }
  if   ($state =~ m/processing/) {
    $hash->{helper}{prt}{sProc} = 1;
  }
  elsif($state =~ m/^CMDs_done/) {
    $state .= ($hash->{helper}{prt}{bErr}?
                            ("_Errors:".$hash->{helper}{prt}{bErr})
                            :"");
    delete($hash->{cmdStack});
    delete($hash->{protCmdPend});
    $hash->{helper}{prt}{bErr}  = 0;
    $hash->{helper}{prt}{sProc} = 0;
    $hash->{helper}{prt}{awake} = 0 if (defined $hash->{helper}{prt}{awake});
  }
  elsif($state eq "Info_Cleared"){
    $hash->{helper}{prt}{sProc} = 0;
    $hash->{helper}{prt}{awake} = 0 if (defined $hash->{helper}{prt}{awake});
  }
  elsif($state eq "CMDs_pending"){
    $hash->{protCmdPend} = (defined($hash->{cmdStack}) ? scalar(@{$hash->{cmdStack}})
                                                       : '0')." CMDs_pending";
    $hash->{helper}{prt}{sProc} = 2;
  }
  elsif($state eq "CMDs_FWupdate"){
    $hash->{helper}{prt}{sProc} = 3;
  }
  $hash->{protState} = $state;
 
  if(AttrVal($name,"commStInCh","on") eq "on"){
    CUL_HM_UpdtReadSingle($defs{$_},"commState",$state,1) foreach(CUL_HM_getAssChnNames($name));#trigger for all channels required due to bad hierarchical structure of FHEM 
  }
  else{
    CUL_HM_UpdtReadSingle($defs{$name},"commState",$state,1) ;
  }

  if (!$hash->{helper}{role}{chn}){
    CUL_HM_UpdtReadSingle($hash,"state",$state,
                          ($hash->{helper}{prt}{sProc} == 1)?0:1);
  }
  Log3 $name,5,"CUL_HM $name protEvent:$state".
            ($hash->{cmdStack}?" pending:".scalar @{$hash->{cmdStack}}:"");
  Log(1,"----- CUL_HM_protState-$name-01 ----- => ".Dumper($hash->{helper}{prt}, $hash->{helper}{io}))
    if($hash->{DEF} eq '1C4E25' || $hash->{DEF} eq '20DFE1');
  CUL_HM_hmInitMsgUpdt($hash) if (  $hash->{helper}{prt}{sProc} != $sProcIn
                                  && (   $hash->{helper}{prt}{sProc} < 2
                                      ||($hash->{helper}{prt}{sProc} == 2 && $sProcIn == 0 )));
  Log(1,"----- CUL_HM_protState-$name-02 ----- => ".Dumper($hash->{helper}{prt}, $hash->{helper}{io}))
    if($hash->{DEF} eq '1C4E25' || $hash->{DEF} eq '20DFE1');
}



und das resultat des sniffs
2022.02.14 13:23:53.974 5 : cul868 sending As0B38A258B5B5B51C4E250000
2022.02.14 13:23:53.976 5 : DevIo_SimpleWrite cul868: As0B38A258B5B5B51C4E250000
2022.02.14 13:23:53.980 1 : ----- CUL_HM_protState-Ventil.AZ.Nord-00 ----- => $VAR1 = {
          'rspWait' => {
                         'reSent' => '1',
                         'cmd' => 'As0B38A258B5B5B51C4E250000',
                         'mNo' => '56',
                         'fromSrc' => 'B5B5B5'
                       },
          'tryMsg' => {},
          'sProc' => 0,
          'bErr' => 0
        };
$VAR2 = {
          'flgs' => 2,
          'prefIO' => [
                        'cul868',
                        'hmlan1'
                      ],
          'rxt' => 2,
          'vccu' => 'ccu',
          'newChn' => '+1C4E25,02,00,00',
          'nextSend' => '1644841434.03587',
          'sendWu' => 1,
          'p' => [
                   '1C4E25',
                   '00',
                   '00',
                   '00'
                 ]
        };
2022.02.14 13:23:54.012 1 : ----- CUL_HM_protState-Ventil.AZ.Nord-01 ----- => $VAR1 = {
          'rspWait' => {
                         'reSent' => '1',
                         'cmd' => 'As0B38A258B5B5B51C4E250000',
                         'mNo' => '56',
                         'fromSrc' => 'B5B5B5'
                       },
          'tryMsg' => {},
          'sProc' => 1,
          'bErr' => 0
        };
$VAR2 = {
          'flgs' => 2,
          'prefIO' => [
                        'cul868',
                        'hmlan1'
                      ],
          'rxt' => 2,
          'vccu' => 'ccu',
          'newChn' => '+1C4E25,02,00,00',
          'nextSend' => '1644841434.03587',
          'sendWu' => 1,
          'p' => [
                   '1C4E25',
                   '00',
                   '00',
                   '00'
                 ]
        };
2022.02.14 13:23:54.014 1 : ----- CUL_HM_protState-Ventil.AZ.Nord-02 ----- => $VAR1 = {
          'rspWait' => {
                         'reSent' => '1',
                         'cmd' => 'As0B38A258B5B5B51C4E250000',
                         'mNo' => '56',
                         'fromSrc' => 'B5B5B5'
                       },
          'tryMsg' => {},
          'sProc' => 1,
          'bErr' => 0
        };
$VAR2 = {
          'flgs' => 0,
          'prefIO' => [
                        'cul868',
                        'hmlan1'
                      ],
          'rxt' => 2,
          'vccu' => 'ccu',
          'newChn' => '+1C4E25,00,00,00',
          'nextSend' => '1644841434.03587',
          'p' => [
                   '1C4E25',
                   '00',
                   '00',
                   '00'
                 ]
        };
2022.02.14 13:23:54.017 0 : HMLAN_Parse: hmlan1 R:EB5B5B5   stat:0000 t:6C762701 d:FF r:FFD5     m:38 A258 B5B5B5 1C4E25 0000
2022.02.14 13:23:54.026 0 : HMUARTLGW hmuart1 recv: 01 05 00 00 11 msg: 38 A2 58 B5B5B5 1C4E25 0000
2022.02.14 13:23:54.164 0 : HMUARTLGW hmuart1 recv: 01 05 00 00 4C msg: 38 82 02 1C4E25 B5B5B5 010100004B
2022.02.14 13:23:54.168 1 : ----- ACK-Ventil.AZ.Nord-00 ----- => $VAR1 = {
          'rspWait' => {
                         'reSent' => '1',
                         'cmd' => 'As0B38A258B5B5B51C4E250000',
                         'mNo' => '56',
                         'fromSrc' => 'B5B5B5'
                       },
          'tryMsg' => {},
          'sProc' => 1,
          'bErr' => 0
        };
$VAR2 = {
          'flgs' => 0,
          'prefIO' => [
                        'cul868',
                        'hmlan1'
                      ],
          'rxt' => 2,
          'vccu' => 'ccu',
          'newChn' => '+1C4E25,00,00,00',
          'nextSend' => '1644841434.25961',
          'p' => [
                   '1C4E25',
                   '00',
                   '00',
                   '00'
                 ]
        };
2022.02.14 13:23:54.170 3 : CUL_HM set Ventil.AZ.Nord getConfig noArg
2022.02.14 13:23:54.175 1 : ----- ACK-Ventil.AZ.Nord-05 ----- => $VAR1 = {
          'tryMsg' => {},
          'sProc' => 1,
          'bErr' => 0
        };
2022.02.14 13:23:54.176 5 : cul868 sending As1039A0011ACE1F1C4E2500040000000000
2022.02.14 13:23:54.177 5 : CUL 1C4E25 dly:82ms
2022.02.14 13:23:54.260 5 : DevIo_SimpleWrite cul868: As1039A0011ACE1F1C4E2500040000000000
2022.02.14 13:23:54.264 1 : ----- CUL_HM_protState-Ventil.AZ.Nord-00 ----- => $VAR1 = {
          'rspWait' => {
                         'forChn' => '00',
                         'nAddr' => '0',
                         'cmd' => 'As1039A0011ACE1F1C4E2500040000000000',
                         'forList' => '00',
                         'Pending' => 'RegisterRead',
                         'reSent' => '1',
                         'forPeer' => '',
                         'mNo' => '57'
                       },
          'tryMsg' => {},
          'sProc' => 1,
          'bErr' => 0
        };
$VAR2 = {
          'flgs' => 0,
          'prefIO' => [
                        'cul868',
                        'hmlan1'
                      ],
          'rxt' => 2,
          'vccu' => 'ccu',
          'newChn' => '+1C4E25,00,00,00',
          'nextSend' => '1644841434.31961',
          'p' => [
                   '1C4E25',
                   '00',
                   '00',
                   '00'
                 ]
        };
2022.02.14 13:23:54.266 1 : ----- CUL_HM_protState-Ventil.AZ.Nord-01 ----- => $VAR1 = {
          'rspWait' => {
                         'forChn' => '00',
                         'nAddr' => '0',
                         'cmd' => 'As1039A0011ACE1F1C4E2500040000000000',
                         'forList' => '00',
                         'Pending' => 'RegisterRead',
                         'reSent' => '1',
                         'forPeer' => '',
                         'mNo' => '57'
                       },
          'tryMsg' => {},
          'sProc' => 1,
          'bErr' => 0
        };
$VAR2 = {
          'flgs' => 0,
          'prefIO' => [
                        'cul868',
                        'hmlan1'
                      ],
          'rxt' => 2,
          'vccu' => 'ccu',
          'newChn' => '+1C4E25,00,00,00',
          'nextSend' => '1644841434.31961',
          'p' => [
                   '1C4E25',
                   '00',
                   '00',
                   '00'
                 ]
        };
2022.02.14 13:23:54.267 1 : ----- CUL_HM_protState-Ventil.AZ.Nord-02 ----- => $VAR1 = {
          'rspWait' => {
                         'forChn' => '00',
                         'nAddr' => '0',
                         'cmd' => 'As1039A0011ACE1F1C4E2500040000000000',
                         'forList' => '00',
                         'Pending' => 'RegisterRead',
                         'reSent' => '1',
                         'forPeer' => '',
                         'mNo' => '57'
                       },
          'tryMsg' => {},
          'sProc' => 1,
          'bErr' => 0
        };
$VAR2 = {
          'flgs' => 0,
          'prefIO' => [
                        'cul868',
                        'hmlan1'
                      ],
          'rxt' => 2,
          'vccu' => 'ccu',
          'newChn' => '+1C4E25,00,00,00',
          'nextSend' => '1644841434.31961',
          'p' => [
                   '1C4E25',
                   '00',
                   '00',
                   '00'
                 ]
        };
2022.02.14 13:23:54.270 1 : ----- ACK-Ventil.AZ.Nord-06 ----- => $VAR1 = {
          'rspWait' => {
                         'forChn' => '00',
                         'nAddr' => '0',
                         'cmd' => 'As1039A0011ACE1F1C4E2500040000000000',
                         'forList' => '00',
                         'Pending' => 'RegisterRead',
                         'reSent' => '1',
                         'forPeer' => '',
                         'mNo' => '57'
                       },
          'tryMsg' => {},
          'sProc' => 1,
          'bErr' => 0
        };
2022.02.14 13:23:54.302 0 : HMLAN_Parse: hmlan1 R:E1C4E25   stat:0000 t:6C762782 d:FF r:FFBF     m:38 8202 1C4E25 B5B5B5 010100004B
2022.02.14 13:23:54.305 4 : CUL_Parse: cul868 A 0E 38 8202 1C4E25 B5B5B5 010100004BF5 -79.5
2022.02.14 13:23:54.307 5 : cul868: dispatch A0E3882021C4E25B5B5B5010100004B::-79.5:cul868
2022.02.14 13:23:54.402 0 : HMUARTLGW hmuart1 recv: 01 05 00 00 11 msg: 39 A0 01 1ACE1F 1C4E25 00040000000000
2022.02.14 13:23:54.407 0 : HMLAN_Parse: hmlan1 R:E1ACE1F   stat:0000 t:6C762821 d:FF r:FFD5     m:39 A001 1ACE1F 1C4E25 00040000000000
2022.02.14 13:23:54.423 4 : CUL_Parse: cul868 A 14 39 8010 1C4E25 1ACE1F 0202010A1A0BCE0C1F0000F5 -79.5
2022.02.14 13:23:54.424 5 : cul868: dispatch A143980101C4E251ACE1F0202010A1A0BCE0C1F0000::-79.5:cul868
2022.02.14 13:23:54.431 1 : ----- ACK-Ventil.AZ.Nord-05 ----- => $VAR1 = {
          'tryMsg' => {},
          'sProc' => 1,
          'bErr' => 0
        };
2022.02.14 13:23:54.432 5 : cul868 sending As0B49A0011ACE1F1C4E250103
2022.02.14 13:23:54.433 5 : CUL 1C4E25 dly:90ms
2022.02.14 13:23:54.525 5 : DevIo_SimpleWrite cul868: As0B49A0011ACE1F1C4E250103
2022.02.14 13:23:54.528 1 : ----- CUL_HM_protState-Ventil.AZ.Nord-00 ----- => $VAR1 = {
          'sProc' => 1,
          'bErr' => 0,
          'tryMsg' => {},
          'rspWait' => {
                         'cmd' => 'As0B49A0011ACE1F1C4E250103',
                         'reSent' => '1',
                         'mNo' => '73',
                         'Pending' => 'PeerList',
                         'forChn' => '01'
                       }
        };
$VAR2 = {
          'flgs' => 0,
          'prefIO' => [
                        'cul868',
                        'hmlan1'
                      ],
          'rxt' => 2,
          'vccu' => 'ccu',
          'newChn' => '+1C4E25,00,00,00',
          'nextSend' => '1644841434.58428',
          'p' => [
                   '1C4E25',
                   '00',
                   '00',
                   '00'
                 ]
        };
2022.02.14 13:23:54.530 1 : ----- CUL_HM_protState-Ventil.AZ.Nord-01 ----- => $VAR1 = {
          'sProc' => 1,
          'bErr' => 0,
          'tryMsg' => {},
          'rspWait' => {
                         'cmd' => 'As0B49A0011ACE1F1C4E250103',
                         'reSent' => '1',
                         'mNo' => '73',
                         'Pending' => 'PeerList',
                         'forChn' => '01'
                       }
        };
$VAR2 = {
          'flgs' => 0,
          'prefIO' => [
                        'cul868',
                        'hmlan1'
                      ],
          'rxt' => 2,
          'vccu' => 'ccu',
          'newChn' => '+1C4E25,00,00,00',
          'nextSend' => '1644841434.58428',
          'p' => [
                   '1C4E25',
                   '00',
                   '00',
                   '00'
                 ]
        };
2022.02.14 13:23:54.532 1 : ----- CUL_HM_protState-Ventil.AZ.Nord-02 ----- => $VAR1 = {
          'sProc' => 1,
          'bErr' => 0,
          'tryMsg' => {},
          'rspWait' => {
                         'cmd' => 'As0B49A0011ACE1F1C4E250103',
                         'reSent' => '1',
                         'mNo' => '73',
                         'Pending' => 'PeerList',
                         'forChn' => '01'
                       }
        };
$VAR2 = {
          'flgs' => 0,
          'prefIO' => [
                        'cul868',
                        'hmlan1'
                      ],
          'rxt' => 2,
          'vccu' => 'ccu',
          'newChn' => '+1C4E25,00,00,00',
          'nextSend' => '1644841434.58428',
          'p' => [
                   '1C4E25',
                   '00',
                   '00',
                   '00'
                 ]
        };
2022.02.14 13:23:54.534 1 : ----- ACK-Ventil.AZ.Nord-06 ----- => $VAR1 = {
          'sProc' => 1,
          'bErr' => 0,
          'tryMsg' => {},
          'rspWait' => {
                         'cmd' => 'As0B49A0011ACE1F1C4E250103',
                         'reSent' => '1',
                         'mNo' => '73',
                         'Pending' => 'PeerList',
                         'forChn' => '01'
                       }
        };
2022.02.14 13:23:54.566 0 : HMUARTLGW hmuart1 recv: 01 05 00 00 4C msg: 39 80 10 1C4E25 1ACE1F 0202010A1A0BCE0C1F0000
2022.02.14 13:23:54.570 0 : HMUARTLGW hmuart1 recv: 01 05 00 00 11 msg: 49 A0 01 1ACE1F 1C4E25 0103
2022.02.14 13:23:54.574 0 : HMLAN_Parse: hmlan1 R:E1C4E25   stat:0000 t:6C7628A1 d:FF r:FFBF     m:39 8010 1C4E25 1ACE1F 0202010A1A0BCE0C1F0000
2022.02.14 13:23:54.576 0 : HMLAN_Parse: hmlan1 R:E1ACE1F   stat:0000 t:6C762926 d:FF r:FFD5     m:49 A001 1ACE1F 1C4E25 0103
2022.02.14 13:23:59.224 1 : ----- CUL_HM_protState-Ventil.AZ.Nord-00 ----- => $VAR1 = {
          'sProc' => 1,
          'bErr' => 1,
          'tryMsg' => {},
          'rspWait' => {
                         'cmd' => 'As0B49A0011ACE1F1C4E250103',
                         'reSent' => 1,
                         'mNo' => '73',
                         'Pending' => 'PeerList',
                         'forChn' => '01'
                       }
        };
$VAR2 = {
          'flgs' => 0,
          'prefIO' => [
                        'cul868',
                        'hmlan1'
                      ],
          'rxt' => 2,
          'vccu' => 'ccu',
          'newChn' => '+1C4E25,00,00,00',
          'nextSend' => '1644841434.58428',
          'p' => [
                   '1C4E25',
                   '00',
                   '00',
                   '00'
                 ]
        };
2022.02.14 13:23:59.256 1 : ----- CUL_HM_protState-Ventil.AZ.Nord-01 ----- => $VAR1 = {
          'sProc' => 0,
          'bErr' => 0,
          'tryMsg' => {},
          'rspWait' => {
                         'cmd' => 'As0B49A0011ACE1F1C4E250103',
                         'reSent' => 1,
                         'mNo' => '73',
                         'Pending' => 'PeerList',
                         'forChn' => '01'
                       }
        };
$VAR2 = {
          'flgs' => 0,
          'prefIO' => [
                        'cul868',
                        'hmlan1'
                      ],
          'rxt' => 2,
          'vccu' => 'ccu',
          'newChn' => '+1C4E25,00,00,00',
          'nextSend' => '1644841434.58428',
          'p' => [
                   '1C4E25',
                   '00',
                   '00',
                   '00'
                 ]
        };
2022.02.14 13:23:59.258 1 : ----- CUL_HM_protState-Ventil.AZ.Nord-02 ----- => $VAR1 = {
          'sProc' => 0,
          'bErr' => 0,
          'tryMsg' => {},
          'rspWait' => {
                         'cmd' => 'As0B49A0011ACE1F1C4E250103',
                         'reSent' => 1,
                         'mNo' => '73',
                         'Pending' => 'PeerList',
                         'forChn' => '01'
                       }
        };
$VAR2 = {
          'flgs' => 0,
          'prefIO' => [
                        'cul868',
                        'hmlan1'
                      ],
          'rxt' => 2,
          'vccu' => 'ccu',
          'newChn' => '+1C4E25,00,00,00',
          'nextSend' => '1644841434.58428',
          'p' => [
                   '1C4E25',
                   '00',
                   '00',
                   '00'
                 ]
        };

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

frank

wenn ich am ende von CUL_HM_protState() die ausführung von CUL_HM_hmInitMsgUpdt() weiter einschränke, funktioniert es auch mit HM-CC-VD/vTC:

  CUL_HM_hmInitMsgUpdt($hash) if(     $hash->{helper}{prt}{sProc} != $sProcIn                   # only if sProc changed
                                 && !(   defined($hash->{helper}{io}{flgs})                     # frank: https://forum.fhem.de/index.php/topic,126197.0.html
                                      && $hash->{helper}{io}{flgs} & 0x02                       # not if wuPrep is active and any wuQueue is scheduled
                                      && (   $hash->{helper}{q}{qReqConf}
                                          || $hash->{helper}{q}{qReqStat}))
                                 &&  (   $hash->{helper}{prt}{sProc} < 2                        # any changing to idle/processing
                                      ||($hash->{helper}{prt}{sProc} == 2 && $sProcIn == 0 ))); # changing from idle to pending



edit: 10_CUL_HM.pm mit diesem patch und weiteren patches findet ihr hier: https://forum.fhem.de/index.php/topic,120857.msg1208516.html#msg1208516
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

frank

jetzt habe ich den "vorsichtigen" patch von gestern noch mal "radikal" umgebaut, da CUL_HM_hmInitMsgUpdt() noch viel zu oft unnötig aufgerufen wird:

  CUL_HM_hmInitMsgUpdt($hash) if(   $hash->{helper}{prt}{sProc} != $sProcIn                                  # sProc changed                # frank: https://forum.fhem.de/index.php/topic,126197.0.html
                                 && defined($hash->{helper}{io}{flgs}) && $hash->{helper}{io}{flgs} & 0x02   # wuPrep is active
                                 && !$hash->{helper}{q}{qReqConf} && !$hash->{helper}{q}{qReqStat}           # no wuQueue is scheduled
                                 && $hash->{helper}{prt}{sProc} < 2);                                        # any changing to idle/processing



ich teste das noch eine weile bei mir, bevor ich eine neue 10_cul_hm.pm bereit stelle.
bis jetzt sieht aber alles bestens aus.
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