FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: slor am 16 November 2016, 10:33:43

Titel: Mailversand mit Uhrzeit in Mailtext
Beitrag von: slor am 16 November 2016, 10:33:43
Hallo zusammen,

ich habe mir ein Doif gebaut, dass mir eine Mail schreibt, wenn die Tür aufgeht und niemand zu hause ist.
Das funktioniert auch soweit. Was ich nicht hinbekomme ist, den Zeitstempel den ich gern in der Mail haben möchte ohne das Datum zu bekommen.
Hier die DEF Line des Doif:
([EG_FL_TK:state] eq "open" and [RD_Residents:state] ne "home") ({exmail('mail@mail.com','Haustür auf!','Haustür wurde geöffnet um {(TimeNow())}')})

Kan ich das TimeNow so formatieren, dass es mir nur die Uhrzeit ohne Datum schreibt? Evtl. auch ohne Sekunden?
Titel: Antw:Mailversand mit Uhrzeit in Mailtext
Beitrag von: doesel am 16 November 2016, 11:27:06
Hallo slor,

ich bekomme bei einer Statusänderung meiner Aussenbeleuchtung eine Mail mit folgendem Inhalt:

Aussenbeleuchtung Hausecke neuer Status um 06:57 Uhr: Aus

Der Code hierfür:
define Logo_Q1_notify notify Status_Hausecke:(Ein|Aus) {DebianMail('xxxxx@gmail.com','Dämmerungsschalter Hausecke '."$EVENT",'Außenbeleuchtung Hausecke neuer Status um '.substr(ReadingsTimestamp("Status_Hausecke","state",""),11,5).' Uhr: '."$EVENT")}
Das kannst du dir ja entsprechend "umfriemeln".
Gruß Doesel
Titel: Antw:Mailversand mit Uhrzeit in Mailtext
Beitrag von: slor am 16 November 2016, 14:55:35
danke schon mal, dann mach ich mich mal ans Friemeln.

falls jemand noch eine einfachere Variante hat, gerne her damit :-)
Titel: Antw:Mailversand mit Uhrzeit in Mailtext
Beitrag von: doesel am 16 November 2016, 15:16:44
Einfacher geht es eigentlich nicht, du brauchst doch nur deine Geräte entsprechend einzusetzen.
Probier mal
([EG_FL_TK:state] eq "open" and [RD_Residents:state] ne "home") ({exmail('mail@mail.com','Haustür auf!','Haustür wurde geöffnet um ' .substr(ReadingsTimestamp("EG_FL_TK","state",""),11,5).' Uhr: '."$EVENT")}

...ungetestet, eventuell Klammersetzung überprüfen.
Titel: Antw:Mailversand mit Uhrzeit in Mailtext
Beitrag von: Damian am 16 November 2016, 15:25:14
Zitat von: doesel am 16 November 2016, 15:16:44
Einfacher geht es eigentlich nicht, du brauchst doch nur deine Geräte entsprechend einzusetzen.
Probier mal
([EG_FL_TK:state] eq "open" and [RD_Residents:state] ne "home") ({exmail('mail@mail.com','Haustür auf!','Haustür wurde geöffnet um ' .substr(ReadingsTimestamp("EG_FL_TK","state",""),11,5).' Uhr: '."$EVENT")}

...ungetestet, eventuell Klammersetzung überprüfen.

Ich denke schon:

... ({exmail('mail@mail.com','Haustür auf!','Haustür wurde geöffnet um {(substr(TimeNow(),11,5))}')})
Titel: Antw:Mailversand mit Uhrzeit in Mailtext
Beitrag von: doesel am 16 November 2016, 15:34:14
Natürlich.
Bei mir werden z.B. Max Tür(Fenster)Sensoren abgefragt, und per Pushnachricht wird dann das Öffnen der Tür auf dem Handy mitgeteilt. Hieraus ist das "substr(ReadingsTimestamp("Hoftuer","state..." entstanden, um die tatsächliche Zeit des Öffnens zu übermitteln. TimeNow zeigt mir die Zeit der Übermittlung der Nachricht, was bei mir 1 bis 5 Minuten Differenz ausmacht, warum auch immer. Für manche Anwendungen bestimmt nicht unwichtig.
Titel: Antw:Mailversand mit Uhrzeit in Mailtext
Beitrag von: slor am 16 November 2016, 15:46:00
Danke Damain, hat auf Anhieb funktioniert. Bei Homematic wird sofort übertragen, daher kein Problme.

das hier([EG_FL_TK:state] eq "open" and [RD_Residents:state] ne "home") ({exmail('mail@mail.com','Haustür auf!','Haustür wurde geöffnet um ' .substr(ReadingsTimestamp("EG_FL_TK","state",""),11,5).' Uhr: '."$EVENT")}
hab ich nicht zum laufen gebracht. Es wurde immer der Code mitgesendet, anstatt des Inhalts. Am Ende Fehlte auch noch eine )

hier mein letzer versuch, der auch nicht funktionert hat. Ich hab versucht das so kurz wie möglich zu machen um es erst überhaupt ans Laufen zu bekommen.
([EG_FL_TK:state] eq "open" and [RD_Residents:state] ne "home") ({exmail('mail@mail.com','Haustür auf!','Haustür wurde geöffnet um {substr(ReadingsTimestamp("EG_FL_TK","state",""),11,5)}')})

Titel: Antw:Mailversand mit Uhrzeit in Mailtext
Beitrag von: Damian am 16 November 2016, 15:51:56
Es müsste heißen:

'Haustür auf!','Haustür wurde geöffnet um {(substr(ReadingsTimestamp("EG_FL_TK","state",""),11,5))}'
Titel: Antw:Mailversand mit Uhrzeit in Mailtext
Beitrag von: slor am 16 November 2016, 16:37:41
So, final funktioniert es nun bei mir so:
([EG_FL_TK:state] eq "open" and [RD_Residents:state] ne "home") ({exmail('mail@mail.com','Haustür auf!','Haustür wurde um {(substr(ReadingsTimestamp("EG_FL_TK","state",""),11,5))} Uhr geöffnet.')})

vielen Dank für die schnell Hilfe!