FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Trinidad am 13 Mai 2017, 08:13:09

Titel: Whitespace im Modul Attribut bleibt stehen
Beitrag von: Trinidad am 13 Mai 2017, 08:13:09
In meinem Wolf ISM8I Modul gibt es ein Attribut welches eine Aufzählung von Zahlen getrennt mit einem Leerzeichen aufnimmt. Das funktioniert auch wenn man mehrere Leerzeichen am Anfang, am Ende oder zwischen den einzelnen Zahlen angibt.
Beispiel:
Zitat
1 124 62 152 153 99 17
geht genauso wie
  1  124      62  152    153 99   17

Im Webinterface werden beim Attribut Value die doppelten Whitespaces zwar nicht angezeigt, aber wenn man sich dann das Attribut Value mit AttrVal($name, "ignoreDatapoints", "") ausliest sind die immer noch vorhanden.
Ich habe schon versucht die Doppelwhitespaces in der sub ISM8I_Attr zu löschen mit

$aVal =~ s/\s+/ /g;

und dann

if ($cmd eq "set") { $attr{$name}{"ignoreDatapoints"} = ($aVal =~ s/\s+/ /g)); }


doch leider bleiben die Whitespaces immer noch drin wenn man das Attribut in einer anderes sub später mit AttrVal($name, "ignoreDatapoints", "") ausliest. Klar könnte ich in der sub ISM8I_Attr mit unless ($aVal =~ /\s+ /) return bla... die Eingabe blocken, aber ich fände es schöner wenn sich das automatisch gecleante Arrtibut Value speichern würde.

Gibt es da ne Möglichkeit?

PS: Die Codebeipiele habe ich nur schnell reingetippt und können noch Fehler enthalten. Im Modul laufen sie ohne dass Perl muckt. Geht nur darum dass ihr wisst was ich gemacht habe.
Titel: Antw:Whitespace im Modul Attribut bleibt stehen
Beitrag von: Trinidad am 13 Mai 2017, 08:31:18
Oh, mir schwant dass ich das mit $_[3] = ... machen kann. Mal testen...

EDIT: Jo, geht. Sry für die Umsände.
Titel: Antw:Whitespace im Modul Attribut bleibt stehen
Beitrag von: KernSani am 13 Mai 2017, 08:57:02
Hmmm...Problem gelöst? Dann bitte auf gelöst setzen und bitte in das passende Unterforum verschieben. Eine Anfängerfrage ist das nicht ;-)
Danke