Unklarheit beim Benennen von Readings

Begonnen von Creideiki, 26 September 2014, 15:06:44

Vorheriges Thema - Nächstes Thema

Creideiki

Tach,

leider habe ich keine Spezifikation gefunden, wie der Name eines Readings auszusehen hat.

Ich verwende oft Punkte in meinen Namen. Das habe ich jetzt auch bei einer Reading-Definition mit userReading versucht mit der Folge, dass es zwar definiert werden konnte, aber schlicht ignoriert wurde.

Falls es keinen guten Grund gibt, Punkte in Readings zu verbieten, fände ich es gut, wenn man folgenden Patch einbauen könnte (betr. Rev. 6589):
2226c2226
<       my $regexi= '\s*([\w-]+)(:\S*)?\s+((\w+)\s+)?({.*?})\s*';
---
>       my $regexi= '\s*([\w-\.]+)(:\S*)?\s+((\w+)\s+)?({.*?})\s*';

Noch besser wäre es natürlich, wenn die Attributsdefinition eine Fehlermeldung ausspucken würde, wenn sie schief geht.  ;)

Elektrolurch

Hallo,

keine regex-Zeichen in Namen verwenden, sowas führt nur zu Fehlern, die nachher keiner mehr erklären kann....

Ich würde nur jene Zeichen verwenden, die die Bennenung eines Feldes eines hashes in perl auch ohne "" akzeptiert.

Gruß
Das spart Zeit.


Elektrulurch
configDB und Windows befreite Zone!

Creideiki

Bist du sicher, dass da '-' erlaubt ist? Das wird nämlich akzeptiert.

Das Problem ist, dass NUT nun mal Variablen in der Form xxx.yyy liefert. Da ich die direkt als Reading übernehme, haben meine Readings eben Punkte drin.

justme1968

ein punkt im namen eines readings ist erlaubt. unter anderem die 1wire devices machen davon gebrauch.  die regex für den namen der userReadings ist hier unvollständig.

ich denke mal das rudi einem gut getesteten patch akzeptieren würde.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Creideiki

Hm... viel zu testen ist bei obigem Patch nicht, da er wirklich nur den Punkt zu den erlaubten Zeichen zufügt (und das gepatchte fhem.pl bei mir produktiv läuft).

Gibt es irgendwo eine Anleitung, wie man einen Patch professionell ausliefert?