"Doppelpunkte in Gerätenamen" (Proteus_EcoMeter)

Begonnen von RichardCZ, 15 April 2020, 11:31:41

Vorheriges Thema - Nächstes Thema

RichardCZ

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-port0

gefangen. 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.
Witty House Infrastructure Processor (WHIP) is a modern and
comprehensive full-stack smart home framework for the 21st century.

JoWiemann

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
Jörg Wiemann

RPi 4 B mit 4 GByte bookworm, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM; zigbee2mqtt

ioBroker als Datenlieferant für z.B. Anker, Samsung

ph1959de

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
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"