[bug] ungültiger deviceName aus CUL_HM_id2Name()

Begonnen von betateilchen, 24 Januar 2021, 13:17:05

Vorheriges Thema - Nächstes Thema

betateilchen

Im Rahmen dieser Diskussion habe ich ein bisschen in 10_CUL_HM.pm gestöbert und dabei bemerkt, dass die Funktion CUL_HM_id2Name() unter Umständen fehlerhafte Rückgabewerte liefert, die dann im deviceHash %defs zu Problemen führen können.


    return $defPtr->{$devId}{NAME}."_chn-$chn"
                                          if($defPtr->{$devId});#dev, add chn


Das Problem ist der Bindestrich in _chn-$chn denn der Bindestrich ist in den Namen von FHEM devices nicht zulässig.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

noansi

Hallo Udo,

Zitatdass die Funktion CUL_HM_id2Name() unter Umständen fehlerhafte Rückgabewerte liefert
Bisher ist das beabsichtigt, um dem Namen auch eine Channelinformation mitzugeben, so weit ich es verstehe.
Eigentlich nur eine CUL_HM interne Zusatzinformation.

Zitatdie dann im deviceHash %defs zu Problemen führen können.
Es ist nur schwierig, einen solchen modifizierten Namen dann konsequent nicht vesehentlich auf %defs los zu lassen.

Gruß, Ansgar.

betateilchen

Zitat von: noansi am 24 Januar 2021, 18:11:13
Es ist nur schwierig, einen solchen modifizierten Namen dann konsequent nicht vesehentlich auf %defs los zu lassen.

Ja, und genau deshalb haben wir ja aktuell in dem anderen Thread das Problem mit den Fehlermeldungen im Log.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

noansi

Hallo Martin,

auch CUL_HM_setAssotiat($) leidet unter der _chn-xx Erweiterung.

Gruß, Ansgar.