FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Brot am 03 Oktober 2020, 12:37:08

Titel: [gelöst] qx - Leerzeilen in reading
Beitrag von: Brot am 03 Oktober 2020, 12:37:08
Guten Tag, die Herrschaften...

Ich spiele gerade mit "Zeit" in FHEM herum und habe mal mit "qx" ein entsprechendes notify aufgebaut:
defmod nfyTestTime notify atTestTime\
{\
my $currentCW = qx(date +%V);;\
my $lastCW = qx(date -d 'last week' +%V);;\
my $nextCW = qx(date -d 'next week' +%V);;\
my $yesterdaysCW = qx(date -d 'yesterday' +%V);;\
    my $yesterday = qx(date -d 'yesterday' +%Y-%m-%d);;\
my $tomorrow = qx(date -d 'tomorrow' +%Y-%m-%d);;\
\
\
fhem "setreading nfyTestTime currentCW $currentCW";;\
fhem "setreading nfyTestTime lastCW $lastCW";;\
fhem "setreading nfyTestTime nextCW $nextCW";;\
fhem "setreading nfyTestTime yesterdaysCW $yesterdaysCW";;\
fhem "setreading nfyTestTime yesterday $yesterday";;\
fhem "setreading nfyTestTime tomorrow $tomorrow";;\
}

setstate nfyTestTime 2020-10-03 12:23:00
setstate nfyTestTime 2020-10-03 12:23:00 currentCW 40\

setstate nfyTestTime 2020-10-03 12:23:00 lastCW 39\

setstate nfyTestTime 2020-10-03 12:23:00 nextCW 41\

setstate nfyTestTime 2020-10-03 12:22:27 state active
setstate nfyTestTime 2020-10-03 12:23:00 tomorrow 2020-10-04\

setstate nfyTestTime 2020-10-03 12:23:00 yesterday 2020-10-02\

setstate nfyTestTime 2020-10-03 12:23:00 yesterdaysCW 40\


In den readings sieht das dann optisch wie im Screenshot anbei aus...

Weshalb kommt da eine Leerzeile in den readings (vgl. reading "state", welches einzeilig erscheint)?

Grüße,
Vinschgauer
Titel: Antw:qx - Leerzeilen in reading
Beitrag von: amenomade am 03 Oktober 2020, 12:44:51
So ist der "date" bash-Befehl gebaut. Kann man nicht direkt verhindern.

Du kannst aber das Ergebnis von date auf tr pipen, um dies zu entfernen:
date +%V | tr -d '\n'
Titel: Antw:qx - Leerzeilen in reading
Beitrag von: TomLee am 03 Oktober 2020, 13:17:28
Die Lösung sieht elegant aus, würd was dagegen sprechen die newlines einfach mit chomp zu entfernen (was auch um ein paar Zeichen kürzer aber weniger elegant (mMn) wäre) ?

chomp(my $currentCW = qx(date +%V))


Gruß

Thomas
Titel: Antw:qx - Leerzeilen in reading
Beitrag von: Brot am 03 Oktober 2020, 15:57:57
Sieht beides gut aus.  ;D Danke!!  :)