aktuelle Zeit in dummy schreiben und in anderem DOIF auswerten

Begonnen von matkoh, 27 November 2025, 15:39:07

Vorheriges Thema - Nächstes Thema

matkoh

Hallo,

ich möchte (mit einem Homematic-Taster) die aktuelle Zeit in ein Dummy schreiben und das Reading des Dummy in einem anderen DOIF auswerten, das gelingt mir aber nicht. Der Sinn ist, nach einer festgelegten Zeit nach Drücken des Tasters eine Aktion (Radio einschalten) auszuführen.

Hier ein Ausschnitt des ersten DOIF, das den Dummy setzen soll mit verschiedenen Versuchen:
## 3
 DOELSEIF ([Matthias.Status_2:?SHORT])
  (set RolloStatus on, set Matthias_Aufgestanden {(TimeNow)}, setreading Matthias_Aufgestanden timestamp {(time)}, setreading Matthias_Aufgestanden time {(hms)}
set Matthias_Aufgestanden {(TimeNow)} ergibt eine formatierte Zeichenkette, z. B. 2025-11-27 14:38:46, das ist aber nicht als Zeit auswertbar.
setreading Matthias_Aufgestanden timestamp {(time)} ergibt einen Unix-Zeitstempel, der aber auch nicht als Zeit auswertbar ist.
setreading Matthias_Aufgestanden time {(hms)} ergibt den Fehler "Bareword "hms" not allowed while "strict subs" in use at..."

Hier ein Ausschnitt des 2. DOIF, der das vorher gesetzte Dummy auswerten soll:
## 5
 DOELSEIF ([Fruehstueck] eq "Kueche" and [([Matthias_Aufgestanden:timestamp] + 900)])
  (set Sonos_Kueche Volume 13, set Sonos_Kueche PlayURI ...)
Das ergibt den Fehler
error: Wrong timespec 1764250726.70788: either HH:MM:SS or {perlcode}
Das gleiche passiert bei [([Matthias_Aufgestanden] + 900)].

Im 1. DOIF habe ich auch versucht,
setreading Matthias_Aufgestanden time {$hms}zu setzen, dann wird einfach "{$hms}" in das Reading geschrieben.

Wie kann ich also mit Drücken des Tasters eine aktuelle Zeit in ein Dummy schreiben, in einem 2. DOIF eine Zeit addieren und dann eine Aktion ausführen?

Vielen Dank für Eure Hinweise

Matthias

rabehd

Zitat von: matkoh am 27 November 2025, 15:39:07nach einer festgelegten Zeit nach Drücken des Tasters eine Aktion (Radio einschalten) auszuführen.
Wenn das die eigentliche Aufgabe ist, dann erscheint mir die Lösung etwas zu groß. Außer Du willst Rechenzeit verbrauchen.  ;)
Warum reagierst Du nicht mit einem notify (von mir aus auch DOIF) auf den Schalter? Sleep (und wait) verzögern das einfach.
Auch funktionierende Lösungen kann man hinterfragen.

matkoh

Ich habe nur einen Ausschnitt meiner DOIFs und Konfigurationen gepostet. Z. B. steuert das Drücken des Tasters auch Rolladeneinstellungen. Dann gibt es mehrere Räume und je nach Einstellung des Dummy Fruehstueck soll ein anderes Radio eingeschaltet werden.

Mir erschien die Steuerung über ein Dummy als sinnvollste Lösung.

RalfRog

FHEM VM Debian13 (trixie) auf Proxmox VE9  (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen