Hallo,
ich habe ein reading, welches mir eine Uhrzeit ausgibt. Z.B.: 05:26:44
Ich benötige nun drei readings für Stunde, Minute und Sekunde mit den Werten des ersten readings.
Ich weiß, wie ich mit einem notify Werte von einem Reading auslese, damit rechne und zu einem anderen reading kopiere. Ich schaffe es aber nicht, den vorgegebenen Wert xx:yy:zz in xx, yy und zz aufzuteilen.
Hat hier jemand einen Tip für mich?
Also
Ist-Stand:
reading Uhrzeit -> 05:26:44
Soll-Stand
reading Stunde -> 05
reading Minute -> 26
reading Sekunde -> 44
Vielen Dank schon Mal und ein schönes Wochenende.
attr <name> userReadings Stunde:<Zeitreading>.* {(split(":",ReadingsVal($NAME,"<Zeitreading>","00:00:00")))[0]},Minute:<Zeitreading>.* {(split(":",ReadingsVal($NAME,"<Zeitreading>","00:00:00")))[1]},Sekunde:<Zeitreading>.* {(split(":",ReadingsVal($NAME,"<Zeitreading>","00:00:00")))[2]}
Gruß
Dan
:D Funktioniert perfekt und ohne notify.
Vielen Dank.
Habe nichts anderes erwartet... 8)
Gruß
Dan
@wilkens: Bitte noch Subject des ersten Posts ändern und [Gelöst] vorne dran schreiben
Falls es nochmal jemand braucht,
ich habe das auch noch als notify hinbekommen, auch wenn ich die vorige Lösung schöner finde.
Im dummy_1 gibt es das reading sr (sunrise) mit der Zeitangabe.
define dummy_1.not notify dummy_1:sr.* {
my $time=ReadingsVal("dummy_1","sr", "0");
my $hour = substr($time, 0,2);
my $minute = substr($time, 3,2);
my $second = substr($time, 6,2);
fhem ("setreading dummy_1 hour $hour");
fhem ("setreading dummy_1 minute $minute");
fhem ("setreading dummy_1 second $second")
}