diff --git a/fhem/CHANGED b/fhem/CHANGED index e65ecdd94..abee18c85 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,7 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - change: 98_DOIFtools: add help labels in commandref for attr, set and get + add MODEL to statistics report, check DOIF excludes Perl mode - new: 98_MSwitch.pm: Multi Switch Modul - feature: 93_DbRep: V7.19.0, attribute "valueFilter" to filter datasets in fetchrows diff --git a/fhem/FHEM/98_DOIFtools.pm b/fhem/FHEM/98_DOIFtools.pm index 9b29d6bca..d616b5553 100644 --- a/fhem/FHEM/98_DOIFtools.pm +++ b/fhem/FHEM/98_DOIFtools.pm @@ -1078,12 +1078,11 @@ sub DOIFtools_Define($$$) my @Liste = devspec2array("TYPE=DOIFtools"); if (@Liste > 1) { CommandDelete(undef,$pn); - # CommandSave(undef,undef); return "Only one instance of DOIFtools is allowed per FHEM installation. Delete the old one first."; } - $hash->{STATE} = "initialized"; $hash->{logfile} = AttrVal($pn,"DOIFtoolsLogDir",AttrVal("global","logdir","./log/"))."$hash->{TYPE}Log-%Y-%j.log"; DOIFtoolsCounterReset($pn); + readingsSingleUpdate($hash,"state","initialized",0); return undef; } @@ -1294,6 +1293,8 @@ sub DOIFtools_Get($@) my $ret=""; my @ret=(); my @doifList = devspec2array("TYPE=DOIF"); + my @doifListFHEM = devspec2array("TYPE=DOIF" and "MODEL=FHEM"); + my @doifListPerl = devspec2array("TYPE=DOIF" and "MODEL=Perl"); my @ntL =(); my $dL = join(",",sort @doifList); my $DE = AttrVal("global", "language", "") eq "DE" ? 1 : 0; @@ -1454,6 +1455,15 @@ sub DOIFtools_Get($@) $ret .= sprintf("%".($typlen+$evtlen-7)."s","Rate: ").sprintf("%-10s",">= $compRate\n\n"); } $ret .= "
".sprintf("-"x($typlen+$evtlen+33))."
"; + # model statistics + if ($DE) { + $ret .= "".sprintf("%-30s","DOIF-Modelle").sprintf("%-12s","Anzahl")."\n"; + } else { + $ret .= "".sprintf("%-30s","Models of DOIF").sprintf("%-12s","Number")."\n"; + } + $ret .= sprintf("-"x42)."\n"; + $ret .= sprintf("%-30s","FHEM").sprintf("%-12s","".@doifListFHEM)."\n"; + $ret .= sprintf("%-30s","Perl").sprintf("%-12s","".@doifListPerl)."\n\n"; # attibute statistics if ($DE) { $ret .= "".sprintf("%-30s","genutzte Attribute in DOIF").sprintf("%-12s","Anzahl")."\n"; @@ -1483,7 +1493,7 @@ sub DOIFtools_Get($@) } elsif ($arg eq "checkDOIF") { my @coll = (); my $coll = ""; - foreach my $di (@doifList) { + foreach my $di (@doifListFHEM) { $coll = DOIFtoolsCheckDOIFcoll($hash,$di); push @coll, $coll if($coll); } @@ -1493,11 +1503,11 @@ sub DOIFtools_Get($@) } else { $ret .= "\n \n" if (@coll); } - foreach my $di (@doifList) { + foreach my $di (@doifListFHEM) { $ret .= DOIFtoolsCheckDOIF($hash,$di); } - $ret = $DE ? ($ret ? "Empfehlung gefunden für:\n\n$ret" : "Keine Empfehlung gefunden.") : ($ret ? "Found recommendation for:\n\n$ret" : "No recommendation found."); + $ret = $DE ? ($ret ? "Empfehlung gefunden für MODEL FHEM:\n\n$ret" : "Keine Empfehlung gefunden.") : ($ret ? "Found recommendation for MODEL FHEM:\n\n$ret" : "No recommendation found."); return $ret; } elsif ($arg eq "runningTimerInDOIF") { @@ -1731,7 +1741,7 @@ DOIFtools contains tools to support DOIF.
  • access from DOIFtools to existing DOIFtoolsLog logfiles
  • show event monitor in device detail view and optionally in DOIFs detail view
  • convert events to DOIF operands, a selected operand is copied to clipboard and the DEF editor will open
  • -
  • check definitions and offer recommendations
  • +
  • check definitions and offer recommendations for DOIF MODEL FHEM
  • create shortcuts
  • optionally create a menu entry
  • show a list of running wait timer
  • @@ -1770,7 +1780,7 @@ DOIFtools stellt Funktionen zur Unterstützung von DOIF-Geräten bereit.
  • Ist der Event-Monitor in DOIF geöffnet, dann kann die Definition des DOIF geändert werden.
  • Ist der Event-Monitor in DOIFtools geöffnet, dann kann die Definition eines DOIF erzeugt werden.
  • -
  • prüfen der DOIF Definitionen mit Empfehlungen.
  • +
  • prüfen der Definitionen mit Empfehlungen für DOIF-Modus FHEM.
  • erstellen von Shortcuts
  • optionalen Menüeintrag erstellen
  • Liste der laufenden Wait-Timer anzeigen
  • @@ -1819,39 +1829,50 @@ DOIFtools stellt Funktionen zur Unterstützung von DOIF-Geräten bereit.
    Set