Documentation ¶
Index ¶
Constants ¶
View Source
const DefaultDebounce = 15 * time.Second
View Source
const DefaultEmailBody = `` /* 1724-byte string literal not displayed */
View Source
const DefaultEmailSubject = "Smart Core Notification"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Destination ¶
type Destination struct { Host string `json:"host,omitempty"` Port int `json:"port,omitempty"` Username string `json:"username,omitempty"` // defaults to From.Address jsontypes.Password From string `json:"from,omitempty"` // RFC 5322 address, the address part used for auth against Host To []string `json:"to,omitempty"` // RFC 5322 address MinInterval *jsontypes.Duration `json:"minInterval,omitempty"` // minimum time between emails, to avoid spamming SubjectTemplate jsontypes.String `json:"subjectTemplate,omitempty"` BodyTemplate jsontypes.String `json:"bodyTemplate,omitempty"` Parsed *ParsedDestination `json:"-"` }
func (Destination) Addr ¶
func (d Destination) Addr() string
Addr returns the combination of Host and Port, taking defaults into account. Suitable for smtp.Dial.
func (Destination) Parse ¶
func (d Destination) Parse() (*ParsedDestination, error)
func (Destination) ReadBodyTemplate ¶
func (d Destination) ReadBodyTemplate() (*template.Template, error)
func (Destination) ReadSubjectTemplate ¶
func (d Destination) ReadSubjectTemplate() (*template.Template, error)
type ParsedDestination ¶
type Root ¶
type Root struct { auto.Config // Configuration information for how to send the email. Destination Destination `json:"destination,omitempty"` // If true, all devices on the current node that implement Status will be monitored. // Additional sources may be defined via Sources. DiscoverSources bool `json:"discoverSources,omitempty"` // Name of the devices that implement Status trait and that are monitored. Sources []Source `json:"sources,omitempty"` // Delay querying the status of devices by this much, to allow them to boot up. DelayStart *jsontypes.Duration `json:"delayStart,omitempty"` // Default debounce time for all sources. Debounce *jsontypes.Duration `json:"debounce,omitempty"` // Device name prefixes to ignore. // Only used if DiscoverSources is true. IgnorePrefixes []string `json:"ignorePrefixes,omitempty"` }
type Source ¶
type Source struct { Name string `json:"name,omitempty"` Title string `json:"title,omitempty"` Floor string `json:"floor,omitempty"` Zone string `json:"zone,omitempty"` Subsystem string `json:"subsystem,omitempty"` // Don't send emails until after this time expires, reduces noise. Debounce *jsontypes.Duration `json:"debounce,omitempty"` }
func (Source) DebounceOrDefault ¶
Click to show internal directories.
Click to hide internal directories.