Leerzeichen in Reading macht Probleme

Begonnen von kh1601, 01 Januar 2015, 10:53:38

Vorheriges Thema - Nächstes Thema

kh1601

Hi,
ich hoffe es kann mir jemand von Euch helfen. Ich versuche nun schon seit einigen Tagen aus einem Reading eine Tabelle zu erstellen. Dazu habe ich mir eine ReadingGroup erstellt und es funktioniert soweit auch alles. Ich habe nur ein kleines Problem wenn ein Leerzeichen im Reading vorkommt. Dann wird nämlich das Icon nicht dargestellt. Ist kein Leerzeichen im Reading funktioniert alles so wie es soll.

Hier mal ein paar Copy & Paste Beispiele von einem Reading die ich gerne als Icons darstellen würde....

     fc0_weatherDay: stark bewoelkt   ---> funktioniert nicht
     fc1_weatherNight: Nebel         ---> funktioniert
     fc1_weatherMorning: bedeckt      ---> funktioniert

Und hier wäre die Definition in fhem....

     valueIcon  { if( ( $VALUE =~ /bedeckt|wolkig|heiter|Schneefall|Nebel|Regen|stark bewoelkt/ ) && (index($READING,"Day") >= 0 || index($READING,"Evening") >= 0 || index($READING,"Morning") >= 0) ){$VALUE = "Tag_$VALUE"}elsif( ( $VALUE  =~ /bedeckt|wolkig|heiter|Schneefall|Nebel|Regen|stark bewoelkt/ ) && (index($READING,"Night") >= 0 || index($READING,"Evening") >= 0 || index($READING,"Morning") >= 0) ){$VALUE = "Nacht_$VALUE"} }

So heißen die Files die ich gerne als Icons darstellen würde...

pi@raspberrypi /opt/fhem/www/images/openautomation $ ls -l *bewoelkt.gif
-rw-rw-rw- 1 fhem root 624 Jan  1 01:26 Nacht_stark bewoelkt.gif
-rw-rw-rw- 1 fhem root 624 Jan  1 00:24 Nacht_stark_bewoelkt.gif
-rw-rw-rw- 1 fhem root 637 Jan  1 01:26 Tag_stark bewoelkt.gif
-rw-rw-rw- 1 fhem root 637 Jan  1 00:25 Tag_stark_bewoelkt.gif

Dargestellt wird das ganze so wie im Attachment (Wetter1.jpg) zu sehen ist.

Ich hab das auch schon mit Underlines probiert. Da würde der Code in etwa so aussehen
     valueIcon  { if( ( $VALUE =~ /bedeckt|wolkig|heiter|Schneefall|Nebel|Regen|stark bewoelkt/ ) && (index($READING,"Day") >= 0 || index($READING,"Evening") >= 0 || index($READING,"Morning") >= 0) ){$VALUE = "Tag_$VALUE"; $VALUE =~ s/ /_/}elsif( ( $VALUE  =~ /bedeckt|wolkig|heiter|Schneefall|Nebel|Regen|stark bewoelkt/ ) && (index($READING,"Night") >= 0 ) ){$VALUE = "Nacht_$VALUE"; $VALUE =~ s/ /_/} }
Aber da komme ich auch nicht weiter.

Danke schonmal im vorhinein für jede Hilfe.
lg Karl.

cocojambo

Leerzeichen im Text lassen sich am einfachsten mit
&nbsp
darstellen. Einfach anstatt der Leerstelle verwenden.
gruß
nobbi
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

kh1601

Hi,
danke für die schnelle Antwort. Dein Tip hat zwar nicht direkt geholfen aber ich hab dadurch eine andere Idee gehabt wie ich das lösen könnte.
Ich hab den Code umgeändert und jetzt funktioniert.

{ if( ( $VALUE =~ /bedeckt|wolkig|heiter|Schneefall|Nebel|Regen/ ) && ( $READING =~ /Morning|Day|Evening/ ) ){$VALUE = "Tag_$VALUE"}elsif( ( $VALUE  =~ /bedeckt|wolkig|heiter|Schneefall|Nebel|Regen/ ) && ( $READING =~ /Night/ ) ){$VALUE = "Nacht_$VALUE"}elsif( ( $VALUE =~ /stark bewoelkt/ ) && ( $READING =~ /Morning|Day|Evening/ ) ){$VALUE = "Tag_stark_bewoelkt"}elsif( ( $VALUE =~ /stark bewoelkt/ ) && ( $READING =~ /Night/ ) ){$VALUE = "Nacht_stark_bewoelkt"} }

Trotzdem danke für Deine Hilfe sonst wär ich wahrscheinlich noch ein paar Tag davor gesessen  :D.
lg Karl.