[PATCH] - fhem.pl - Attribute umbenennen mit AttrRenameMap in Modulen

Begonnen von Markus Bloch, 07 Januar 2018, 11:52:35

Vorheriges Thema - Nächstes Thema

Markus Bloch

Hallo Rudi,

vielen Dank dafür. Mir ist soeben beim testen aufgefallen, dass die Save-Historie beim setzen eines alten Attributnamen nachwievor den alten Namen anzeigt, anstatt dem neuen. Grund hierfür ist der Aufruf von addStructChange() am Ende von CommandAttr() die Eingangsparameter verwendet und nicht den evtl. konvertierten Attributnamen:

Index: fhem.pl
===================================================================
--- fhem.pl     (revision 15945)
+++ fhem.pl     (working copy)
@@ -2824,7 +2824,7 @@
       return $err if($err);
       evalStateFormat($hash);
     }
-    addStructChange("attr", $sdev, $param) if(!defined($oVal) || $oVal ne $val);
+    addStructChange("attr", $sdev, "$attrName $val") if(!defined($oVal) || $oVal ne $val);
     DoTrigger("global", "ATTR $sdev $attrName $val", 1) if($init_done);

   }


Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

rudolfkoenig


Markus Bloch

Nochmal das gleiche für dem Aufruf der AttrFn:

Index: fhem.pl
===================================================================
--- fhem.pl     (revision 16042)
+++ fhem.pl     (working copy)
@@ -2808,7 +2808,7 @@
       $attrVal = "-" if($attrName eq "logfile");
       $attrVal = 5   if($attrName eq "verbose");
     }
-    $ret = CallFn($sdev, "AttrFn", "set", @a);
+    $ret = CallFn($sdev, "AttrFn", "set", $sdev, $attrName, $attrVal);
     if($ret) {
       push @rets, $ret;
       next;
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)