Hallo,
ein MQTT_DEVICE liefert mir in einem Reading einen Zeit-Wert in Sekunden den ich in einem Doif verwerten will.
In meinem Beispiel liefert das Reading "upcoming_entries_01_stop_real" den Wert 1603736520.
Laß ich mir den Sekundenwert umrechnen, liefert die Funktion localtime das zu erwartenden Ergebnis
{localtime(1603736520)} -> Oct 26 19:22:00 2020
Im Doif wird der Timer so gesetzt
{[([mqtt_tvheadend:upcoming_entries_01_stop_real])]; fhem_set("deCONZ_zigbee_Osr_3 off");} -> timer_01_c02 21.08.2071 18:22:00
Kann mir jemand sagen wie man das richtig macht.
Gruß
Reiner
Zitat von: Reinschki am 26 Oktober 2020, 18:34:15
Hallo,
ein MQTT_DEVICE liefert mir in einem Reading einen Zeit-Wert in Sekunden den ich in einem Doif verwerten will.
In meinem Beispiel liefert das Reading "upcoming_entries_01_stop_real" den Wert 1603736520.
Laß ich mir den Sekundenwert umrechnen, liefert die Funktion localtime das zu erwartenden Ergebnis
{localtime(1603736520)} -> Oct 26 19:22:00 2020
Im Doif wird der Timer so gesetzt
{[([mqtt_tvheadend:upcoming_entries_01_stop_real])]; fhem_set("deCONZ_zigbee_Osr_3 off");} -> timer_01_c02 21.08.2071 18:22:00
Kann mir jemand sagen wie man das richtig macht.
Gruß
Reiner
z. B.
defmod di_time_localtime DOIF ([[$SELF:Time]])
attr di_time_localtime DOIF_Readings Time:substr(localtime([mymqtt:upcoming_entries_01_stop_real]),11,8)
OK, jetzt triggert es jeden Tag um diese Zeit.
Mit Datum habe ich es so versucht:
attr di_KODI_NUC_exip DOIF_Readings Time: {return strftime "%d.%m.%Y %H:%M:%S", localtime([mqtt_tvheadend:upcoming_entries_01_stop_real]); }
Das Reading Time sieht dann so aus:
di_KODI_NUC_exip Time 26.10.2020 19:22:00
Liefert:
di_KODI_NUC_exip timer_01_c02 error: Wrong timespec 26.10.2020 19:22:00: either HH:MM:SS or {perlcode}
Wie stelle ich es an wenn ich auch das Datum berücksichtigen muss?
Timer im DOIF arbeiten ohne Datum - sie triggern jeden Tag.
Das Datum muss man separat abfragen z. B. über die $md oder $ymd Variable.
z. B.
[10:00] and $md eq "12-02"
oder ab dem 02.12
[10:00] and $md ge "12-02"