[Erledigt] CUL_HM renamed a lot

Begonnen von grappa24, 20 August 2021, 08:24:34

Vorheriges Thema - Nächstes Thema

grappa24

Muss mich wohl mal mit dem ActionDetector befassen  ???

Gibts den schon "immer" oder wurde der nach einem der letzten updates automatisch angelegt?

Auf jeden Fall meldet der sich jetzt regelmäßig im Log mit folgenden Meldungen:
2021.08.19 18:34:06 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.19 18:34:07 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.19 18:34:08 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.19 18:34:09 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.19 18:34:10 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.19 18:34:10 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.19 18:36:17 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.19 18:36:17 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.19 18:36:18 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.19 18:36:19 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.19 18:36:20 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.19 18:36:21 3: NTFY return:  ActionDetector:CUL_HM renamed a lot


Frage: Was bedeuten diese Meldungen bzw. sind sie in irgend einer Form kritisch?
Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

HansDampfHH

Schließe ich mich an, diese Einträge sind mir heute im Log auch das erste mal aufgefallen.
Kann bisher nichts damit anfangen...
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

grappa24

hier mal das Modul aus 10_CUL_HM.pm was diese Meldungen erzeugt; leider bin ich nicht so fit, dass ich die Meldungen damit erklären könnte ...

sub CUL_HM_Notify(@){###############################
  my ($ntfy, $dev) = @_;
  #$ntfy - whom to notify
  #$dev  - who changed
  return undef if(  $dev->{NAME} eq $ntfy->{NAME}
                  ||$dev->{NAME} ne "global"
                 );# no notification about myself
  my $events = $dev->{CHANGED};
  return undef if(!$events); # Some previous notify deleted the array.
  my $cws = join(";#",@{$dev->{CHANGED}});
  foreach my $evnt(@{$events}){
    if($evnt =~ m/^(DELETEATTR)/){
    }
    elsif ($evnt =~ m/^(ATTR)/){#ATTR
      if($evnt =~ m/^ATTR (.*) ignore 1/){#ATTR ignore - was it the primary notification device?
        my (undef,$ent) =split(" ",$evnt);
        if ($ent eq $modules{CUL_HM}{helper}{primary}){
          $modules{CUL_HM}{helper}{primary} = ""; # force rescan 
          CUL_HM_primaryDev();
        }
      }
    }
    elsif ($evnt =~ m/^(DELETED|RENAMED) (.*?) ?/){
      my ($cmd,$ent,$new) =split(" ",$evnt." ");
      # $ent no longer exist
      # $new is the renamed (if rename)
      if (($evnt eq "DELETED" && $defs{$ent}{TYPE} eq "CUL_HM")
        ||($evnt eq "RENAMED" && $defs{$new}{TYPE} eq "CUL_HM")){
        CUL_HM_Rename($new,$ent) if($evnt eq "RENAMED");
        CUL_HM_primaryDev() if ($ent eq $modules{CUL_HM}{helper}{primary});
      }
      else{##------- update dependancies to IO devices used
        my @culHmDevs = grep{$defs{$_}{DEF} =~ m/^......$/} grep{$defs{$_}{TYPE} eq "CUL_HM"} keys %defs;
        ## ------ correct IOList and IOGrp
        foreach my $vccu (grep{AttrVal($_,"IOList","") =~ m/,?$ent/} @culHmDevs){# for each vccu
          my $ea = my $eaOld = AttrVal($vccu,"IOList","");
          $ea = join(",",map{my $foo = $_;$foo =~ s/$ent/$new/;$foo}
                         split(",",$ea));
          foreach my $HMdef(grep{AttrVal($_,"IOgrp","") =~ m/$vccu:.*$ent/} @culHmDevs){
            if($ea){#vccu still operational
              my (undef,$ios) = split(":",AttrVal($HMdef,"IOgrp",""));
              $ios = join(",",
                     grep{defined $defs{$_}}
                     map{my $foo = $_;$foo =~ s/$ent/$new/;$foo}
                     split(",",$ios)
                     );
              $attr{$HMdef}{IOgrp} = "$vccu:$ios";
            }
            else {# the vccu has no IO anymore - delete clients
              CommandDeleteAttr (undef,"$HMdef IOgrp") ;
            }
          }
          CommandAttr (undef,"$vccu IOList $ea")if ($ea ne $eaOld);
        }
        foreach my $HMdef (grep{AttrVal($_,"IODev","") eq $ent} @culHmDevs){# for each IODev
          CommandAttr (undef,"$HMdef IODev $new");
        }
      }
      return "CUL_HM renamed a lot";
    }
    elsif (!$modules{CUL_HM}{helper}{initDone} &&  $evnt =~ m/INITIALIZED/){# grep the first initialize
      CUL_HM_updateConfig("startUp");
      InternalTimer(1,"CUL_HM_setupHMLAN", "initHMLAN", 0);#start asap once FHEM is operational
    }
#    elsif($evnt =~ m/(DEFINED)/  ){ Log 1,"Info --- $dev->{NAME} -->$ntfy->{NAME} :  $evnt";}
#    elsif($evnt =~ m/(SHUTDOWN)/ ){ Log 1,"Info --- $dev->{NAME} -->$ntfy->{NAME} :  $evnt";}#SHUTDOWN|DELAYEDSHUTDOWN
#    elsif($evnt =~ m/(SAVE)/     ){ Log 1,"Info --- $dev->{NAME} -->$ntfy->{NAME} :  $evnt";}
#    elsif($evnt =~ m/(REREADCFG)/){ Log 1,"Info --- $dev->{NAME} -->$ntfy->{NAME} :  $evnt";}
#    elsif($evnt =~ m/(MODIFIED)/ ){ Log 1,"Info --- $dev->{NAME} -->$ntfy->{NAME} :  $evnt";}
#    else                          { Log 1,"Info --- $dev->{NAME} -->$ntfy->{NAME} :  $evnt";}

  }   

  return undef;
}
Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

