2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-02-01 07:19:24 +00:00

73_ElectricityCalculator: Feature - Improved Log entries

git-svn-id: https://svn.fhem.de/fhem/trunk@24355 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
Sailor 2021-04-29 10:44:05 +00:00
parent 0981c1ecae
commit 6a7f91648e

View File

@ -455,28 +455,40 @@ sub ElectricityCalculator_MidnightTimer($)
my ($ElectricityCountName, $ElectricityCountReadingRegEx) = split(":", $RegEx, 2); my ($ElectricityCountName, $ElectricityCountReadingRegEx) = split(":", $RegEx, 2);
my $ElectricityCountDev = $defs{$ElectricityCountName}; my $ElectricityCountDev = $defs{$ElectricityCountName};
$ElectricityCountReadingRegEx =~ s/[\.\*]+$//; $ElectricityCountReadingRegEx =~ s/[\.\*]+$//;
$ElectricityCountReadingRegEx =~ s/[:]+$//;
my $ElectricityCountReadingRegExNeg = $ElectricityCountReadingRegEx . "_"; my $ElectricityCountReadingRegExNeg = $ElectricityCountReadingRegEx . "_";
my @ElectricityCountReadingNameListComplete = keys(%{$ElectricityCountDev->{READINGS}}); my @ElectricityCountReadingNameListComplete = keys(%{$ElectricityCountDev->{READINGS}});
my @ElectricityCountReadingNameListFiltered; my @ElectricityCountReadingNameListFiltered;
### Create Log entries for debugging purpose ### Create Log entries for debugging purpose
Log3 $ElectricityCalcName, 2, $ElectricityCalcName. " : ElectricityCalculator_MidnightTimer ReadingRegEx : " . $ElectricityCountReadingRegEx; Log3 $ElectricityCalcName, 5, $ElectricityCalcName. " : ElectricityCalculator_MidnightTimer ElectricityCountName: " . $ElectricityCountName;
Log3 $ElectricityCalcName, 2, $ElectricityCalcName. " : ElectricityCalculator_MidnightTimer ReadingRegExNeg : " . $ElectricityCountReadingRegExNeg; Log3 $ElectricityCalcName, 5, $ElectricityCalcName. " : ElectricityCalculator_MidnightTimer RegEx : " . $RegEx;
Log3 $ElectricityCalcName, 5, $ElectricityCalcName. " : ElectricityCalculator_MidnightTimer ReadingRegEx : " . $ElectricityCountReadingRegEx;
Log3 $ElectricityCalcName, 5, $ElectricityCalcName. " : ElectricityCalculator_MidnightTimer ReadingRegExNeg : " . $ElectricityCountReadingRegExNeg;
### If no RegEx is available, leave routine ### If no RegEx is available, leave routine
if (($ElectricityCountReadingRegEx eq "") || ($ElectricityCountReadingRegExNeg eq "")) { if (($ElectricityCountReadingRegEx eq "") || ($ElectricityCountReadingRegExNeg eq "")) {
Log3 $ElectricityCalcName, 2, $ElectricityCalcName. " : ElectricityCalculator_MidnightTimer : ERROR! No RegEx has been previously stored! Beaking midnight routine."; Log3 $ElectricityCalcName, 5, $ElectricityCalcName. " : ElectricityCalculator_MidnightTimer : ERROR! No RegEx has been previously stored! Beaking midnight routine.";
Log3 $ElectricityCalcName, 2, $ElectricityCalcName. " : ElectricityCalculator_MidnightTimer ReadingRegEx : " . $ElectricityCountReadingRegEx; Log3 $ElectricityCalcName, 5, $ElectricityCalcName. " : ElectricityCalculator_MidnightTimer ReadingRegEx : " . $ElectricityCountReadingRegEx;
Log3 $ElectricityCalcName, 2, $ElectricityCalcName. " : ElectricityCalculator_MidnightTimer ReadingRegExNeg : " . $ElectricityCountReadingRegExNeg; Log3 $ElectricityCalcName, 5, $ElectricityCalcName. " : ElectricityCalculator_MidnightTimer ReadingRegExNeg : " . $ElectricityCountReadingRegExNeg;
return; return;
} }
### Check whether system failure threat is given or log error message
eval {
### For each valid RegEx entry given in the list of existing devices
foreach my $ElectricityCountReadingName (@ElectricityCountReadingNameListComplete) { foreach my $ElectricityCountReadingName (@ElectricityCountReadingNameListComplete) {
if (($ElectricityCountReadingName =~ m[$ElectricityCountReadingRegEx]) && ($ElectricityCountReadingName !~ m[$ElectricityCountReadingRegExNeg])) { if (($ElectricityCountReadingName =~ m[$ElectricityCountReadingRegEx]) && ($ElectricityCountReadingName !~ m[$ElectricityCountReadingRegExNeg])) {
push(@ElectricityCountReadingNameListFiltered, $ElectricityCountReadingName); push(@ElectricityCountReadingNameListFiltered, $ElectricityCountReadingName);
} }
} }
1;
} or do {
my $ErrorMessage = $@;
Log3 $ElectricityCalcName, 2, $ElectricityCalcName. " : Something went wrong with the RegEx : " . $ErrorMessage;
return;
};
### Create Log entries for debugging purpose ### Create Log entries for debugging purpose
Log3 $ElectricityCalcName, 5, $ElectricityCalcName. " : ElectricityCalculator_MidnightTimer__________________________________________________________"; Log3 $ElectricityCalcName, 5, $ElectricityCalcName. " : ElectricityCalculator_MidnightTimer__________________________________________________________";