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?
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
danke schon mal, dann mach ich mich mal ans Friemeln.
falls jemand noch eine einfachere Variante hat, gerne her damit :-)
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.
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))}')})
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.
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)}')})
Es müsste heißen:
'Haustür auf!','Haustür wurde geöffnet um {(substr(ReadingsTimestamp("EG_FL_TK","state",""),11,5))}'
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!