Hauptmenü

CALVIEW Reading splitten

Begonnen von bug, 23 März 2016, 21:51:43

Vorheriges Thema - Nächstes Thema

bug

Hallo,
ich habe einen abonnierten ical Kalender der mir von CALVIEW in die aktuellen 5 Einträge aufbereitet wird. das funktioniert auch.
Nun habe ich in dem t_00X_location einen recht langen String den ich gerne mit einer Funktion wie @array=split(/: /, t_00X_location);
print($array[1]);
Kürzen würde (in Perl splittet er die möglichen Inhalte korrekt).
Wie stelle ich sowas an?
Vielen dank schonmal

Hans Franz

#1
Am einfachsten sind userReadings. Etwa so:
t_001_location2 {
my @array=split(/: /,ReadingsVal("CalViewDevice","t_001_location",""));
return $array[0]
}
,
t_002_location2 {
my @array=split(/: /,ReadingsVal("CalViewDevice","t_002_location",""));
return $array[0]
}

usw. für alle fünf Ereignisse.

Sollte aber eigentlich in eine sub in 99_myUtils.

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

bug

Danke schonmal...
Es klappt nur leider nicht. Ich habe bestimmt nen syntaxfehler oder so.attr vKalender_1 userReadings t_001_location2 {my @array=split(/: /,ReadingsVal("vKalender_1","t_001_location",""));return $array[1]}

Er gibt schon beim speichern folgendes aus:
ERROR:
Unknown command return, try help.

Hans Franz

Verdoppele 'mal das Semikolon.

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

bug

Danke.
Es funktioniert nun mit folgendem Codeattr vKalender_1 userReadings t_001_location2 {(split ': ',ReadingsVal("vKalender_1","t_001_location",0))[1]},
...
...

Habe jetzt noch ein Problem, dass ich das Datum in FTUI gerne als Wochentag ausgeben möchte, aber da schau ich noch weiter rum und eröffne eventuell eine neue Frage. :)

Hans Franz

ZitatHabe jetzt noch ein Problem, dass ich das Datum in FTUI gerne als Wochentag ausgeben möchte
Eventuell hilft dir das hier

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

bug

Ja, danke, das habe ich auch schon gefunden verstehe nur noch nicht wie bzw. wo ich das einfügen und aufrufen muss.