triggers

package
v0.0.0-...-6312dd6 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2022 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LESS    = "LESS"
	EQUAL   = "EQUAL"
	GREATER = "GREATER"
)
View Source
const OpAND = "AND"
View Source
const OpOR = "OR"
View Source
const TypeBooleanTrigger = "BooleanTrigger"
View Source
const TypeEqualityTrigger = "EqualityTrigger"
View Source
const TypeEventTrigger = "EventTrigger"
View Source
const TypeLevelTrigger = "LevelTrigger"
View Source
const TypeMultiTrigger = "MultiTrigger"
View Source
const TypePropertyTrigger = "PropertyTrigger"
View Source
const TypeTimeTrigger = "TimeTrigger"
View Source
const TypeTrigger = "Trigger"

Variables

This section is empty.

Functions

This section is empty.

Types

type BooleanTrigger

type BooleanTrigger struct {
	*PropertyTrigger
	// contains filtered or unexported fields
}

func NewBooleanTrigger

func NewBooleanTrigger(des BooleanTriggerDescription, container container.Container) *BooleanTrigger

func (*BooleanTrigger) MarshalJSON

func (b *BooleanTrigger) MarshalJSON() ([]byte, error)

func (*BooleanTrigger) OnValueChanged

func (b *BooleanTrigger) OnValueChanged(propValue any)

func (*BooleanTrigger) Start

func (b *BooleanTrigger) Start()

func (*BooleanTrigger) Stop

func (b *BooleanTrigger) Stop()

func (*BooleanTrigger) ToDescription

func (b *BooleanTrigger) ToDescription() BooleanTriggerDescription

type BooleanTriggerDescription

type BooleanTriggerDescription struct {
	PropertyTriggerDescription
	OnValue bool `json:"onValue"`
}

type Entity

type Entity interface {
	bus.ThingsBus
	GetType() string
	Start()
	Stop()
}

func FromDescription

func FromDescription(a any, container things.Container) Entity

type EqualityTrigger

type EqualityTrigger struct {
	*PropertyTrigger
	// contains filtered or unexported fields
}

func NewEqualityTrigger

func NewEqualityTrigger(desc EqualityTriggerDescription, container things.Container) *EqualityTrigger

func (*EqualityTrigger) MarshalJSON

func (e *EqualityTrigger) MarshalJSON() ([]byte, error)

func (*EqualityTrigger) OnValueChanged

func (e *EqualityTrigger) OnValueChanged(v any)

func (*EqualityTrigger) Start

func (e *EqualityTrigger) Start()

func (*EqualityTrigger) Stop

func (e *EqualityTrigger) Stop()

func (*EqualityTrigger) ToDescription

func (e *EqualityTrigger) ToDescription() EqualityTriggerDescription

type EqualityTriggerDescription

type EqualityTriggerDescription struct {
	PropertyTriggerDescription
	OnValue controls.Number `json:"onValue"`
}

type EventTrigger

type EventTrigger struct {
	*Trigger
	// contains filtered or unexported fields
}

func NewEventTrigger

func NewEventTrigger(desc EventTriggerDescription, container things.Container) *EventTrigger

func (*EventTrigger) MarshalJSON

func (t *EventTrigger) MarshalJSON() ([]byte, error)

func (*EventTrigger) Start

func (t *EventTrigger) Start()

func (*EventTrigger) Stop

func (t *EventTrigger) Stop()

func (*EventTrigger) ToDescription

func (t *EventTrigger) ToDescription() EventTriggerDescription

type EventTriggerDescription

type EventTriggerDescription struct {
	TriggerDescription
	Thing string `json:"thing"`
	Event string `json:"event"`
}

type LevelTrigger

type LevelTrigger struct {
	*PropertyTrigger
	// contains filtered or unexported fields
}

func NewLevelTrigger

func NewLevelTrigger(des LevelTriggerDescription, container container.Container) *LevelTrigger

func (*LevelTrigger) MarshalJSON

func (t *LevelTrigger) MarshalJSON() ([]byte, error)

