-func composeMessage(present, locked, shut bool, who string, ts int64) string {
- return fmt.Sprintf("%s (Door is %s and %s and was last used%s at %s)",
- IfThenElseStr(present, "Somebody is present!" , "Everybody left."),
- IfThenElseStr(locked, "locked","unlocked"),
- IfThenElseStr(shut, "shut","ajar"),
- IfThenElseStr(len(who) == 0,"", " by " + who),
- time.Unix(ts,0).String())
+func composeDoorLockMessage(locked bool, doorcmd r3events.DoorCommandEvent, ts int64) string {
+ if ts - doorcmd.Ts < 30 {
+ if len(doorcmd.Who) == 0 || doorcmd.Who == "-" {
+ return fmt.Sprintf("The frontdoor was %s by %s at %s.", IfThenElseStr(locked, "locked","unlocked"), doorcmd.Using, time.Unix(ts,0).String())
+ } else {
+ return fmt.Sprintf("%s %s the frontdoor by %s at %s.",doorcmd.Who, IfThenElseStr(locked, "locked","unlocked"), doorcmd.Using, time.Unix(ts,0).String())
+ }
+ } else {
+ return fmt.Sprintf("The frontdoor was %s manually at %s.", IfThenElseStr(locked, "locked","unlocked"), time.Unix(ts,0).String())
+ }