einfacher Zeittrigger

In den Blockscenen habe ich nichts gefunden wie ich eine Scene täglich um eine bestimmte Zeit anlaufen lassen kann. Nur Intervall oder an bestimmten Wochentagen.

Das hier startet aber nicht um 18:00
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if ( ( ( string.format("%02d", currentDate.hour) … “:” … string.format("%02d", currentDate.min) == “18:00”) ) ) then
fibaro:call(374, “turnOn”);

(Wobei ich es auch schon umständlich finde eine Zeit in einen Stundenstring umzuwandeln, Doppelpunkte dazwischen an zu hängen und dann noch den Minutenstring dran zu hängen.)
Weiß jemand warum bzw hat eine bessere Idee?

Vielen Dank
Gerhard

Hi,

Warum hackst du nicht jeden Tag von Mo-So an (= täglich) und gibst die Zeit an?

Viele Grüße Hoggle

Find ich kaum lesbar. Aber wenns anderst nicht geht?

In einer Blockszene nicht lesbar?
Du kannst es auch erst als Block anlegen, in LUA umwandeln und dann die Tage aus der Bedingung löschen, so dass nur die Uhrzeit bleibt.

Oder Du suchst hier im Forum nach “Weihnachtsbeleuchtung” oder Rolloscripten, dort wird auch viel mit Uhrzeiten gearbeitet.

Hi

schön lesbar.


if os.date("%H:%M", os.time()) > "20:30" then
 print('Ja')
else
 print('nein')
end

Vielleicht hilft dir das.

@ Hoggle: Nicht in der Blockscene natürlich. Im LUA-Code ist es ne lange zeile wo man halt nicht gleich sieht ob jetzt zum beispiel Tag 4 (der Donnerstag) mit dabei ist oder nicht.
@ parip69 DANKE sowas hab ich gesucht.

Hallo
auch schön übersichtlich wenn mann das mal so braucht einen wert aus der date tabelle…
{“sec”:39,“isdst”:true,“year”:2017,“hour”:17,“wday”:6,“yday”:104,“month”:4,“min”:40,“day”:14}

print (os.date("*t").wday) wochwn tag zu vergleichen.


if (os.date("*t").wday) == 6 then
 print('Ja')
else
 print('nein')
end

gruss