delFromDevAttrList in fhem.pl funktioniert nicht wie erwartet

Begonnen von DS_Starter, 23 Juni 2019, 19:15:06

Vorheriges Thema - Nächstes Thema

CoolTux

Lieber Rudi wärst Du bitte so nett  :)


--- Programmieren/Perl/Projekte/FHEM/fhem-code/fhem.pl 2019-06-24 09:51:36.557512929 +0200
+++ tmp/fhem.pl 2019-06-24 09:52:25.237705994 +0200
@@ -4144,7 +4144,7 @@
   my $ua = $attr{$dev}{userattr};
   $ua = "" if(!$ua);
   my %hash = map { ($_ => 1) }
-             grep { " $arg " !~ m/ $_ / }
+             grep { " $_ " !~ m/ $arg(:.+)? / }
              split(" ", "$ua $arg");
   $attr{$dev}{userattr} = join(" ", sort keys %hash);
   delete $attr{$dev}{userattr}


Vielen Dank Heiko für Deinen Denkanstoß. Ich würde sagen so ist es auch für andere verständlich.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

Habe es mit folgenden Patch eingecheckt:
--- fhem.pl    (revision 19681)
+++ fhem.pl    (working copy)
@@ -4144,8 +4144,8 @@
   my $ua = $attr{$dev}{userattr};
   $ua = "" if(!$ua);
   my %hash = map { ($_ => 1) }
-             grep { " $arg " !~ m/ $_ / }
-             split(" ", "$ua $arg");
+             grep { $_ !~ m/^$arg(:.+)?$/ }
+             split(" ", $ua);
   $attr{$dev}{userattr} = join(" ", sort keys %hash);
   delete $attr{$dev}{userattr}
         if(!keys %hash && defined($attr{$dev}{userattr}));


Allerdings verstehe ich die Notwendigkeit immer noch nicht: das ist eine Routine fuer Modulprogrammierer.
Wissen sie nicht mehr genau, was sie hinzugefuegt haben?

CoolTux

Auch wir Modulprogrammierer sind manchmal faul  ;D
Da ich keine Seiteneffekte erwarte kann ich mit der Änderung leben. Es vereinfacht halt.

Danke Dir Rudi.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net