Hallo Zusammen,
ich habe folgendes Problem und komme nicht weiter.
Es soll unteranderem per Telegamm gemeldet werden wie Lang ein Fenster schön geöffnet ist.
Dies soll in Abhängigkeit der Außentemperatur gemeldet werden.
Ich bekomme es mit folgenden Ergebnis hin:
Meldung nach 15 Min mit alle 5 Min Wiederholung jedoch ändert sich der Minutenwert nicht, da es ein Text ist.
([FK_Balkontuer] eq "open" and [Aussenfuehler:temperature] < 15)
(set TelBot msg Balkontuer seit 15 Minuten offen. Es hat aussen [Aussenfuehler:temperature] Grad.)
DOELSEIF ([FK_Balkontuer] eq "closed") (set TelBot msg Balkontuer nun geschlossen)
attr Warnung_Balkontuer_offen repeatcmd 300
attr Warnung_Balkontuer_offen wait 900
Da es blöd ist wenn nach 30 Minuten immer noch in der Nachricht steht dass das Fenster seit 15 Minuten geöffnet ist will ich
die Nachricht mit der tatsächlichen Öffnungszeit in Minuten ausgeben.
Mit :
([FK_Balkontuer] eq "open" and [Aussenfuehler:temperature] < 15)
(set TelBot msg Balkontuer seit [FK_Balkontuer:state:sec] Minuten offen. Es hat aussen [Aussenfuehler:temperature] Grad.)
DOELSEIF ([FK_Balkontuer] eq "closed") (set TelBot msg Balkontuer nun geschlossen)
bekomme ich nur die Rückmeldung in Sekunden statt Minuten hin.
Alle Versuche den Wert in Minuten umzurechnen scheitern indem dann der Code oder irgendwas ausgegeben wird.
Mit "time" und "time_str2num" komme ich auf überhaupt keinen grünen Zweig.
Kann mir bitte wer das Brett vom Kopf entfernen?
Danke
set TelBot msg Balkontuer seit {([FK_Balkontuer:state:sec]/60)} Minuten offen..
sollte funktionieren.
Danke schön
so nun muss ich scheinbar noch Runden da ich Kommerzahlen teilweise als Ergebnis bekomme.
Mit int kannst du z. B. die Nachkommastellen abschneiden.
set TelBot msg Balkontuer seit {(int([FK_Balkontuer:state:sec]/60))} Minuten offen..
Danke schön
habe es doch mit Runden gelöst
(set ZwergBot msg Balkontuer seit {(round([FK_Balkontuer:state:sec]/60,1))}
Minuten offen. Es hat aussen [Aussenfuehler:temperature] Grad.)
Kann geschlossen werden