func (self *Thermostat) ShortStatus(now time.Time) string { du := "unknown" if !self.StateChanged.IsZero() { du = util.ShortDuration(now.Sub(self.StateChanged)) } return fmt.Sprintf("Heating: %v for %s", self.State, du) }
func (self *Service) queryStatus(q services.Question) string { var out string now := time.Now() var keys []string for k := range self.automata.Automaton { keys = append(keys, k) } sort.Strings(keys) group := "" for _, k := range keys { if k == "events" { continue } if strings.Split(k, ".")[0] != group { group = strings.Split(k, ".")[0] out += group + "\n" } device := k if dev, ok := services.Config.Devices[k]; ok { device = dev.Name } aut := self.automata.Automaton[k] du := util.ShortDuration(now.Sub(aut.Since)) out += fmt.Sprintf("- %s: %s for %s\n", device, aut.State.Name, du) } return out }