Stunden zusammen zählen.

Hallo
Habe eine Frage Wie kann man Stunden zusammen zählen die so in der Vareable sind.
Leider funktioniert es so nicht.
Kann mir jemand einen tip geben???
Vielen dank im voraus.

Beispiel:

local zeit1 = '20:30'  --irgend eine zeit.
local zeit2 = 30 --minuten

print(zeit1 + zeit2)

Hi,

zeit1 ist ein String. zeit 2 ein Integer. Die kann man nicht ohne weiteres zusammenzählen und wenn du zeit1 in einen Integer umwandeln würdest, dann wäre es nicht mehr 21:30, da kein : in einer Zahl enthalten sein darf. Hier musst du wohl oder übel mit der LUA-Funktion os.time arbeiten.

Dazu findest du hier mehr Informationen:

http://www.gammon.com.au/scripts/doc.php?lua=os.date

Gruß

Leider kann ich nur einen fertigen Code vervenden besser gesagt interpretieren. Aber selber aus dem Stand heraus nicht.
Danke

Je nachdem, was genau Du suchst:

Aus dem Script zur Weihnachtsbelecuhtung (siehe hier im Forum) folgendes rausgenommen:

local vorher = 20 
local Zeit2 = os.date("%H:%M", os.time()+vorher*60)

und zur Umwandlung:

local morning  = {5, 58}
local morning = os.date("%H:%M", -3600+ morning[1]*60*60 + morning[2]*60);

Hallo
ich brauche das so.
sunriseHour liefert die zeit in diesem format ‘06:30’
das format von Sonnenaufgang muss ich ändern und dann im debug wieder die richtige zeit mit meiner aufgesetzten zeit anzeigen lassen.


local Sonnenaufgang = fibaro:getValue(1,'sunriseHour');
local zeit2 = 30 --minuten meine augesetzte zeit.

debug(Sonnenaufgang + zeit2*60)

vielen dank

Hallo
ich schaue ob ich was machen kann.
danke

Ok habe das Prinzip verstanden das mit den {} geschweiften Klammern.

Nur, wie bekomme ich meine “local Sonnenaufgang = fibaro:getValue(1,‘sunriseHour’);” in dieses format?
sunriseHour liefert 06:30 und ich brauche es in so {6, 30}.

was bewirken die -3600?
local morning = os.date("%H:%M", -3600+ morning[1]6060 + morning[2]*60);
danke im voraus.

In dem Script wird damit gearbeitet, als Ideengeber
http://www.siio.de/board/thema/weihnachtsbeleuchtung/

Hall

ich habe verstanden. nur brauche ich einen Tip wie ich jetzt vom
local Sonnenaufgang = fibaro:getValue(1,’sunriseHour‘); das mir dieses 06:30 format liefert?
Ich brauche es in so einem {6, 30} format.

Gruss

Hallo
So. Für das Das ich nicht Programmieren kann und nur mir was zusammen basteln kann habe ich es geschafft.
Ich weis nicht ob es jemand braucht aber ich stell es rein nur als eine der wahrscheinlichen Lösungen.
Ich baue es noch bei meinem angepassten Script “Rollladen-Steuerung (Sonnenaufgang/-untergang)” ein.

local string = Sonnenaufgang
local a, b = string:match("([^,]+):([^,]+)")
local VersetzteSonnenaufgang = os.date("%H:%M", -3600+ a*60*60 + (b*60+min1*60));
print(VersetzteSonnenaufgang,'Versetzte Sonnenaufgang')