func (*LevelTrigger) OnValueChanged

func (t *LevelTrigger) OnValueChanged(a any)

func (*LevelTrigger) Start

func (t *LevelTrigger) Start()

func (*LevelTrigger) Stop

func (t *LevelTrigger) Stop()

func (*LevelTrigger) ToDescription

func (t *LevelTrigger) ToDescription() LevelTriggerDescription

type LevelTriggerDescription

type LevelTriggerDescription struct {
	PropertyTriggerDescription
	Value     controls.Number `json:"value"`
	LevelType string          `json:"levelType"`
}

type MultiTrigger

type MultiTrigger struct {
	*Trigger
	// contains filtered or unexported fields
}

func NewMultiTrigger

func NewMultiTrigger(des MultiTriggerDescription, container things.Container) *MultiTrigger

func (*MultiTrigger) MarshalJSON

func (m *MultiTrigger) MarshalJSON() ([]byte, error)

func (*MultiTrigger) Start

func (m *MultiTrigger) Start()

func (*MultiTrigger) Stop

func (m *MultiTrigger) Stop()

func (*MultiTrigger) ToDescription

func (m *MultiTrigger) ToDescription() MultiTriggerDescription

type MultiTriggerDescription

type MultiTriggerDescription struct {
	Op string `json:"op"`
	TriggerDescription
	Triggers []any `json:"triggers"`
}

type PropertyTrigger

type PropertyTrigger struct {
	*Trigger
	// contains filtered or unexported fields
}

func NewPropertyTrigger

func NewPropertyTrigger(des PropertyTriggerDescription, container container.Container) *PropertyTrigger

func (*PropertyTrigger) MarshalJSON

func (p *PropertyTrigger) MarshalJSON() ([]byte, error)

func (*PropertyTrigger) OnValueChanged

func (p *PropertyTrigger) OnValueChanged(value any)

func (*PropertyTrigger) Start

func (p *PropertyTrigger) Start()

func (*PropertyTrigger) Stop

func (p *PropertyTrigger) Stop()

func (*PropertyTrigger) ToDescription

func (p *PropertyTrigger) ToDescription() PropertyTriggerDescription

type PropertyTriggerDescription

type PropertyTriggerDescription struct {
	TriggerDescription
	Property property.Description `json:"property"`
}

type TimerTrigger

type TimerTrigger struct {
	*Trigger
	// contains filtered or unexported fields
}

func NewTimerTrigger

func NewTimerTrigger(des TimerTriggerDescription) *TimerTrigger

func (*TimerTrigger) MarshalJSON

func (t *TimerTrigger) MarshalJSON() ([]byte, error)

func (*TimerTrigger) SendOff

func (t *TimerTrigger) SendOff()

func (*TimerTrigger) SendOn

func (t *TimerTrigger) SendOn()

func (*TimerTrigger) Start

func (t *TimerTrigger) Start()

func (*TimerTrigger) Stop

func (t *TimerTrigger) Stop()

func (*TimerTrigger) ToDescription

func (t *TimerTrigger) ToDescription() TimerTriggerDescription

type TimerTriggerDescription

type TimerTriggerDescription struct {
	TriggerDescription
	Time      string `json:"time"`
	Localized bool   `json:"localized"`
}

type Trigger

type Trigger struct {
	*bus.EventBus
	// contains filtered or unexported fields
}

func NewTrigger

func NewTrigger(des TriggerDescription) *Trigger

func (*Trigger) GetLabel

func (t *Trigger) GetLabel() string

func (*Trigger) GetType

func (t *Trigger) GetType() string

func (*Trigger) Start

func (t *Trigger) Start()

func (*Trigger) Stop

func (t *Trigger) Stop()

func (*Trigger) ToDescription

func (t *Trigger) ToDescription() TriggerDescription

type TriggerDescription

type TriggerDescription struct {
	Type  string `json:"type"`
	Label string `json:"label,omitempty"`
}

Jump to

Keyboard shortcuts

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