DOIF Zeit in Minuten seit Status-Änderung

Begonnen von aherby, 11 November 2018, 21:12:18

Vorheriges Thema - Nächstes Thema

aherby

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
FHEM 6.0 auf Raspberry Pi 4b 4GB, RaspberryMatic auf Raspi3b mit Charly-Funkmodul, ZigeeBridge mt deCONZ... . Homematic mittels HMCCU, Sonos 3xS1, 1xS6 (Play5 in der 2te Generation), 1xS9 (Soundbar), 1x SonosSub
1-Wire® to I2C host interface with ESD mit DS18B/S20.

Damian

set TelBot msg Balkontuer seit {([FK_Balkontuer:state:sec]/60)} Minuten offen..

sollte funktionieren.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

aherby

Danke schön

so nun muss ich scheinbar noch Runden da ich Kommerzahlen teilweise als Ergebnis bekomme.
FHEM 6.0 auf Raspberry Pi 4b 4GB, RaspberryMatic auf Raspi3b mit Charly-Funkmodul, ZigeeBridge mt deCONZ... . Homematic mittels HMCCU, Sonos 3xS1, 1xS6 (Play5 in der 2te Generation), 1xS9 (Soundbar), 1x SonosSub
1-Wire® to I2C host interface with ESD mit DS18B/S20.

Damian

Mit int kannst du z. B. die Nachkommastellen abschneiden.

set TelBot msg Balkontuer seit {(int([FK_Balkontuer:state:sec]/60))} Minuten offen..
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

aherby

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
FHEM 6.0 auf Raspberry Pi 4b 4GB, RaspberryMatic auf Raspi3b mit Charly-Funkmodul, ZigeeBridge mt deCONZ... . Homematic mittels HMCCU, Sonos 3xS1, 1xS6 (Play5 in der 2te Generation), 1xS9 (Soundbar), 1x SonosSub
1-Wire® to I2C host interface with ESD mit DS18B/S20.