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?
Schließe ich mich an, diese Einträge sind mir heute im Log auch das erste mal aufgefallen.
Kann bisher nichts damit anfangen...
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;
}
hast du denn auch ein "echtes" problem?
nicht wirklich :). Ich möchte es nur verstehen, wer und was da umbenannt wird.
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 :)
Ich finde es auch legitim zu hinterfragen was so eine Meldung bedeutet. Das etwas renamed wird klingt erst mal irritierend.
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.
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.
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
Ä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.
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
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?
Morgen ein update machen!
Jetzt taucht auch bei mir keine Meldung mehr auf.
Dank an Beta-User!