https://wiki.fhem.de/wiki/Proteus_EcoMeter
ZitatDie Namen enthalten jedoch Doppelpunkte und FHEM verkraftet keine Gerätenamen mit Doppelpunkten. Wer weiß warum bitte hier Lösung eintragen.
Ich habe eine Vermutung ;) ... aber keinen Wiki Account. Könnte eventuell mit devspec2array zusammenhängen.
($n, $op, $re) = ($1, 'eval', '') if ($dName =~ m/^{(.*)}$/);
my $fType = '';
if ($n =~ m/^(.:)(.*$)/) { # <---- hier ?
$fType = $1;
$n = $2;
}
Um ganz ehrlich zu sein, verstehe ich die Regex nicht 100% - insbesondere warum man in $2 unbedingt '$' capturen muss...
Jedenfalls kann fType i, r oder a sein und da man - wie in FHEM üblich ist - den regulären Ausdruck zu locker gefasst hat, wird natürlich auch ein
/dev/serial/by-path/pci-0000:00:14.0-usb-0:4.3:1.0-port0gefangen. Ich würde den Ausdruck so schreiben:
if ($n =~ m/^([air]:)(.*)$/) { # still ... death to dot-star!
$fType = $1;
$n = $2;
}
Kann aber sein, dass ich komplett daneben liege, die Regex sollte man trotzdem fester zurren.
Zitat von: RichardCZ am 15 April 2020, 11:31:41
... aber keinen Wiki Account. Könnte eventuell mit devspec2array zusammenhängen.
Hier wird Dir geholfen: https://wiki.fhem.de/wiki/FHEMWiki:Administratoren
Grüße Jörg
Ich vermute, dieser Thread hat nur begrenzt mit der Wiki Seite zu tun, sondern eher generell mit dem "Doppelpunkt in Device Namen"?
@RichrdCZ: stammt das Code Fragment in Deinem Beitrag aus 44_TEK603.pm oder betrifft das generell devspec2array? In beiden Fällen müsste die Diskussion vermutlich in anderen Forenbereichen stattfinden - das Ergebnis, soweit es das ... bitte hier Lösung eintragen... betrifft werde ich dann gern in die Wiki Seite einarbeiten.
Peter