[bug+patch] 10_CUL_HM.pm fehlende Fehlerbehandlung bei set ... deviceRename

Begonnen von betateilchen, 14 November 2020, 20:06:00

Vorheriges Thema - Nächstes Thema

betateilchen

Hallo Martin,

wenn man versucht, ein Homematic device (und seine channels) mit "set ... deviceRename <newName>" umzubenennen und dabei einen (neuen) Namen verwendet, der nicht den FHEM Richtlinien entspricht, passiert einfach gar nix. Der verwendete Aufruf von CommandRename() gibt zwar eine Fehlermeldung zurück, diese wird aber in 10_CUL_HM.pm einfach nirgends entgegengenommen, um sie auszugeben.

Mit dem untenstehenden kleinen patch wird als allererster Schritt geprüft, ob der angegebene neue Name den FHEM-Konventionen entspricht, falls nicht, wird die weitere Verarbeitung mit Ausgabe einer Fehlermeldung beendet.

Wäre schön, wenn Du das bei Gelegenheit einbauen könntest.

(Hintergrund: ich hatte - statt _ im neuen Namen verwendet und musste dann ziemlich lange suchen, warum mein Vorhaben nicht funktioniert.)


Index: 10_CUL_HM.pm
===================================================================
--- 10_CUL_HM.pm        (revision 23156)
+++ 10_CUL_HM.pm        (working copy)
@@ -4761,6 +4761,8 @@
   }
   elsif($cmd eq "deviceRename") { #############################################
     my $newName = $a[2];
+    return "Invalid characters in name (not A-Za-z0-9._): $newName"
+            if(!goodDeviceName($newName));
     my @chLst = ("device");# entry 00 is unsed
     if ($roleV){
       foreach(1..50){
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html


betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!