schedule

package
v0.0.0-...-86701fc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 6, 2020 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type SectionSchedule

type SectionSchedule struct {
	OnSeconds, OffSeconds timing.TimeUnit
	WaterSectionID        WaterSectionID
	// state
	NextActionAt timing.TimeUnit

	OnAccum, OffAccum timing.TimeUnit
	LastActionAt      timing.TimeUnit
	// contains filtered or unexported fields
}

func (*SectionSchedule) IsOn

func (s *SectionSchedule) IsOn() bool

func (*SectionSchedule) Off

func (s *SectionSchedule) Off(now timing.TimeUnit)

func (*SectionSchedule) On

func (s *SectionSchedule) On(now timing.TimeUnit)

func (*SectionSchedule) ShouldTurnOff

func (s *SectionSchedule) ShouldTurnOff(now timing.TimeUnit) bool

func (*SectionSchedule) ShouldTurnOn

func (s *SectionSchedule) ShouldTurnOn(now timing.TimeUnit) bool

type WaterSectionID

type WaterSectionID int8

type WaterSectionManager

type WaterSectionManager struct {
	Sections  []*hardware.WaterSection
	Schedules []*SectionSchedule
}

func NewWaterSectionManager

func NewWaterSectionManager(sections ...*hardware.WaterSection) *WaterSectionManager

func (*WaterSectionManager) AllOff

func (wsm *WaterSectionManager) AllOff(now timing.TimeUnit) (anyOn bool)

func (*WaterSectionManager) ForceOn

func (wsm *WaterSectionManager) ForceOn(idx WaterSectionID, now timing.TimeUnit) (success bool)

func (*WaterSectionManager) IsOn

func (wsm *WaterSectionManager) IsOn() *SectionSchedule

func (*WaterSectionManager) NextChange

func (wsm *WaterSectionManager) NextChange() *SectionSchedule

func (*WaterSectionManager) Process

func (wsm *WaterSectionManager) Process(now timing.TimeUnit)

func (*WaterSectionManager) SendStats

func (wsm *WaterSectionManager) SendStats(now timing.TimeUnit)

func (*WaterSectionManager) Update

func (wsm *WaterSectionManager) Update(idx WaterSectionID, on, off timing.TimeUnit, nextActionAt timing.TimeUnit) bool

func (*WaterSectionManager) UpdateNextActionAt

func (wsm *WaterSectionManager) UpdateNextActionAt(idx WaterSectionID, n timing.TimeUnit) bool

func (*WaterSectionManager) UpdateOffSeconds

func (wsm *WaterSectionManager) UpdateOffSeconds(idx WaterSectionID, n timing.TimeUnit) bool

func (*WaterSectionManager) UpdateOnSeconds

func (wsm *WaterSectionManager) UpdateOnSeconds(idx WaterSectionID, n timing.TimeUnit) bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL