diff --git a/fhem/FHEM/10_KNX.pm b/fhem/FHEM/10_KNX.pm
index 75c2acdc9..86e93f2f3 100644
--- a/fhem/FHEM/10_KNX.pm
+++ b/fhem/FHEM/10_KNX.pm
@@ -78,6 +78,7 @@
 #              changed unit encoding to UTF8 eg: dpt9.030 from: μg/m³ to: µg/m³
 # MH 20220403  allow 'nosuffix' as only option in define 
 #              minor corrections to cmdref
+# MH 20220429  minor additions to cmdref & some cleanup
 
 
 package FHEM::KNX; ## no critic 'package'
@@ -87,16 +88,15 @@ use warnings;
 use Encode qw(encode decode);
 use Time::HiRes qw(gettimeofday);
 use Scalar::Util qw(looks_like_number);
-#use SetExtensions; # not yet!
 use GPUtils qw(GP_Import GP_Export); # Package Helper Fn
 
 ### perlcritic parameters
 # these ones are NOT used! (constants,Policy::Modules::RequireFilenameMatchesPackage,Modules::RequireVersionVar,NamingConventions::Capitalization)
+# these ones are NOT used! (ControlStructures::ProhibitCascadingIfElse)
 ### the following percritic items will be ignored global ###
 ## no critic (ValuesAndExpressions::RequireNumberSeparators,ValuesAndExpressions::ProhibitMagicNumbers)
 ## no critic (RegularExpressions::RequireDotMatchAnything,RegularExpressions::RequireLineBoundaryMatching)
 ## no critic (ControlStructures::ProhibitPostfixControls)
-### no critic (ControlStructures::ProhibitCascadingIfElse)
 ## no critic (Documentation::RequirePodSections)
 
 ### import FHEM functions / global vars
@@ -161,7 +161,6 @@ my $PAT_DTSEP = qr/(?:_)/ix; # date/time separator
 my $PAT_DATE = qr/(3[01]|[0-2]?[0-9])\.(1[0-2]|0?[0-9])\.((?:19|20)[0-9][0-9])/ix;
 #pattern for time
 my $PAT_TIME = qr/(2[0-4]|[01]{0,1}[0-9]):([0-5]{0,1}[0-9]):([0-5]{0,1}[0-9])/ix;
-#my $PAT_TIME = qr/(2[0-4]|[0?1][0-9]):([0?1-5][0-9]):([0?1-5][0-9])/ix;
 my $PAT_DPT16_CLR = qr/>CLR</ix;
 
 #CODE is the identifier for the en- and decode algos. See encode and decode functions
@@ -394,7 +393,6 @@ sub KNX_Define {
 		foreach my $tuls (@tulList) {
 			if ($tuls eq $iodevCandidate) {
 				if ((IsDisabled($iodevCandidate) == 1) || IsDummy($iodevCandidate)) { # IO - device is disabled or dummy
-#					delete $attr{$name}{IODev};
 					Log3 ($name, 3, "KNX_define ($name): IODev $iodevCandidate not used - because IODev is disabled or dummy");
 					next;
 				}
@@ -652,7 +650,7 @@ sub KNX_Get {
 
 	IOWrite($hash, $TULid, 'r' . $groupc);
 
-	FW_directNotify("FILTER=" . $FW_detail, '#FHEMWEB:' . $FW_wname, 'FW_errmsg(" current value for ' . $name . ' - ' . $group . ' requested",5000)', qq{});
+	FW_directNotify("FILTER=" . $FW_detail, '#FHEMWEB:' . $FW_wname, 'FW_errmsg(" current value for ' . $name . ' - ' . $group . ' requested",5000)', qq{}) if (defined($FW_wname));
 
 	return;
 }
@@ -1481,7 +1479,6 @@ sub KNX_decodeByDpt {
 
 	if (ref($dpttypes{$code}->{DEC}) eq 'CODE') {
 		$state = $dpttypes{$code}->{DEC}->($value, $model, $hash);
-#		$state = $dpttypes{$code}->{DEC}->($value, $model);
 		my $unit = $dpttypes{$model}{UNIT};
 		$state = $state . q{ } . $unit if (defined ($unit) && ($unit ne q{})); #append unit, if supplied
 
@@ -1676,9 +1673,7 @@ sub enc_dpt232 { #RGB-Code
 ### decode sub functions ###
 sub dec_dpt1 { #Binary value
 	my $numval = hex (shift);
-#	my $value = shift;
 	my $model = shift;
-#	my $numval = hex ($value);
 	$numval = ($numval & 0x01);
 	my $state = $dpttypes{"$model"}{MIN}; # default
 	$state = $dpttypes{"$model"}{MAX} if ($numval == 1);
@@ -1894,7 +1889,6 @@ sub main::KNX_scan {
 ### issue all get cmd's - each one delayed by InternalTimer
 sub doKNX_scan {
 	my ($devgad, $arr) = split(/,/x,shift,2);
-#	Log3 undef,1, "doKNX_scan: get $devgad";
 	main::fhem("get $devgad");
 	return if (length($arr) <= 1);
 	return InternalTimer(gettimeofday() + 0.2,\&doKNX_scan,$arr); # does not support array-> use string...
@@ -2228,11 +2222,14 @@ The result of the "get" cmd  will be stored in the respective readings - same as
 <br/>Useful after a fhem-start to syncronize the readings with the status of the KNX-device.
 <br/>The "get" cmds are scheduled asynchronous, with a delay of 200ms between each get. (avoid overloading KNX-bus) 
 Returns number of "get's" issued.<br/>
-<code>KNX_scan                      - scan all possible devices</code><br/>
+<code>KNX_scan()                    - scan all possible devices</code><br/>
 <code>KNX_scan('dev-A')             - scan device-A only</code><br/>
 <code>KNX_scan('dev-A,dev-B,dev-C') - scan device-A, device-B, device-C</code><br/>
 <code>KNX_scan('room=Kueche')       - scan all KNX-devices in room Kueche</code><br/>
 <code>{KNX_scan('device')}          - syntax when used from FHEM-cmdline</code><br/>
+<br/>When using KNX_scan() or any 'set|get <device> ...' in a global:INITIALIZED notify, pls. ensure to have some delay in processing the cmd's by using <b>fhem sleep</b>.
+<br/>Example: <code>defmod initialized_nf notify global:INITIALIZED sleep 2 quiet;; set KNX_date now;; set KNX_time now;; {KNX_scan()};;</code>
+<br>This avoids sending requests while the KNX-Gateway has not finished its initial handshake-procedure with FHEM (the KNX-IO-device).  
 </li>
 </ul>