FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: wilkens am 21 Mai 2017, 11:43:15

Titel: [Gelöst] Reading auslesen, bearbeiten und in mehrere neue readings schreiben
Beitrag von: wilkens am 21 Mai 2017, 11:43:15
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.
Titel: Antw:Reading auslesen, bearbeiten und in mehrere neue readings schreiben
Beitrag von: DeeSPe am 21 Mai 2017, 11:47:25
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
Titel: Antw:Reading auslesen, bearbeiten und in mehrere neue readings schreiben
Beitrag von: wilkens am 21 Mai 2017, 12:47:41
 :D Funktioniert perfekt und ohne notify.

Vielen Dank.
Titel: Antw:Reading auslesen, bearbeiten und in mehrere neue readings schreiben
Beitrag von: DeeSPe am 21 Mai 2017, 13:15:48
Habe nichts anderes erwartet... 8)

Gruß
Dan
Titel: Antw:Reading auslesen, bearbeiten und in mehrere neue readings schreiben
Beitrag von: KernSani am 21 Mai 2017, 13:52:38
@wilkens: Bitte noch Subject des ersten Posts ändern und [Gelöst] vorne dran schreiben
Titel: Antw:Reading auslesen, bearbeiten und in mehrere neue readings schreiben
Beitrag von: wilkens am 01 Juni 2017, 21:53:12
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")
}