frank

hast du denn auch ein "echtes" problem?
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

grappa24

nicht wirklich  :).  Ich möchte es nur verstehen, wer und was da umbenannt wird.
Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

connormcl

Zitat von: frank am 23 August 2021, 11:21:52
hast du denn auch ein "echtes" problem?

Nach ca. einem Jahr hat er dann schon 2 GB nur durch diesen Logtext erzeugt :)

HansDampfHH

Ich finde es auch legitim zu hinterfragen was so eine Meldung bedeutet. Das etwas renamed wird klingt erst mal irritierend.
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

grappa24

Ich hab jetzt bei allen HM-Devices die attribute actCycle gelöscht, weil ich dachte, der ActionDetector gibt dann Ruhe, aber diese "renamed a lot" Meldungen kommen unbeeindruckt weiter und müllen mir mein Logfile zu - wäre für Hilfe dazu wirklich dankbar.
Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

Beta-User

Na ja, wenn ich das richtig verstanden habe, wird die Zeile bei jedem Rename-Event geschrieben, völlig egal, ob es was mit CUL_HM (oder einem der verwendeten IO's) zu tun hat oder nicht.

Hier ein Reparaturversuch:
sub CUL_HM_Notify(@){###############################
  my ($ntfy, $dev) = @_;
  #$ntfy - whom to notify
  #$dev  - who changed
  return undef if(  $dev->{NAME} eq $ntfy->{NAME}
                  ||$dev->{NAME} ne "global"
                 );# no notification about myself
  my $events = $dev->{CHANGED};
  return undef if(!$events); # Some previous notify deleted the array.
  #my $cws = join(";#",@{$dev->{CHANGED}});
  my $count;
  foreach my $evnt(@{$events}){
    if($evnt =~ m/^(DELETEATTR)/){
    }
    elsif ($evnt =~ m/^(ATTR)/){#ATTR
      if($evnt =~ m/^ATTR (.*) ignore 1/){#ATTR ignore - was it the primary notification device?
        my (undef,$ent) =split(" ",$evnt);
        if ($ent eq $modules{CUL_HM}{helper}{primary}){
          $modules{CUL_HM}{helper}{primary} = ""; # force rescan 
          CUL_HM_primaryDev();
          $count++;
        }
      }
    }
    elsif ($evnt =~ m/^(DELETED|RENAMED) (.*?) ?/){
      my ($cmd,$ent,$new) =split(" ",$evnt." ");
      # $ent no longer exist
      # $new is the renamed (if rename)
      if (($evnt eq "DELETED" && $defs{$ent}{TYPE} eq "CUL_HM")
        ||($evnt eq "RENAMED" && $defs{$new}{TYPE} eq "CUL_HM")){
        CUL_HM_Rename($new,$ent) if($evnt eq "RENAMED");
        CUL_HM_primaryDev() if ($ent eq $modules{CUL_HM}{helper}{primary});
        $count++;
      }
      else{##------- update dependancies to IO devices used
        my @culHmDevs = grep{$defs{$_}{DEF} =~ m/^......$/} grep{$defs{$_}{TYPE} eq "CUL_HM"} keys %defs;
        ## ------ correct IOList and IOGrp
        foreach my $vccu (grep{AttrVal($_,"IOList","") =~ m/,?$ent/} @culHmDevs){# for each vccu
          my $ea = my $eaOld = AttrVal($vccu,"IOList","");
          $ea = join(",",map{my $foo = $_;$foo =~ s/$ent/$new/;$foo}
                         split(",",$ea));
          foreach my $HMdef(grep{AttrVal($_,"IOgrp","") =~ m/$vccu:.*$ent/} @culHmDevs){
            if($ea){#vccu still operational
              my (undef,$ios) = split(":",AttrVal($HMdef,"IOgrp",""));
              $ios = join(",",
                     grep{defined $defs{$_}}
                     map{my $foo = $_;$foo =~ s/$ent/$new/;$foo}
                     split(",",$ios)
                     );
              $attr{$HMdef}{IOgrp} = "$vccu:$ios";
              $count++;
            }
            else {# the vccu has no IO anymore - delete clients
              CommandDeleteAttr (undef,"$HMdef IOgrp") ;
              $count++;
            }
          }
          if ($ea ne $eaOld) {
            CommandAttr (undef,"$vccu IOList $ea");
            $count++;
          }
        }
        foreach my $HMdef (grep{AttrVal($_,"IODev","") eq $ent} @culHmDevs){# for each IODev
          CommandAttr (undef,"$HMdef IODev $new");
          $count++;
        }
      }
      return "CUL_HM: $count device(s) renamed or attributes changed due to DELETED or RENAMED event" if $count;
      return;
    }
    elsif (!$modules{CUL_HM}{helper}{initDone} &&  $evnt =~ m/INITIALIZED/){# grep the first initialize
      CUL_HM_updateConfig("startUp");
      InternalTimer(1,"CUL_HM_setupHMLAN", "initHMLAN", 0);#start asap once FHEM is operational
    }
#    elsif($evnt =~ m/(DEFINED)/  ){ Log 1,"Info --- $dev->{NAME} -->$ntfy->{NAME} :  $evnt";}
#    elsif($evnt =~ m/(SHUTDOWN)/ ){ Log 1,"Info --- $dev->{NAME} -->$ntfy->{NAME} :  $evnt";}#SHUTDOWN|DELAYEDSHUTDOWN
#    elsif($evnt =~ m/(SAVE)/     ){ Log 1,"Info --- $dev->{NAME} -->$ntfy->{NAME} :  $evnt";}
#    elsif($evnt =~ m/(REREADCFG)/){ Log 1,"Info --- $dev->{NAME} -->$ntfy->{NAME} :  $evnt";}
#    elsif($evnt =~ m/(MODIFIED)/ ){ Log 1,"Info --- $dev->{NAME} -->$ntfy->{NAME} :  $evnt";}
#    else                          { Log 1,"Info --- $dev->{NAME} -->$ntfy->{NAME} :  $evnt";}

  }   

  return undef;
}

Kompletten Modul-Code mit weiteren Fixes findet ihr in https://forum.fhem.de/index.php/topic,122422.msg1171797.html#msg1171797.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

grappa24

#9
Danke Beta-User,

hab das neue Modul 10_CUL_HM.pm mal eingespielt, läuft zunächst alles.

Werde mich morgen früh melden, ob diese "renamed a lot" Meldungen weiterhin auftreten.

Gruß, grappa24

Update: Leider sind die Meldungen auch mit dem veränderten Modul vorhanden: 2021.08.27 07:33:13 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:33:14 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:33:15 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:33:15 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:33:16 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:33:17 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:34:51 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:34:52 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:34:53 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:34:53 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:34:54 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:34:55 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:35:01 3: FS20 set wz_ambilight off
2021.08.27 07:35:29 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:35:30 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:35:30 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:35:31 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:35:32 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:35:33 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:36:29 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:36:30 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:36:30 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:36:31 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:36:32 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:36:33 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 07:39:28 2: netatmo_M03_00_00_07_d0_f2: invalid json detected
2021.08.27 08:14:22 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 08:14:23 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 08:14:24 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 08:14:25 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 08:14:26 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.08.27 08:14:26 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

Beta-User

Ähm, sicher, dass du den Code aus dem verlinkten Post hast und nicht den von ein paar posts vorher? (den habe ich jetzt gelöscht, Danke insofern für den Hinweis)
(Nur) wenn was "renamed" wurde, sollte da nämlich jetzt eine _andere_ Meldung erfolgen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

grappa24

#11
Zitat von: Beta-User am 27 August 2021, 09:44:02
Ähm, sicher, dass du den Code aus dem verlinkten Post hast
sorry, hatte tatsächlich nicht deinen aktuellen  :-[ Aber jetzt  ;)

Update: Diese "renamed a lot" Meldungen sind jetzt weg, vielen Dank @Beta-User

Jetzt kann ich mich auch wieder am "clean-logfile-contest" beteiligen  ;D
Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

uron

Habe heute auch wieder einmal in mein Logfile geschaut und die gleiche Meldung festgestellt.
Nach update (das Modul 10_CUL_HM.pm wurde aktualisiert) und shutdown restart
bekomme ich leider immer noch die gleichen Meldungen:
2021.10.10 09:11:36.620 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.10.10 09:21:36.631 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.10.10 09:31:36.633 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.10.10 09:41:36.646 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.10.10 09:51:36.662 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.10.10 10:01:36.698 3: NTFY return:  ActionDetector:CUL_HM renamed a lot
2021.10.10 10:11:36.633 3: NTFY return:  ActionDetector:CUL_HM renamed a lot

Gibt es noch einen weiteren Lösungsansatz außer ich deaktiviere den ActionDetector?
RasPi-FHEM  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi-ioBroker

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

uron

Jetzt taucht auch bei mir keine Meldung mehr auf.
Dank an Beta-User!
RasPi-FHEM  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi-ioBroker