[gelöst] qx - Leerzeilen in reading

Begonnen von Brot, 03 Oktober 2020, 12:37:08

Vorheriges Thema - Nächstes Thema

Brot

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
diverse Raspberry Pis, Orange Pi 3, Odroid N2, Alexa, jede Menge ESP8266er
Raspbian, FHEM, NextCloud, Pi-Hole, OctoPrint, MagicMirror²
Tasmota, Eqiva Bluetooth Thermo, Senseo-ESP8266-Mod, Conbee-II HUE, Z-Wave, BTLE_FlowerSens...

amenomade

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'
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

TomLee

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

Brot

Sieht beides gut aus.  ;D Danke!!  :)
diverse Raspberry Pis, Orange Pi 3, Odroid N2, Alexa, jede Menge ESP8266er
Raspbian, FHEM, NextCloud, Pi-Hole, OctoPrint, MagicMirror²
Tasmota, Eqiva Bluetooth Thermo, Senseo-ESP8266-Mod, Conbee-II HUE, Z-Wave, BTLE_FlowerSens...