Mailversand mit Uhrzeit in Mailtext

Begonnen von slor, 16 November 2016, 10:33:43

Vorheriges Thema - Nächstes Thema

slor

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?

doesel

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
(FHEM auf Cubietruck mit Igor-Image, 64GB SSD), seit März 19 FHEM auf NUC im Proxmox-Container, 240GB SSD, div. Homematic, Max Fensterkontakte, Onewire über Firmata und FHEM2FHEM auf Raspberrys, MySensors, Jeelink-Clone mit GSD-Modul, CUL, SDM220Modbus, Logo!8, WS980WiFi

slor

danke schon mal, dann mach ich mich mal ans Friemeln.

falls jemand noch eine einfachere Variante hat, gerne her damit :-)

doesel

#3
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.
(FHEM auf Cubietruck mit Igor-Image, 64GB SSD), seit März 19 FHEM auf NUC im Proxmox-Container, 240GB SSD, div. Homematic, Max Fensterkontakte, Onewire über Firmata und FHEM2FHEM auf Raspberrys, MySensors, Jeelink-Clone mit GSD-Modul, CUL, SDM220Modbus, Logo!8, WS980WiFi

Damian

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))}')})
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

doesel

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.
(FHEM auf Cubietruck mit Igor-Image, 64GB SSD), seit März 19 FHEM auf NUC im Proxmox-Container, 240GB SSD, div. Homematic, Max Fensterkontakte, Onewire über Firmata und FHEM2FHEM auf Raspberrys, MySensors, Jeelink-Clone mit GSD-Modul, CUL, SDM220Modbus, Logo!8, WS980WiFi

slor

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)}')})


Damian

Es müsste heißen:

'Haustür auf!','Haustür wurde geöffnet um {(substr(ReadingsTimestamp("EG_FL_TK","state",""),11,5))}'
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

slor

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!