diff --git a/fhem/CHANGED b/fhem/CHANGED index 40cc35324..f4f5bad0d 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # 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. + - feature: 98_DOIFtools: get subsInPackageDOIF for MODEL Perl (Forum #63938) - bugfix: 49_SSCam(STRM): avoid possible warnings during shutdown/restart - bugfix: 52_I2C_HDC1008: fix "temperature" (broken by change from Aug, 1st) - feature: 49_SSCam: new attribute ptzNoCapPrePat @@ -15,7 +16,7 @@ update button in header of Portal Graphics, minor code changes according PBP - change: 10_WS980: change conversion ration of w/m2 to 0.0079 -.- bugfix: 98_DOIFtools: improve popup position (Forum #113404) + - bugfix: 98_DOIFtools: improve popup position (Forum #113404) - bugfix: 48_BlinkCamera: videoDelete on new API and first TFA pin verify - bugfix: 73_AutoShuttersControl: fix shading in drive then shutter is closed - change: 32_withings: added sleep apnea index reading diff --git a/fhem/FHEM/98_DOIFtools.pm b/fhem/FHEM/98_DOIFtools.pm index a2d1a8176..684253bb5 100644 --- a/fhem/FHEM/98_DOIFtools.pm +++ b/fhem/FHEM/98_DOIFtools.pm @@ -1711,9 +1711,24 @@ Example specifications:
$ret .= "
";
     
     return $ret;
+  } elsif ($arg eq "subsInPackageDOIF") {
+    no strict 'refs';
+    my $byd="OldReadingsNum AttrVal OldValue Value ReadingsAge Log set_Event ReadingsTimestamp fhem_set DOIF_ExecTimer set_Reading_Begin set_Exec get_Reading OldReadingsVal Dumper OldReadingsTimestamp get_State fhem ReadingsNum set_Reading gettimeofday ReadingsVal set_State AttrNum mkIcon InternalVal OldTimestamp set_Reading_End set_Reading_Update get_Exec del_Exec InternalNum Log3 ";
+    my $ftn="";
+    my $txt = "".($DE ? " Vom Benutzer im Package DOIF deklarierte Subs " : " Subs in package DOIF declared by user ")."
 \n"; + $txt .= "\n"; + foreach my $k (sort keys %DOIF::) { + if (defined &{"DOIF::$k"} and $byd !~ "$k ") { + my @d = devspec2array("TYPE=DOIF:FILTER=MODEL=Perl:FILTER=DEF=.*subs.*sub.*?$k.*?{.*"); + $ftn = ($DE ? "
* in keinem DOIF-Gerät deklariert, vielleicht an einer Stelle wie 99_myUtils.pm" : "
* not declared in a DOIF-device, but maybe in a place like 99_myUtils.pm") if (!$d[0] and !$ftn); + $txt .= "\n"; + } + } + $txt .="
Sub   Device
$k ".($d[0] ? " $d[0] ":" n/a *")."
$ftn"; + return $txt; } else { my $hardcoded = "checkDOIF:noArg statisticsReport:noArg runningTimerInDOIF:noArg"; - return "unknown argument $arg for $pn, choose one of readingsGroup_for:multiple-strict,$dL DOIF_to_Log:multiple-strict,$dL SetAttrIconForDOIF:multiple-strict,$dL userReading_nextTimer_for:multiple-strict,$ntL ".(AttrVal($pn,"DOIFtoolsHideGetSet",0) ? $hardcoded :"")." linearColorGradient:textField modelColorGradient:textField hsvColorGradient:textField"; + return "unknown argument $arg for $pn, choose one of readingsGroup_for:multiple-strict,$dL DOIF_to_Log:multiple-strict,$dL SetAttrIconForDOIF:multiple-strict,$dL userReading_nextTimer_for:multiple-strict,$ntL ".(AttrVal($pn,"DOIFtoolsHideGetSet",0) ? $hardcoded :"")." linearColorGradient:textField modelColorGradient:textField hsvColorGradient:textField subsInPackageDOIF:noArg"; } return $ret; @@ -1754,6 +1769,7 @@ DOIFtools contains tools to support DOIF.
  • optionally create a menu entry
  • show a list of running wait timer
  • scale values to color numbers and RGB values for coloration
  • +
  • list subs declared by user in package DOIF

  • Just one definition per FHEM-installation is allowed. More in the german section. @@ -1793,6 +1809,7 @@ DOIFtools stellt Funktionen zur Unterstützung von DOIF-Geräten bereit.
  • optionalen Menüeintrag erstellen
  • Liste der laufenden Wait-Timer anzeigen
  • skaliert Werte zu Farbnummern und RGB Werten zum Einfärben, z.B. von Icons.
  • +
  • Auflistung der Subs, die vom User im Package DOIF deklariert wurden.

  • Inhalt
    @@ -1846,7 +1863,7 @@ DOIFtools stellt Funktionen zur Unterstützung von DOIF-Geräten bereit.
    set <name> targetDOIF <target name>
    targetDOIF vor dem Löschen der Readings muss das Ziel-DOIF gesetzt werden.
    -
    +
  • set <name> deleteReadingInTargetDevice <readings to delete name>
    deleteReadingInTargetDevice löscht sichtbare Readings, ausser state im Ziel-Gerät. Bitte den Gefahrenhinweis zum Befehl deletereading beachten ! Commandref#deletereading
    @@ -1959,6 +1976,10 @@ DOIFtools stellt Funktionen zur Unterstützung von DOIF-Geräten bereit.
    Beispiele:
    get DOIFtools hsvColorGradient 240,360,7,30,1,80,80

    +
  • + get <name> subsInPackageDOIF
    + subsInPackageDOIF erzeugt eine Liste der Subs, die vom User im Package DOIF deklariert wurden.
    +